`
lua
  • 浏览: 74447 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论
文章列表
http://sunxiunan.com/?p=1768   首先要声明,我对Comet技术只了解皮毛,下面的评论如果有错误欢迎各位看官指出。本文相关博客地址:http://amix.dk/blog/post/19577#Is-node-js-best-for-Comet amix在这篇博客中谈论他们在Plurk中Comet技术选择的变迁。   说句题外话,他有另外一篇博客 http://amix.dk/blog/post/19581#The-main-issue-with-non-blocking-servers 里面用两张图形象的介绍了阻塞式服务器与非 ...
開放原始碼的回收與再利用 前文提到對Google 時代的程式員來說,能夠善用開放原始碼的資源,對程式撰寫的工作能夠在速度上起很大的作用。我覺得不妨就把這項活動稱為「開放原始碼的回收與再利用」吧。在這之前,得先界 ...
Google時代的程式撰寫 最近愈來愈覺得網路時代的程式撰寫工作變得極端的快速多了。原先想將這個題目訂為「網路時代的程式撰寫」,但稍加想想,似乎少了Google 這個威力無窮的搜尋引擎,這樣子的速度提昇又辦不到,故以此題為名。   Google 時 代的程式撰寫,在那些面向上能帶來速度的提昇呢?首先是學習的速度的提昇。過去我們接觸新的程式撰寫知識,除了同儕之間的交流外,最主要的途徑還是透過書 籍或是雜誌。可能遇到的問題是,不知道是否能找到自己所關心主題的書籍或雜誌;找到相關的主題後,不知道是否能找到自己所需的項目。有了網路的存在,發表 的型式變得極端簡化,無數的論壇或個人 ...
閱讀他人的程式碼(6)閱讀的樂趣:透過程式碼認識作者 文/iThome (記者) 2008-04-08 <!-- NO MAIN PHOTO --> 即便每個人的寫作模式多半受到他人的影響,程式人通常還是會融合多種風格,而成為自己獨有的特色,如果你知道作者程式設計的偏好,閱讀他的程式碼就更得心應手。 閱讀程式碼時,多半會採取由上而下、抽絲剝繭的方式。透過記錄層層展開的樹狀結構,程式人可以逐步地建立起對系統的架構觀,而且可以依照需要的粒度(Granularity),決定展開的層次及精緻程度。 ...
閱讀他人的程式碼(5)找到程式入口,再由上而下抽絲剝繭 文/iThome (記者) 2008-04-02 <!-- NO MAIN PHOTO --> 根據需要決定展開的層數,或展開特定節點,並記錄樹狀結構,然後適度忽略不需要了解的細節─這是一個很重要的態度。因為你不會一次就需要所有的細節,閱讀都是有目的的,每次的閱讀也許都在探索程式中不同的區域。 探索系統架構的第一步,就是找到程式的入口點。找到入口點後,多半採取由上而下(Top-Down)的方式,由最外層的結構,一層一層逐漸探索越來越多的細節 ...
  閱讀他人的程式碼 (4)望文生義,進而推敲組件的作用 文/iThome (記者) 2008-03-26 <!-- NO MAIN PHOTO --> 先建立系統的架構性認識,然後透過名稱及命名慣例,就可以推測出各組件的作用。例如:當Winamp嘗 ...
閱讀他人的程式碼(1)─讀懂程式碼,使心法皆為我所用 文/iThome (記者) 2008-03-05 <!-- NO MAIN PHOTO --> 程式碼是別人寫的,只有原作者才真的了解程式碼的用途及涵義。許多程式人心裡都有一種不自覺的恐 ...
如何閱讀他人的程式碼 怎麼讀? 怎麼看別人的 Source code, 然後再去修改, 通常的回答, 大概是看 天份 . 我的做法通常是 先搞清楚此程式的 輸入、輸出 , 再從 main() 等開始位置開始追, 經過追蹤、測試 來找到要改的地方. 這一系列文章是作者(王建興)將他閱讀程式碼的心得 與 優點寫出來, 建議有空可以看看(文章下面內容, 是我覺得的重點摘錄). :) 閱讀他人的程式碼(1)─讀懂程式碼,使心法皆為我所用 先了解系統架構與行為模式,再細讀 接觸他人的程式碼,大致上可以分為三種程度: 了解 修改、擴充 抽取 ...
function trim(s)  local from = s:match"^%s*()"  return from > #s and "" or s:match(".*%S", from) end
API Design Tips "It's very easy to create a bad API and rather difficult to create a good one." - Michi Henning, API Design Matters, Communications of the ACM Vol. 52 No. 5 First think of the consumer of the API. Think about his likely situation and the problems he's facin ...
// 使用Memory Mapping file共享数据,使用一个Event作为并发控制。 // 仅为练习使用。 #define BUFFER_SIZE (100*1024) #define BUFSIZE 1024 struct BufferStruct { BOOL hasRead; TCHAR buf[512]; }; void CEDSInstallMain1Dlg::OnBnClickedButton1() { TCHAR szMapFileName[] = _T("Local\\TestHel ...
  The Windows operating system provides mechanisms for facilitating communications and data sharing between applications. Collectively, the activities enabled by these mechanisms are called interprocess communications (IPC). Some forms of IPC facilitate the division of labor among several specia ...
  The following is an example of a single-threaded pipe server that uses overlapped operations to service simultaneous connections to multiple pipe clients. The pipe server creates a fixed number of pipe instances. Each pipe instance can be connected to a separate pipe client. When a pipe client ...
local cmdStr= [[cleartool describe -fmt "%c"  "D:\DEV_FEATURE\wei\test1.cpp"]] local f = assert(io.popen(cmdStr)) local str = assert(f:read('*a')) f:close() print(str)
某个项目经常需要在改完代码之后修改版本号,大概有7、8个文件需要一个个改动然后check in。我发现这个操作有个特点就是所有的版本号都是一样的,而且需要修改的字符串非常有规律,就是类似查找1, 6, 0, 16替换成1, 6, 0, 17这样,同时还有1,6,0,16替换成1,6,0,17(区别是逗号后面没有空格)。这种分析查找替换用Lua来做再简单不过了,故此写了这个脚本。   如果要使用的话,需要修改下面粗体部分,comment_string是将被作为注释加入clearcase的。old_string和new_string分别是当前版本号以及下一个版本号。projfolder一 ...
Global site tag (gtag.js) - Google Analytics