emu in blogjava

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            171 隨筆 :: 103 文章 :: 1052 評論 :: 2 Trackbacks

          我的評論

          共9頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 
          支持。已經預訂。
          我自己的寫作計劃已經流產了,長期在項目中疲于奔命,累……
          re: 字符編碼的奧秘 emu 2006-04-14 10:49  
          內容非常好。白壁微瑕,校正一個地方:

          第一個編碼表 ASCII 中,

          97-127 小寫字母

          似乎應為:

          97-122 小寫字母
          123-126 符號

          127不知道有什么定義。
          從IE5到IE7,xml數據島應該馬上就10歲了(看來肯定能活過10歲),firefox才幾歲,netscape才風光了幾年,,10年時間應該稱得上很穩定很長久了吧
          re: 字符編碼的奧秘 emu 2006-04-10 09:28  
          好文,可惜字體太小了,只好拷貝出來看。
          re: AJAX案例研究之Gmail emu 2006-04-07 10:15  
          最近實在太忙,天天加班,沒有辦法仔細研究這個問題。
          Gmain的Frame確實是刷新的,只是刷新比較快而已,刷新過程也有短暫的白屏,但是在頁面左側表現不明顯。
          這其實也不神秘,查看一下源代碼就一目了然了。因為頁面本身的顯示內容都是用腳本生成的,我們切換到新的url上面的時候其實只是切換了新的數據,什么都不顯示,要由其它框架頁面解析完數據后生成新的html再瞬間替換到頁面上,因此出現白屏的時間非常短。

          隨手做了個簡單的例子,請點擊這里下載
          re: AJAX案例研究之Gmail emu 2006-04-06 17:31  
          我看了幾個函數的命名和google的風格都相差甚遠,而且google也不是用jsp做的,應該和google的源碼沒有多大關系。
          blog的讀者是自己找上門來關注作者的,如果真的覺得作者在廢話,又何必來看blog呢?
          blog是個人自己的空間,即使真的是廢話,主人也有這個權利。
          比比樓上幾位不敢留下真名和鏈接的評論者的評論和sean的文章和評論,哪個在廢話也不用多說了。
          re: script 版的日期格式函數 emu 2006-04-05 10:15  
          再來一個,這下可以稱最簡版了吧?

          <SCRIPT LANGUAGE="JavaScript">
          <!--
          function toCHS(s){return s.constructor!=Number?s.constructor!=String?s.constructor!=Date?null:toCHS(s.getFullYear()+"")+"年"+toCHS(s.getMonth()+1)+"月"+toCHS(s.getDate())+"日"+toCHS(s.getHours())+"時"+toCHS(s.getMinutes())+"分"+toCHS(s.getSeconds())+"秒":s.replace(/\d/g,function(a){return"零一二三四五六七八九".charAt(parseInt(a))}): toCHS(((s>19?Math.floor(s/10):"")+(s>9?("十"):"")+(s%10==0&&s>0?"":s%10)))}
          alert(toCHS(new Date()));
          //-->
          </SCRIPT>
          補充一個中文日期格式 emu 2006-04-05 09:27  
          <SCRIPT LANGUAGE="JavaScript">
          <!--
          String.prototype.toCHS=function(){return this.replace(/\d/g, function(a){return "零一二三四五六七八九".charAt(parseInt(a))});}
          Number.prototype.toCHS=function(){return((this>19?Math.floor(this/10):"")+(this>9?("十"):"")+(this%10==0&&this>0?"":this%10)).toCHS();}
          Date.prototype.toCHS=function(){
          with(this)return(getFullYear()+"").toCHS()+"年"+(getMonth()+1).toCHS()+"月"+getDate().toCHS()+"日"+getHours().toCHS()+"時"+getMinutes().toCHS()+"分"+getSeconds().toCHS()+"秒";
          }
          alert(new Date().toCHS());
          //-->
          </SCRIPT>
          昨晚是OT到快四點才下班的。
          re: 突然的自我之喜歡帥哥 emu 2006-04-04 13:58  
          我也是想起來那個,有一拼。
          正感覺有點文不對題呢,鏈過去一看,原文標題原來是:

          Five reasons why you should never use PostgreSQL -- ever

          呵呵早叫你走了拖拖拉拉的拖了那么久。
          re: 走向而立之年 emu 2006-04-02 23:40  
          大概1年多前,28的時候吧。
          re: Webwork Forward 2 html emu 2006-03-26 01:56  
          遇到這樣的問題,不需要靠猜的,用IeHttpHeader或者HttpSniffer之類的工具直接檢查服務器的輸出中的http header部分是否正確的聲明了contentType應該就可以定位問題的所在了。
          re: JDK的bug? emu 2006-03-25 10:39  
          是的,再看了一下JDK文檔:

          The following are examples of uppercase characters:

          A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
          '\u00C0' '\u00C1' '\u00C2' '\u00C3' '\u00C4' '\u00C5' '\u00C6' '\u00C7'
          '\u00C8' '\u00C9' '\u00CA' '\u00CB' '\u00CC' '\u00CD' '\u00CE' '\u00CF'
          '\u00D0' '\u00D1' '\u00D2' '\u00D3' '\u00D4' '\u00D5' '\u00D6' '\u00D8'
          '\u00D9' '\u00DA' '\u00DB' '\u00DC' '\u00DD' '\u00DE'

          Many other Unicode characters are uppercase too.

          上面兩位說的有理。
          re: JDK的bug? emu 2006-03-24 09:25  
          我不這么認為。isLowerCase什么時候需要關心非英語字母的大小寫了?不管如何I18N(),ch>='a' && ch<='z'都應該是isLowerCase的正確定義啊
          網頁端需要urlencode編碼的時候,我們一般用vbs編碼,網上現成的代碼很多了。
          在不能用vbs(非IE瀏覽器)或者非簡體中文操作系統上,可以用字典法編碼,參見:
          http://www.aygfsteel.com/emu/articles/31756.html
          轉格式轉壞了?我只能放到13分半。
          re: IE 緩存策略的BUG emu 2006-03-17 18:34  
          emu一個可能要好一點的解決方案:

          // 以 <img src="about:blank" onerror=regImg(this,"http://...gif") /> 的方式定義圖片可以避
          // 免重復加載和圖片堵塞頁面問題。建議在發現圖片下載造成頁面延遲的情形下使用。
          var imgHash = new Object();
          function regImg(e,src){
          if(src.indexOf("[%")>0)return;
          var a = imgHash[src];
          e.onerror=null;
          if(a==null) {
          a=imgHash[src]=[];
          a[0]=new Image();
          a[1]=e;
          a[0].onload=function(){setImges(a)};
          a[0].src=src;
          setTimeout("imgHash[\""+src+"\"]=null",65535)
          }else{
          if(a[0].readyState=="complete")
          e.src=src;
          else
          a[a.length]=e;
          }

          }
          function setImges(a){
          for(var i=1;i<a.length;i++)
          a[i].src=a[0].src;
          }
          re: Ajax還是Ajah,這是個問題 emu 2006-03-17 14:33  
          呵呵,我不知道。遇到問題要自己調試。
          呵呵command模式本身沒有這個問題,對command的使用不當才會帶來問題。
          re: 為什么一定要看《無極》 emu 2006-03-09 00:55  
          有個續集也很經典:

          <<一個饅頭引起的麻煩>>

          http://t.21cn.com/ml/2006/03/08/2494277.shtml
          謝謝 xjingg 。
          我其實并不是算法錯了,問題出在這一行:
          for(int i=0,n=1<<sets.size();i<n;i++){
          當sets.size()太大的時候溢出了,所以無法取得正確結果。而且確實在規定的時間內是無法通過測試的。

          我們來看看你的數學模型:
          -------------------------------------------------------------------
          先計算出所有的sets和runs以及他們的交點,每個交點都有2種狀態,set有效或者run有效,對每個交點進行2種狀態的選擇,判斷之后,再刷新一下重新把失效的交點剔除,到最后交點集為0,則完成一種狀態,統計出card數.
          -------------------------------------------------------------------
          我不明白的是“對每個交點進行2種狀態的選擇,判斷之后”是依據什么來選擇、判斷的?
          按照我的理解,這兩種狀態都需要窮舉才能指定哪種是正確的選擇。這樣子你的算法的時間復雜度實質上和我的是一致的(2^n)。在你給出的數據中你為2^20 我的卻為2^49,確實實際的差異是巨大的,但是面對更復雜的情形如何呢?
          你給出的代碼無法通過編譯,很想看看你的代碼在給出大半副牌的情形下的表現。
          >>四、JAVASCRIPT中的處理

          呵呵你所展現的叫做Jscript中的處理,或者IE5+中的處理
          re: IE 緩存策略的BUG emu 2006-03-02 17:20  
          emu的解決方案如下:

          <HTML>
          <HEAD>
          <BODY>
          <SCRIPT LANGUAGE="JavaScript">
          <!--
          var st="<img src='about:blank' onerror='src=\"var ar = new Array(101);
          window.onload=function(){
           document.body.innerHTML = ar.join(st);
          }
          //-->
          </SCRIPT>
          </BODY>
          </HTML>
          re: Google搜索結果頁面的bug emu 2006-03-02 13:25  
          呵呵,有bug就是有bug,解釋說靜態緩存或者是多個服務器數據不同步造成的,是不能解決問題的。如果能夠解釋說這是由于internet上面真實指向相應信息的鏈接數目正在動態的變化(哇!巨強的實時性!),那是能接受的,可是第一個嘗試中前后的條目數相差了12倍之多,不管怎么解釋都是不合理的。
          re: IE 緩存策略的BUG emu 2006-03-02 09:44  
          這個bug的官方描述見:

          http://support.microsoft.com/default.aspx?scid=kb;en-us;319546

          此外 http://www.bazon.net/mishoo/Articles/msie/958/ 指出background-image會帶來一樣的問題。

          ms的官方解決方案是象這樣:

          <HTML>
          <HEAD>
          <BODY>

          <SCRIPT LANGUAGE="JavaScript">
          <!--
          var st="<img src=\"http://imgcache.qq.com/qzone/item/orig/11/3179_5.gif\">"
          var ar = new Array(101);
          function test(){
          document.getElementById("d").innerHTML = ar.join(st);
          document.getElementById("d").style.display="block";
          }
          setTimeout("test()",1000);
          //-->
          </SCRIPT>
          <div id="d"><img src="http://imgcache.qq.com/qzone/item/orig/11/3179_5.gif"></div>
          </BODY>
          </HTML>

          如果不怕麻煩的話,這樣做可以更快一點點,也更保險:

          <HTML>
          <HEAD>
          <BODY>
          <SCRIPT LANGUAGE="JavaScript">
          <!--
          var st="<img src=\"http://imgcache.qq.com/qzone/item/orig/11/3179_5.gif\">"
          var ar = new Array(101);
          function test(){
          document.getElementById("d").innerHTML = ar.join(st);
          document.getElementById("d").style.display="block";
          }
          //-->
          </SCRIPT>
          <div id="d"><img src="http://imgcache.qq.com/qzone/item/orig/11/3179_5.gif" onreadystatechange="if(readyState=='complete')setTimeout('test()',0)"></div>
          </BODY>
          </HTML>
          re: IE 緩存策略的BUG emu 2006-03-02 09:16  
          逐個 document.getElementById("p1").src=imageholder.src; 是沒有問題,問題是把圖片的完整html一次全部寫入innerHTML造成的。
          re: Google搜索結果頁面的bug emu 2006-03-02 00:57  
          如果你把試用偏好設為每頁顯示10個結果的話,至少頁碼的錯誤是肯定能重現的。看看第一頁有多少個頁碼,翻到第二頁的事后顯示幾個頁碼呢?在第一頁點擊最后一個頁碼實際又跳到第幾頁呢?
          我剛剛又重新搜了下“ emu 走向而立之年”,第一頁仍顯示8個頁碼,翻到第二頁就變成7個了。
          搜索結果條目數的bug在反復搜索后google有可能自身會糾正錯誤結果,換個關鍵字應該可以重現的。比如換這里某偏帖子的主題或者帖子中的一句話。
          謝謝dudu為維護大家共同的家園付出的不懈努力。
          對這次的病毒問題,我認為事前防毒勝于事后殺毒。如果系統沒有很嚴重的漏洞,病毒是不會跑進去的,務須發現并根除病毒進入服務器的來源。
          dudu這么晚還在上網阿,也是夜貓子一個。我是剛下班。
          re: XML數據島技術的總結 emu 2006-03-01 13:39  
          >>后臺的java類返回XML數據到前臺的js,js再將數據島綁定到頁面上
          后臺返回xml數據是用數據島的形式引用,還是用js的接受xml數據后灌到數據島里面去?
          呵呵那就是用了send(data)方式post數據了吧,這就說來話長了。
          post數據的時候數據是自動按照utf-8編碼的,但是也接受urlencode方式編碼的二進制數據。注意到urlencode的轉義符和escape是一樣的:%,但是他們代表的意思不同。urlencode的%XX代表的是XX這個16進制數字的數據,而escape的%XX代表的是ASCII碼為XX的一個字符(%uXXXX則代表Unicode碼為XXXX的一個unicode字符)。亂碼就此產生。
          re: 我所理解的SOA emu 2006-02-28 19:56  
          呵呵,一個滿牽強的例子,我只是想用這中方式來表達我想說的意思而已。
          本來是為了公司的內部培訓準備的一個例子,后來培訓前臨時換了一個,也挺有意思的:

          上高一的時候,班主任安排我做數理化三科的物理總科代表,oho,這下好了,課間和課后時間我(同一個資源)需要通過兩個以上不同的接口(潮洲話、普通話),提供三個不同的內容服務(數、理化題目解答),這樣的service效率能高嗎?在同學(client)的問題(request)很多的時候,肯定有人沒有辦法得到充分的服務(自己放棄不來問了)。

          上高二的時候,終于撤銷了這個三家總掌門,只保留了一個物理科代表,這下SOA了,“一天都光嗮”,需要哪科的信息就找哪科的科代表,專用的service服務的也比通用的要快要好。

          生活中處處需要SOA。供水供電供氣供暖系統是最典型的SOA模式,電爐、電暖氣和電熱水器則是對SOA模式的典型破壞,因此帶來的破壞性后果大家都能看見了(jigsaw在成都也過過冬天,遇到過停電哦?)。建房子的,搞裝修的、修電器的、修水暖的,甚至開發軟件的、教書的,哪個不是在通過一致的接口(人民幣)提供service呢?所以SOA和OO一樣,是軟件開發對生活的模仿。
          escape后獲得null估計是因為參數名也被escape了,要不然就是?或者=或者&這幾個url的保留字符也被escape了。
          比如
          ?test=%u4E2D%u6587應該是沒有問題的
          但是
          ?test%3D%u4E2D%u6587 肯定就不行了
          %3Ftest=%u4E2D%u6587 肯定也不對
          %3Ftest%3D%u4E2D%u6587 這就更不要說了。
          你是那種情形?
          re: 關于方舟子的爭論 emu 2006-02-27 09:24  
          @在csdn上看到的
          我認為應該是,不講理比講理容易,講歪理比講正理容易。
          “無偏二極管”只是一個名字而已,跟加不加偏壓沒什么關系,就算有理想開關也不能自動產生電流出來的。
          @炎
          沒有注意過什么阿?
          居然只能免費試用24小時!
          @lam
          what a pity
          @pet
          Yes I know myjavaserver for a long time, but I can't find any register link or button on it.
          re: 一個Ajax實現的聯機游戲 emu 2006-02-24 00:00  
          終于搞到一個公網地址,發布一個:

          http://stonelf.s43.eatj.com/emu/game/letters.htm

          大家一起來玩哈:)

          re: AJAX的小經驗 emu 2006-02-17 11:25  
          如果不是真的需要繼承重用和多態的話,我不建議使用js來進行“面向對象”編程。用“基于對象”的語言來做“基于對象”的設計和編碼,感覺要比較自然些。
          用原型對象模擬的面向對象開發,在實現多態和繼承的時候和傳統的面向對象語言始終有各種差異,開發的時候要對js的對象體系有充分的理解和保持非常清晰的死路。
          也有一些很優秀的面向對象js框架,但是我還是擔心,解決一個問題,帶來更多的問題。
          我對 jsvm 的看法在 http://community.csdn.net/Expert/topic/4559/4559660.xml 中講過了。我非常欣賞jsvm的設計,可是沒有嘗試過去用。

          頂樓的代碼沒什么可重用性,我寫blog和萬常華大哥寫jsvm的出發點是不同的,萬大哥希望可以既授人以魚又授人以漁,我則更愿意授人以漁,只希望可以把代碼后面的思想表達出來,把最困難最有價值的嘗試過程呈現出來,真正能看懂其中思想的人并不需要記住實現,下回遇到問題順手就可以寫出來了。就好像 http://community.csdn.net/Expert/topic/4555/4555563.xml 中,我對google的模仿并不在于看或抄google的代碼(到現在為止還沒有去看過google自定義模塊的原碼,可能以后有時間再去學習吧),而是理解了怎樣的用戶感受更爽,然后具體的實現其實不是關鍵問題(我相信我的實現和google的沒有多少相像的地方)。

          多線程方面我懂的也不多,解釋也解釋不好,講多錯多,還是自己去找資料好好學習吧。
          re: AJAX的小經驗 emu 2006-02-16 14:41  
          幫你改一個能運行的版本,但是具體的業務和功能我就不得而知了。
          注意到你嘗試創建非IE瀏覽器的 XMLHttpRequest 對象,可是buildSoap方法使用了Microsoft.XMLDOM對象已經注定了這個程序不能在非IE瀏覽器上運行了,寫了也是白寫,但是還是給你保留了。

          <HTML>
          <HEAD>
          <TITLE> SOAP test by emu </TITLE>
          <META NAME="Author" CONTENT="emu">
          </HEAD>
          <script language="javascript" type="text/javascript">
          function startTest(){
            var ob= new A();
            ob.createRequest();
          }
          function A(){ }
          A.prototype.buildSoap = function(){
            //創建一個soap,命名為this.soap
            var xmlString = "<SOAP:Envelope xmlns:SOAP=\"http://schemas.xmlsoap.org/soap/envelope/\">"+
            "<SOAP:Header/>"+
            "<SOAP:Body>"+
            "<Authenticate>"+
            "<username></username>"+
            "<password></password>"+
            "</Authenticate>"+
            "</SOAP:Body>"+
            "</SOAP:Envelope>";
            this.soap = new ActiveXObject("Microsoft.XMLDOM");
            this.soap.async = false;
            this.soap.loadXML(xmlString);
            this.soap.selectSingleNode(".//username").text = "administrator";
            this.soap.selectSingleNode(".//password").text = "123456";
          }
          A.prototype.createRequest = function(){
            var r;
            try {r=new XMLHttpRequest();}catch(e){}
            if(!r)  try {r=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){}
            if(!r)  try {r=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
            if (!r) {
              alert("Error initializing XMLHttpRequest!");
              return;
            }
            var url="http://www.aygfsteel.com";
            r.open("POST",url,true);
            r.onreadystatechange= function(){
              if(r.readyState==4&&r.status==200)
                alert("服務完成");
            };
            this.buildSoap();
            r.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
            r.setRequestHeader("If-Modified-Since","0");
            r.send(this.soap.xml);
          }
          </script>
          <body onload="startTest()">
          </body>
          </HTML>
          re: AJAX的小經驗 emu 2006-02-16 14:17  
          你都沒有搞清楚原型對象和對象實例的差別,就this來this去的。

          this.request.onreadystatechange= this.handleResponse;

          handleResponse是原型對象上的方法,不是對象實例的方法,而this.request是對象實例里面的子對象。

          你想要在handleResponse里面通過this引用對象實例,可是原型對象的方法里面的this指向的是原型對象而不是實例對象,request是實例對象的屬性,原型對象沒有request當然要報錯了。

          this.request.send(this.soap);
          好好看看xmlhttp的api吧,有接受xmldom對象作為參數的send方法嗎?
          呵呵,看起來和我很久以前寫的例子非常像哦。
          我上面的解釋和上面你貼的代碼你都沒有理解到,跟你再解釋也說不明白了……
          re: AJAX的小經驗 emu 2006-02-16 13:02  
          //Use an XMLHttpRequest,命名為this.request

          這個雙語合壁的注釋都夠莫名其妙了,實現代碼還略過。看不出問題。
          @rom
          只有使用異步設計的程序才能夠方便的控制“線程”的運行狀態,按照你貼出的代碼的暗示,pause方法是要堵塞主當前正在運行的腳本引擎進程,讓腳本引擎停止工作。但是堵塞進程會嚴重影響用戶體驗并占用大量cpu資源,建議采用異步方式改善設計來實現延遲。同步的堵塞方式實現如下:

          function test(){
            alert(new Date().getSeconds());
            pause(1000);
            alert(new Date().getSeconds());
          }
          function pause(n){
            for(var t = new Date();(new Date()-t<n););
          }
          test();

          有阿,在上面的例子中點擊按鈕發起線程后,吧鼠標放到正在運行中的線程上,線程就會暫停下來知道鼠標離開。此外線程計算結束后也會延遲2秒清除結果,這個延遲也是使用sleep的方式實現的。看看 simThread 和 executeCommands 的相互配合。
          共9頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 
          主站蜘蛛池模板: 绥化市| 仁寿县| 象山县| 烟台市| 塔河县| 阜康市| 广州市| 呼图壁县| 鲁山县| 扎赉特旗| 岳池县| 江都市| 始兴县| 彝良县| 高陵县| 卢湾区| 苏尼特左旗| 青龙| 肥西县| 炎陵县| 安陆市| 垫江县| 宁阳县| 扶余县| 靖江市| 霸州市| 洱源县| 湖北省| 甘孜| 三门峡市| 华亭县| 眉山市| 巴林左旗| 临江市| 都匀市| 定西市| 闻喜县| 大埔县| 琼中| 卓资县| 宿州市|