動(dòng)若狡兔,靜如處子

          by doctor

          統(tǒng)計(jì)

          留言簿

          閱讀排行榜

          評論排行榜

          2011年6月9日 #

          JS常用語句收集

          1、判斷是否為空
          function isEmpty(s)
           {
            return ((s == undefined || s == null ||s == '' || s.replace(/(^\s*)|(\s*$)/g, "")=='') ? true : false);
           }
          2、判斷數(shù)組中是否有相等元素
          function checkEqual(arr){
            
          for(i=0;i<arr.length;i++){
               
          for(j=i+1;j<arr.length;j++){
                 
          if(arr[i].value==arr[j].value){
                     
          return true;
                  }

              }

            }

            
          return false;
          }
          3、對HTML標(biāo)簽注冊click事件,并獲取該元素的父標(biāo)簽,及子標(biāo)簽
          Event.on(Dom.getElementsByClassName('check','a'),'click',function(evt){
                          Event.preventDefault(evt);
                          
          var target = Event.getTarget(evt);
                          
          var td = Dom.getAncestorByTagName(target,'tr');
          ar title 
          = td.getElementsByTagName("input")[0].value;}
          );
          4、對button注冊click事件,并提交表單
          Event.on("j_add","click",function(evt){
          **********
          document.form1.event_submit_do_add.value
          ="submit";
                          document.form1.submit();
                       }

                    });
          5、在父元素下創(chuàng)建子元素,動(dòng)態(tài)添加頁面元素
          var tab =document.getElementById("guanlian");
              
          var newRow = tab.insertRow(0);//添加了一行
              var newTd1        = newRow.insertCell(0);
          newTd1.innerHTML
          ="關(guān)聯(lián)詞名";
          6、借助YUI進(jìn)行Ajax異步交互
          var callback ={
                              success:
          function(o) {
                                  
          var result = o.responseText;
                                  document.getElementById('chk_thesaurus').innerHTML
          =result;
                                              }
          ,
                              failure: 
          function(o) {
                                  alert(
          "驗(yàn)證請求,鏈接服務(wù)器失敗!");
                              }

                          }

                          ;
                          
          var sUrl = '請求的頁面地址及參數(shù)';
                          YAHOO.util.Connect.asyncRequest('GET',sUrl,callback);
          7、div樣式的兩種寫法(.divforcheck{ width:500px; height:300px; background-color:#f00; color:#fff; }
                                                                                          <div  style="border: 1px dotted black;background-color:#FFFFFF;width:500px ">)
          8、confirm的用法
          if(confirm("您修改了關(guān)聯(lián)詞,請確定在提交前進(jìn)行了驗(yàn)證")){
                              document.form1.event_submit_do_add.value
          ="submit";
                              document.form1.submit();
                          }

          posted @ 2011-11-24 20:31 doctor 閱讀(246) | 評論 (0)編輯 收藏

          三天的頁面開發(fā)

              上周五開始一項(xiàng)開發(fā)工作,將樹形的數(shù)據(jù)結(jié)構(gòu)放到關(guān)系型數(shù)據(jù)庫,并提供頁面進(jìn)行數(shù)據(jù)的維護(hù),遇到的問題:1、需求不清晰;2、表結(jié)構(gòu)不清晰;3;前端開發(fā)技術(shù)非常不熟悉;
              結(jié)果就是開發(fā)緩慢,系統(tǒng)交互效果差,做出來的頁面自己都不滿意,開發(fā)慢導(dǎo)致上線壓力大,心里壓力也大,很嚴(yán)重的加班。。。。。。。
              總結(jié)下用到的頁面技術(shù):1、CSS+DIV樣式定義的兩種寫法(.divforcheck{ width:500px; height:300px; background-color:#f00; color:#fff; }
                                                                                          <div  style="border: 1px dotted black;background-color:#FFFFFF;width:500px ">)
                                             2、JS:動(dòng)態(tài)的添加頁面元素var tab =document.getElementById("guanlian");
                                                                                       var newRow = tab.insertRow(0);//添加了一行
                                                                                       var newTd1        = newRow.insertCell(0);
                                                                                        var newTdName     = newRow.insertCell(1);   ;
                                                        判斷為空function isEmpty(s) { return ((s == undefined || s == null || s == "") ? true : false); }
                                                        彈出選擇框:if(confirm("您修改了關(guān)聯(lián)詞,請確定在提交前進(jìn)行了驗(yàn)證")){
                                                                                           document.form1.event_submit_do_add.value="submit";
                                                                                            document.form1.submit();}
                                                        Ajax交互:
          var callback ={
                              success:
          function(o) {
                                  
          var result = o.responseText;
                                  document.getElementById('chk_thesaurus').style.display
          ="";
                                  document.getElementById('chk_thesaurus').innerHTML
          =result;
                                  document.getElementById('chk_thesaurus').display 
          = "block";
                              }
          ,
                              failure: 
          function(o) {
                                  alert(
          "驗(yàn)證請求,鏈接服務(wù)器失敗!");
                              }

                          }

                          ;
                          
          var sUrl = 'ajax/checkThesaurus.htm?relName='+encodeURIComponent(encodeURIComponent(title));
                          YAHOO.util.Connect.asyncRequest('GET',sUrl,callback);

                                                              服務(wù)器段java代碼兩種寫法:1、在反饋ajax請求的頁面中填寫符合HTML標(biāo)準(zhǔn)的反饋InnerHTML
                                                                                                   2、通過        
          rundata.getResponse().getWriter().print("var ajaxRequestData_bizType = "+JSONObject.fromObject(tree).toString());

           context.put("result", net.sf.json.JSONArray.fromObject(tree).toString());(打成JSON串)


                                    3、表單提交處理(JS提交表單)document.form1.event_submit_do_add_treeWordProperty.value="submit";
                                                                                 document.form1.submit();    
          java代碼的Exception控制、異常處理             
              

          posted @ 2011-11-24 14:55 doctor 閱讀(224) | 評論 (0)編輯 收藏

          循環(huán)嵌套驗(yàn)證

              之前正則一直不支持嵌套循環(huán)的驗(yàn)證即類似于html的格式較驗(yàn),昨天晚上無聊就考慮了一下這個(gè)的可實(shí)現(xiàn)方式:通過維護(hù)特征“符號”隊(duì)列來實(shí)現(xiàn)
              如在有特定格式的文件中(標(biāo)簽成對出現(xiàn)的情況下)順序讀入待驗(yàn)證標(biāo)簽放入隊(duì)列中,較驗(yàn)對應(yīng)的下一個(gè)輸入如果為與該標(biāo)簽對應(yīng)的標(biāo)簽?zāi)敲磳⒃摌?biāo)簽從隊(duì)列中彈出,如果不對應(yīng)則將下一個(gè)標(biāo)簽也放入隊(duì)列中,進(jìn)行下一次的驗(yàn)證直到該文件結(jié)束時(shí)如果隊(duì)列恰好為空那么證明文件較驗(yàn)通過

          posted @ 2011-11-10 10:31 doctor 閱讀(159) | 評論 (0)編輯 收藏

          oracle優(yōu)化

          記錄點(diǎn)常識:
             1、為實(shí)現(xiàn)全表掃描,Oracle讀取表中所有的行,并檢查每一行是否滿足語句的WHERE限制條件一個(gè)多塊讀操作可以使一次I/O能讀取多塊數(shù)據(jù)塊 (db_block_multiblock_read_count參數(shù)設(shè)定),而不是只讀取一個(gè)數(shù)據(jù)塊,這極大的減 少了I/O總次數(shù),提高了系統(tǒng)的吞吐量,所以利用多塊讀的方法可以十分高效地實(shí)現(xiàn)全表掃描,而且只有在全表掃描的情況下才能使用多塊讀操作。在這種訪問模 式下,每個(gè)數(shù)據(jù)塊只被讀一次。
             2、先通過index查找到數(shù)據(jù)對應(yīng)的rowid值(對于非唯一索引可能返回多個(gè)rowid值),然后根據(jù)rowid直接從表中得到具體的數(shù)據(jù),這 種查找方式稱為索引掃描或索引查找(index lookup)。一個(gè)rowid唯一的表示一行數(shù)據(jù),該行對應(yīng)的數(shù)據(jù)塊是通過一次i/o得到的,在此情況下該次i/o只會讀取一個(gè)數(shù)據(jù)庫塊。
            在索引中,除了存儲每個(gè)索引的值外,索引還存儲具有此值的行對應(yīng)的ROWID值。
            索引掃描可以由2步組成:
            (1) 掃描索引得到對應(yīng)的rowid值。
            (2) 通過找到的rowid從表中讀出具體的數(shù)據(jù)。
            每步都是單獨(dú)的一次I/O,但是對于索引,由于經(jīng)常使用,絕大多數(shù)都已經(jīng)CACHE到內(nèi)存中,所以第1步的 I/O經(jīng)常是邏輯I/O,即數(shù)據(jù)可以從內(nèi)存中得到。但是對于第2步來說,如果表比較大,則其數(shù)據(jù)不可能全在內(nèi)存中,所以其I/O很有可能是物理I/O,這 是一個(gè)機(jī)械操作,相對邏輯I/O來說,是極其費(fèi)時(shí)間的。所以如果多大表進(jìn)行索引掃描,取出的數(shù)據(jù)如果大于總量的5% —— 10%,使用索引掃描會效率下降很多

          然后對于特殊的業(yè)務(wù)場景要先做數(shù)據(jù)的篩選,然后再做查詢  關(guān)于查詢篩選出來的結(jié)果集能不能走到索引這個(gè)問題需要再測試一下

          posted @ 2011-11-08 16:44 doctor 閱讀(187) | 評論 (0)編輯 收藏

          windows下ssh虛擬機(jī)問題

             通過vmware或者virtualBox安裝虛擬機(jī)后,希望能夠不用在程序窗口切來切去,所以通過ssh連接到虛擬機(jī)就好了,有的人按步驟安下來就很好用,但是我這邊遇到了問題,首先上虛擬機(jī)設(shè)置網(wǎng)絡(luò)連接這里需要設(shè)置成橋接(bridged adapter)原因如是:虛擬機(jī)接網(wǎng)絡(luò)連接方式一般分為四種NAT、bridged adapter(橋接)、網(wǎng)絡(luò)、host-only adapter;其中橋接的時(shí)候主機(jī)和虛擬機(jī)是可以互相訪問的,其它方式都有限制,然后就是防火墻的設(shè)置了  可以通過chkconfig --list 查看每個(gè)服務(wù)的啟動(dòng),自己設(shè)定就好;最后就是連接了,當(dāng)然還有其它的一些小設(shè)置可以通過google。。。
            虛擬機(jī)網(wǎng)絡(luò)連接的詳細(xì)介紹如下網(wǎng)址:http://pengranxiang.iteye.com/blog/715829

          posted @ 2011-11-06 13:21 doctor 閱讀(541) | 評論 (0)編輯 收藏

          天網(wǎng)、hivesql開發(fā)小總結(jié)

                天網(wǎng)dataX節(jié)點(diǎn)可“靈活配置點(diǎn)”:應(yīng)用庫《——》hdfs上的時(shí)候是可以進(jìn)行較靈活的配置(字段順序調(diào)整、字段數(shù)目不一致)即此處是一個(gè)非常靈活的連接點(diǎn),具體使用方式咨詢(數(shù)據(jù)平臺)或者查看預(yù)發(fā)節(jié)點(diǎn)209050
               天網(wǎng)節(jié)點(diǎn)父子依賴關(guān)系顯示不全:是由于在子節(jié)點(diǎn)上線前父節(jié)點(diǎn)不存在造成的,這個(gè)可以由數(shù)據(jù)平臺那邊的童鞋的發(fā)布信息截圖中獲得,parentNode為空的話即說明缺少依賴關(guān)系,如果已經(jīng)上線的話就通過重新編輯下子節(jié)點(diǎn),保存然后發(fā)布最新的依賴關(guān)系即可
               預(yù)發(fā)運(yùn)行ok,但是天網(wǎng)始終跑不通且無明確錯(cuò)誤信息時(shí)需要查當(dāng)前job_id的詳細(xì)錯(cuò)誤即可(這時(shí)候比較大的可能是dataX程序的location位置不正確)
               Hivesql問題
               在開發(fā)機(jī)運(yùn)行時(shí)容易出現(xiàn)error in load data to ‘hdfs地址’,通用的解決辦法是到預(yù)發(fā)上刪除掉這個(gè)表,同時(shí)也刪除本機(jī)上的表,再重建一下
               剩下的就是hivesql對標(biāo)準(zhǔn)Sql的支持問題了,這個(gè)主要是經(jīng)驗(yàn),沒有通用教程;hivesql排序、查詢、插入都和標(biāo)準(zhǔn)sql略有不同的
           

          posted @ 2011-11-03 13:52 doctor 閱讀(600) | 評論 (0)編輯 收藏

          JS表單提交驗(yàn)證

            遇到過幾次表單提交前做驗(yàn)證的需求,在這里整理一下:
             web開發(fā)前端的話表單驗(yàn)證非常常見,當(dāng)存在<input type='submit' name=""></>   的時(shí)候不論你把事件注冊到click還是注冊到form的submit上在攔截提交請求后無法中斷form的提交;可以用<input type='button' name=''></> 來替換<input type='submit' name=""></> 在JS驗(yàn)證后用document.form.submit()完成提交
            完整代碼如下(調(diào)用的yahooYUI):
            <form name="templateForm" method="POST">
                 <input type="hidden" name="event_submit_do_add" value=""/>
                 <input type="hidden" name="event_submit_do_update" value=""/>
                ------------------------
                 #if("$templateId"=="0")
                 <input type="button" name="J_Add" id="J_Add" class="J_Submit" value="保存" style="margin:0 10px;padding:0 5px;"/>
                #else
                 <input type="button" name="J_Update" id="J_Update" class="J_Submit" value="修改" style="margin:0 10px;padding:0 5px;"/>
                 #end
            </form>

          <script language='text/javascript'>

          var Y = YAHOO.util, D = Y.Dom, E = Y.Event;
           E.on("J_Add","click",function(evt){
            if(“驗(yàn)證條件")
            {
              alter("提示內(nèi)容");
              return;
             }
            document.templateForm.event_submit_do_add.value="submit";
            document.templateForm.submit();
           });

           E.on("J_Update","click",function(evt){
            if(“驗(yàn)證條件")
            {
              alter("提示內(nèi)容");
              return;
             }
            document.templateForm.event_submit_do_update.value="submit";
            document.templateForm.submit();
           });

           

          </script>

          posted @ 2011-11-03 13:25 doctor 閱讀(4718) | 評論 (5)編輯 收藏

          2011/10/30 四個(gè)月實(shí)習(xí)后記

             轉(zhuǎn)眼間離開學(xué)校四個(gè)月,同時(shí)也是在淘寶實(shí)習(xí)四個(gè)月;昨天做系統(tǒng)不小心把整個(gè)磁盤格式化故在此留念
             初來淘寶比較新鮮但是沒有太大的陌生感,熟悉常用的開發(fā)技術(shù),然后就開始做一些小日常,其實(shí)在一個(gè)公司里面開發(fā)語言、開發(fā)技術(shù)這些都是比較基礎(chǔ)的東西,換言之能來到淘寶并不是因?yàn)槲冶绕渌缓Y選掉的優(yōu)秀只是運(yùn)氣好一些吧
             每一個(gè)公司都會有自己的一套開發(fā)規(guī)則,有一些成文或者不成文的流程,淘寶的流程應(yīng)該算是比較全面的吧,開發(fā)、測試、預(yù)發(fā)、測試、上線;流程發(fā)起、轉(zhuǎn)交、狀態(tài)轉(zhuǎn)變、結(jié)束流程可以算的上是有據(jù)可循;
             技術(shù)上面的話:語言不是問題,性能不是問題,前提是有足夠的時(shí)間和清晰的需求,雖然現(xiàn)在來說也許自己在技術(shù)上還是個(gè)菜鳥吧,但是面對任何開發(fā)任務(wù)都有信心可以完成,要說技術(shù)的提高的話應(yīng)該主要還是有了具體應(yīng)用之后加深了一些理解吧,但是作為一個(gè)非底層的開發(fā)人員很難感覺到自己技術(shù)的明顯提升(這是一個(gè)悲劇),都是借助語言本身的特性來完成開發(fā)需求
             前期是做web的開發(fā)需求,最近則是在做報(bào)表開發(fā)(在hadoop搭建的云梯上通過運(yùn)行hivesql腳步來完成簡單的報(bào)表分析工作) 說它簡單是因?yàn)橥ㄟ^sql無法完成復(fù)雜的模型,只能做簡單的統(tǒng)計(jì)工作,不過通過hivesql做報(bào)表開發(fā)速度真的很快,基本上兩天三天一個(gè)報(bào)表就ok了,
             也做了有三四個(gè)月了,感覺比較有收獲的就是系統(tǒng)流程上面的東西,之前我們開發(fā)系統(tǒng),只要系統(tǒng)開始之后就走下去了,我們沒有跟蹤,這是不太滿足現(xiàn)實(shí)世界中的流程的概念的,如果說我們要優(yōu)化什么步驟,我們無法從數(shù)據(jù)上得到直接的支持,這是很低效的優(yōu)化方式,我們的期望系統(tǒng)是可持續(xù)改進(jìn)和優(yōu)化的,那么在設(shè)計(jì)的時(shí)候就需要多一點(diǎn)考慮(系統(tǒng)流程的完整性)---這部分描述的不好,忘記的話就回想一下報(bào)表開發(fā)的初衷吧
            從十一回來之后狀態(tài)就不好,我不喜歡為什么爭執(zhí),更不喜歡自己都不會主動(dòng)選擇的人,沒有人能夠在時(shí)間的流逝中永遠(yuǎn)保持不變,或許是他累了,或許是他變了,或許會出現(xiàn)更好的選擇,希望大家在該出手的時(shí)候就出手,在該做什么的年紀(jì)就做什么,現(xiàn)在我20歲,是學(xué)習(xí)、積累的過程,然而我累了,所以大家都好自為之吧
            順便做一下后面兩個(gè)月的規(guī)劃吧:預(yù)計(jì)上元旦離職
            11月:完成日常開發(fā)任務(wù),熟悉搜索引擎,原理和常見開源搜索引擎的搭建調(diào)優(yōu)(整理出紀(jì)實(shí)文檔)
            12月:深入了解數(shù)據(jù)挖掘技術(shù),綜合前面報(bào)表開發(fā)流程整理出一份數(shù)據(jù)挖掘中模型創(chuàng)建、數(shù)據(jù)流轉(zhuǎn)、數(shù)據(jù)加工、及產(chǎn)出的自己的理解感悟
          結(jié)束語:珍惜現(xiàn)在
            另外留下教訓(xùn)------------------重要的文檔筆記呢一定要記錄到網(wǎng)絡(luò)或者是云服務(wù)上,在本機(jī)上保存都極不安全

          posted @ 2011-10-30 20:27 doctor 閱讀(244) | 評論 (0)編輯 收藏

          06/17總結(jié)

          今天是這段時(shí)間以來最累的一天了,各種各樣的問題啊:
          a、數(shù)據(jù)庫
              1、數(shù)據(jù)庫的遠(yuǎn)程連接---SQL2005時(shí)需要手動(dòng)打開遠(yuǎn)程連接
              2、數(shù)據(jù)庫角色---創(chuàng)建完數(shù)據(jù)庫角色之后需要改變角色的權(quán)限之后才能正常登陸
              3、C#連接數(shù)據(jù)庫字符串寫法----localhost(數(shù)據(jù)庫實(shí)例名)還有Ip
              4、復(fù)習(xí)了一些SQL語句
          b、vs2005 怎么可以有這么多bug...命名空間在修改之后不會自動(dòng)在程序中更新(需要先從項(xiàng)目中排除然后再引入再生成)、打開項(xiàng)目時(shí)有時(shí)可能需要轉(zhuǎn)換
          c、C#發(fā)射機(jī)制和工廠方法...轉(zhuǎn)那么多圈真費(fèi)勁---調(diào)試的時(shí)候各種困難


          --------------其中最討厭的就是命名空間了...你永遠(yuǎn)不知道什么時(shí)候命名空間會出錯(cuò)

          不過今天也看了一些Webx的資料還好有些收獲;當(dāng)然還有一本UML的書籍也還好啦....
          蠻累  蠻充實(shí)

          posted @ 2011-06-17 21:26 doctor 閱讀(167) | 評論 (0)編輯 收藏

          寫一個(gè)自制的英語學(xué)習(xí)軟件

          思路:為每一個(gè)人建立起自己的知識字典(英語),按照索引的方式錄入自己的知識量(單詞量)。
          一下是轉(zhuǎn)為英語應(yīng)用而設(shè)計(jì):
              復(fù)制一篇英語文章到該網(wǎng)站的文本框中,通過讓該系統(tǒng)通過比對單詞字典計(jì)算出該文章的生詞量,做出統(tǒng)計(jì)信息進(jìn)而判斷該文章是否合適閱讀,當(dāng)然在最初字典是空的這時(shí)可以批量添加一些常用的單詞也可以手動(dòng)添加,是一個(gè)不算太大的工程(最多4000-5000單詞),當(dāng)比對結(jié)束之后會對單詞通過不同的顏色顯示出來,綠色表示字典中存在的單詞即認(rèn)識的單詞,而紅色表示不認(rèn)識的單詞;單擊某一單詞可以添加或者維護(hù)該單詞的信息
              基本上一個(gè)自制英語虛席詞典就OK了
              下面列出技術(shù)難點(diǎn):1、高效的字典匹配
                                       2、怎么樣捕捉鼠標(biāo)移動(dòng)到某一單詞的事件(在做統(tǒng)計(jì)的時(shí)候?qū)⑺械膯卧~打斷為label---不太成熟的思想)
                                       3、多用戶時(shí)數(shù)據(jù)怎么樣存儲(單用戶時(shí)可以是只有一個(gè)字典,但是多用戶時(shí)怎么設(shè)計(jì))

              

          posted @ 2011-06-09 15:50 doctor 閱讀(257) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 林芝县| 泌阳县| 高清| 达日县| 青冈县| 乌审旗| 巢湖市| 通海县| 神木县| 义乌市| 靖安县| 石狮市| 神农架林区| 柞水县| 霍林郭勒市| 油尖旺区| 新干县| 瑞昌市| 厦门市| 合川市| 崇仁县| 唐山市| 墨玉县| 扎囊县| 莱阳市| 南皮县| 合江县| 闵行区| 宝鸡市| 四子王旗| 友谊县| 洱源县| 清水河县| 屯昌县| 镶黄旗| 金华市| 安仁县| 沙田区| 托克逊县| 青州市| 沂南县|