re: [導入]VIM學習(一)正則表達式 ronliu 2009-06-01 16:03
@善用佳軟
命令1對于“1234567890ab”這樣的式子就沒法替換了。
但命令2仍然可以工作。相比于命令1,其主要改進是增加了表達式結尾非數字的判斷。
對命令2
:%s/\d\@=\(\(\d\d\d\)\+\d\@!\)\@=/,/g
和
:%s/\d\@<=\(\(\d\d\d\)\+\d\@!\)\@=/,/g
兩種寫法都是可以的。
re: 結構體對齊那點事 熟練c/c++(四) ronliu 2009-01-07 12:53
在gcc下example1和example2都是16
re: 程序員應該掌握的知識結構 ronliu 2008-11-22 12:22
我對你這個圖是用什么畫的比較感興趣
re: STL容器的賦值運算符可以更靈活嗎? ronliu 2008-11-12 13:00
重載操作符就可以搞定吧
re: 文件夾比較備份工具 ronliu 2008-11-07 10:10
計算md5時間復雜度如何?
re: 文件夾比較備份工具 ronliu 2008-11-07 08:37
直接比較文件名和修改時間?
就像版本管理工具,比如vss那樣。
re: epoll為什么這么快 ronliu 2008-10-22 22:18
這個例子甚好!
弄不清楚epoll和select的區別來著。
re: 對一個服務器的幾步優化 ronliu 2008-10-22 22:15
為啥要用A、B兩個緩沖區呢?
可以用一個循環數組data[N]來做緩存,in_index用于主線程寫數據,指向下一個空位, out_index用于副線程讀數據,指向下一個數據位。in_index和out_index都模N運算。
當out_index = (in_index + 1)%N時,緩沖已慢,等待。
---------
比《設計模式》上的例子容易理解些。
附上觀察者模式的定義:
定義對象間的一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴于它的對象都得到通知并被自動更新。
人、汽車、北京是實體,乘坐、去是謂詞。先New一個人、一輛車、一個地點。將人和車賦予謂詞的兩端,在組合起來,就是一個行為。可以理解為,行為即是一個賦予實體后的謂詞。
實體和謂詞繼承自同一個基類,在基類中提供字符串的封裝和解封的方法,以及屬性的字符串轉換和還原函數。在定義實體和謂詞時,調用基類中提供的字符串轉換函數和還原函數,重寫基類的decode、encode方法。對于組合實體,調用每一個原子實體的encode方法就是了。
對用戶而言,它需要定義一些實體,和謂詞,然后給他們賦值,然后調用一個fillContent()把行為轉化為字符串。解封相反,將一串字符串轉為一個對象。
------------
這是我用C++實現的一個類自然語言的庫的基本思想。不知道你用腳本語言做,會是個什么樣子,呵呵,關注ing!
re: Vczh Messenger ronliu 2008-08-03 01:05
很好的思路,
覺得沒有必要區分client和host。client之間發消息,需要通過各自的host來中轉,中轉的次數太多,增加了復雜度。
一臺主機上有一個host對應很多個client的情況我想不多,即使有,也只是少數的服務器型的機器。
另外,能否說明一下你的這個框架預計的應用場景呢?