Chong's profileChong's pagePhotosBlogLists Tools Help

Chong

There are no music lists on this space.

Chong's page

June 20

How international web site identify your location/language?

As we know many famouse international web site can support multiple languages and multi-marketization, that means people from different countries will see their own language and culture-specific content when they open the web site, eg. we access www.live.com, if we are in Japan, then we can see Japanese on live.com, if we are in US, we can see English on live.com.
So how international web site identify your location/language? Here are some popluar ways,
1. Web site can identify your location/language by your Browse's language setting, the default language setting in your Browse will be the same as your mother language, like en-us is for English language in US, zh-cn is for Symplified Chinese language in China.
2. Web site can identify your location/language by your perference setting in your profile, this is used for many web site that need your registeration.
3. Web site can identify your location/language by your IP location, each IP is corresponding to a region, and we call the way that can identify the location by IP as IPGEO
October 10

Talking about How IE identify the encoding of html document

 

Quote

How IE identify the encoding of html document
I just summary the priority of IE identify the encoding of html document.
Note: bulleting number represents the priority by which IE identify the encoding.
1. IE use the character set by the server code, like the following asp.net code snap:   Response.Charset = "x-IA5-German"; 
2. IE use the characeter set in META element in the document like:<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312"> if this element sepcificed, use this element and neglect the IE en-coding set by the user.
3. If 1 and 2 are not set, IE use the default lanuage setting, frequently it is UTF-8
4. After user open the page, user can change the encoding of IE, this time IE will use the user's encoding setting.
I use user scenario to explain:
User open IE and request one web site like www.microsoft.com, the encoding setting of IE is Simplified Chinese, auto-select is unchecked.
When the page is loaded to the user IE, IE will first detect the server code and then the META element and finally the default UTF-8. So even if user's setting is simplified Chinese, the encoding of IE will become UTF-8 after the web site is fully loaded.
May 29

Expericence share: Process of Localization

Expericence share: Process of Localization:
Prerequise:
  1. Should consider localization and globalization in software design phase. Localization and globalization belong to one part of software arithecture design.
    1.1 Design of Aritecture level for ASP.NET(basic)
       Explanation of culture concpetion:
        There are three types of clutures in ASP.NET world,  ASP.NET will 递归查找 the three culture according their priorities.
        1. Netural culture: The default culture, ASP.NET use en-us as netural culture. This culutre's priority is the lowest, that measn ASP.NET will use this culture when there is no culture specified by the user.
        2. Culture: the culture only with language information but no market specified, eg. en the English language, zh chinese. This culture's priority is the second one.
        3. Specific culture: the culture with both language information and maket specificed, eg. en-us English and US market, zh-cn, Simplified Chinese and China mainland market, zh-tw Tranditioinal Chinese and Tai Wan market. This culture's priority is the first one. That means ASP.NET will pick up this cluture as long as it exits.
     1.2 Culture structure
       1.2.1 We create one folder for each culture and use the culture name as the folder name, eg. we create folder zh-cn for zh-cn culture
       1.2.2 We put resource to the culture folder, eg. we put Chinese resource to zh-cn folder.
     1.3 The way to implement the identification of language&market.
       1.3.1 There are two way we can use to identify the language&market. That means we can design the program to identify the user language&market.
          a) User define a langauge&market information and send this information to web server. We can use query string to implement this, like user can input http://abc.com.cn/?mkt=zh-cn, this can tell the server side application the user want to visit a Simplified Chinese China site.
          b) The program read the language setting in IE or firefox. This setting will be sent to web server in http header.
In coding phase, obviously a) option's priority is higher than b) option, b) option can be a default option.
Finally, ASP.NET can read these culture according to the user language&market information and locate the culture atuomatically.
What we shoud do is to
  1. Make the culture folder structure and resources ready
  2. Get the user language&makret information from http header or query string
  3. Assign this language&makret information to ASP.NET
 
  2. All development and feature testing is complete.
