极品色天使在线婷婷天堂亚洲,亚洲一级片免费看,精品亚洲国产成人avhttp://www.tkk7.com/xiaohu/category/21572.html為你而瘋狂zh-cnSat, 12 Apr 2008 15:26:57 GMTSat, 12 Apr 2008 15:26:57 GMT60Spring定時器http://www.tkk7.com/xiaohu/archive/2008/04/10/191743.html小虎(年輕)小虎(年輕)Thu, 10 Apr 2008 01:34:00 GMThttp://www.tkk7.com/xiaohu/archive/2008/04/10/191743.htmlhttp://www.tkk7.com/xiaohu/comments/191743.htmlhttp://www.tkk7.com/xiaohu/archive/2008/04/10/191743.html#Feedback0http://www.tkk7.com/xiaohu/comments/commentRss/191743.htmlhttp://www.tkk7.com/xiaohu/services/trackbacks/191743.html<!--1.簡單定時-->
<
bean id = " myTask "   class = " usish.po.pub.MyTask " >     <!--自己定義的任務extends TimerTask -->
  
< property name = " generatPo " >
    
< ref local = " generatPO " />
  
</ property >
  
< property name = " importData " >
    
< ref local = " importData " />
  
</ property >
</ bean >

< bean id = " timer "   class = " org.springframework.scheduling.timer.TimerFactoryBean " >
  
< property name = " scheduledTimerTasks " >
    
< list >
      
< ref local = " scheduledTimerTask_1 " /> <!--定時器的任務鏈-->
    
</ list >
  
</ property >
</ bean >

< bean id = " scheduledTimerTask_1 "   class = " org.springframework.scheduling.timer.ScheduledTimerTask " > <!--任務鏈啟動任務-->
  
< property name = " timerTask " >
    
< ref local = " myTask " />
  
</ property >
  
< property name = " delay " >
    
< value > 1000 </ value >
  
</ property >
  
< property name = " period " >
    
< value > 50000 </ value >
  
</ property >
</ bean >

<!--2.使用Quartz定時-->
<!-- scheduler -->
 <bean id="cacheClearStar" class="com.ztgame.memcached.CacheClearStar" />
 <bean id="cacheClearStarJob"
     class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject">
             <ref local="cacheClearStar" />
        </property>
        <property name="targetMethod">
            <value>clear</value>
        </property>
 </bean>
    <bean id="cacheClearStarTrigger"
        class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail">
            <ref local="cacheClearStarJob" />
        </property>
        <property name="cronExpression">
            <value>0 0 0 * * ?</value>
        </property>
  </bean>
  <bean id="scheduler"
         class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
         <property name="triggers">
             <ref local="cacheClearStarTrigger" />
         </property>
  </bean>
 <!-- scheduler end -->

一個cron表達式有至少6個(也可能7個)有空格分隔的時間元素。
按順序依次為
1.秒(0~59)
2.分鐘(0~59)
3.小時(0~23)
4.天(月)(0~31,但是你需要考慮你月的天數(shù))
5.月(0~11)
6.天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,F(xiàn)RI,SAT)
7.年份(1970-2099)

其中每個元素可以是一個值(如6),一個連續(xù)區(qū)間(9-12),一個間隔時間(8-18/4)(/表示每隔4小時),一個列表(1,3,5),通配符。
由于"月份中的日期"和"星期中的日期"這兩個元素互斥的,必須要對其中一個設置?.

0 0 10,14,16 * * ? 每天上午10點,下午2點,4點
0 0/30 9-17 * * ??? 朝九晚五工作時間內(nèi)每半小時
0 0 12 ? * WED 表示每個星期三中午12點

有些子表達式能包含一些范圍或列表
例如:子表達式(天(星期))可以為 “MON-FRI”,“MON,WED,F(xiàn)RI”,“MON-WED,SAT”

“*”字符代表所有可能的值
因此,“*”在子表達式(月)里表示每個月的含義,“*”在子表達式(天(星期))表示星期的每一天

“/”字符用來指定數(shù)值的增量
例如:在子表達式(分鐘)里的“0/15”表示從第0分鐘開始,每15分鐘 ;
在子表達式(分鐘)里的“3/20”表示從第3分鐘開始,每20分鐘(它和“3,23,43”)的含義一樣

“?”字符僅被用于天(月)和天(星期)兩個子表達式,表示不指定值
當2個子表達式其中之一被指定了值以后,為了避免沖突,需要將另一個子表達式的值設為“?”

“L” 字符僅被用于天(月)和天(星期)兩個子表達式,它是單詞“last”的縮寫

但是它在兩個子表達式里的含義是不同的。

在天(月)子表達式中,“L”表示一個月的最后一天 ,
在天(星期)自表達式中,“L”表示一個星期的最后一天,也就是SAT

如果在“L”前有具體的內(nèi)容,它就具有其他的含義了

例如:“6L”表示這個月的倒數(shù)第6天,“FRIL”表示這個月的最后一個星期五

注意:在使用“L”參數(shù)時,不要指定列表或范圍,因為這會導致問題



小虎(年輕) 2008-04-10 09:34 發(fā)表評論
]]>
jsp出現(xiàn)getOutputStream() has already been called for this response異常的原因和解決方法http://www.tkk7.com/xiaohu/archive/2007/10/22/154850.html小虎(年輕)小虎(年輕)Mon, 22 Oct 2007 01:37:00 GMThttp://www.tkk7.com/xiaohu/archive/2007/10/22/154850.htmlhttp://www.tkk7.com/xiaohu/comments/154850.htmlhttp://www.tkk7.com/xiaohu/archive/2007/10/22/154850.html#Feedback0http://www.tkk7.com/xiaohu/comments/commentRss/154850.htmlhttp://www.tkk7.com/xiaohu/services/trackbacks/154850.html在tomcat5下jsp中出現(xiàn)此錯誤一般都是在jsp中使用了輸出流(如輸出圖片驗證碼,文件下載等),
沒有妥善處理好的原因。
具體的原因就是
在tomcat中jsp編譯成servlet之后在函數(shù)_jspService(HttpServletRequest request, HttpServletResponse response)的最后
有一段這樣的代碼
finally {
      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
    }
這里是在釋放在jsp中使用的對象,會調(diào)用response.getWriter(),因為這個方法是和
response.getOutputStream()相沖突的!所以會出現(xiàn)以上這個異常。

然后當然是要提出解決的辦法,其實挺簡單的,在使用完輸出流以后調(diào)用以下兩行代碼即可:
out.clear();
out = pageContext.pushBody();



小虎(年輕) 2007-10-22 09:37 發(fā)表評論
]]>
有關亂碼的處理---中國程序員永遠無法避免的話題 http://www.tkk7.com/xiaohu/archive/2007/10/15/153077.html小虎(年輕)小虎(年輕)Mon, 15 Oct 2007 12:31:00 GMThttp://www.tkk7.com/xiaohu/archive/2007/10/15/153077.htmlhttp://www.tkk7.com/xiaohu/comments/153077.htmlhttp://www.tkk7.com/xiaohu/archive/2007/10/15/153077.html#Feedback0http://www.tkk7.com/xiaohu/comments/commentRss/153077.htmlhttp://www.tkk7.com/xiaohu/services/trackbacks/153077.html對于Java由于默認的編碼方式是 UNICODE,所以用中文也易出問題,常見的解決是
String s2 = new String(s1.getBytes(“ISO-8859-1”),”GBK”);


