What have you found for these years?

2008-08-05

summer2008 與 dm-mapping 心得

1. sqlite3 很方便,但是功能果然很少...
2. nginx 真的很好用,也很省資源
3. 跑 rails 真的很吃記憶體...

4. rfeedparser 居然 depend on mongrel, 神經病嗎
我期望的 feed parser 是把所有規格統一起來,並非還要處理 http request,
remember unix philosophy?


Write programs that do one thing and do it well.
Write programs to work together.
Write programs to handle text streams, because that is a universal interface.


why not eat string and output hash or struct?
為什麼要自作主張處理 http request 又處理 encoding?
這我自己可以找其他做更好的 library 用吧,何苦把 dependency 弄得那麼高?
如果我根本不需要 network, 這些不就很多餘?有空的話可以考慮幫他瘦身。

5. 之前寫的 has many thumbnails 功能太強,簡單的 avatar 縮圖,
用這個也真的是太多餘了,這邊需要改進。

6. ludy paginator 還有不少功能沒寫,但是因為不常用又很容易寫,
一直沒有擴充他... 另一方面,will paginate 好用嗎?看他好像開發很頻繁...
可是這不就只是很簡單的功能??再另一方面,我還是不懂 rails 為什麼要拿掉他。

7. 根據以上,看來 merb 說不定是第一個可以取代 rails 的。像是 ramaze
這種和 rails 差異太大的,要跨過去老實講是真的有點困難,比較像玩具...

8. data mapper 內部程式讀了一些,果然是很好很強大。程式碼相當漂亮,
架構非常巨大,自嘆不如。不過講真的,任何人看到金字塔都會覺得 awesome 吧。
這 project 也是一堆人在做,做了一段時間了,有這種成果可能也是必要的吧。
但說是這樣說,小 bug 似乎還是不少,要拿來 production 可能還是要等 1.0.
現階段應該還只能在實驗階段。

9. 小案子不要企圖改寫 html, 那太花時間了。我大概改了一半就沒力了。
所以現在是 table + css 參半,滿容易出問題的 :(
不想寫小案子啊... 很多東西都搞 workaround 比較有優勢。

10. css 需要練習,不是看了就會用的東西。有些屬性跟預期效果差距都不小。
例如 float 我到現在還是不太會用,是個滿神奇的功能?

11. capistrano 的行為總是跟我想像差異很大,還是暫時放棄,改 vlad 試試?

12. git 很好很強大。不過有 git revert revert 嗎?因為我 revert 錯了,
想再 apply changeset 回來... 暫時沒找到方法,先手動加回去,反正才一行。
(唔,難道 git show COMMIT | git apply 這樣不知道行不行)

13. 不明白為什麼 rails 說要 rest 但是 ooo_url 卻沒有 .html?
另外為什麼不支援 .xhtml? 都還要我自己設。

14. test case 要從頭寫,從中間開始寫肯定沒力。尤其牽涉架構的問題更討厭...
不過這也有點讓我懷疑 test case 對於非 library 有多少價值了?
如果真的需要付出這麼高昂的成本去測的話... 一點閃失似乎也沒什麼。
反正也沒有 client depend on us.

15. rspec 真的好用嗎?看到 it 當 method 名還是很不舒服。
但是 test/unit 真的不是很好用,只能說堪用。

16. postgresql 的功能真的很強大,mysql 沒得比。效能呢?大家都說 mysql 快。
不過我也看過有人說,不管什麼時候 postgresql 都比較好。這沒實際去用,
還真的滿難講的。可惜我應該不可能會去看 sql, 只會永遠當旁觀者。

17. 也因此,data mapper 的 core 我大概是很難去動,畢竟跟 sql 息息相關。

18. ruby 的 URI.parse 對 http 的規定非常少,http://asd 都能過。
我現在完全都倚賴 rescue bad format, 是正確的嗎?另一個例子是 Date.

19. 考慮 accessibility, ajax 大概是最差的選擇。剛開始還以為是個
多麼神奇的東西,真的去看才發現是很普通的東西,然後一堆壞經驗之後,
他真是個討厭的東西。果然純粹的 (x)html 才是王道啊。

20. ergo 實在應該加到 standard library 裡面

21. named_scope 沒啥差吧,少打點字而已。
不過我對這名字不太滿意,很難望文生義。

22. 為什麼不加入 validate_url 和 validate_email 啊?
23. 原來 crontab 這麼好寫... 為什麼之前一直沒看到簡單的範例??

23. 在 rails 裡 call background job 原來這麼麻煩!
我以為是很 trivial 的事,開個 Thread.new 不就好了嗎?
結果 mongrel 吃掉我的 thread @_@b
google 半天,看到 Zed Shaw 說不只是 rails 內部一點也不 thread safe,
ruby 本身的 class loading 也不 thread safe,
所以,無解!他的作法大概就是幹掉 user 產生的 thread 吧!
雖然說 thin 的作法可能不同,但最好不要 depend on this,
既然 mongrel 說 no user thread, 那就別用吧。
取而代之的,就是一堆麻煩的 workaround... 暫時還是先用 cron 解決,
日後可能先看 bj 能做到什麼程度。或是換掉 rails 搞不好就沒事了??
class loading 沒有 thread safe 有啥難解決的,一開始就全 load 好即可。
start up 特別慢根本就沒差吧?穩定比較重要。

24. rails 沒有 nested layout, 不知道 merb 有沒有?
真的覺得很奇怪,常常我覺得必須的東西,很多人都完全沒當一回事,
討論到最後,只會說我可以試著做做看 @@ 哪來那麼多時間慢慢寫?
如果專職做這個倒是也不錯就是了。

25. textmate 2.0(敲碗)快支援寬字元顯示吧!
26. mac 的 case insensitive filesystem 會害死人!
27. rdoc 不好用,yard 不錯嗎?考慮立刻換過去?
28. bones 原本缺很多東西,到 2.x 之後好用很多,我不用再去改他的內容了
29. zzz

0 retries:

Post a Comment

All texts are licensed under CC Attribution 3.0