摘要: 貌似現(xiàn)在流行知乎live和微信公眾號, 博客已經(jīng)有些過時了,但關(guān)鍵是你對技術(shù)的思考和總結(jié), 采用什么方式其實不重要。
(1) 界面和邏輯的分離, view和controller可以由不同的人分別實現(xiàn), 獨立變動
(2) 基于接口分層設(shè)計, 單向依賴且低耦合
(3) UI層數(shù)據(jù)類型的分類,共有共享的還是私有的
(4) 消息中心,同時支持同步/異步的消息廣播機制, Manager/Controller/Data Model可以各自訂閱自己感興趣的消息
閱讀全文
posted @
2018-05-19 19:50 Richard Wei 閱讀(3711) |
評論 (1) |
編輯 收藏
摘要: 現(xiàn)在世面上的操作系統(tǒng)個可以說是百花齊放,但是它們的基本功能都是類似的, 包括:
進程管理, 內(nèi)存管理,文件系統(tǒng),網(wǎng)絡(luò)通訊,安全機制,用戶界面,驅(qū)動程序等。
同時我們會發(fā)現(xiàn)它們的基本架構(gòu)也都是類似的,包括應(yīng)用層, API層, 內(nèi)核層。
閱讀全文
posted @
2016-11-27 22:25 Richard Wei 閱讀(1744) |
評論 (0) |
編輯 收藏
摘要: 總之,無論學(xué)什么,先深入一個平臺, 從C++編譯器到CRT運行庫, 再到操作系統(tǒng), 從用戶態(tài)API到內(nèi)核和驅(qū)動,越深越好,然后再跳出這個平臺,接觸其平臺,會發(fā)現(xiàn)各個平臺基本都是大同小異。
閱讀全文
posted @
2015-09-18 00:49 Richard Wei 閱讀(4020) |
評論 (10) |
編輯 收藏
摘要: 外企前幾年還是風光無限,這幾年開始走下坡路,國內(nèi)互聯(lián)網(wǎng)公司則開始興起
文中告訴你外企生活的臺前幕后,呆過幾年外企, 很多東西深表贊同...
閱讀全文
posted @
2014-12-28 20:25 Richard Wei 閱讀(2310) |
評論 (0) |
編輯 收藏
摘要: 盡管我N次吐槽基于GDI的DirectUI界面庫會隨著XP的淡出而逐漸失去市場, 但是實際工作中還是要經(jīng)常和GDI打交道,外面招聘單位還是有不少Windows客戶端的開發(fā)崗位。 在這"移動互聯(lián)和"Web前端"橫行的"大數(shù)據(jù)"時代,很多同事開始向移動App和大數(shù)據(jù)轉(zhuǎn)型, 盡管這幾年P(guān)C客戶端的開發(fā)人員是只出不進, 但是只要Windows存在一天,我們的工作就還是有價值的..
閱讀全文
posted @
2014-11-15 00:01 Richard Wei 閱讀(8343) |
評論 (7) |
編輯 收藏
摘要: 技術(shù)深了可以再深,從C++編譯器到CRT運行庫, 再到操作系統(tǒng), 從用戶態(tài)到內(nèi)核和驅(qū)動, 最后到硬件, 原理背后還有原理, 真正能掌握所有細節(jié)的又有幾人呢?
閱讀全文
posted @
2014-10-12 22:03 Richard Wei 閱讀(5453) |
評論 (3) |
編輯 收藏
摘要: 異常和中斷是程序運行時比較重要的2個概念, 異常通常是由程序內(nèi)部引起的(比較常見的如堆棧溢出, 空指針訪問等),中斷通常是由外部系統(tǒng)引起的, 外部產(chǎn)生的中斷在應(yīng)用程序中很多時候會以事件或回調(diào)的方式通知出來(比如常見的IO事件)。
閱讀全文
posted @
2014-09-19 21:00 Richard Wei 閱讀(4136) |
評論 (3) |
編輯 收藏
摘要: 一個基本的圖形引擎要包括幾個方面的支持:位圖繪制,文字繪制,矢量繪制(如矩形,線條)。
可惜GDI這個20多年前發(fā)明的老古董,對這幾項的繪制, 除了位圖繪制可以通過AlphaBlend支持alpha通道,其他繪制都不支持alpha通道。
閱讀全文
posted @
2014-08-26 00:22 Richard Wei 閱讀(5269) |
評論 (3) |
編輯 收藏
摘要: 工作中有個需求是關(guān)于抓取揚聲器的聲音, 為什么會有這個需求?
試想我們在共享遠程桌面時,如果能夠把本地桌面應(yīng)用程序的聲音也一起發(fā)給對方, 用戶體驗該是多么棒。
閱讀全文
posted @
2014-08-21 23:34 Richard Wei 閱讀(14965) |
評論 (5) |
編輯 收藏
摘要: 最近工作中有個需求是將Icon轉(zhuǎn)成帶Alpha通道的Bitmap, 雖然網(wǎng)上有不少這方面的文章,但很多都是錯的, 這里記錄下,或許對后來人有用
閱讀全文
posted @
2014-08-21 22:23 Richard Wei 閱讀(5076) |
評論 (0) |
編輯 收藏
摘要: 對于客戶端架構(gòu)設(shè)計,個人覺得最大的原則就分層設(shè)計, 每層都封裝一個概念并保持獨立, 同時根據(jù)依賴倒置的原則, 站在上層客戶的角度提供接口。軟件工程里面的一條黃金定律:“任何問題都可以通過增加一個間接層來解決。
閱讀全文
posted @
2014-07-26 23:49 Richard Wei 閱讀(7374) |
評論 (2) |
編輯 收藏
摘要: 一直覺得客戶端開發(fā)的頂級就是瀏覽器開發(fā), Webkit作為應(yīng)用最廣泛的開源瀏覽器內(nèi)核,無疑具有很高的研究價值
閱讀全文
posted @
2014-07-26 20:01 Richard Wei 閱讀(1621) |
評論 (0) |
編輯 收藏
摘要: ITU最老,IETF最新,這方面也體現(xiàn)電信向互聯(lián)網(wǎng)的轉(zhuǎn)變, 同時感慨大部分技術(shù)標準基本都是美國那邊制訂, 我們只能follow了
閱讀全文
posted @
2014-07-04 22:32 Richard Wei 閱讀(2381) |
評論 (0) |
編輯 收藏
摘要: 軟件本身比較完整,包括服務(wù)端和客戶端,也用到了挺多技術(shù):Socket服務(wù),AT指令和串口通訊,Access數(shù)據(jù)庫,基于WTL界面的服務(wù)控制臺和客戶端等
閱讀全文
posted @
2014-06-05 20:31 Richard Wei 閱讀(4905) |
評論 (1) |
編輯 收藏
摘要: 計算機的好處是它永遠不會欺騙你, 它只會按部就班的執(zhí)行, 所以很多看似奇怪(甚至看似不可思議的問題), 只要你理解了程序背后的機制原理,都是可以找出根本原因的。
閱讀全文
posted @
2014-05-30 23:18 Richard Wei 閱讀(2674) |
評論 (2) |
編輯 收藏
摘要: 無論是PC客戶端開發(fā)還是移動開發(fā),或是Web開發(fā), 網(wǎng)絡(luò)編程都是很重要的一塊, 深入理解TCP/IP和HTTP協(xié)議是一個優(yōu)秀程序員的必備技能。
閱讀全文
posted @
2014-05-29 20:46 Richard Wei 閱讀(12258) |
評論 (0) |
編輯 收藏
摘要: 工作越久, 越覺得數(shù)據(jù)結(jié)構(gòu)和算法才是程序的關(guān)鍵, 語言只是實現(xiàn)工具, 平臺只是運行環(huán)境,數(shù)據(jù)結(jié)構(gòu)和算法才是解決問題的思路, 很多時候我們過度關(guān)注外圍的東西, 卻反而忽視了程序的內(nèi)在本質(zhì)。
閱讀全文
posted @
2014-05-15 20:10 Richard Wei 閱讀(1655) |
評論 (1) |
編輯 收藏
摘要: 簡單總結(jié)下,我們從C++的內(nèi)置數(shù)組講到標準庫提供的vector, 最后談到C++11新增的array, 數(shù)組這個最基本的數(shù)據(jù)結(jié)構(gòu)在C++中終于有了完整的支持。
閱讀全文
posted @
2014-05-12 22:05 Richard Wei 閱讀(2612) |
評論 (1) |
編輯 收藏
摘要: 本文講的的Windows 環(huán)境下exe可執(zhí)行文件的運行原理,這里面涉及的知識很多,需要讀者對Windows操作系統(tǒng)(如注冊表、進程、線程、內(nèi)存管理、PE文件格式等)、Windows編程(本文使用c++語言)等有所了解。
閱讀全文
posted @
2014-04-05 11:48 Richard Wei 閱讀(2472) |
評論 (0) |
編輯 收藏
摘要: 簡單總結(jié)下,操作系統(tǒng)通過一層層的封裝,隱藏了太多的東西, 很多看似簡單的行為, 實際上背后都有很復(fù)雜層層調(diào)用。理解這些原理,可以讓你的知識達到一定的深度,幫助你更好的解決問題。
閱讀全文
posted @
2014-04-05 00:57 Richard Wei 閱讀(5314) |
評論 (2) |
編輯 收藏
摘要: 計算機技術(shù)發(fā)展日新月異, 作為程序員的我們很多時候都很迷茫, 因為發(fā)現(xiàn)自己無論怎么努力, 也追趕不上新技術(shù)的步伐。這個時候我們有必要對整個技術(shù)發(fā)展的趨勢做一個比較全局的判斷, 這樣才能做到心中有譜, 才能把握自己學(xué)習(xí)的方向。 TIOBE的編程語言排行榜為我們指明了方向, 通過對該排行榜不同時間段的排名比較, 可以幫我們理清技術(shù)發(fā)展的趨勢。
閱讀全文
posted @
2014-03-16 22:48 Richard Wei 閱讀(5396) |
評論 (0) |
編輯 收藏
摘要: 如果說以前XP時代我們還有理由不關(guān)注高DPI, 那么在移動設(shè)備時代和大顯示器的高分辨率時代, 我們就沒有理由不關(guān)注高DPI了, 比如Surface Pro的分辨率是1920x1080, 這種情況下如果系統(tǒng)我們不設(shè)置高DPI, 基本上就沒法觸摸和操作了,所以現(xiàn)在普通程序?qū)Ω逥PI的支持已經(jīng)成為趨勢了。
閱讀全文
posted @
2014-02-18 23:12 Richard Wei 閱讀(41864) |
評論 (10) |
編輯 收藏
摘要: 在XP時代我們的程序沒有響應(yīng)后只能通過任務(wù)管理器強制殺掉,但是Vista之后情況變了, 我們?nèi)匀豢梢酝蟿邮ロ憫?yīng)的窗口,甚至可以嘗試最小化和關(guān)閉窗口, 我們把這個特性叫住Window Ghosting。
閱讀全文
posted @
2014-01-08 21:26 Richard Wei 閱讀(3231) |
評論 (3) |
編輯 收藏
摘要: 我觀察圈子里很多成功和不成功的技術(shù)人,提出一個觀點,那就是個人的核心競爭力是是他獨特的個性知識經(jīng)驗組合。這個行業(yè)里擁擠著上百萬聰明人,彼此之間真正的不同在哪里?不在于你學(xué)的是什么技術(shù),學(xué)得多深,IQ多少,而在于你身上有別人沒有的獨特的個性、背景、知識和經(jīng)驗的組合。如果這種組合,1,絕無僅有;2,在實踐中有價值,3,具有可持續(xù)發(fā)展性,那你就具備核心競爭力。因此,當設(shè)計自己的發(fā)展路線時,應(yīng)當最大限度地加強和發(fā)揮自己獨特的組合,而不是尋求單項的超越。而構(gòu)建自己獨特組合的方式,主要是通過實踐,其次是要有意識地構(gòu)造。
閱讀全文
posted @
2013-12-21 12:43 Richard Wei 閱讀(1758) |
評論 (0) |
編輯 收藏
摘要: 最后簡單總結(jié)下 , 我們可以看到Windows系統(tǒng)上基本沒有一種通用的抓屏技術(shù)可以高效的抓取所有的系統(tǒng)(XP/Win7/Win8), 很大一部原因是操作系統(tǒng)的顯示驅(qū)動模型在從XPDM向WDDM轉(zhuǎn)變, 應(yīng)用層的API也在從GDI向D3D轉(zhuǎn)變 。 相對于Linux的穩(wěn)定, Window的不斷發(fā)展和進步, 對開發(fā)人員究竟是喜是悲?
閱讀全文
posted @
2013-12-01 22:04 Richard Wei 閱讀(38813) |
評論 (16) |
編輯 收藏
摘要: 我們可以看到數(shù)組new[]和delete[]的關(guān)鍵是, C++編譯器在數(shù)組起始地址之前的4個字節(jié)保存了對象的數(shù)量N,后面會根據(jù)這個數(shù)量值進行N次的構(gòu)造和析構(gòu) 。
我們可以看到C++ 編譯器在背后干了很多事情,可能會內(nèi)聯(lián)我們的函數(shù), 也可以修改和產(chǎn)生其他一些函數(shù), 而這是很多C開發(fā)者受不了的事情, 所以在內(nèi)核級別, 很多人寧愿用C來減少編譯器背后的干擾。
閱讀全文
posted @
2013-11-17 21:17 Richard Wei 閱讀(5637) |
評論 (0) |
編輯 收藏