原创 鴨子不想再聽雷-怎樣把技術培訓做好

【提問】 我想提問,怎樣才能把技術培訓做好?   這位先生,你說的是技術培訓嗎?這有什麼難度,我天天都在搞。發放文檔給學員閱讀,我呢就製作PPT,準備好電腦、會議室和投影儀,通知學員到場就可以了。完成以後留個習題,我打個分數不就完了,還有

原创 “軟芯片”暢想-基於Python的應用軟件開發框架Softchip(一)

【來龍去脈】 衆所周知,一臺最常見的PC往往由主板、CPU和各種芯片板卡(如內存、聲卡、網卡、顯卡等 )等組件組成。所有的組件可以分別由不同的生產商遵循確定的電氣指標和接口標準並行開發和生產。生產完成後,只要按照接口要求,接駁集成在一起

原创 搞對象千萬要注重對方身材-親身體驗一則

在並不遙遠的上個世紀的中國,談戀愛還被稱爲“搞對象”,一個土得掉渣的名字,估計90後的同學們都未必聽說過這個詞。後來不知爲什麼,也許是西洋化了吧,這個叫法逐漸地淡出了,“對象”也迅速地被“男朋友”、“女朋友”、“戀人”甚至“情人”所替

原创 短小精悍的Bug可以撼程序強盛

編碼有點疲憊,暫時休息一下大腦,寫個bug report。 話說,那些短小精悍的bug,都是極其精巧別緻的,是可遇而不可求的。它們往往用不了幾行代碼,卻可以輕輕鬆鬆地穿過編譯器、連接器、debugger的層層圍捕,甚至是經驗老到的程

原创 God of the code – Virtual Machine(代碼的上帝 - 虛擬機)

Java的Virtual Machine也許不是第一個也不是最好的一個,但似乎是Java的流行使得Virtual Machine(以下簡稱VM)開始大行其道。有很多主流的高級編程語言都是採用這種形態,如Perl、Python和Ruby

原创 孫行者定身術+時間機器-Generator in Python(序)

自以爲在Python領域玩耍的時間挺長了(有近3年了吧),可是我還是錯過了一個重量級的關鍵字:Yield。這也難怪,它代表一種特殊的東西:generator,並且還牽扯了一個重量級的名字:coroutine。這兩個傢伙對我而言都很陌生

原创 軟件設計要害之解耦(正文)

作軟件工程師,難! 在現實中,你要努力地求偶;而在程序的世界裏卻要千方百計地解耦。現實中的偶,成就美滿之家,而程序中的耦卻帶來煩惱。 在序言中,村長通過組建交易委員會的方式,化解了買賣雙方的困境。爲此,本臺記者曾經採訪過村長,問他

原创 爲什麼是C語言?

對的,開門見山的說,我就是要向你推銷C語言!我是C語言推銷者,麥辣! 我知道你可能是一個Web開發者,整天只與SQL,CSS,HTML和Javascript打交道,或者你可能一直幸福地沉浸在Java的甜蜜世界,每天品嚐着各種

原创 小李的飛刀-淺談正則表達式

行走江湖的武者和各種俠客,必定都有隨身的武器。刀槍劍戟斧鉞鉤叉,十八般兵器都有人喜好。除了常規武器以外,還有很多人攜帶者飛刀(鏢)之類的暗器,以應不時之需。當然了,能夠把飛鏢玩到一擊必殺境界的,就只有古龍筆下的李尋歡一人,大多數

原创 從一碗麪條到一碗漿糊,再到哪裏?

在學校裏學習編程的開始,令人記憶猶新的是對“一碗麪條”似的代碼的批判,說是goto語句氾濫,導致整個程序就像是一碗麪條,理不清頭緒。所以後來整出結構化編程,並莊重地禁用goto語句。這麼多年來,從學校到公司,看了、寫了這麼多代碼,基於

原创 Coding的快樂時刻

曾經問過自己,在coding的過程中,什麼時候最快樂?當時的答案是:當看到自己寫出了N多的代碼時最快樂,因爲特別有成就感。那個時候,“多”就帶來快樂,因爲代碼多似乎顯得更專業,似乎就可以脫離了教學的感覺。 然而,時隔多年以後,

原创 Python演繹的精彩故事(二)

書接上回。在展示了App最頂層的代碼後,我們去看看各模塊如何編程。 爲了能看懂各模塊的代碼,首先需要鋪墊一下Softchip架構的基本概念和設計規範。 1、任意模塊不持有其他模塊的實例,自然不再顯式使用句柄調用任何方法。    這意味着模

原创 法拉利和獵槍-蹩腳軟件設計的根源

有一位名叫克拉克的大富豪,名列世界富豪榜Top10,錢多得花不了,很想去非洲玩樂揮霍一番,於是他撥通了一份廣告上的電話:嘿,小子,聽好了,我要去非洲狩獵,要訂購你們公司最頂級的狩獵設備,越快越好,10天后我在非洲接貨…。 10天以

原创 Python演繹的精彩故事(一)

Python是一門廣受讚譽的編程語言。她既有強大、簡潔而優雅的表現力,又能夠支撐工業級的開發實踐。 但本文不是Python的入門介紹和教程。 今天我們來講一個與衆不同的故事,看看Python還有哪些不爲人知的精彩值得發掘。 我們想借助P

原创 編程預警:潛伏在無符號整數中的危機

最近幾天在寫代碼的時候,一不小又掉進一個老相識的陷阱裏,好生慘痛。曾經告誡過自己,曾經提示過別人,但還是防不勝防。 看看代碼樣例吧。在最開始,我寫了類似這樣的一個for循環。 typedef unsigned int UINT