1、utf8解決JSP中文亂碼問題
一般說來在每個頁面的開始處,加入:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%
 request.setCharacterEncoding("UTF-8");
%>

charset=UTF-8  的作用是指定JSP向客戶端輸出的編碼方式為“UTF-8”

pageEncoding="UTF-8"  為了讓JSP引擎能正確地解碼含有中文字符的JSP頁面,這在LINUX中很有效

 request.setCharacterEncoding("UTF-8"); 是對請求進行了中文編碼

有時,這樣仍不能解決問題,還需要這樣處理一下:

String msg = request.getParameter("message");
 String str=new String(msg.getBytes("ISO-8859-1"),"UTF-8");
 out.println(st);

2、Tomcat 5.5 中文亂碼

)只要把%TOMCAT安裝目錄%/   webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的webapp目錄/filters下,如果沒有filters目錄,就創(chuàng)建一個。  
  2)在你的web.xml里加入如下幾行:   <filter>  
  <filter-name>Set   Character   Encoding</filter-name>  
  <filter-class>filters.SetCharacterEncodingFilter</filter-class>  
  <init-param>  
  <param-name>encoding</param-name>  
  <param-value>GBK</param-value>  
  </init-param>  
  </filter>  
      <filter-mapping>  
  <filter-name>Set   Character   Encoding</filter-name>  
  <url-pattern>/*</url-pattern>  
  </filter-mapping>  
   
   
   
  3)完成.  
  2   get方式的解決辦法  
  1)   打開tomcat的server.xml文件,找到區(qū)塊,加入如下一行:  
  URIEncoding=”GBK”  
  完整的應如下:  
  <Connector    
  port="80"   maxThreads="150"   minSpareThreads="25"   maxSpareThreads="75"  
  enableLookups="false"   redirectPort="8443"   acceptCount="100"  
  debug="0"   connectionTimeout="20000"    
  disableUploadTimeout="true"    
  URIEncoding="GBK"  
  />     
   
  2)重啟tomcat,一切OK。

3、xmlHttpRequest中文問題

頁面jsp用的GBK編碼


代碼
<%@ page contentType="text/html; charset=GBK"%> 


javascript部分

代碼
function addFracasReport() {  
    var url="controler?actionId=0_06_03_01&actionFlag=0010";  
    var urlmsg="&reportId="+fracasReport1.textReportId.value;  //故障報告表編號  
          
    var xmlHttp=Common.createXMLHttpRequest();  
    xmlHttp.onreadystatechange = Common.getReadyStateHandler(xmlHttp, eval("turnAnalyPage"));  
    xmlHttp.open("POST",url,true);  
    xmlHttp.setRequestHeader( " Content-Type " , " application/x-www-form-urlencoded);  
    xmlHttp.send(urlmsg);  
      


后臺java中獲得的reportId是亂碼,不知道該怎么轉,主要是不知道xmlHttp.send(urlmsg);以后是什么編碼?在后面用java來轉,試了幾種,都沒有成功,其中有:


代碼
public static String UTF_8ToGBK(String str) {  
        try {  
            return new String(str.getBytes("UTF-8"), "GBK");  
        } catch (Exception ex) {  
            return null;  
        }  
    }  
      
    public static String UTF8ToGBK(String str) {  
        try {  
            return new String(str.getBytes("UTF-16BE"), "GBK");  
        } catch (Exception ex) {  
            return null;  
        }  
    }  
      
    public static String GBK(String str) {  
        try {  
            return new String(str.getBytes("GBK"),"GBK");  
        } catch (Exception ex) {  
            return null;  
        }  
    }  
         public static String getStr(String str) {  
        try {  
            String temp_p = str;  
            String temp = new String(temp_p.getBytes("ISO8859_1"), "GBK");  
            temp = sqlStrchop(temp);  
            return temp;  
        } catch (Exception e) {  
            return null;  
        }  
    } 

4、JDBC ODBC Bridge的Bug及其解決方法

在編寫一數(shù)據(jù)庫管理程序時,發(fā)現(xiàn)JDBC-ODBC Bridge存在不易發(fā)現(xiàn)的Bug。在向數(shù)據(jù)表插入數(shù)據(jù)時,如果為英文字符,存儲內(nèi)容完全正確,如果存入中文字符,部分數(shù)據(jù)庫只能存儲前七八個中文字符,其他內(nèi)容被截去,導致存儲內(nèi)容的不完整(有些數(shù)據(jù)庫不存在這個問題,如Sybase SQL Anywhere 5.0。JDBC-ODBC Bridge還存在無法建表的Bug)。

  對于廣大需要存儲中文信息的Java程序員來說,這可是一個不好的消息。要么改用其他語言編程,要么選擇其他價格昂貴的數(shù)據(jù)庫產(chǎn)品。“一次編寫,到處運行”的目標,也大打折扣。能不能采用變通的方法,將中文信息進行處理后再存儲來解決這個問題呢?答案是肯定的。

  解決問題的具體思路、方法
  Java采用Unicode碼編碼方式,中英文字符均采用16bit存儲。既然存儲英文信息是正確的,根據(jù)一定規(guī)則,將中文信息轉換成英文信息后存儲,自然不會出現(xiàn)截尾現(xiàn)象。讀取信息時再進行逆向操作,將英文信息還原成中文信息即可。由GB2312編碼規(guī)則可知,漢字一般為二個高位為1的ASCII碼,在轉換時將一個漢字的二個高位1去掉,還原時再將二個高位1加上。為了處理含有英文字符的中文字串,對英文字符則需要加上一個Byte 0標記。以下提供的兩個公用靜態(tài)方法,可加入任何一個類中使用。

  將中英文字串轉換成純英文字串
  public static String toTureAsciiStr(String str){

  StringBuffer sb = new StringBuffer();

  byte[] bt = str.getBytes();

  for(int i =0 ;i〈bt.length;i++){

  if(bt[i]〈0){

  //是漢字去高位1

  sb.append((char)(bt[i]&&0x7f));

   }else{//是英文字符 補0作記錄

  sb.append((char)0);

  sb.append((char)bt[i]);

   }

   }

  return sb.toString();

  }

  將經(jīng)轉換的字串還原
  public static String unToTrueAsciiStr(String str){

   byte[] bt = str.getBytes();

   int i,l=0,length = bt.length,j=0;

   for(i = 0;i〈length;i++){

   if(bt[i] == 0){

   l++;

   }

   }

   byte []bt2 = new byte[length-l];

   for(i =0 ;i〈length;i++){

   if(bt[i] == 0){

   i++;

   bt2[j] = bt[i];

   }else{

   bt2[j] = (byte)(bt[i]|0x80);

   }

   j++;

   }

  String tt = new String(bt2);

  return tt;

  }

  上例在實際編程中效果很好,只是存儲的中文信息需要經(jīng)過同樣處理,才能被其他系統(tǒng)使用。而且如果中文字串出現(xiàn)英文字符,實際上增加了額外的存儲空間。

5、Solaris下Servlet編程的中文問題及解決辦法
在使用Java開發(fā)Internet上的一個應用系統(tǒng)時,發(fā)現(xiàn)在Windows下調(diào)試完全正常的Servlet,上傳到Solaris 服務器上,運行卻出現(xiàn)故障——返回的網(wǎng)頁不能顯示中文,應為中文的信息全為亂碼;用中文信息做關鍵字,不能正確檢索數(shù)據(jù)庫。后來采用加入檢查代碼等方法探知故障原因如下:

  顯示亂碼主要是因為通過類 HttpServletResponse提供的方法setContentType 無法改變返回給客戶的數(shù)據(jù)的編碼方式,正確的編碼方式應為GB2312或者GBK,而事實上為缺省的ISO8859-1。無法檢索中文信息則是因為,客戶提交的中文信息經(jīng)瀏覽器編碼到達服務器后,Servlet無法將其正確解碼。

  舉例說明顯示亂碼解決方法
  Servlet 一般通常做法如下:

  public class ZldTestServlet extends HttpServlet {

  public void doGet (HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{

  //在使用 Writer向瀏覽器返回數(shù)據(jù)前,設置 content-type header ,在這里設置相應的字符集gb2312

  response.setContentType("text/html;charset=gb2312");

  PrintWriter out = response.getWriter(); //*

  // 正式返回數(shù)據(jù)

  out.println("〈html〉〈head〉〈title〉Servlet test〈/title〉〈/head〉" );

  out.println("這是一個測試頁!");

  out.println("〈/body〉〈/html〉");

  out.close();

  }

   ...

  }

  解決頁面顯示亂碼問題,需將*處代碼換成如下內(nèi)容:

  PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(),"gb2312"));

  Solaris中文信息檢索問題的解決
  瀏覽器利用表單向服務器提交信息時,一般采用x-www-form-urlencoded 的MIME格式對數(shù)據(jù)進行編碼。如果使用get方法,參數(shù)名稱和參數(shù)值經(jīng)編碼后附加在URL后,在Java中稱作查詢串(query string)。

  在Servlet程序中,如果采用ServletRequest的方法getParameter取得參數(shù)值,在Solaris環(huán)境下,對漢字卻不能正確解碼。因而無法正確檢索數(shù)據(jù)庫。

  在Java 1.2的包——java.net中提供了URLEncode和URLDecode類。類URLEncode提供了按x-www-form-urlencoded格式對給定串進行轉換的方法。類URLEncode則提供了逆方法。

6、Common Mail亂碼問題
common mail是一個小而方便的mail包,他實現(xiàn)了對Java Mail的封裝,使用起來十分的方便,但是我在使用他的時候發(fā)現(xiàn),使用純文本的內(nèi)容發(fā)送,結果是亂碼,代碼如下:
public class TestCommonMail {
public static void main(String[] args) throws EmailException, MessagingException {
SimpleEmail email = new SimpleEmail();
email.setCharset("GB2312");
email.setHostName("smtp.163.com");
email.setSubject("test");
email.addTo("test@163.com");
email.setFrom("test@163.com");
email.setMsg("我的測試");
email.setAuthentication("test", "test");
email.send();
}
}

分析了一下commons mail的源碼找到了原因。源碼如下:
public class SimpleEmail extends Email
{
public Email setMsg(String msg) throws EmailException, MessagingException
{
if (EmailUtils.isEmpty(msg))
{
throw new EmailException("Invalid message supplied");
}

setContent(msg, TEXT_PLAIN);
return this;
}
}

Email代碼片段
public void setContent(Object aObject, String aContentType)
{
this.content = aObject;
if (EmailUtils.isEmpty(aContentType))
{
this.contentType = null;
}
else
{
// set the content type
this.contentType = aContentType;

// set the charset if the input was properly formed
String strMarker = "; charset=";
int charsetPos = aContentType.toLowerCase().indexOf(strMarker);
if (charsetPos != -1)
{
// find the next space (after the marker)
charsetPos += strMarker.length();
int intCharsetEnd =
aContentType.toLowerCase().indexOf(" ", charsetPos);

if (intCharsetEnd != -1)
{
this.charset =
aContentType.substring(charsetPos, intCharsetEnd);
}
else
{
this.charset = aContentType.substring(charsetPos);
}
}
}
}

email.send();的send方法將調(diào)用
public void buildMimeMessage() throws EmailException
{
try
{
this.getMailSession();
this.message = new MimeMessage(this.session);

if (EmailUtils.isNotEmpty(this.subject))
{
if (EmailUtils.isNotEmpty(this.charset))
{
this.message.setSubject(this.subject, this.charset);
}
else
{
this.message.setSubject(this.subject);
}
}

// ========================================================
// Start of replacement code
if (this.content != null)
{
this.message.setContent(this.content, this.contentType);
}
// end of replacement code
// ========================================================
else if (this.emailBody != null)
{
this.message.setContent(this.emailBody);
}
else
{
this.message.setContent("", Email.TEXT_PLAIN);
}

if (this.fromAddress != null)
{
this.message.setFrom(this.fromAddress);
}
else
{
throw new EmailException("Sender address required");
}

if (this.toList.size() + this.ccList.size() + this.bccList.size() == 0)
{
throw new EmailException(
"At least one receiver address required");
}

if (this.toList.size() > 0)
{
this.message.setRecipients(
Message.RecipientType.TO,
this.toInternetAddressArray(this.toList));
}

if (this.ccList.size() > 0)
{
this.message.setRecipients(
Message.RecipientType.CC,
this.toInternetAddressArray(this.ccList));
}

if (this.bccList.size() > 0)
{
this.message.setRecipients(
Message.RecipientType.BCC,
this.toInternetAddressArray(this.bccList));
}

if (this.replyList.size() > 0)
{
this.message.setReplyTo(
this.toInternetAddressArray(this.replyList));
}

if (this.headers.size() > 0)
{
Iterator iterHeaderKeys = this.headers.keySet().iterator();
while (iterHeaderKeys.hasNext())
{
String name = (String) iterHeaderKeys.next();
String value = (String) headers.get(name);
this.message.addHeader(name, value);
}
}

if (this.message.getSentDate() == null)
{
this.message.setSentDate(getSentDate());
}

if (this.popBeforeSmtp)
{
Store store = session.getStore("pop3");
store.connect(this.popHost, this.popUsername, this.popPassword);
}
}
catch (MessagingException me)
{
throw new EmailException(me);
}
}
由代碼可以知道純文本方式最終調(diào)用了Java Mail的
message.setContent(this.content, this.contentType);
content是內(nèi)容
contentType是類型,如text/plain,
(我們可以試試直接用Java mail發(fā)郵件,設置文本內(nèi)容不使用setText方法,也使用setContent("測試", "text/plain")方式,你可以看到內(nèi)容也是亂碼)
關鍵就在于text/plain,我們改成text/plain;charset=gb2312,ok亂碼解決了。在commons mail我們看SimpleEmail 類中setMsg方法調(diào)用的就是 setContent(msg, TEXT_PLAIN);我們只需要將Email類中的常量TEXT_PLAIN修改一下加入 charset=你的字符集 ,重新打包jar,這樣就可以了

7、toad的字符集的設置與oracle的安裝
oracle數(shù)據(jù)庫服務器的安裝一般是中文字符集,有時安裝在不同的平臺下,設置為ISO編碼,toad是oracle開發(fā)的最好工具,不是我說的,可是中文環(huán)境下安裝的toad,打開英文字符的oracle時,中文全是亂碼。必須進行設置

環(huán)境變量---〉系統(tǒng)變量

  NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
  或
  NLS_lANG=AMERICAN_AMERICA.WE8ISO8859P1

AMERICAN_AMERICA.WE8MSWIN1252
 
 或者

 打開注冊表,點擊HKEY_LOCAL_MATHINE
再點擊Software,再點擊ORACLE
在點擊HOME(ORACLE所在目錄)
在注冊表的右半面有NLS_LANG,
雙擊它,將你想要的覆蓋掉原來的就可以了
最好記下舊的,以便可以改回來。


connect sys/chang_on_install
update props$
set value$='ZHS16CGB231280'
where name='NLS_CHARACTERSET';
commit;
 這樣就OK了

 
8、如何解決GWT(google web toolkit)中文的問題
GWT 中文亂碼解決方法

1.把你要顯示的中文“測試字符串”輸入到一個文件,如:1.txt
2.進入命令行,進入1.txt所在的目錄,敲入以下命令:native2ascii.exe 1.txt 2.txt 回車。這樣就生成了另外一個文件2.txt。
3.2.txt的內(nèi)容如下:\u6d4b\u8bd5\u5b57\u7b26\u4e32
4.然后用上面的編碼,在gwt中使用,就可以了.

9、xmlHttp得到的網(wǎng)頁怎么是亂碼?
(1)在服務器端使用WebRequest而不是xmlHttp
(2) 將

StreamReader sr = new StreamReader(stream);


對于簡體中文改成:

StreamReader sr = new StreamReader(stream , Encoding.Default );
對于utf-8改成:


StreamReader sr = new StreamReader(stream , Encoding.UTF8 );
當然,Encoding枚舉還有很多其他的成員,對于不同的編碼content-type可以有選擇的應用

(3)后來我發(fā)現(xiàn)無論是content-type是gb2312還是utf-8,用


StreamReader sr = new StreamReader(stream , Encoding.Default );

都可以返回正常的漢字,所以統(tǒng)一的改成Encoding.Default

 


--------------------------------------------------------------------------------

最后,在服務器端從一個url獲得網(wǎng)頁的源代碼的代碼如下:

 

/// <summary>
/// post一個指定的url,獲得網(wǎng)頁的源代碼(用WebRequest實現(xiàn))
/// </summary>
/// <param name="url"></param>
/// <returns>
/// 如果請求失敗,返回null
/// 如果請求成功,返回網(wǎng)頁的源代碼
/// </returns>
public static string GetContentFromUrl2( string url )
{
    //變量定義
    string respstr;

    WebRequest myWebRequest=WebRequest.Create(url);
    //            myWebRequest.PreAuthenticate=true;
    //            NetworkCredential networkCredential=new NetworkCredential( username , password , domain );
    //            myWebRequest.Credentials=networkCredential;

    // Assign the response object of 'WebRequest' to a 'WebResponse' variable.
    WebResponse myWebResponse=myWebRequest.GetResponse();
    System.IO.Stream stream = myWebResponse.GetResponseStream();
    StreamReader sr = new StreamReader(stream , Encoding.Default );
    //以字符串形式讀取數(shù)據(jù)流
    respstr = sr.ReadToEnd();
    sr.Close();
   
    return respstr;
       
}

10、解決weblogic/webshpere中文問題:
在web.xml文件中需要配置中文環(huán)境。r如下:
<context-param>
  <param-name>weblogic.httpd.inputCharset./*</param-name>
  <param-value>GB2312</param-value>
</context-param>



小虎(年輕) 2007-10-15 20:31 發(fā)表評論
]]>
【轉】成年人必看的五個故事 http://www.tkk7.com/xiaohu/archive/2007/10/15/153075.html小虎(年輕)小虎(年輕)Mon, 15 Oct 2007 12:26:00 GMThttp://www.tkk7.com/xiaohu/archive/2007/10/15/153075.htmlhttp://www.tkk7.com/xiaohu/comments/153075.htmlhttp://www.tkk7.com/xiaohu/archive/2007/10/15/153075.html#Feedback0http://www.tkk7.com/xiaohu/comments/commentRss/153075.htmlhttp://www.tkk7.com/xiaohu/services/trackbacks/153075.html一只小豬、一只綿羊和一頭乳牛,被關在同一個畜欄里。有一次,牧人捉住小豬,牠大聲號叫,猛烈地抗拒。綿羊和乳牛討厭牠的號叫,便說:「他常常捉我們,我們并不大呼小叫。小豬聽了回答道:「捉你們和捉我完全是兩回事,他捉你們,只是要你們的毛和乳汁,但是捉住我,卻是要我的命呢!
立場不同、所處環(huán)境不同的人,很難了解對方的感受;因此對別人的失意、挫折、傷痛,不宜幸災樂禍,而應要有關懷、了解的心情。要有寬容的心!

2、 *自己

小蝸牛問媽媽:為什么我們從生下來,就要背負這個又硬又重的殼呢?
媽媽:因為我們的身體沒有骨骼的支撐,只能爬,又爬不快。所以要這個殼的保護!
小蝸牛:毛蟲姊姊沒有骨頭,也爬不快,為什么她卻不用背這個又硬又重的殼呢?
媽媽:因為毛蟲姊姊能變成蝴蝶,天空會保護她啊。
小蝸牛:可是蚯蚓弟弟也沒骨頭爬不快,也不會變成蝴蝶他什么不背這個又硬又重的殼呢?
媽媽:因為蚯蚓弟弟會鉆土, 大地會保護他啊。
小蝸牛哭了起來:我們好可憐,天空不保護,大地也不保護。
蝸牛媽媽安慰他:「所以我們有殼啊!」我們不*天,也不*地,我們*自己。

3、 鯊魚與魚

曾有人做過實驗,將一只最兇猛的鯊魚和一群熱帶魚放在同一個池子,然后用強化玻璃隔開,最初,鯊魚每天不斷沖撞那塊看不到的玻璃,耐何這只是徒勞,它始終不能過到對面去,而實驗人員每天都有放一些鯽魚在池子里,所以鯊魚也沒缺少獵物,只是它仍想到對面去,想嘗試那美麗的滋味,每天仍是不斷的沖撞那塊玻璃,它試了每個角落,每次都是用盡全力,但每次也總是弄的傷痕累累,有好幾次都渾身破裂出血,持續(xù)了好一些日子,每當玻璃一出現(xiàn)裂痕,實驗人員馬上加上一塊更厚的玻璃。
后來,鯊魚不再沖撞那塊玻璃了,對那些斑斕的熱帶魚也不再在意,好像他們只是墻上會動的壁畫,它開始等著每天固定會出現(xiàn)的鯽魚,然后用他敏捷的本能進行狩獵,好像回到海中不可一世的兇狠霸氣,但這一切只不過是假像罷了,實驗到了最后的階段,實驗人員將玻璃取走,但鯊魚卻沒有反應,每天仍是在固定的區(qū)域游著它不但對那些熱帶魚視若無睹,甚至于當那些鯽魚逃到那邊去,他就立刻放棄追逐,說什么也不愿再過去,實驗結束了,實 驗人員譏笑它是海里最懦弱的魚。

可是失戀過的人都知道為什么,它怕痛。

4、 神跡

法國一個偏僻的小鎮(zhèn),據(jù)傳有一個特別靈驗的水泉,常會出現(xiàn)神跡,可以醫(yī)治各種疾病。有一天,一個拄著拐杖,少了一條腿的退伍軍人,一跛一跛的走過鎮(zhèn)上的馬路,旁邊的鎮(zhèn)民帶著同情的回吻說:「可憐的家伙,難道他要向上帝祈求再有一條腿嗎??」這一句話被退伍的軍人聽到了,他轉過身對他們說:「我不是要向上帝祈求有一條新的腿,而是要祈求祂幫助我,叫我沒有一條腿后,也知道如何過日子。」
試想:學習為所失去的感恩,也接納失去的事實,不管人生的得與失,總是要讓自已的生命充滿了亮麗與光彩,不再為過去掉淚,努力的活出自己的生命。

5、 釣竿

有個老人在河邊釣魚,一個小孩走過去看他釣魚,老人技巧純熟,所以沒多久就釣上了滿簍的魚,老人見小孩很可愛,要把整簍的魚送給他,小孩搖搖頭,老人驚異的問道:「你為何不要?」小孩回答:「我想要你手中的釣竿。」老人問:「你要釣竿做什么?」小孩說:「這簍魚沒多久就吃完了,要是我有釣竿,我就可以自己釣,一輩子也吃不完。」
我想你一定會說:好聰明的小孩。錯了,他如果只要釣竿,那他一條魚也吃不到。因為,他不懂釣魚的技巧,光有魚竿是沒用的,因為釣魚重要的不在<釣竿>,而在<釣技>有太多人認為自己擁有了人生道上的釣竿,再也無懼于路上的風雨,如此,難免會跌倒于泥濘地上。就如小孩看老人,以為只要有釣竿就有吃不完的魚,像職員看老板,以為只要坐在辦公室,就有滾進的財源



小虎(年輕) 2007-10-15 20:26 發(fā)表評論
]]>
【轉】怎樣成為優(yōu)秀的軟件模型設計者 http://www.tkk7.com/xiaohu/archive/2007/10/15/153073.html小虎(年輕)小虎(年輕)Mon, 15 Oct 2007 12:12:00 GMThttp://www.tkk7.com/xiaohu/archive/2007/10/15/153073.htmlhttp://www.tkk7.com/xiaohu/comments/153073.htmlhttp://www.tkk7.com/xiaohu/archive/2007/10/15/153073.html#Feedback0http://www.tkk7.com/xiaohu/comments/commentRss/153073.htmlhttp://www.tkk7.com/xiaohu/services/trackbacks/153073.html我們期待自己成為一個優(yōu)秀的軟件模型設計者,但是,要怎樣做,又從哪里開始呢?

將下列原則應用到你的軟件工程中,你會獲得立桿見影的成果。

1. 人遠比技術重要

你開發(fā)軟件是為了供別人使用,沒有人使用的軟件只是沒有意義的數(shù)據(jù)的集合而已。許多在軟件方面很有成就的行家在他們事業(yè)的初期卻表現(xiàn)平平,因為他們那時侯將主要精力都集中在技術上。顯然,構件(components),EJB(Enterprise
Java
Beans)和代理(agent)是很有趣的東西。但是對于用戶來說,如果你設計的軟件很難使用或者不能滿足他們的需求,后臺用再好的技術也于事無補。多花點時間到軟件需求和設計一個使用戶能很容易理解的界面上。


2. 理解你要實現(xiàn)的東西

好的軟件設計人員把大多數(shù)時間花費在建立系統(tǒng)模型上,偶爾寫一些源代碼,但那只不過是為了驗證設計過程中所遇到的問題。這將使他們的設計方案更加可行。

3. 謙虛是必須的品格

你不可能知道一切,你甚至要很努力才能獲得足夠用的知識。軟件開發(fā)是一項復雜而艱巨的工作,因為軟件開發(fā)所用到的工具和技術是在不斷更新的。而且,一個人也不可能了解軟件開發(fā)的所有過程。在日常生活中你每天接觸到的新鮮事物可能不會太多。但是對于從事軟件開發(fā)的人來說,每天可以學習很多新東西(如果愿意的話)。


4. 需求就是需求

如果你沒有任何需求,你就不要動手開發(fā)任何軟件。成功的軟件取決于時間(在用戶要求的時間內(nèi)完成)、預算和是否滿足用戶的需求。如果你不能確切知道用戶需要的是什么,或者軟件的需求定義,那么你的工程注定會失敗。


5. 需求其實很少改變,改變的是你對需求的理解

Object ToolSmiths公司(www.objecttoolsmiths.com)的Doug
Smith常喜歡說:“分析是一門科學,設計是一門藝術”。他的意思是說在眾多的“正確”分析模型中只存在一個最“正確”分析模型可以完全滿足解決某個具體問題的需要(我理解的意思是需求分析需要一絲不茍、精確的完成,而設計的時候反而可以發(fā)揮創(chuàng)造力和想象力
- 譯者注)。

如果需求經(jīng)常改動,很可能是你沒有作好需求分析,并不是需求真的改變了。

你可以抱怨用戶不能告訴你他們想得到什么,但是不要忘記,收集需求信息是你工作。

你可以說是新來的開發(fā)人員把事情搞得一團糟,但是,你應該確定在工程的第一天就告訴他們應該做什么和怎樣去做。

如果你覺得公司不讓你與用戶充分接觸,那只能說明公司的管理層并不是真正支持你的項目。

你可以抱怨公司有關軟件工程的管理制度不合理,但你必須了解大多同行公司是怎么做的。

你可以借口說你們的競爭對手的成功是因為他們有了一個新的理念,但是為什么你沒先想到呢?

需求真正改變的情況很少,但是沒有做好需求分析工作的理由卻很多。

6. 經(jīng)常閱讀

在這個每日都在發(fā)生變化的產(chǎn)業(yè)中,你不可能在已取得的成就上陶醉太久。

每個月至少讀2、3本專業(yè)雜志或者1本專業(yè)書籍。保持不落伍需要付出很多的時間和金錢,但會使你成為一個很有實力的競爭者。

7. 降低軟件模塊間的耦合度

高耦合度的系統(tǒng)是很難維護的。一處的修改引起另一處甚至更多處的變動。

你可以通過以下方法降低程序的耦合度:隱藏實現(xiàn)細節(jié),強制構件接口定義,不使用公用數(shù)據(jù)結構,不讓應用程序直接操作數(shù)據(jù)庫(我的經(jīng)驗法則是:當應用程序員在寫SQL代碼的時候,你的程序的耦合度就已經(jīng)很高了)。


耦合度低的軟件可以很容易被重用、維護和擴充。

8. 提高軟件的內(nèi)聚性

如果一個軟件的模塊只實現(xiàn)一個功能,那么該模塊具有高內(nèi)聚性。高內(nèi)聚性的軟件更容易維護和改進。

判斷一個模塊是否有高的內(nèi)聚性,看一看你是否能夠用一個簡單的句子描述它的功能就行了。如果你用了一段話或者你需要使用類似“和”、“或”等連詞,則說明你需要將該模塊細化。


只有高內(nèi)聚性的模塊才可能被重用。

9. 考慮軟件的移植性

移植是軟件開發(fā)中一項具體而又實際的工作,不要相信某些軟件工具的廣告宣傳(比如java 的宣傳口號write once run many ? 譯者注)。

即使僅僅對軟件進行常規(guī)升級,也要把這看得和向另一個操作系統(tǒng)或數(shù)據(jù)庫移植一樣重要。

記得從16位Windows移植到32位windows的“樂趣”嗎
?當你使用了某個操作系統(tǒng)的特性,如它的進程間通信(IPC)策略,或用某數(shù)據(jù)庫專有語言寫了存儲過程。你的軟件和那個特定的產(chǎn)品結合度就已經(jīng)很高了。

好的軟件設計者把那些特有的實現(xiàn)細節(jié)打包隱藏起來,所以,當那些特性該變的時候,你的僅僅需要更新那個包就可以了。

10. 接受變化

這是一句老話了:唯一不變的只有變化。

你應該將所有系統(tǒng)將可能發(fā)生的變化以及潛在需求記錄下來,以便將來能夠?qū)崿F(xiàn)(參見“Architecting for Change”,Thinking
Objectively, May 1999)

通過在建模期間考慮這些假設的情況,你就有可能開發(fā)出足夠強壯且容易維護的軟件。設計強壯的軟件是你最基本的目標。

11. 不要低估對軟件規(guī)模的需求

Internet 帶給我們的最大的教訓是你必須在軟件開發(fā)的最初階段就考慮軟件規(guī)模的可擴充性。

今天只有100人的部門使用的應用程序,明天可能會被有好幾萬人的組織使用,下月,通過因特網(wǎng)可能會有幾百萬人使用它。

在軟件設計的初期,根據(jù)在用例模型中定義的必須支持的基本事務處理,確定軟件的基本功能。然后,在建造系統(tǒng)的時候再逐步加入比較常用的功能。

在設計的開始考慮軟件的規(guī)模需求,避免在用戶群突然增大的情況下,重寫軟件。

12. 性能僅僅是很多設計因素之一

關注軟件設計中的一個重要因素--性能,這好象也是用戶最關心的事情。一個性能不佳的軟件將不可避免被重寫。

但是你的設計還必須具有可靠性,可用性,便攜性和可擴展性。你應該在工程開始就應該定義并區(qū)分好這些因素,以便在工作中恰當使用。性能可以是,也可以不是優(yōu)先級最高的因素,我的觀點是,給每個設計因素應有的考慮。


13. 管理接口

“UML User Guide”(Grady Booch,Ivar Jacobson和Jim Rumbaugh ,Addison Wesley,
1999)中指出,你應該在開發(fā)階段的早期就定義軟件模塊之間的接口。

這有助于你的開發(fā)人員全面理解軟件的設計結構并取得一致意見,讓各模塊開發(fā)小組相對獨立的工作。一旦模塊的接口確定之后,模塊怎樣實現(xiàn)就不是很重要了。

從根本上說,如果你不能夠定義你的模塊“從外部看上去會是什么樣子”,你肯定也不清楚模塊內(nèi)要實現(xiàn)什么。

14. 走近路需要更長的時間

在軟件開發(fā)中沒有捷徑可以走。

縮短你的在需求分析上花的時間,結果只能是開發(fā)出來的軟件不能滿足用戶的需求,必須被重寫。

在軟件建模上每節(jié)省一周,在將來的編碼階段可能會多花幾周時間,因為你在全面思考之前就動手寫程序。

你為了節(jié)省一天的測試時間而漏掉了一個bug,在將來的維護階段,可能需要花幾周甚至幾個月的時間去修復。與其如此,還不如重新安排一下項目計劃。

避免走捷徑,只做一次但要做對(do it once by doing it right)。

15. 別信賴任何人

產(chǎn)品和服務銷售公司不是你的朋友,你的大部分員工和高層管理人員也不是。

大部分產(chǎn)品供應商希望把你牢牢綁在他們的產(chǎn)品上,可能是操作系統(tǒng),數(shù)據(jù)庫或者某個開發(fā)工具。

大部分的顧問和承包商只關心你的錢并不是你的工程(停止向他們付款,看一看他們會在周圍呆多長時間)。

大部分程序員認為他們自己比其他人更優(yōu)秀,他們可能拋棄你設計的模型而用自己認為更好的。

只有良好的溝通才能解決這些問題。

要明確的是,不要只依靠一家產(chǎn)品或服務提供商,即使你的公司(或組織)已經(jīng)在建模、文檔和過程等方面向那個公司投入了很多錢。

16. 證明你的設計在實踐中可行

在設計的時候應當先建立一個技術原型, 或者稱為“端到端”原型。以證明你的設計是能夠工作的。

你應該在開發(fā)工作的早期做這些事情,因為,如果軟件的設計方案是不可行的,在編碼實現(xiàn)階段無論采取什么措施都于事無補。技術原型將證明你的設計的可行性,從而,你的設計將更容易獲得支持。


17. 應用已知的模式

目前,我們有大量現(xiàn)成的分析和設計模式以及問題的解決方案可以使用。

一般來說,好的模型設計和開發(fā)人員,都會避免重新設計已經(jīng)成熟的并被廣泛應用的東西。
http://www.ambysoft.com/processPatternsPage.html 收藏了許多開發(fā)模式的信息。

18. 研究每個模型的長處和弱點

目前有很多種類的模型可以使用,如下圖所示。用例捕獲的是系統(tǒng)行為需求,數(shù)據(jù)模型則描述支持一個系統(tǒng)運行所需要的數(shù)據(jù)構成。你可能會試圖在用例中加入實際數(shù)據(jù)描述,但是,這對開發(fā)者不是非常有用。同樣,數(shù)據(jù)模型對描述軟件需求來說是無用的。每個模型在你建模過程中有其相應的位置,但是,你需要明白在什么地方,什么時候使用它們。


19. 在現(xiàn)有任務中應用多個模型

當你收集需求的時候,考慮使用用例模型,用戶界面模型和領域級的類模型。

當你設計軟件的時候,應該考慮制作類模型,順序圖、狀態(tài)圖、協(xié)作圖和最終的軟件實際物理模型。

程序設計人員應該慢慢意識到,僅僅使用一個模型而實現(xiàn)的軟件要么不能夠很好地滿足用戶的需求,要么很難擴展。

20. 教育你的聽眾

你花了很大力氣建立一個很成熟的系統(tǒng)模型,而你的聽眾卻不能理解它們,甚至更糟-連為什么要先建立模型都不知道。那么你的工作是毫無意義的。

教給你開發(fā)人員基本的建模知識;否則,他們會只看看你畫的漂亮圖表,然后繼續(xù)編寫不規(guī)范的程序。

另外, 你還需要告訴你的用戶一些需求建模的基礎知識。給他們解釋你的用例(uses
case)和用戶界面模型,以使他們能夠明白你要表達地東西。當每個人都能使用一個通用的設計語言的時候(比如UML-譯者注),你的團隊才能實現(xiàn)真正的合作。

21. 帶工具的傻瓜還是傻瓜

你給我CAD/CAM工具,請我設計一座橋。但是,如果那座橋建成的話,我肯定不想當?shù)谝粋€從橋上過的人,因為我對建筑一竅不通。

使用一個很優(yōu)秀的CASE工具并不能使你成為一個建模專家,只能使你成為一個優(yōu)秀CASE工具的使用者。成為一個優(yōu)秀的建模專家需要多年的積累,不會是一周針對某個價值幾千美元工具的培訓。一個優(yōu)秀的CASE工具是很重要,但你必須學習使用它,并能夠使用它設計它支持的模型。


22. 理解完整的過程

好的設計人員應該理解整個軟件過程,盡管他們可能不是精通全部實現(xiàn)細節(jié)。

軟件開發(fā)是一個很復雜的過程,還記得《object-oriented software
process》第36頁的內(nèi)容嗎?除了編程、建模、測試等你擅長工作外,還有很多工作要做。

好的設計者需要考慮全局。必須從長遠考慮如何使軟件滿足用戶需要,如何提供維護和技術支持等。

23. 常做測試,早做測試

如果測試對你的軟件來說是無所謂的,那么你的軟件多半也沒什么必要被開發(fā)出來。

建立一個技術原型供技術評審使用,以檢驗你的軟件模型。

在軟件生命周期中,越晚發(fā)現(xiàn)的錯誤越難修改,修改成本越昂貴。盡可能早的做測試是很值得的。

24. 把你的工作歸檔

不值得歸檔的工作往往也不值得做。歸檔你的設想,以及根據(jù)設想做出的決定;歸檔軟件模型中很重要但不很明顯的部分。
給每個模型一些概要描述以使別人很快明白模型所表達的內(nèi)容。

25. 技術會變,基本原理不會

如果有人說“使用某種開發(fā)語言、某個工具或某某技術,我們就不需要再做需求分析,建模,編碼或測試”。不要相信,這只說明他還缺乏經(jīng)驗。拋開技術和人的因素,實際上軟件開發(fā)的基本原理自20世紀70年代以來就沒有改變過。你必須還定義需求,建模,編碼,測試,配置,面對風險,發(fā)布產(chǎn)品,管理工作人員等等。



小虎(年輕) 2007-10-15 20:12 發(fā)表評論
]]>
恍然大悟!?為什么我們總是比別人錢少http://www.tkk7.com/xiaohu/archive/2007/04/19/111877.html小虎(年輕)小虎(年輕)Thu, 19 Apr 2007 03:45:00 GMThttp://www.tkk7.com/xiaohu/archive/2007/04/19/111877.htmlhttp://www.tkk7.com/xiaohu/comments/111877.htmlhttp://www.tkk7.com/xiaohu/archive/2007/04/19/111877.html#Feedback0http://www.tkk7.com/xiaohu/comments/commentRss/111877.htmlhttp://www.tkk7.com/xiaohu/services/trackbacks/111877.html恍然大悟!?為什么我們總是比別人錢少(轉載)

無意間看到這篇文章,感覺寫的很真實,很能反映目前許多人的情況。轉載過來與大家分享。

  一條獵狗將兔子趕出了窩,一直追趕他,追了很久仍沒有捉到。牧羊看到此種情景,譏笑獵狗說"你們兩個之間小的反而跑得快得多。" 獵狗回答說:"你不知道我們兩個的跑是完全不同的!我僅僅為了一頓飯而跑,他卻是為了性命而跑呀!"

目標
   這話被獵人聽到了,獵人想:獵狗說的對啊,那我要想得到更多的獵物,得想個好法子。于是,獵人又買來幾條獵狗,凡是能夠在打獵中捉到兔子的,就可以得到幾根骨頭,捉不到的就沒有飯吃.這一招果然有用,獵狗們紛紛去努力追兔子,因為誰都不愿意看著別人有骨頭吃,自已沒的吃.就這樣過了一段時間,問題又出現(xiàn)了。大兔子非常難捉到,小兔子好捉.但捉到大兔子得到的獎賞和捉到小兔子得到的骨頭差不多,獵狗們善于觀察,發(fā)現(xiàn)了這個竅門,專門去捉小兔子。慢慢的,大家都發(fā)現(xiàn)了這個竅門。獵人對獵狗說:最近你們捉的兔子越來越小了,為什么?獵狗們說:反正沒有什么大的區(qū)別,為什么費那么大的勁去捉那些大的呢?

  動力
  獵人經(jīng)過思考后,決定不將分得骨頭的數(shù)量與是否捉到兔子掛鉤,而是采用每過一段時間,就統(tǒng)計一次獵狗捉到兔子的總重量.按照重量來評價獵狗,決定一段時間內(nèi)的待遇。于是獵狗們捉到兔子的數(shù)量和重量都增加了。獵人很開心。但是過了一段時間,獵人發(fā)現(xiàn),獵狗們捉兔子的數(shù)量又少了,而且越有經(jīng)驗的獵狗,捉兔子的數(shù)量下降的就越利害.于是獵人又去問獵狗。獵狗說"我們把最好的時間都奉獻給了您,主人,但是我們隨著時間的推移會老,當我們捉不到兔子的時候,您還會給我們骨頭吃嗎?"

  長期的骨頭
  獵人做了論功行賞的決定。分析與匯總了所有獵狗捉到兔子的數(shù)量與重量,規(guī)定如果捉到的兔子超過了一定的數(shù)量后,即使捉不到兔子,每頓飯也可以得到一定數(shù)量的骨頭. 獵狗們都很高興,大家都努力去達到獵人規(guī)定的數(shù)量。一段時間過后,終于有一些獵狗達到了獵人規(guī)定的數(shù)量.這時,其中有一只獵狗說:我們這么努力,只得到幾根骨頭,而我們捉的獵物遠遠超過了這幾根骨頭.我們?yōu)槭裁床荒芙o自己捉兔子呢?"于是,有些獵狗離開了獵人,自己捉兔子去了。

  骨頭與肉兼而有之
  獵人意識到獵狗正在流失,并且那些流失的獵狗像野狗一般和自己的獵狗搶兔子。情況變得越來越糟,獵人不得已引誘了一條野狗,問他到底野狗比獵狗強在那里。野狗說:“獵狗吃的是骨頭,吐出來的是肉啊!”,接著又道:“也不是所有的野狗都頓頓有肉吃,大部分最后骨頭都沒的舔!不然也不至于被你誘惑。” 于是獵人進行了改革,使得每條獵狗除基本骨頭外,可獲得其所獵兔肉總量的n,而且隨著服務時間加長,貢獻變大,該比例還可遞增,并有權分享獵人總兔肉的m。就這樣,獵狗們與獵人一起努力,將野狗們逼得叫苦連天,紛紛強烈要求重歸獵狗隊伍。

  故事還在繼續(xù)

  只有永遠的利益,沒有永遠的朋友
  日子一天一天地過去,冬天到了,兔子越來越少,獵人們的收成也一天不如一天。而那些服務時間長的老獵狗們老得不能捉到兔子,但仍然在無憂無慮地享受著那些他們自以為是應得的大份食物。終于有一天獵人再也不能忍受,把他們掃地出門,因為獵人更需要身強力壯的獵狗。。。。。

   成立公司
  被掃地出門的老獵狗們得了一筆不菲的賠償金,于是他們成立了MicroBone公司。他們采用連鎖加盟的方式招募野狗,向野狗們傳授獵兔的技巧,他們從獵得的兔子中抽取一部分作為管理費。當賠償金幾乎全部用于廣告后,他們終于有了足夠多的野狗加盟。公司開始贏利。一年后,他們收購了獵人的家當...

  發(fā)展公司
  MicroBone公司許諾給加盟的野狗能得到公司n的股份。這實在是太有誘惑力了。這些自認為是懷才不遇的野狗們都以為找到了知音:終于做公司的主人了,不用再忍受獵人們呼來喚去的不快,不用再為捉到足夠多的兔子而累死累活,也不用眼巴巴地乞求獵人多給兩跟骨頭而扮得楚楚可憐。這一切對這些野狗來說,這比多吃兩根骨頭更加受用。于是野狗們拖家?guī)Э诘丶尤肓薓icroBone,一些在獵人門下的年輕獵口也開始蠢蠢欲動,甚至很多自以為聰明實際愚蠢的獵人也想加入。好多同類型的公司象雨后春筍般地成立了,BoneEase, Bone.com, ChinaBone....一時間,森林里熱鬧起來。

   F4 的誕生
  獵人憑借出售公司的錢走上了老獵狗走過的路,最后千辛萬苦要與MicroBone公司談判的時候,老獵狗出人意料的順利答應了獵人,把MicroBone公司賣給了獵人。老獵狗們從此不再經(jīng)營公司,轉而開始寫自轉《老獵狗的一生》,又寫:《如何成為出色的獵狗》,《如何從一只普通獵狗成為一只管理層的獵狗》《獵狗成功秘訣》《成功獵狗500條》《窮獵狗,富獵狗》,并且將老獵狗的故事搬上屏幕,取名《獵狗花園》,四只老獵狗成為了家喻戶曉的明星F4. 收版權費,沒有風險,利潤更高。



小虎(年輕) 2007-04-19 11:45 發(fā)表評論
]]>
SVN的安裝和配置http://www.tkk7.com/xiaohu/archive/2007/04/12/110271.html小虎(年輕)小虎(年輕)Thu, 12 Apr 2007 12:34:00 GMThttp://www.tkk7.com/xiaohu/archive/2007/04/12/110271.htmlhttp://www.tkk7.com/xiaohu/comments/110271.htmlhttp://www.tkk7.com/xiaohu/archive/2007/04/12/110271.html#Feedback1http://www.tkk7.com/xiaohu/comments/commentRss/110271.htmlhttp://www.tkk7.com/xiaohu/services/trackbacks/110271.html工具:

    1. Windows 2003 sp1

    2. svn-1.3.0-setup.exe                  SVN服務端軟件

    3. SVNService.exe                  添加到Windows服務需要的工具

    4. TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi SVN客戶端軟件

    5. LanguagePack-1.4.0.7501-win32-zh_CN.exe      SVN客戶端軟件的中文語言包

 

相關下載:

         1.Subversion

        http://subversion.tigris.org

         2.客戶端軟件TortoiseSVN

                   http://tortoisesvn.tigris.org

           Eclipse 下使用的插件,需要在線更新

                更新地址: http://subclipse.tigris.org/update_1.0.x

                安裝指南: http://subclipse.tigris.org/install.html

        

安裝SVN服務器

    1. 安裝服務器軟件

    2. 將SVN添加到Windows服務

             1. 新建一個文件夾用來存放庫文件 c:\SVN

             2. 運行命令:SVNService -install -d -r c:\svn 安裝 Windows 服務

             3. 通過Windows服務管理平臺啟動SVN服務

        4. 其它命令

             1. 改變服務設置:

                 運行命令:SVNService -setup -d -r <newsvnroot>

                 在實際操作中,<newsvnroot>代表與SubVersion服務啟動時不同的電子倉庫目錄.

 

             2. 刪除服務:

                 運行命令:SVNService -remove

 

安裝客戶端工具

    因為安裝TortoiseSVN 需要重啟系統(tǒng),所以在這里略過安裝步驟

 

配置SVN

1. 配置服務器

              打開倉庫目錄下的 conf/svnserve.conf 文件

             ********************************************

              [general]

# anon-access = read

# auth-access = write

password-db = passwd

authz-db = authz

             --------------------------------------------

              去掉 password-db = passwd authz-db = authz 的注釋

              前兩行為匿名用戶的權限

              后兩行為啟用配置文件來對用戶和權限進行管理

              注意:所有配置信息必須頂格

 

    2. 配置用戶

             打開倉庫目錄下的 conf/passwd 文件

             [users]

          admin=admin 等號左邊為用戶名,右邊為密碼

             新增用戶只需要在這里直接增加即可,如: oksonic = 123456

 

             增加好用戶以后需要重啟SVN服務器

 

    3. 配置工作組

             打開倉庫目錄下的 conf/authz 文件,文件內(nèi)容如下:

             ********************************************

        # [groups]  

        # harry_and_sally = harry,sally

 

        # [/foo/bar]

        # harry = rw

        # * =

 

        # [repository:/baz/fuz]

        # @harry_and_sally = rw

        # * = r

             --------------------------------------------

 

        因為所有配置信息都被注釋掉了,所以所有的用戶都有管理員的權限(所有目錄的讀/寫)

 

             [groups]    這里的內(nèi)容為組的配置

             把已經(jīng)建好的兩個用戶合并為一個分組,用戶名之內(nèi)以逗號分隔,配置內(nèi)容如下:

             ********************************************

        [groups]

        admin_group = admin,oksonic

             --------------------------------------------

 

    4. 配置權限

             SVN 的權限只有兩個,1 是只讀,2 是讀/寫

             例:

             ********************************************

        [/]

        # 指定所有的倉庫默認只讀

             * = r

        # 指定 admin_group 組的用戶對庫中所有內(nèi)容具有讀/寫權限

        @admin_group = rw

             --------------------------------------------

 

        [/] :這里代表的倉庫的目錄,此為根目錄

             * = r : * 號代表所有的用戶, r 為只讀

 

             現(xiàn)在需要建一個項目到倉庫中

             1. 在桌面建一個文件夾,如:SVN測試

             2. 在目錄中新建幾個文件和文件夾以作測試

             3. 使用客戶端工具把目錄中的所有文件加入到SVN服務器中的 test 目錄中

補充哈:
SVN1.4.3 安裝和配置:

1)下載svn-1.4.3-setup.exe,安裝的目錄為: D:\Subversion ; 倉庫目錄: F:\Major\Java\ExerciseSVN

2)由于1.4版本的更新,不需要SVNService.exe(添加到Windows服務需要的工具),先創(chuàng)建SVN服務,命令如下:

D:\>sc create SVNService binpath= "\"D:\Subversion\bin\svnserve.exe\" --service --root \"F:\Major\Java\ExerciseSVN\"" displayname= "Subversion Server" depend= Tcpip start= auto

其中SVNService為服務名, start屬性為確定SVNService服務的屬性,此為自動啟動, 注意=左右邊的空格,還有"";
啟動服務: D:\> net start SVNService 停止:D:\> net stop SVNService

3)創(chuàng)建倉庫, D:\>svnadmin create F:\Major\Java\ExerciseSVN

其實見SVN1.4幫助文檔



小虎(年輕) 2007-04-12 20:34 發(fā)表評論
]]>
主站蜘蛛池模板: 精品国产亚洲一区二区三区| 亚洲乱码一二三四区国产| 国产成人免费AV在线播放 | 在线观看亚洲精品专区| 久久久久亚洲AV无码网站| 国产va免费精品观看精品| 国产成人精品亚洲一区| 久久精品亚洲一区二区| 欧美男同gv免费网站观看| 亚洲精品无码专区久久久| 在线看片v免费观看视频777| 国产精品亚洲一区二区无码| 亚洲成av人在线视| 在线观看免费a∨网站| 亚洲国产综合第一精品小说| 可以免费观看一级毛片黄a| 无码国产精品一区二区免费式芒果| 免费亚洲视频在线观看| 99久久精品免费精品国产| 免费在线观看亚洲| 亚洲国产精品综合久久网各| 亚洲国产精品碰碰| 免费无码午夜福利片| 亚洲成人福利网站| 亚洲日韩精品A∨片无码| 午夜理伦剧场免费| 一级毛片免费播放试看60分钟| 国内精品99亚洲免费高清| a毛片在线看片免费| 亚洲精品无码久久久久APP| 国产午夜鲁丝片AV无码免费| 18女人毛片水真多免费| 亚洲色成人四虎在线观看| 亚洲国产成人私人影院| 永久免费av无码不卡在线观看| 成全视成人免费观看在线看| 国产精品亚洲专区无码不卡| 亚洲人成在线免费观看| 亚洲一区二区在线免费观看| 国产精品亚洲精品日韩已方| 国产在线a不卡免费视频|