close
閱畢日期:2011/12/11

跟思考術一點關係都沒有。不過這是一本很適合拿來當作從入門到進階的一本講計算機概論書,從演進、技法、其他語言的介紹、平行化、日期、浮點數...等等的,都介紹了一遍,真的很棒。我也因此學到許多Ruby與其他語言的東西、浮點數為什麼會有誤差...等等的事情。

=====

Python 內部編碼是 utf-16還是 utf-32 ??

Ruby1.9 的 regular expression engine是鬼車。

公開金鑰加密,指的是擁有「用公開金鑰加密的字串只能用秘密金鑰解密,反之以秘密金鑰加密的資料只能以公開金鑰解密」這種性質的加密方式。

浮點數不存在結合律,因為誤差會加大。
浮點數要比差異是否夠小。
這都是因為使用二進位表示小數的關係。

RubyInLine可以在Ruby嵌入C語言。

效能調校要點:
  • 透過測定,找到瓶頸
  • 減少物件數量
  • 減少呼叫方法的次數。
  • 避免以Ruby實作的方法
  • 盡量利用立即值
  • 以C改寫瓶頸部份
  • 以空間交換時間


REXML:Ruby內建的XML,以Ruby實作,所以較慢。

YAML, XML, JSON, Protocol Buffer, Thrift 等等的純文字交換格式都很不錯。

文字的保存,作者和我有一樣的感受,純文字才是王道。

Functional Programming language:Lisp/Haskell/OCaml/Erlang

在工作上應用「語言」的四個階段:
  1. 作為興趣學習
  2. 作為個人工具
  3. 作為工作支援工具
  4. 作為商用程式


eRuby (erb/eruby:erb以ruby實作,eruby以C實作)

GC演算法:
  • 引用次數計算法:缺點是循環引用,不利於平行處理
  • 標記清除法:物件數量多時,容易慢
  • 標記壓縮法:複製需要成本
  • 複製法
  • Generational GC
  • Conservative GC
  • 遞增GC:適用於embedded,如IO、Lua
  • 平行GC:Hotspot JVM


推薦書:
  • Ruby DSL for programmers
  • Code generation in Action
  • http://www.vanderburg.org/Speaking/


要買書可以到博客來書店

More about 松本行弘的程式世界
arrow
arrow

    elleryq 發表在 痞客邦 留言(0) 人氣()