<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    于吉吉的技術博客

    建造高性能門戶網

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      65 隨筆 :: 6 文章 :: 149 評論 :: 0 Trackbacks

    web開發

    posted @ 2012-03-19 16:33 陳于喆 閱讀(4383) | 評論 (3)  編輯

         摘要: 其實為什么javascript的定時器會出現所謂的不可靠或偏差的情況,這是可以理解的,最主要的問題是它們并不是所謂的線程,其實
    javascript是運行于單線程的環境中,而定時器只是計劃代碼在未來某個執行的時間,執行的時間點是不能被保證的,因為在頁面的生命周期中,不同時間可能存在其他代碼,或各個瀏覽器的內核控制住javascript進程。  閱讀全文
    posted @ 2012-01-10 15:15 陳于喆 閱讀(3548) | 評論 (6)  編輯

    posted @ 2011-12-06 16:22 陳于喆 閱讀(4992) | 評論 (7)  編輯

    posted @ 2011-08-21 15:55 陳于喆 閱讀(6427) | 評論 (0)  編輯

    posted @ 2011-06-02 16:11 陳于喆 閱讀(970) | 評論 (0)  編輯

         摘要: google map測距的實現和分析
    不斷有傳聞google map在今年的7月1號之后在大陸停止運營,具體原因是因為天朝的牌照問題,這個就不多講了,可以發現現在搜房網的地圖,和安居客等的地圖紛紛都撤下 google map,而重新選擇了mapabc或baidu,當然網易房產地圖也不例外,現在也在使用mapabc作為網易房產地圖的開發,預計將在6月底前上線,到 時再跟大家分享一下mapabc的一些開發實踐。
    還是說回google map的開發,自從上次建了個qq群就有不少人在問測距怎么實現,當然很多人想的是拿來主義的,當時是拿http://xf.house.163.com /gz/map/000B.html的例子出來,但確實頁面上進行了封裝也寫得比較亂,所以還是比較難以抽離,先給個簡單實現的例子:  閱讀全文
    posted @ 2011-06-02 14:01 陳于喆 閱讀(3969) | 評論 (1)  編輯

         摘要: 有朋友去一家大型的互聯網公司參加了java程序員的筆試,抄下了一些筆試題,可能有的抄的并不全,試了解答一下,有些還真的答不出來

    1.cookie和session的作用以及他們的應用場合
    2.怎樣讓jvm加載一個Class的同時執行一段代碼
    3.post和get區別
    4.事務的屬性有哪些?寫出spring或jdbc管理事務的例子
    5.實現一個高并發、高性能的hashmap。寫出偽代碼
    6.解析一段xml,拼接成一個url。  閱讀全文
    posted @ 2011-04-21 17:23 陳于喆 閱讀(3771) | 評論 (9)  編輯

         摘要: google Map的交互基本都是事件驅動的,這表示js是通過生成時間來響應交互的,并且處于監聽我們設定的事件,每個 Google Maps API 對象都可導出大量已命名的事件。如果程序想要實現某些事件,則會為這些事件注冊 Javascript 事件偵聽器,并會在通過在 google.maps.event 命名空間中注冊 addListener() 事件處理程序接收這些事件時執行相應的代碼。

    初步的事件響應

    google map中的所有對象都可以對用戶事件監聽并作出響應,用戶的事件可以包括鼠標或鍵盤,對象可以監聽以下這幾種事件:
    'click','dblclick','mouseup','mousedown','mouseover','mouseout'
    這些事件看上去很像標準的DOM事件,但這些時間可以在不同的瀏覽器實現不同的DOM事件模型。  閱讀全文
    posted @ 2011-03-30 16:58 陳于喆 閱讀(26594) | 評論 (0)  編輯

         摘要: 本來是想將房產地圖google map的應用記錄一個系列,但繼1)記錄完之后總找不到時間繼續記錄下去,1)中主要解決了Google Maps JavaScript API V3 與 Google Local Search API兩者由于版本問題帶來的一系列麻煩,思路是使用一個iframe作為兼容的跳板,子頁面應用Local Search API獲得查詢的result后返回給父頁面,下面再記錄一些地圖坐標的定位和一些UI的組成。

    可參考 http://xf.house.163.com/gz/map/00Xa.html  閱讀全文
    posted @ 2011-03-05 16:02 陳于喆 閱讀(4419) | 評論 (2)  編輯

         摘要: 以前的房產地圖一直都是使用有道地圖,雖然有道地圖是很好,但是為了更好,還是決定使用google地圖來重新開發^_^,下面是一個開發完畢的簡單應用http://xf.house.163.com/gz/map/000B.html

    1)整合Google Maps JavaScript API V3 與 Google Local Search API

    Google Maps JavaScript API V3
    地址 http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/

    Google Maps JavaScript API V3 文檔讀起來真的是很清晰,各種demo也很齊全,并且論壇的擁有巨大的論壇支持,對比了一下Google Maps JavaScript API V3 和 V2 的版本,雖然第3版的 Google Maps API 看上去跟第2版挺相識,但在內在機制上有了較大的變化,尤其在對移動瀏覽器的支持上,專門針對iphone和android  閱讀全文
    posted @ 2011-02-12 15:57 陳于喆 閱讀(4967) | 評論 (6)  編輯

         摘要: The minimum requirement for a POM are the following:

    project root
    modelVersion - should be set to 4.0.0
    groupId - the id of the project's group.
    artifactId - the id of the artifact (project)
    version - the version of the artifact under the specified group

    Here's an example:  閱讀全文
    posted @ 2010-12-29 17:50 陳于喆 閱讀(330) | 評論 (0)  編輯

         摘要: 目前幾套系統中主要使用的hessian進行遠程調用webservice服務的有hessian的 HessianProxyFactory(com.caucho.hessian.client.HessianProxyFactory)和 spring的 HessianProxyFactoryBean(org.springframework.remoting.caucho.HessianProxyFactoryBean).

    1.HessianProxyFactory
    查看HessianProxyFactory源碼后發現,hessian在創建http請求連接webservice服務并沒有對連接超時進行相關的參數設置,所以當網絡出現問題就會造成整個hessian處理的阻塞,進而阻塞整個線程后續的處理
    以下是HessianProxyFactory對連接處理的源碼

    protected URLConnection openConnection(URL url)
    throws IOException
    {
    URL  閱讀全文
    posted @ 2010-12-16 14:46 陳于喆 閱讀(12039) | 評論 (11)  編輯

         摘要: 對很久以前的一個bug進行分析和總結

    function parsePost(data, action) {
    try {
    var postData = eval("(" + data + ")");

    // TO DO1
    } catch (e) {

    // TO DO2
    }
    }


    這是一段頁面的老代碼,data是數據庫body字段,既是用戶錄入并取出的數據,由于業務的關系,data是以json格式保存的,為了使數據能實現兼容,這里使用try...catch...方式處理,如果變量data能被轉換成對象,則執行TO DO1,否則執行TO DO2.

    我們知道eval的作用很簡單,就是把一段字符串傳遞給js解析器,由javascript解析器將這段字符串解釋成為  閱讀全文
    posted @ 2010-12-15 11:31 陳于喆 閱讀(4361) | 評論 (2)  編輯

         摘要: 大名鼎鼎的分布式緩存系統memcached,在開源社區中可謂是無人不知無人不曉,memcached支持分布式的橫向擴展,但memcached的服務端卻是單實例,并無"分布式"的功能,所謂的分布式只是客戶端在存儲的主鍵做分布的存儲;還有memcached組件緩存對象,如果組件無進行序列化必定無法正確取得數據;如何使用memcached的java組件來監控memcached的運行狀態;以上等等的問題是我在日常的工作中碰到并解決的,拿出來跟大家做個分享^_^

    對象的序列化
    首先memcached是獨立的服務器組件,獨立于應用系統,從客戶端保存和讀取對象到memcached是必須通過網絡傳輸,因為網絡傳輸都是二進制的數據,所以所有的對象都必須經過序列化,否則無法存儲到memcahced的服務器端.
    正如我們以往在集群中應用的序列化一樣,memcached的序列化的性能也是往往讓大家頭疼,如果我們對我們的domain類進行對象的序列化,第一次序列化時間會比較長,但后續會優化,也就是說序列化最大的消耗不是對象的序列化,而是類的序列化,如果存儲的只是一個String  閱讀全文
    posted @ 2010-12-08 15:00 陳于喆 閱讀(5620) | 評論 (4)  編輯

         摘要: 很久以前就見過這本1000頁的書<代碼大全>,覺得應該是說些寫代碼的東西,沒怎么又興趣去讀它,一次偶然的機會,發現自己是誤解了它,<代碼大全>覺得應該叫軟件百科好像更合適一點,因為它里面涵蓋了架構,分析,設計,編程,測試,重構,面向對象,調試,規范,管理,軟件質量控制,協作,優化,開發工具,注釋,甚至個性,開發藝術等等等,讓人感覺就是一本軟件百科全書.

    書讀的不多,不過剛開始讀了100多頁有一點感悟,所以做了一點記錄,叫讀<代碼大全>的一點記錄之1.

    利用隱喻
    隱喻通過把軟件開發與你所熟知的事情聯系在一起,從而使你對其更有深刻的理解,正是因為如此在計算機中的發展不過僅有數十年的歷史,卻擁有著所有科學最為豐富多彩的語言

    蓋房子的隱喻
    狗屋
    霹靂啪啦,木材加鐵釘,犯錯了怎么辦?無所謂,拆了再來過  閱讀全文
    posted @ 2010-12-07 17:59 陳于喆 閱讀(1253) | 評論 (0)  編輯

         摘要: 上個月參加的網易游戲部QA組的黑盒測試培訓,覺得挺有意思的,不過最讓我感興趣的是,能和真正專業的測試人員做了一點討論,發現站在開發人員的角度看待測試和站在測試人員看待測試時完全不同的一種東西.

    程序員和測試人員的心理差別
    程序員和測試人員的心理差別可以簡單的歸納為以下幾種

    成功 / 不成功
    什么才是一次成功的測試,大多數的開發人員對自己的程序測試完沒發現錯誤,就會說"這是一個成功的測試",如果發現某些新的錯誤則稱"這是不成功的測試";而測試人員剛好相反,當然這也是因為雙方的職責不同而引起的

    維護 / 破壞,施虐
    開發人員對測試往往是一種維護性的測試,目標在于證明自己開發的程序沒有錯誤,可能跟我們開發人員經常做建設性工作,更傾向創造事物,而不是將事物破壞有關;而測試人員在測試更多是一種破壞的過程,甚至是一種施虐,擺出一種把雞蛋打碎攪黃來挑骨頭的姿態  閱讀全文
    posted @ 2010-12-03 16:00 陳于喆 閱讀(1730) | 評論 (3)  編輯

         摘要: 把我上次的工程所用到的jar包做了一個整理,也加了一些簡單的描述,下面圖是上次工程用到的所有jar吧



    JAR包與描述對照表 注:jar包尾后的版本號不代表當前最高版本
    activation-1.1.jar Sun的JavaBeans Activation Framework(JAF),JavaMail要運行必須依賴于它的支持
    asm-3.0.jar
    asm-commons-2.2.3.jar
    asm-util-2.2.3.jar
    asm是一個輕量級字節碼處理和分析框架
    alveole-struts2.jar
    alveole-tools.jar

    aspectjtools-1.5.3.jar
    Aspect提供的注釋類庫和相應的解析類庫
    atomikos-util.jar
    數據庫提供分布式事務支持
      閱讀全文
    posted @ 2010-11-03 14:59 陳于喆 閱讀(3267) | 評論 (1)  編輯

         摘要: 記得問過身邊的一些開發工程師(非前端)緩存要分幾個層次,從哪里做起,答案很多,比如反向代理緩存,DNS緩存,memcached,數據庫緩存等等,確實很完整,不過好像漏掉了我們用戶跟我們聯通的最根本的工具瀏覽器,確實好似很少有人把用戶的瀏覽器當作是web站點的組成部分來看待

    緩存協商
    現在我們需要將用戶的瀏覽器也納入我們構建網站各個緩存層次中的其中一個重要層次,網站信息和內容在由web服務器生成,而將這些信息和內容作為一段二進制的文件作為本地緩存文件存放在用戶的瀏覽器,是兩個獨立個體共同完成的任務,所以兩者之間需要一種溝通的機制,也就是HTTP的緩存協商

    Last-Modified和If-Modified-Since協商
    Last-Modified和If-Modified-Since分別位于響應頭信息和請求頭信息中,都是記錄請求的頁面最后的修改時間
    在第一次訪問web服務器會返回200狀態,并在瀏覽器的響應頭Last-Modified上寫上此頁面最后修改的時間戳
    使用firebug進行查看


      閱讀全文
    posted @ 2010-08-25 00:03 陳于喆 閱讀(6439) | 評論 (0)  編輯

    主站蜘蛛池模板: 亚洲精品在线免费观看视频| 亚洲av午夜福利精品一区| 亚洲大片免费观看| 99xxoo视频在线永久免费观看| 亚洲AV无码乱码在线观看富二代| 人妻免费一区二区三区最新| 亚洲三区在线观看无套内射| 在线观看免费无码专区| 亚洲AV无码一区二区二三区入口 | 亚洲第一区精品观看| 美女黄色毛片免费看| 亚洲AV中文无码乱人伦| 三上悠亚在线观看免费| 亚洲AV综合色区无码一区爱AV | 中文字幕影片免费在线观看| 精品久久亚洲中文无码| 永久久久免费浮力影院| 特级做a爰片毛片免费看| 国产av天堂亚洲国产av天堂| 91热久久免费精品99| 亚洲人成77777在线观看网| 国产精品二区三区免费播放心| 美女扒开尿口给男人爽免费视频| 国产日产亚洲系列最新| 99久久久国产精品免费牛牛四川| 亚洲中文字幕无码av在线| 免费欧洲美女牲交视频| 免费国产99久久久香蕉| 亚洲精品二三区伊人久久| 免费国产成人高清在线观看麻豆 | 中文在线观看免费网站| 亚洲自偷自拍另类图片二区| 国外成人免费高清激情视频| 九九九精品视频免费| 亚洲黄色高清视频| 四虎影视永久免费视频观看| 可以免费观看的国产视频| 亚洲成a∧人片在线观看无码| 亚洲永久精品ww47| 大陆一级毛片免费视频观看| 免费毛片在线看不用播放器|