| Bluetee's profileSomebody's spacePhotosBlogLists | Help |
|
|
10 questions about information architecture最近有需要了解一IA 方面的东西。最开始从字面的理解,我感觉IA应该是和TIBCO现在所做的东西是很符合的。即解决企业内部甚至是企业间不同系统的信息如何组织的问题。但是查阅了些资料,却发现,IA目前的应用似乎更多地集中在图书馆或者Web设计方面。这让我感到有些不爽。
以下内容转自:http://articles.techrepublic.com.com/5100-22_11-5074224.html 10 questions about information architectureby Guest Contributor | Sep 29, 2003 7:22:00 PM Takeaway: Very few people understand exactly what information architects do and why we need them in Web design. CNET Builder.com answers your top 10 questions about IA and information architects: who they are, how they get there, what they do, and why in the Web world. By Shel Kimen Information architecture. IA. Industry buzzwords? Fancy degrees? Web firms can't hire information architects fast enough, but, while the field has been around and growing for years in software, engineering, and library science, very few people understand exactly what information architects do and why we need them in Web design. And we do need them. With today's complex, superfly, dynamically driven database Web sites and networks, information architects have become critical to--if not the cornerstone of--most large Web design projects. Blending the technical and the visual with a keen sense for organizational structures and usability, IA is a multidimensional field that puts place in space. Knowing the demand, CNET Builder.com answers your top 10 questions about IA and information architects: who they are, how they get there, what they do, and why in the Web world. 1. What is information architecture? Traditional architectural programming Architectural programming is an objective approach to understanding the nature of the task so that a specific problem can be identified as something for space planners and designers to solve. The programmer establishes goals, collects and analyzes facts, uncovers and tests concepts, determines needs, and states the problem. The programmer's responsibilities include: client interviews, research and understanding of emerging technologies, reviews of case studies, budget planning, scheduling long-term deadlines, anticipating the future, and formulating functional requirements. The research results in a program document that specifically outlines the limits of the project and any unique problems. Traditional architectural planning In Web design, a person who helps develop programs and also plans is an information architect. The information architect maps the entire structure of the site and organizes the positioning of pages within sections, developing a functional and intuitive plan to get the user from point A to point B on the path of least resistance. 2. How do information architects fit into a Web team? It's also important for information architects to work closely with visual designers, helping to maintain the balance between form and function. Design effects architecture as much as architecture effects design. Working in a vacuum of compartmentalized skills isn't good for anyone, and it's definitely not good for the end result. Information architects also bridge architecture with development and work with technologists, database engineers, and HTML coders. Most of the larger Web firms, such as Organic, Razorfish, Studio Archetype, andAgency, have established IA departments operating under various names. Some firms base their definitions on software design, while others take a more traditional, physical structure architecture approach. It's impossible to say what works best, because it's relative to the overall environment and work process. In general, it's good to take elements of software design, library science, traditional architecture, and industrial design and sift through for the elements that most apply to Web design and its nuances. 3. What do architects create for clients? Some of the basic deliverables include: Site Maps: Maps reflect navigation and main content buckets. They are usually constructed to look like flowcharts and show how users navigate from one section to another. Content Maps: Detailed maps that show what exists on each page and how content on some pages interacts with content on other pages. Page Schematics: Black and white line drawings or block diagrams to hand off to a visual designer. These may, or may not, reflect layout and are used mostly to inform the designer and the client exactly what information, links, content, promotional space, and navigation will be on every page of the site. Schematics also help illustrate priority. Text-Based Outlines: Sometimes information architects want to show architecture as indented text outlines and lists. Interactive, Semi-Functional Prototyping: In some cases, information architects are responsible for outlining or storyboarding functional prototypes, and in others they actually build prototypes with HTML, Flash, Director, or PowerPoint. Anyone who has seen the effects of unplanned projects--Web or otherwise--knows why it is important to have a plan before starting to build. Some clients don't understand the expense--and professional information architects are expensive. Also, due to the complex nature of information architects' work--representing sites with thousands of pages on 11-by-17 pieces of paper and presentation boards, director prototypes, and HTML schematics, for example--clients are sometimes confused and unable to see the value. It's important for any company that builds information architecture into its structure to support that structure by educating clients on its value. It's the responsibility of everyone on the team to help the client understand why every member is there. 4. How do architects evaluate or design a site? When designing a new site, it's always best to start with all the pieces, though this is seldom the case. You'll probably be hard-pressed to find a client who didn't change their minds half a dozen times over three phases of project architecture. And architects can change their minds because it is often difficult to predict all the pieces beforehand. It is the responsibility of the design firm and architect to ask the right questions, and it's client's responsibility to understand what they are trying to build. Architecture can and should be an extremely collaborative and iterative process, which evolves somewhat organically in as much structure that can be defined up-front as possible. Anything an IA can do to ask as many questions and get as many answers up-front will ultimately help the process. Architects also need to focus on who will be using the site, strategic and business goals, key usability principals, technical constraints, and future needs. 5. What kinds of IA problems are difficult to solve?
In addition to these difficulties, there are standard issues, such as understanding--and defining--the target audience, determining how much and what type of information should be on a page, knowing when it's important to lean more toward visual cues (MSNBC) or more toward text (Yahoo), and choosing a content-based or contextual navigation system. 6. What software do architects use and need? However, the word on the street is that Adobe has heard the information architects' cries and is working fast and furious to produce a tool that gives them the best of precision layout and quick drag and drop objects. Until then, other options include Dreamweaver, Photoshop, and Visio, but ultimately it depends on what type of document you are trying to make. A versatile suite of tools is the best way to go for now. 7. Are there evolving standards for IA? Structural Navigation Financial Transactions Redundant Links 8. How does usability relate to IA? Some firms employ entirely separate departments for usability, while others look to information architects for this skill. It's a logical connection because IAs are responsible for making it easy it to find information and create most products with a focus on user-centered design (thinking of the user first). But even if they aren't usability experts, IAs usually think about usability testing as they are planning the site structure. They keep notes about what might be confusing and design prototypes specifically for user testing in order to isolate issues in navigation, process, and understandability. Basic Rules for Usability Test Scripts IBM Ease of Use Web site--User Centered Design Alert Box 9. How do I become an information architect? If the company already knows that information architects are important to the design process, chances are they are probably on the hunt for qualified people because there are more positions available than people applying. Most large Web design and software design companies hire architects, as do consulting firms, banks, insurance companies, and public relation agencies. Basically, anyone who runs a large Web site, designs large Web sites, or hires people to design large Web sites has the need for an information architect. The Skills You Need The Schools Similarly, Rennessler Polytechnic Institute offers a master in communications, a master in interactive arts, and a graduate certificate in human computer interaction with emphases in writing, design, or technology. New York University offers an Interactive Telecommunications Program and has sent dozens of people into information and interface design careers in the last few years. The program has traditional information technology offerings (Introduction to Computational Media and Elements of Visual Language) as well as flexible build-your-own theoretical studies (New Media and Interpersonal Behavior and Information Contours). That said, any school that offers strong computer science, design, and writing programs will be able to build a liberal arts program in information architecture. The University of California at Berkeley, the Massachusetts Institute of Technology, University of Illinois, and Stanford University are all great places to start. If you want to read more about information architecture, you can try these books:
10. What is the future of IA in Web design? Looking further into the future and watching the portal trend, information architecture might not only be about architecting individual Web sites, it also will be about architecting massive networks, and even cities. In any case: think big. Information architecture is soon going to be about architecting customizable and personalized views of the entire Internet, along with entirely new business and social models to go with it. The world will need a lot more information architects over the next few years. Shel Kimen is an information designer for Razorfish, Inc., New York, a strategic digital communications company. She has been online for a very long time and holds a B.A. in human environment and design with emphasis on architectural theory and planning. Adding mouse gesture to Google Chrome How-toI find this complete and detailed instruction on how-to add mouse gesture feature to your Google Chrome. -------------------------------- It is a simple mouse gesture extension for Google Chrome. This extension is designed to add mouse gesture support to Google Chrome, it's considered beta and work in progress. The information about Gestures extensionName: Gestures extension Download: ChromeGestures.crx File size: 74 KB Developer: kryptyx, sevencoloredbox, GuiSim Requirement: Google Chrome developer version 3.0.189.0 or above. Version 1.0.6w Last Build: July 18, 2009 Screenshot of Gestures extension
Guidelines: Install Gestures extension for Google Chrome
Get source code of Gestures extensionThe Code license of Gestures extension is GNU General Public License v3, you can use following command to anonymously check out the latest project source code: # Non-members may check out a read-only working copy anonymously over HTTP. svn checkout http://chromegestures.googlecode.com/svn/trunk/ chromegestures-read-only Other resource about Google Chrome Extersions
The Java NIO.2 File System in JDK 7http://java.sun.com/developer/technicalArticles/javase/nio/ By Janice J. Heiss and Sharon Zakhour, May 2009
JSR 203, a major feature of JDK 7 under the leadership of Sun software engineer Alan Bateman as an OpenJDK project, contains three primary elements that offer new input/output (I/O) APIs for the Java platform:
This article provides a basic overview of the first element, the File I/O API. The abbreviation NIO generally refers to new I/O APIs that allow for I/O operations in Java technology. The In NIO.2, the file system API is contained in a new package, Contents
…… Apache Reverse Proxy – mod_proxyApache provides a mod which could make Apache acts as a proxy. Here are some links regarding its configuration. http://httpd.apache.org/docs/1.3/mod/mod_proxy.html TIBCO Interview QuestionsWhile finding information regarding the BusinessEnents, I found this web page with a list of TIBCO interview FAQ. As a developer in TIBCO, I found this a little funny. I guess some of them are so easy and will not affect the developing process if you do not that the answer. I went through the whole list, questions are mainly focus on BW and working flow developing. Most of them are easy to answer for a developer who have experience on BW. ------------------ 1.What are the modes of TIBCO BW Installations ?
2.If you have installed a particular version of TIBCO software e.g. TIBCO BW X.Y.Z, What are X, Y and Z number stands for? Integration can be at different application layers:
3.What is the role of TRA? TRA stands for TIBCO Runtime Agent.
4.What are the resources that gets included in the EAR file, created by the TIBCO Designer? An EAR file can contain local project resources, LibraryBuilder resources, and files as specified in AliasLibrary resources. In addition, the TIBCO Designer classpath may include references to other files that are included in the EAR file.
5.What are the revision control system options available in TIBCO designer?
6.What are the different modes of service invocation? Services can be invoked in several ways.
7.What is vcrepo.dat? TIBCO Designer creates a file named vcrepo.dat in the project root directory when you first save the project. This file is used to store properties such as display name, TIBCO Rendezvous encoding, and description. This file can be used for identification in place of the project root directory and can be used as the repository locator string (repoUrl). 8.What are the TIBCO BW activities that can participate in transactions? Not all TIBCO BusinessWorks activities can participate in a transaction. Only the following types of activities have transactional capabilities:
9.What are the different types of Transactions TIBCO provides? TIBCO BusinessWorks offers a variety of types of transactions that can be used in different situations. You can use the type of transaction that suits the needs of your integration project. When you create a transaction group, you must specify the type of transaction. TIBCO BusinessWorks supports the following types of transactions:
10.What activities are supported in JTA Transaction? The Java Transaction API (JTA) UserTransaction type allows:
to participate in transactions. 11.What activities are supported in XA Transaction ? The XA Transaction type allows:
to participate in transactions. 12.What are the possible Error output's of Read File activity? Integration can be at different application layers:
13.What is the purpose of the inspector activity ? The Inspector activity is used to write the output of any or all activities and process variables to a file and/or stdout. This is particularly useful when debugging process definitions and you wish to see the entire schema instead of mapping specific elements to the Write File activity. 14.What are the maximum/minimum of threads available for incoming HTTP ? The maximum/minimum of threads available for incoming HTTP : 75/10 15.How can unauthorized users be prevented from triggering a process ? Unauthorized users be prevented from triggering a process by giving 'write' access for the process engine to only selected users. Only users with 'write' access can do activities like deploying applications, starting/stopping process engines etc. 16.What are the mandatory configuration parameters for FTP Connection & FTP with firewall ? The mandatory configuration parameters for FTP Connection
If Firewall is enabled in addition the proxy host and port are required. 17.how to design a process such that depending on number of records updated in a database, 3 different sub-processes may be called ? Define 3 transitions from JDBC update with condition on the no of updates and call appropriate child processes. 18.How to use legacy .dat file format with latest designer ? Convert .dat file to multi file project using Administration tab while starting up Designer(Other one being Project tab) and then open the multifile project in the normal way. 19.What are the encodings supported by designer ? Encodings supported by designer are
20.What are the 4 main panels of the Designer window ? The 4 main panels of the Designer window are
21.How do you determine if there are broken references in the project? Project -> Validate for deployment 22.Where are the Designer preferences stored ? Designer preferences stored are stores in a file called 'Designer <ver>.prefs' in the user home directory. 23.Explain the process configuration parameters - Max Jobs, Flow Limit & Activation Limit ?
24.What are the options for configuring storage for process engine's checkpoint repository ? The options for configuring storage for process engine's checkpoint repository are:
25.Process engines in a fault tolerant group can be configured as peers or master secondary.How do these differ ? The options for configuring storage for process engine's checkpoint repository are:
26.What are the uses of grouping activities ? Uses of grouping activities are:
27.What is the purpose of a Lock shared configuration resource? A Lock is specified for a 'Critical Section' group when the scope is 'Multiple'. It can be used to ensure synchronization across process instances belonging to multiple processs definitions or for process instances across engines(Check multi engine flag for lock in this case and the BW engine needs to be configured with database persistence while deployment). If synchronization is for process instances belonging to the same processs definition inside one engine, just specify the scope as 'Single'. 28.How to control the sequence of execution of process instances created by a process starter ? Use the sequencing key field in the Misc tab of any process starter. Process instances with the same value for this field are executed in the sequence in which they are started. 29.Can there be two error transitions out of an activity ? No. There can be only one Error and one Success if no matching condition transition out of each activity. 30.When is a 'No Action' group used ? 'No Action' group used to have a set of activities having a common error transition 31.What activity can be used to set the value of a 'User defined process variable' ? The 'Assign' activity can be used to set the value of a 'User defined process variable'. 32.Which are the two process variables available to all activities with inputs ?
33.Which mechanism can be used to pass data between a process instance and a called sub process other than mapping from/to the callee's input/output ? This can be accomplished using job shared variables, unless in the call process activity the 'Spawn' flag is enabled in which case the called sub process is a new job and hence gets a fresh copy of the job shared variable initialized as per its configuration. A shared variable can overcome this limitation as it's scope is not limited to one job. 34.What are the three scenarios where BW engine has to be configured with database persistence instead of Local File ? The three scenarios are:
35.If you want a group to be executed if there is some unhandled error but subject to some max number of iterations which group do you use ? We can use Repeat on Error until true 36.When is a 'Generate Error' activity useful? When you handle an error inside a called subprocess or group and want to rethrow the error to the caller(happens by default if you dont handle the error in the called process) 37.Which activity is used for detecting duplicate message processing? CheckPoint activity - Specify the uniqueID for the duplicate key field and engine maintains list of these key fields. When a process come to checkpoint activity with the same value for duplicate key which already exists, it throws a DuplicateException. An error transition can then handle this case. 38.Give an example where graceful migration of service from one machine to another is not possible. HTTP Receiver. In this case the receiver on new machine starts listening on the same port, but you need to redirect requests from the old machine to the new one. 39.What are the types of adapter services ? Types of adapter services are :
40.If the business process needs to invoke another web service which resource do you use ? SOAP request reply activity. If the business process needs to be exposed as SOAP service use SOAP Event Source in conjunction with SOAP Send Reply or SOAP Send Fault. 41.What is the functionality of the Retrieve Resources resource? It can be used to serve the wsdl file of a SOAP Event Source to a (http) client. 42.What is the scope of user defined process variables ? The scope of user defined process variables is only the process in which it is defined.(Not even inside a sub process that is invoked from this process) 43.What is difference between shared variable and job shared variable ?
44.How do wait-notify resources work ? Basically wait and notify should share a common notification configuration which is just a schema definition for data that will be passed from notifier to waiter. Specific instances of waiter & notifier are corrrelated via a key. For example: when one process is in wait state for key 'Order-1', it waits till another process issues a notification with the same key value. 45.What is the default Axis in XPath ? Child axis- What this means is that when you select "BOOK" from the current context, it selects a child node with that name, not a sibling with that name. Other axes are parent , self , sibling etc. 46.What are the output formats for XSLT?
47.What does ' Success if no matching condition' transition mean ? Lets say between two nodes N1 and N2, there are 3 success transitions with condition and there is no success transition without condition. If none of the conditions match then a 'Success if no matching condition' transition can be used. Also if there is a success transition and also success transitions with condition and if the condition matches then both the sucess transition (no condition) as well as the transition(s) with matching conditions are followed. So you can use 'Success if no matching condition' to prevent duplicate paths of execution.
48.What is the Purpose of $_error variable ?
49.What are the cases where business process cant proceed correctly subsequent to restart from a checkpoint ?
50.Which group do you use to wait for multiple events and proceed with the first to occur ? A 'Pick First Group'. Applied SSL - Conclusion- a so called Client Authentication is just to verify that the leaf cert is issued by an expected CA, which is done by providing the CA’s cert. - the verification of the client name, or the CN of the client is not part of this, it should be done manually. At least, this is what TIBCO does for now. - OpenSSL is a powerful tool for debugging SSL related issues. It could not only generate and sign private or public keys, certs, it also has tools to test connect an SSL enabled site to pull authenticating information out from the site. I googled OpenSSL official site, then followed the document there to set it up. - Java Keytool is another handy tool. - the default SSL vendor used by TIBCO is not Java but entrust. A property setting should be added into the tra file if you want to change the default vendor. - the client cert, or the so called leaf cert provided by Salesforce.com, I think it is useless until I implemented the client name validation. BE - Get hands on the giantHere is the main site about TIBCO BusinessEvents: http://www.tibco.com/software/complex-event-processing/businessevents/default.jsp I need to get my hands on to see how this giant works. I found it a little surprised that TIBCO claims that the product or the solution has an over 40 percent market share. http://www.tibco.com/software/complex-event-processing/businessevents/businessevents.jsp Applied SSL – ReferenceAfter reading these, I found to implement some app related to SSL or just encryption in JAVA could be easy. http://xwhoyeah.javaeye.com/blog/86377 http://www.it918.com/htm/jc/jcwygs/Javascript/20040414C152728.shtml (Good!) http://topic.csdn.net/t/20041026/18/3493313.html http://books.google.com/books?id=eqFZUksRDcMC&printsec=frontcover&dq=java.security (Attention: Limited Preview)
http://java.sun.com/javase/technologies/security/ http://java.sun.com/j2se/1.5.0/docs/guide/security/index.html http://java.sun.com/j2se/1.5.0/docs/guide/security/cert3.html http://java.sun.com/j2se/1.5.0/docs/api/java/security/cert/Certificate.html
A Chinese Instruction with code samples:
证书(Certificate,也称public-key certificate)是用某种签名算法对某些内容(比如公钥)进行数字签名后得到的、可以用来当成信任关系中介的数字凭证。证书发行机构通过发行证书告知证书使用者或实体其公钥(public-key)以及其它一些辅助信息。证书在电子商务安全交易中有着广泛的应用,证书发行机构也称 CA(Certificate Authority)。 应用证书 证书在公钥加密应用中的作用是保证公钥在某些可信的机构发布,其在协议SSL、电子交易协议SET等方面有重要的应用。图1显示了一个最简单的证书应用方法:
图1 证书应用方法
表1 证书内容和意义
对证书的详细定义及其应用相关的各种协议,这里不加详细说明,详细细节请查看RFC2450、RFC2510、RFC2511、RFC2527、RFC2528、RFC2559、RFC2560、RFC2585、RFC2587等文档。 生成自签证书 个人或机构可以从信任的证书分发机构申请得到证书,比如说,可以从http://ca.pku.edu.cn 得到一个属于个人的证书。这里可以利用J2SDK的安全工具keytool手工产生自签证书,所谓自签证书是指证书中的“Subject Name”和“Issuer Name”相同的证书。 下面产生一个自签证书。安装完J2SDK(这里用的是J2SDK1.4)后,在J2SDK安装目录的bin目录下,有一个keytool的可执行程序。利用keytool产生自签证书的步骤如下: 输入keystore密码: abc123 您的名字与姓氏是什么? [Unknown]: Li 您的组织单位名称是什么? [Unknown]: InfosecLab 您的组织名称是什么? [Unknown]: InfosecLab Group 您所在的城市或区域名称是什么? [Unknown]: Beijing 您所在的州或省份名称是什么? [Unknown]: Beijing 该单位的两字母国家代码是什么 [Unknown]: CN CN=Li, OU=InfosecLab, O=InfosecLab Group, L=Beijing, ST=Beijing, C=CN 正确吗? [否]: y 输入<testkeypair>的主密码 (如果和 keystore 密码相同,按回车): 这样,就得到了一个自签的证书mycert.crt。注意,选项rfc是把证书输出为RFC1421定义的、用Base64最终编码的格式。 读取证书 Java为安全应用提供了丰富的API,J2SDK1.4 的JSSE (JavaTM Secure Socket Extension) 包括javax.security.certificate包,并且提供对证书的操作方法。而对证书的读操作,只用 java.security.cert. CertificateFactory和java.security.cert.X509Certificate就可以了。下面是读取证书内容的部分代码:
定义证书信息的读取函数如下:
如果以字符串形式读取证书,加入下面Read_Bin这个函数。其中CertificateFactory.generateCertificate() 这个函数可以从证书标准编码(RFC1421定义)中解出可读信息。Read_Bin函数代码如下:
如果要得到原始证书编码后的信息,则可用如下代码:
最后用这个小程序看一看刚才生成的证书mycert.crt内容,把文件名写入main()中:
证书mycert.crt的内容显示如图2所示,所有信息和Base64的显示内容,这里不再列举。
图2 证书mycert.crt的内容显示 现在已经读取了证书的一些内容,那么怎样使用证书呢?我们可以假设A和B要共享一个绝密的文件F,B信任并拥有A的证书,也就是说B拥有A的公钥。那么A通过A和B共知的加密算法(对称密钥算法,比如DES算法)先加密文件F,然后对加密后的F进行签名和散列摘要(比如MD5算法,目的是保证文件的完整性),然后把F发送到B。B收到文件后,先用A的证书中的公钥验证签名,然后再用通过共知的加密算法解密,就可以得到原文件了。这里使用的数字签名,可以保证B得到的文件,就是A的,A不能否认其不拥有文件F,因为只有A拥有可以让A的公钥验证其签名的私钥,同时这里使用DES算法加密,使得文件有保密性。
图3 加密签名、解密验证文件结构图 加密函数中的desKeyData存放DES加密密钥,如果要在程序中指定,可以设置为:
加密函数写成:
其中ct就是加密后的内容,outFileName保存加密后文件的文件名。把cdes.init(Cipher.ENCRYPT_MODE, secretKey)换成cdes.init(Cipher.DECRYPT_MODE, secretKey)就是解密文件了。
验证签名需要存放签名文件和被签名的文件以及证书,其中,updateData存放被签名文件的内容,sigedText存放得到的签名内容,CertName是证书名。验证签名代码如下:
可以用keytool产生两个自签的签名证书,或者到某个CA去申请两个证书。用Java编写加密和验证程序,上述例子只是一个非常简单的证书应用,实际协议对证书的使用(比如SSL)要比这个复杂多了。 Applied SSL – Some internal attributes for getting SSL info from HTTP messageI need to read this when I am free. In the article, it at least mentioned some internal attributes which would be helpful in some situation and they are something you should read from document, not something you could get from a bare code.
call javax.servlet.http.HttpServletRequest.getAttribute(“
Some other attributes defined in tomcat.util.net.SSLSupport: Applied SSL - The Most Common Java Keytool Keystore Commandsfrom : http://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html Java Keytool is a key and certificate management utility. It allows users to manage their own public/private key pairs and certificates. It also allows users to cache certificates. Java Keytool stores the keys and certificates in what is called a keystore. By default the Java keystore is implemented as a file. It protects private keys with a password. A Keytool keystore contains the private key and any certificates necessary to complete a chain of trust and establish the trustworthiness of the primary certificate. Each certificate in a Java keystore is associated with a unique alias. When creating a Java keystore you will first create the .jks file that will initially only contain the private key. You will then generate a CSR and have a certificate generated from it. Then you will import the certificate to the keystore including any root certificates. Java Keytool also several other functions that allow you to view the details of a certificate or list the certificates contained in a keystore or export a certificate. Note: For easier management of your Java Keystores (using a GUI) check out Portecle. Below, we have listed the most common Java Keytool keystore commands and their usage: Java Keytool Commands for Creating and ImportingThese commands allow you to generate a new Java Keytool keystore file, create a CSR, and import certificates. Any root or intermediate certificates will need to be imported before importing the primary certificate for your domain.
Java Keytool Commands for CheckingIf you need to check the information within a certificate, or Java keystore, use these commands.
Other Java Keytool Commands
If you need to move a certificate from Java Keytool to Apache or another type of system, check out these instructions for converting a Java Keytool keystore using OpenSSL. For more information, check out the Java Keytool documentation or check out our Tomcat SSL Installation Instructions which use Java Keytool. Applied SSL - key and csr generation instructionskey and csr generation instructions https://www.thawte.com/ssl-digital-certificates/technical-support/keygen/index.html
for Tomcat: Key and CSR Generation Instructions An Important Note Before You Start: The utility "keytool" that you use to generate the private key (keyEntry) and CSR comes with the Sun JDK toolkit. If you do not have JDK installed please download it from the following link: http://java.sun.com/J2SE/downloads.html We recommend that the latest version be used, which is 1.5.0. The following sequence of commands will generate a keystore and keyEntry. Tomcat currently supports JKS and PKCS#12 format keystores. The JKS format is Java's standard "Java KeyStore" format, and is the format generated by the keytool command-line utility which is packaged in the JDK kit. The PKCS#12 format is a general format which can be converted using the Openssl toolkit. The following instructions make use of keytool only. Note: In the interest of better security and the enablement of greater trust, we have decided that 1024-bit keys will now be the minimum suggested strength to be used in the issuance of thawte digital certificates. 1. Generate a keystore and keyEntry Please type the following command at the prompt: keytool -genkey -alias [keyEntry_name] -keyalg RSA -keystore [keystore_name]
Note: If you do not specify a keystore (-keystore omitted from the command) name, the keystore will be saved to your local profile directory as a .keystore file (i.e C:\Documents and Settings\your name\.keystore) When you execute this command you will be prompted for a keystore password. The default password used by Tomcat is "changeit" although you can specify a password of your choice. The term "First and last name" is X.509 speak for the name that distinguishes the certificate best, and ties it to your Organization. Enter your exact host and domain name that you wish to secure. Example: If you wish to secure www.mydomain.com, then you will need to enter the exact host (www) and domain name (mydomain.com) in this field. If you enter mydomain.com then the certificate issued to you will only work error free on https://mydomain.com. It will cause a certificate mismatch error when you or your users access the domain via https:// www.mydomain.com. Enter your country, state or province and locality or city. You should enter the company name as it appears on your official company registration documents. The organization unit is optional, we verify and authenticate the company name and not the organization unit. To skip the organization unit (OU) field please press enter on your keyboard. Finally, you will be prompted for the keyEntry password, which is the password which protects the private key. Please specify the same password for the keystore and the keyEntry or else you will receive the following error message when you restart the Tomcat engine: java.security.UnrecoverableKeyException: Cannot recover key 2. Generate the CSR Please type the following command at the prompt: keytool -certreq -alias [keyEntry name] -file request.csr -keystore [keystore name]
The CSR will be saved to your JDK/bin directory. You have now created a public/private key pair. The private key (KeyEntry) is stored inside the keystore in the JDK/bin directory and is used for decryption. The public portion is sent to thawte in the form of a Certificate Signing Request (request.csr), and will be used by your users to encrypt the data they send to your site. The Certificate Signing Request (CSR) looks something like this:
3. Backup your private key Please backup your keystore file and make a note of the password. A good choice is to create a copy of this file onto a diskette or other removeable media. Please backup your private key using the instructions at the following link: http://www.thawte.com/ssl-digital-certificates/technical-support/backup.html 4. Start the thawte certificate request process To submit the CSR for processing you should start the certificate enrollment process at the following link: Note: If you have a SPKI or Reseller account please submit the CSR through the enrollment process in your account. If you encounter any problems, or errors when going through these steps, please read our Tomcat FAQ’s. Applied SSLWe export the root and intermediate cert from the client cert. What is an 'Intermediate' certificate? An intermediate certificate is the certificate, or certificates, that go between your site (server) certificate and a root certificate.
Root certificateIn cryptography and computer security, a root certificate is either an unsigned public key certificate or a self-signed certificate that identifies the Root Certificate Authority (CA). A root certificate is part of a public key infrastructure scheme. The most common commercial variety is based on the ITU-T X.509 standard, which normally includes a digital signature from a certificate authority (CA). Digital certificates are verified using a chain of trust. The trust anchor for the digital certificate is the Root Certificate Authority (CA). A certificate authority can issue multiple certificates in the form of a tree structure. A root certificate is the top-most certificate of the tree, the private key of which is used to "sign" other certificates. All certificates below the root certificate inherit the trustworthiness of the root certificate - a signature by a root certificate is somewhat analogous to "notarizing" an identity in the physical world. Many software applications assume these root certificates are trustworthy on the user's behalf. For example, a Web browser uses them to verify identities within SSL/TLS secure connections. However, this implies that the user trusts their browser's publisher, the certificate authorities it trusts, and anyone the certificate authority may have issued a certificate-issuing-certificate, to faithfully verify the identity and intentions of all parties that own the certificates. This (transitive) trust in a root certificate is the usual case and is integral to the X.509 certificate chain model. The root certificate is usually made trustworthy by some mechanism other than a certificate, such as by secure physical distribution. For example, some of the most well-known root certificates are distributed in the Internet browsers by their manufacturers.
Intermediate certificate authorities
An instruction on how to create server and client certificates How big is java.util.Calendar? The size is 432 bytes!I am working on a project which has high requirement on performance and memory consuming. So I need to take care of the data structures that I created in my program. When doing some research on java.util.Calendar, this lovely class, I run into this essay. I think I should take care of the use of this heavy buddy.The essay Java Tip 130: Do you know your data size? is also a good one. --------------------------- The size of a java.util.Calendar is 432 bytesCalendar's are cool. They're one of the few objects (in any language) which I consider to have solved the datetime problem. So many datetime objects require extra work from the programmer for (seemingly) simple queries such determining whether x occurred before or after a month ago. You typically can't simply add a year/month/date/hour/etc. and you always have to be careful of whether an index value is 0, 1, or -1900 based. Calendar lets you focus on the date operations you are performing rather than devising tricks to get around other people's laziness. You can add just about any date/time quantity, there are static fields for month values, and you can compare two Calendar's via the before and after methods. But, recently, my love of Calendar's took a big hit. This was shortly after I stumbled upon Java Tip 130: Do you know your data size? I was tempted to discount this article due to it's age---5.5 years---so much has changed since then in the Java world. But, after running the SizeOf code and discovering that memory consumption for the various basic objects Vladimir Roubtsov tested hadn't changed, I re-read his article carefully and took every word to heart. That an empty String consumes 40 bytes took me by surprise. But, it wasn't until I tested Calendar that I was truly shocked. In the current system I'm working on, I am storing hundreds-of-thousands of objects with Calendar's as fields. No wonder they consumed so much memory! Now I understand whence that outlandish consumption came. Going forward, I won't stop using Calendar's, but I'll be much more careful about my usage of them. No more throwing a Calendar into an object that I'll allocate thousands of times... Other useful articles on memory usage:
Posted by Pussinboots at 5:42 PM 1 comments:
一个sql语句太弱了,数据库很久不用,都忘得差不多了
上面这个语句是用oracle数据库中对某张表中的数据完成形如CLOSE*100/REF(CLOSE,1)-100 的计算。表中的close是与时间相对应的,每分钟有一条。在这个语句的基础上,根据需要可以在数据库中作程序计算的数据的正确性验证。
最后演变成这样:
第一列根据比对的结果给出状态提示。虽然功能是实现了,但是觉得做法有点笨,有什么更好的方法可以留言告诉我。很感谢。在复杂点的估计就要用存储过程了。 感谢Abin的帮助。 相关参考:
ies4linux有关中文显示和输入问题转自: http://www.cppblog.com/heidaizx/articles/33455.html 转贴于:http://forum.ubuntu.org.cn/viewtopic.php?t=52397&highlight= 折腾了一天终于折腾好了,对话框按钮和输入中文问题也解决了。 安装方法很简单,见 http://www.tatanka.com.br/ies4linux/page/Installation:Ubuntu 安装之后,下载雅黑字体文件,copy到目录 ~/.ies4linux/ie6/drive_c/windows/fonts 这时运行桌面上的IE6图标,使用后有2个问题: 1.不能用scim输入中文 2.对话框的按钮文字是乱码 解决办法 1. 去掉scim设置的 前端->全局设置->将预编辑字符串嵌入到客户端中 前的勾 去掉scim设置的 面板->gtk->嵌入式候选词标 见 http://forum.ubuntu.org.cn/viewtopic.php?t=51420&postdays=0&postorder=asc&start=0 2. 到windows下copy一个simsun.ttc放到 ~/.ies4linux/ie6/drive_c/windows/fonts
找到这两行
替换为
另外修改 其中如下部分
保存退出,OK了 见 http://forum.ubuntu.org.cn/viewtopic.php?p=283867#283867 http://forum.ubuntu.org.cn/viewtopic.php?p=283865#283865 install SopCast on Ubuntu 8.10 and: 'main.cpp:47: error: ‘srand’ was not declared in this scope'I followed this instruction to do the installation of SopCast on Ubuntu 8.10. When doing the 'make and install' part, I caught this error: main.cpp: In function 'int main(int, char**)': At first, I though there may be something wrong with gcc or maybe the standar lib on my Ubuntu is missing. But actually those things have been installed. http://bugs.gentoo.org/181134
http://sopcast.pxn.ca/viewtopic.php?f=17&t=203 http://code.google.com/p/qsopcast/downloads/list The detailed instruction: Installing SOPCAST in Linux Ubuntu 7.10
Note this will vary on different versions, but this guide is intended for Ubuntu 7.10 Gutsy. Adding Repositories Run these commands in the terminal: gksu gedit /etc/apt/sources.list Add this line: "deb http://packages.medibuntu.org/ gutsy free non-free" By the way, to add the key for the repository shown above, use: wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add - Also, you don't actually need this repository as I've noticed VLC is in the universe one. There's still some good codecs and other software in there though. sudo apt-get update sudo apt-get install qt3-apps-dev vlc build-essential Downloading the latest Sop Cast binary http://download.sopcast.cn/download/sp-auth.tgz Unzip it and cd into that directory using terminal. Then run: sudo cp sp-sc-auth /usr/bin/sp-sc Downloading and building the latest GUI Download the most recent source package from this page: http://code.google.com/p/qsopcast/downloads/list Again, unzip it and cd into that (src) directory using terminal. Then run sudo qmake sudo make sudo make install This should compile the source and install the binary into the correct location. Creating an menu shortcut Go to System / Preferences / Main Menu... then 'Internet' and 'Add New Item'. Give it the name "QSopCast" and command "qsopcast". You should now be able to launch from the main menu. Setting up the GUI Once the gui is open, goto config then config again. Make sure that the player settings are all set to "vlc" and that the channel URL is set to "http://www.sopcast.com/gchlxml" You should now be able to watch sop casts by selecting a channel, launching it and then hitting player when the stream is at 100% I've got an updated guide that will allow you to set firefox to launch SOP URLs too. It uses a specially modified version of QSopCast. Please see this page: http://www.linux.ryukent.co.uk/show.php?id=36
Java properties for changing the default locale settingsThere are classes in Java which are locale sensitive. In some situation, programmers may not realize this. Their code may work well on their own machine, but when it has been delivered to customer, the locale environment may be different to where it had been tested. And problems may occur. Here are some useful URLs:
Bacula - powerful backup toolkitI think maybe I could use this tool to backup my own code. Or maybe backup files from laptop to desktop pc because there has not sufficient hard drive space on my note book.
Thanks to Gavin Eclipse 上的中文设置同事的code里有一堆中文的注释,但是在我的英文操作系统上运行的Eclipse里却总是显示乱码,即便换成UTF-8也不行。 解决方法: 到目标工程的properties -> Resource ->TextFileEncoding 的下拉菜单,虽然其中可能没有GB2312这个选项,但是可以手动填写上。然后确认推出就行了。 |
|
|