Steps:
1. Make a sudo build
What is sudo build?
 Sudo build is the build whose resoures eg. Text, image, are embedded with wild characters, eg. we embed %$# to each side of text 'Hello'.
 We use this way to identify whether the resource has the ability of localization.
How to make a sudo build?
Using a localization tool is an efficient way.
The tool can,
  1. Read resource file, eg. it read each resource in resource file, in ASP.NET the resource is a xml file. We can make each web page corresponding to one culture specific resource file or all web pages corresponding to one resource file. The suggested way is that we make all resources in one resource file for per language-market.
  2. Insert wild characters into each resouse like %$#Hello%$#
  3. Save the resource file to a specific folder like sudo-res.
2. Do localability testing and internationalization testing
   2.1 Case preparation
   2.2 Run test cases
   2.3 Bug fixing
   2.4 Bug verification
3. Do localization testing for each specific market.
March 06

JAVA平台(之所以这么称呼是因为我个人觉得JAVA作为一个兼容多个操作系统的环境是一个虚拟的可以HOST企业级应用程序的平台)和WINDOWS平台的比较

接触JAVA平台两月有余, 虽然还是菜鸟级别但对这套平台已经略有感触, JAVA平台(之所以这么称呼是因为我个人觉得JAVA作为一个兼容多个操作系统的环境是一个虚拟的可以HOST企业级应用程序的平台)和WINDOWS平台的比较如下:
迈克索肤特:视窗集成组件. 啊比木/比一诶:组件集成微波丝非/微波罗捷克
 
还处在菜鸟级别,希望将来能越写越多
February 06

Expericence about agile software development methodology(To be cont)

虽然只有一年的敏捷软件开发经验, 但我已经是感受颇多, 现把自己的感受写下来,一是让自己回味, 二是给同行分享.
According my understanding,
Compared to the tranditional software development method, agile software development has the following merits:
1. Meet the market requirements on demand(welcome the code changes even in the later of the development).
2. Make software development process more efficiently compared to the tranditional software development like waterfall
 
What is the main elements in agile?
1. Short release circle.
  How?
   Each release only last one month.
 Why?
   Meet the market requirements on demand.
Disadvantage.
   May cause poor quality product shipped.
   May cause testers busied with re-writing test plan&cases, re-coding automation test program, re-run test cases.
2. Daily build, deployment and automation test.
  How?
   Do build, deployment and automation test on daily basis.
   It is perfect that we can make build, deploy and auto-test fully automated and run stably on daily basis.
 Why?
   I think this is key point for the success of agile. Because daily build, deployment and auto test can make sure the quality of the product on daily basis, and thus make sure the product shipped with high quality.
Challenges.
  Build need to be scheduled to run.
  Automation test code's maintance is high cost, normally need at lease one person fully time work on it. So  a good auto-test architecture can reduce the cost of code maintance.
  Deployment is better to be automated to enhance the efficiency, but this will introduce the cost of  auto-deloyment scripts maintance.
  How to make auto-deployment scripts run with less configuration and without errors is a challenge.
 
3. Test driven.
    How?
 Utilize unin-testing to find most of the critical issues in the code. In .net, there are NUNIT. In java, ther is JUNIT.
    Why?
    Because each sprint only last one to two month, so we need use unit test case to cover most of the execution path in the code, and thus we can find and resolve all critical issues beofre the code is shipped to testing by testers.
    Disadvantage.
    Developer needs to write much more unit test cases, and this will make dev upset.
4. Scrum meeting.
   How?
    Dev, PM and tester have a daily short meeting together to talk about the progress of the project and sync each member's work status.
  Why?
   A daily short meeting( less than 30 minutes) can make every one sync on the same page timely, make PM and leads know the progress of the project clearly and also know the latest issues in the project.
