Time of Update: 2018-12-04
ArgumentNullException constructor is really a bad API design sample. First let us review the constructor definition of ArgumentException and ArgumentNullException(From MSDN): public ArgumentException( string message, string paramName )public
Time of Update: 2018-12-04
今天從圖書館借了本Herb Sutter的《Exceptional C++ Style》,Herb在這本書的最後專門整了個專題來討論std::string的設計問題,其中的核心內容就是討論給std::string瘦身,更進一步,Herb提出了他的觀點--“為了避免巨型(monolithic)設計,儘可能編寫非成員非友元形式的函數”。Herb認為如果一個class總是試圖通過成員函數而不是非成員函數來提供功能 ,將會有兩個主要的問題:(主要問題)把可能獨立可用的功能"封鎖"在了一個類的內部
Time of Update: 2018-12-04
賽迪的訊息,不知道是不是真的?如果是,那麼並行編程還那麼重要嗎? Herb Sutter去年寫了那篇著名的《The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software》,提出了並行編程才是未來方向的觀點,PTC06上面看到他的speech講的也是vc
Time of Update: 2018-12-04
今天項目組的一個同事給大家share了一些前段時間去Waltham(產品美國項目組所在地)那邊交流的情況和感受,以及一些我們產品團隊的傳統文化,當然旅行經曆也是少不了的,呵呵。 我覺得最有意思的一點是,Alley介紹說美國那邊的Team
Time of Update: 2018-12-04
這兩天IT屆的新聞應該是Google推出的Chrome瀏覽器,大家可以在Google首頁的醒目位置找到下載連結。不太明白為什麼會叫Chromium這麼個名字,誰能解釋下來源?出於好奇,隨手下了一個試了試。當然,其實現在的web瀏覽器都那個樣,也沒感覺出有什麼特別的東東。後來在我的抓蝦訂閱裡面發現了一篇Google中文部落格上介紹Chrome特點的文章,大家可以看看,碰巧這篇文章裡面也提到了競爭的問題。我個人現在用得最多的是IE7,這個應該也是目前主流的Web瀏覽器。另外,作為backup,我會安
Time of Update: 2018-12-04
是的,就在昨晚,醜陋的巴西終於被踢出了世界盃。 坦率的講,過去十年黃衣軍團都一直是我最欣賞的球隊,而這兩年的法國,卻一直都被自己視作是明日黃花。但當巴法大戰(哦,或許巴西這場比賽的表現根本不配稱作與法國大戰)終場哨音吹響的時候,原本應該失望至極的我,突然有一種說不出來解脫。
Time of Update: 2018-12-04
最近電腦升級,發現螢幕上的字型突然變模糊了,對於大部分時間都對著顯示器的人來說這個可是絕對不能湊活的。因為以前電腦用的是A卡,新電腦被貶成了intel的整合顯卡,所以一開始懷疑是顯卡的問題。不過整合顯卡再次也不至於連幾個大字都顯示不了吧,又試著把顯卡和顯示器的驅動都更新到latest,但似乎還是解決不了問題。偶然間發現把windows的平滑字型選項換成standard或者直接disable後效果反而更好。不解,按說ClearType應該是效果更好才對,況且我原來機器上也是用的ClearType而
Time of Update: 2018-12-04
在如今愈趨複雜與緊湊的工作步調中,“保持簡單”是最好的應對原則。 你的一天只有1440分鐘,你能完成多少的工作?在資訊龐雜、速度加快的職場環境,我們必須在愈來愈少的時間內,完成愈來愈多的事情。在如今愈趨複雜與緊湊的工作步調中,“保持簡單”是最好的應對原則。 現代人工作變得複雜而沒有效率的最重要原因就是“缺乏焦點”。因為不清楚目標,總是浪費時間重複做同樣的事情或是不必要的事情;遺漏了關鍵的訊息,卻浪費太多時間在不重要的訊息上;抓不到重點,必須反覆溝通同樣的一件事情。而目標清楚、掌握重點、做好溝
Time of Update: 2018-12-04
http://www.yahoo.cnYahoo中國因為和交大有些淵源,所以alibaba今年西安招聘是以yahoo中國為主。說實話yahoo來之前我是從來沒考慮過的,一來對yahoo前幾年的招聘沒啥映像,二來他的競爭者Google和Baidu現在實在是太鋒芒,再加上自己本身也沒有相關的經驗。後來看到ablibaba的招聘資訊,發現除了yahoo中國在北京外,其他部門都在杭州,沒考慮過去杭州(後面的網易、道富、恩傑等我都放棄了),而且看到yahoo招聘的職位裡面有個c/c++工程師,感覺還可以試
Time of Update: 2018-12-04
lock free (中文一般叫“無鎖”,一般指的都是基於CAS指令的無鎖技術) 是利用處理器的一些特殊的原子指令來避免傳統並行設計中對鎖(lock)的使用。眾所周知,鎖在解決並行過程中資源訪問問題的同時可能會引入諸多新的問題,比如死結(dead lock),另外鎖的申請/釋放對效能也有不小的影響,當然最大的問題還在於使用鎖的代碼模組通常難以進行組合。lock free的目標就是要消除鎖對編程帶來的不利影響。C++大牛Andrei
Time of Update: 2018-12-04
首先,這兩個都是目前使用很廣泛的原始程式碼控制工具。P4是商業軟體,所以主要用在公司內部,功能基本上是很好很強大;SVN就不用說的,基本上現在的開源項目都用它,open source的。這不是一篇介紹兩種工具的文章,我想說的是兩種工具對版本變化的處理方式。最近出版的《代碼之美》裡面Karl
Time of Update: 2018-12-04
名詞解釋:磁軌:碟片上的同心圓環柱面:所有半徑相同的同心圓環組成一個柱面扇區:磁軌沿半徑線劃分成一個個小的段,每個段就叫做一個扇區尋道:移動磁頭到目標磁軌旋轉:旋轉磁碟,將目標扇區旋轉到磁頭下局部性原理:當一個資料被用到時,其附近的資料也通常會馬上被使用頁:頁是電腦管理儲存空間的邏輯塊,硬體及作業系統往往將主存和磁碟儲存區分割為連續的大小相等的塊,每個儲存塊稱為一頁(頁的大小通常為4KB)磁碟預取:從目標位置開始,讀取一定長度的資料放入記憶體(預讀的長度一般為頁的整數倍)磁碟目錄:磁碟目錄將資料
Time of Update: 2018-12-04
今天遇到的一個問題,可以抽象成如下所述:有n個整數,就假定是都大於0的,也就是n個正整數,各不相同。從中任選兩個數可以構成一對[a,b]其中a!=b),並且認為[a,b] == [b, a],需要用這一對來作為一個簽名,或者簡單點說就是一個標識用來唯一地確定另外一組東西E。但是,E中的元素e是用一個整數來標記,也就是說不能夠直接將[a, b]賦給e。ok,問題清楚了,實際上這裡需要的就是將[a,
Time of Update: 2018-12-04
每次在Visual Studio IDE裡面進行關鍵字的尋找的時候都比較煩躁。既然MS在案頭上都推出了Windows Desktop
Time of Update: 2018-12-04
如果一個類沒有任何constructor,那麼會有一個default constructor被隱式的聲明出來,一個implicit default constructor將是一個trivial(無用的)constructor。但是在某些情況下,implicit default constructor將是一個nontrivial constructor,下面一一討論:由編譯器合成nontrivial default constructor的四種情況:1)帶有default constructor
Time of Update: 2018-12-04
問題敘述:4-6 VLSI晶片測試 Diogenes教授有n個被認為是完全相同的VLSI晶片,原則上它們是可以互相測試的。教授的測試裝置一次可測二片,當該裝置中放有兩片晶片時,每一片就對另一片作測試並報告其好壞。一個好的晶片總是能夠報告另一片的好壞,但一個壞的晶片的結果是不可靠的。這樣,每次測試的四種可能結果如下: A晶片報告 B晶片報告 結論 B是好的 A是好的 都是好的,或都是壞的 B是好的 A
Time of Update: 2018-12-04
首先聲明本人並不是一個UI designer,工作上基本也很少直接接觸UI的東西,所以這篇文章完全是從普通使用者的角度談一下自己的使用體會:) Google
Time of Update: 2018-12-04
參考部落格:http://www.cppblog.com/colorful/archive/2012/05/17/175182.html在各種電腦體繫結構中,對於位元組、字等的儲存機制有所不同,因而引發了電腦通訊領域中一個很重要的問題,即通訊雙方交流的資訊單元(位元、位元組、字、雙字等等)應該以什麼樣的順序進行傳送。如果不達成一致的規則,通訊雙方將無法進行正確的編/解碼從而導致通訊失敗。目前在各種體系的電腦中通常採用的位元組儲存機制主要有兩種:Big-Endian和Little-Endian,下
Time of Update: 2018-12-04
今天看到托尼·霍爾(Tony Hoare,快速排序演算法QuickSort的發明者)老大的一個訪談裡面提到他當年圖靈獎獲獎演說《皇帝的舊裝》的故事。 問題四:聽說你在獲得圖靈獎的時候做了一個名為《皇帝的舊裝》的演講,能說說當時您都談到了什嗎? 托尼·霍爾:我在那天的演講當中主要是談程式設計語言的設計,我當時是想對那個時候的一些方法提出一些批評,比如說像Algol 68這樣的設計,我認為它們太過複雜了。我就打了一個比方,說這些語言這麼複雜,就好像一個人穿了太多件衣服在身上。我就借鑒了安徒生的《
Time of Update: 2018-12-04
IronPython、IronRuby分別是Python和Ruby語言在.NET上面實現的名稱,當然具體的工作就是用.NET上面的各種技術來實現這些語言,最終運行在.NET Framework上面。 以前一直不知道這個“Iron”是什麼意思,因為Microsoft比較喜歡用什麼島嶼、星球之類的名字來命名項目,所以看起來Iron這個以前完全沒見過的首碼(prefix)也應該是類似的含義。不過這次感覺完全錯了。 Jim Hugunin(IronPython的發起人,目前在ms負責DLR)在PDC08