2011年9月29日 星期四
[轉錄] 程式設計師應讀的十本好書
這是由 Stack Overflow 票選出來的前十大好書,慚愧~一本都沒看過!
第一名 Code Complete,1289票,教你怎麼寫乾淨的程式。中文翻譯版連結在此。
第二名 Pragmatic Programmer,1138票,簡體版叫做”程序員修煉之道︰從小工到專家“。
第三名 Structure and Interpretation of Computer Programs,672票,這本有夠貴,要六千多台幣。不過,線上有免費全文版本在這裡可以線上閱讀。
第四名 The C Programming Language,541票,大名鼎鼎的C語言聖經。
第五名 Introduction to Algorithms,463票,StackOverflow上面這麼來簡述各聖經的訂位:Code Complete教你正確地寫程式;人月神話教你怎麼正確管理專案;Design Patterns教你怎麼正確設計;而這本書是教你怎麼想演算法。
第六名 Refactoring: Improving the Design of Existing Code,459票,中文譯本在這裡。
第七名 The Mythical Man-Month 人月神話,418票,中譯本從這裡購買。這是軟體專案管理的經典書籍。
第八名 Design Patterns,415票,中文譯本在這,不過似乎絕版了。
第九名 The Art of Computer Programming,378票,數冊可做參考書。這書簡稱為TAOCP,作者是Stanford大學的Knuth教授,也就是他發明了大名鼎鼎的TeX排版系統。
第十名 Compilers Principles, Techniques, and Tools,346票,可帶你進入compiler的奇幻世界,書的封面可是有一隻噴火龍的。
資料來源:http://www.inside.com.tw/2011/03/03/books-programmer-must-read
[轉錄] PHP - if v.s. switch 誰快?
再 fluffycat 上看到一篇測試 PHP 的 if 和 switch 判斷式哪個執行速度較快,根據作者使用亂數測試的結果是 if 略勝 switch,但差距並不明顯。雖然程式碼亂數只取到 5,但下面有網友幫忙測試了亂數 10、20 和 50,得到的結果還是 if 略勝。
小小的測試,小小的趣味。
原始碼:下載
參考資料:http://www.fluffycat.com/PHP-Design-Patterns/PHP-Performance-Tuning-if-VS-switch/
小小的測試,小小的趣味。
原始碼:下載
//copyright Lawrence Truett and FluffyCat.com 2009, all rights reserved define('BR', '<'.'BR'.'>'); echo 'Performance Testing PHP if / else VS switch with 100,000 iterations'.BR.BR; $ifTime = 0; $switchTime = 0; for ($x = 0; $x < 100000; $x++) { $oneToFive = rand(1,5); if (0 == fmod($x,2)) { $switchTime = $switchTime + testSwitch($oneToFive); $ifTime = $ifTime + testIf($oneToFive); } else { $ifTime = $ifTime + testIf($oneToFive); $switchTime = $switchTime + testSwitch($oneToFive); } } echo 'total if / else time: '.$ifTime.BR; echo 'total case time: '.$switchTime.BR; echo BR; if ($ifTime > $switchTime) { echo 'switch is quicker by '.($ifTime - $switchTime).BR; } else { echo 'if / else is quicker by '.($switchTime - $ifTime).BR; } function testSwitch($oneToFive) { $time_start = microtime(true); switch($oneToFive) { case 1: $z = 1; break; case 2: $z = 2; break; case 3: $z = 3; break; case 4: $z = 4; break; case 5: $z = 5; break; } $time_end = microtime(true); $time = $time_end - $time_start; return $time; } function testIf($oneToFive) { $time_start = microtime(true); if (1 == $oneToFive) { $z = 1; } elseif(2 == $oneToFive) { $z = 2; } elseif(3 == $oneToFive) { $z = 3; } elseif(4 == $oneToFive) { $z = 4; } elseif(5 == $oneToFive) { $z = 5; } $time_end = microtime(true); $time = $time_end - $time_start; return $time; }
參考資料:http://www.fluffycat.com/PHP-Design-Patterns/PHP-Performance-Tuning-if-VS-switch/
2011年9月28日 星期三
PHP 5.4 beta1 發佈
PHP 5.4 beta1 發佈了!!!
增加了一些新功能和移除部分過時的行為,主要做了三項變動:
原文:
參考資料:http://www.php.net/archive/2011.php#id2011-09-27-1
增加了一些新功能和移除部分過時的行為,主要做了三項變動:
- 增加可呼叫的 type hint。
- 移除自動辨識時區演算法,改用 UTC 為預設。
- 使用 mysqlnd 為預設來取代掉 mysql、mysqli 和 pdo_mysql。
原文:
- Added callable typehint.
- Removed the timezone guessing algorithm. "UTC" is now used in case the timezone is not set.
- The mysql, mysqli and pdo_mysql extensions now use mysqlnd by default.
2011年9月27日 星期二
Facebook 新功能 - 翻譯
今天再逛 Facebook 的時候,忽然發現它有翻譯的功能,似乎是不久前才出現的!
如下圖,在留言旁邊出現了"翻譯"的字樣。
按下翻譯之後,僅限塗鴉牆上的文字會被立即翻譯,不包含分享的內容。翻譯字樣則會變成"原文"。
目前還不知道背後是透過什麼來進行翻譯。不過,在實用性上我覺得多多少少對用戶都有些幫助!像是一些韓國偶像團體的粉絲網頁,就可以透過這個功能來直接翻譯原文,不用再額外透過一些翻譯軟體就能得知心愛的偶像的動態喔~
訂閱:
文章 (Atom)