5. Postmotom
  Postmotom is a meeting to let all team's member to summary what need to be improved after one sprint.
  Knowing what is the blocking issue during last sprint, thus we can change improve ourselives continuously.
  Why it should be daily basis?
   I think this is because agile software development uses day as the atom work unit. That means we define the schedule on daily basis not weekly or monthly.  So it is much make sense that team meeting's cycle is consistent with the atom work unit.
Thus daily meeting makes PM and Leads know clearly each work item's progress.
 
6. The track of each work item in a sprint.
    How?
     Use style sheet excel to track each work item in one sprint, each column in style sheet is like the following format,
     Work item name,  priority, owner, workload, day1, day2, ... , day30
     
     Description of each column.
  •     Work item name: short description of the work item. The work item need to be splited if it takes long time(normal more than 1 week's workload).
  •     Priority: the priority of this work item, 0,1,2,3. 0 means the first priority and need to be done as the first priority.

          0,1,2 priority's work item need to be done in this sprint, 3 and 4 priority's work item is best to be done.

  •      Owner: the owner of this work item. Can be more than 1 owner.
  •      Workload: the assumed total hours of this work item. Normally the workload is 4 hours one day. So for example, if one work item need 3 days, the workload will be 12
     Day1, day2, ... : the workload burn down of each day. For example, A workitem need 12 hours to be done. If day 1 = 8, that means the left hours is 8. So ideally the day 3 should be 0 which means the work item is done on third day.
 
  7. Workload burn down chart.
  8. Need a planning phase at the beginning of each sprint.
     What to do?
  •         List all the work items.
  •         Prioritize all the work items.
  •         Define the work items which should be delivered in the upcoming sprint.
  •         Spilt each work item to make sure each sub-work item's workload do not more than 20 hours.

  9. The atom work unit is on daily basis.

          How?

  •              4 hour represent one day's workload.
  •             Why we just use 4 hours to represents one day's is because that we should exclude the time of meeting, communication and training.
  •              4 hour is the workload of work item and not inlcude the meeting, communcition or training time.

 10. The ownership of a work item

      Unlike the waterfall method, in agile method the ownership of each work item is dev and tester.

      That means in the end of one sprint, the work item is shipped by dev and tester, so dev and tester should make sure the quality of the shipped work item.

     

 

   

Some expericence about Test process

Here I give some my expericence about the test process to share.
During the development phase, not code complete
1. Test cases preparation and review
2. Functional test
After code complete
3. Regression test begin and at the same time locability test begin
Resource hand off after localibility test completes
4. Localization test begin and Regression test continues...
Resource hand back after localization test completes, regression test continues...
Regression test  finishes
5. Bug bash begin
Bug bash completes.
 
In the whole process, I think the test leads need to monitor the whole process(including each member's work progress, how many bugs are found and what is the priority of them), do correct decision when the information is not enough, adjust the test schedule agilely, give daily bug&test report, sync information with dev and pm on time and act as a techical consultant to help team member finish their work item more efficiently.
October 30

How IE identify the encoding of html document

I just summary the priority of IE identify the encoding of html document.
Note: bulleting number represents the priority by which IE identify the encoding.
1. IE use the character set by the server code, like the following asp.net code snap:   Response.Charset = "x-IA5-German"; 
2. IE use the characeter set in META element in the document like:<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=gb2312"> if this element sepcificed, use this element and neglect the IE en-coding set by the user.
3. If 1 and 2 are not set, IE use the default lanuage setting, frequently it is UTF-8
4. After user open the page, user can change the encoding of IE, this time IE will use the user's encoding setting.
I use user scenario to explain:
User open IE and request one web site like www.microsoft.com, the encoding setting of IE is Simplified Chinese, auto-select is unchecked.
When the page is loaded to the user IE, IE will first detect the server code and then the META element and finally the default UTF-8. So even if user's setting is simplified Chinese, the encoding of IE will become UTF-8 after the web site is fully loaded.
 
There are no photo albums.
No list items have been added yet.