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