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

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

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

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    最近的學習和工作

    Posted on 2008-03-04 19:09 dennis 閱讀(682) 評論(1)  編輯  收藏 所屬分類: 涂鴉
        最近一直在寫Ruby腳本,說出來你可能不相信,我用Ruby寫游戲腳本。用的是JRuby,采用JRuby是因為定時器的問題,Ruby1.8.6因為線程是用戶空間內的本地線程,標準庫沒有提供強大的定時器功能,而對于游戲邏輯有相當多的任務需要定時處理,權衡之下,最后決定使用JRuby,封裝了java的ScheduledExecutorService,等以后Ruby有更完善的定時器的時候就切換回來(我猜測引入了native thread的Ruby1.9應該有更強大的定時器),基本滿足了要求。這一過程也更讓我覺的JRuby是個非常有前途的項目,利用Ruby的語法以及動態語言的高效加上java極其豐富的類庫,這樣的組合有莫大的威力,況且 JRuby的性能比之c ruby在某些方面更有優勢,在1.1出來后應該可以有一個更大的提升。

        寫Ruby腳本唯一比較郁悶的是重構,盡管Netbeans比RDT提供了更好的重構功能,但是對于一些復雜重構仍然沒有比較好的支持,況且我也不敢完全信任IDE的自動化,這種時候更顯示出完備的單元測試的重要性,如果沒有單元測試,對Ruby腳本的重構簡直難以想象。另外一個比較麻煩的是,Ruby對二進制的處理并不是很方便,盡管使用了bit-struct,但是它只能支持定長的數據結構,而不是可變長度的array list,變長的string,或者switch結構;盡管我自己做了簡單的擴展,仍然很局限。幸好我遇到這樣的情況不多,通過其他手段變通處理也還能接受。后來javaeye上的莊表偉老大發布了DynamicStruct,這個才是根本解決之道,兩者結合使用應該可以處理所有情況了。不過那時我的協議處理部分都已經完成,下次有機會再試試。
        讀書嘛,最近終于開始讀買了許久的《代碼大全2》,以前是真怕這種大部頭,看著就沒信心讀完,哇哈哈,沒想到一讀下去就一發不可收拾,真是好書一本,就軟件構建中的設計一章就值回書錢了。又利用晚上在重讀sicp前三章,在注釋這樣的邊邊角角原來也非常有價值,例如對閉包和組合的解釋,靜態語言由于有太多的聲明式結構(struct、class etc.)反而對組合造成了阻礙和懲罰,而在Lisp中由于通用的組合粘合劑cons的存在,可以以一種統一的方式去處理組合結構,模擬各種復雜的數據結構。今天托同事在當當上買的書到了,《unix編程藝術》到手,這書按牛人的說法是sicp的實踐版,不讀就相當遺憾了。

    評論

    # re: 最近的學習和工作  回復  更多評論   

    2008-03-05 13:30 by Arbow
    《Unix編程藝術》過目一遍了,收益不是太多,或許我該去看看SICP。。
    主站蜘蛛池模板: 一级做a爰片性色毛片免费网站| 亚洲AV一宅男色影视| 亚洲字幕在线观看| 外国成人网在线观看免费视频 | 妞干网在线免费观看| 亚洲图片中文字幕| 男女超爽刺激视频免费播放| 亚洲日本在线免费观看| 国产又大又粗又长免费视频 | 免费人成网站在线播放| 日本精品久久久久久久久免费| 国产成人免费高清在线观看| 粉色视频在线观看www免费| 亚洲人成网站18禁止一区| 国产黄在线播放免费观看| 国产亚洲无线码一区二区| 99在线观看视频免费| 亚洲一区中文字幕在线电影网| 成人男女网18免费视频| 国产精品亚洲专区一区| 久久影院亚洲一区| 无码一区二区三区免费| 亚洲五月综合网色九月色| 日本特黄特色免费大片| 国产精品极品美女自在线观看免费| 亚洲欧洲成人精品香蕉网| 久草免费在线观看视频| 亚洲AV性色在线观看| 亚洲欧洲日产国码无码久久99| 69精品免费视频| 亚洲AV无码专区国产乱码不卡| 久久精品国产精品亚洲下载| 久久这里只精品国产免费10| 国产成人亚洲合集青青草原精品 | 亚洲AV午夜福利精品一区二区| 在线永久免费的视频草莓| 精品免费AV一区二区三区| 亚洲国产成人精品无码区在线观看| 性xxxxx免费视频播放| 午夜成人无码福利免费视频| 久久精品亚洲精品国产色婷 |