10月份ACM Communications刊發了George V. Neville-Neil的文章:Kode reviews 101- A review of code review do's and don'ts.他的公司經曆了一輪裁員,但是不久發現系統的某些部分內容沒有人能理解,只能高薪聘之前的員工做"顧問"來收拾爛攤子.而這種情況已經再三上演,怎樣才能讓足夠多的人瞭解系統,Neville-Neil給出的對策是:代碼審查 Kode Reviews. 何以至此
小超同學遇到一個問題:gen_tcp:send方法報錯,Bad value on output port 'tcp_inet';按照字面意思是發往port的資料值是bad value; 開啟erl5.9\lib\kernel-2.15\src\gen_tcp.erl看一下gen_tcp的源碼: %%%% Send%%-spec send(Socket, Packet) -> ok | {error, Reason} when Socket :: socket(),
Hidden Features of C#這個文章大家不陌生吧,有人也在stackoverflow上提出了類似的問題:Hidden Features of Erlang,不過運氣不佳的是,這個文章並沒有火爆起來而且現在已經關帖了;已經回複的內容其中大部分內容我在之前的博文裡面已經覆蓋到了,下面逐樓梳理一遍,大家查缺補漏吧;還有一些能夠開出來是基礎知識,之所以被認為是Hidden Feature(隱藏特性),其實是個人知識盲區. Erlang Shell函數注釋:之前在[Erlang 0031]
The Sound of silence 歌手:《畢業生》插曲 Hello darkness my old friendI've come to talk with you againBecause a vision softly creepingLeft its seeds while I was sleepingAnd the vision that was plantedIn my brain still remainsWithin the sound of
Interaction design is the art of facilitating interactions between humans through products and services. -- --《Designing for Interaction》 自動完成控制項適用什麼情境?Drag&Drop的設計初衷是什嗎?分頁控制項又有什麼學問? 對於這些耳熟能詳屢見不鮮互動設計,應用到我的新系統中合適嗎?如何應用才是Best
[1] Erlang 語言設計的目標是並發,支援並發的核心機制是進程 "Making reliable distributed systems in the presence of sodware errors" [PDF] [2] 並發是一種不按照順序執行的能力,並行是從處理執行的角度"是否可以同時做";還有一種角度:並發是邏輯上的同時發生(simultaneous),並行是物理上的同時發生. [3]其實無論是面向過程還是物件導向,各種編程範式都是對現實世界中的一種抽象
dict是動態雜湊表實現的字典.在介面上和orddict保持一致,在實現上和array動態擴充的思路類似, 與proplists,orddict相比它能夠支援更大的資料量,你可以在資料量膨脹的時候從orddict轉為dict.dict使用的是動態雜湊技術實現,理論依據是論文: "The Design and Implementation of Dynamic Hashing for Sets and Tables in
和RabbitMQ這個項目的緣分好奇怪,很長一段時間內是只關注原始碼,真的是Erlang開源項目中的典範;現在要在項目中應用RabbitMQ,從新的視角切入,全新的感覺.彷彿舊情人換了新衣,雖是熟稔卻有不曾領略的風情. RabbitMQ提供了一整套機制來處理訊息的發送,接收,容錯,管理,上一篇文章中我提到了一篇Rabbits and warrens的文章,是一篇非常棒的入門文章,但是裡面忽略了不少細節,我沿著RabbitMQ in