Time of Update: 2018-12-03
程式輔助掃雷的幾種方法2003.9.6我的手很笨,不怕大家笑話,挖地雷從來沒有低過 140(從Windows3.1開始),所以有時候就想做個程式“輔助一下”。以下是自己想到的幾種方法。方法 1: 讓程式替我們挖先人工挖開一片“空地”,然後啟動我們的程式,讀掃雷程式的 Window 的介面 DC,然後進行簡單的映像提取,提取出已經挖開的空地內的所有數字,設計一個演算法計算哪些方塊下面有地雷,以此向掃雷的 Window
Time of Update: 2018-12-03
程式員的懶惰經曆2003.9 以前的那些 Z80、6502(Apple II)、BASIC、DOS 等等環境下編程式不好偷懶就不說了吧。 微軟做好了 Windows 後,有一堆 API,並且有了一個叫 SDK 的應用程式開發模式。我學習完畢開始做程式, CreateWindow、處理
Time of Update: 2018-12-03
昨晚半夜因為你在胡鬧所以我只好醒著陪你,忽然就想到,要是你還有一個弟弟或妹妹的話,雙胞胎或三胞胎那多妙啊,好多人都說有可能呢,只是現在時間還不到不敢去檢查,那樣該有多好啊。可是那樣可要累壞我了,呵呵,我畢竟只有一雙手,一想到同時有幾張小嘴張開大叫,等著吃東東時,都不知要先喂哪一個了,更不知我會不會偏心的只關心其中的另一個呢,呵呵,想到這個又開心又鬱悶呢,現在好想知道肚子裡面裝了幾個呢,裝的是溫柔小貓還是頑皮的小貓呢,呵呵,可惜現在沒辦法道。一家人都在等待著你的出生呢,買了小小的衣服,
Time of Update: 2018-12-03
What is Software Consturction定義問題 problem definition 需求分析 requirements planning 規劃構建 construction planning 軟體構架 software architecture ,高層設計 high-level design編碼與調試 coding and debugging單元測試 unit testing整合測試 integration testing整合 integration系統測試 system
Time of Update: 2018-12-03
項目網址: http://gigahttpd.sourceforge.net/ 版本: 0.1 提交時間:2008-04-08 本版作者:魯義明 (Yiming Lu) lu.yiming.lu@gmail.com 所屬: GigaHttpd 開發文檔 * 先說實話 寫這一版設計思想的時候,我知道自己還很無知,很多想法可能都是錯的,甚至整個設計都是徹底不可行。不過沒關係,讓我們來持續改進。 * HTTP Server 功能的簡單描述
Time of Update: 2018-12-03
好了,開始用 emacs 吧1. 所有 mode 共有的基本操作 停止/取消任何動作 c-g c-g c-g c-g 動作重複 c-u (4),c-(n) 移動游標 橫向:左/右 b/f,c-左/右 (單詞),Home/End c-a/c-e,c-PgUp/c-PgDn (橫向翻頁) 縱向:上/下 p/n,c-上/下 (段落),PgDn/PgUp c-v/m-v,c-Home/c-End m-</m-> 括弧:m-c-p
Time of Update: 2018-12-03
1-1 多線程的基本概念 WIN 98/NT/2000/XP 是個多任務作業系統,也就是:一個進程可以劃分為多個線程,每個線程輪流佔用CPU 已耗用時間和資源,或者說,把CPU 時間劃成片,每個片分給不同的線程,這樣,每個線程輪流的“掛起”和“喚醒”,由於時間片很小,給人的感覺是同時啟動並執行。 多線程帶來如下好處:(自己閱讀) 1)避免瓶頸; 2)並行操作; 3)提高效率;
Time of Update: 2018-12-03
俺的開源 Web Server,支援 10 億人民同時線上,繼續前進一步! 去 SourceForge.net 註冊成開源項目,步驟比預期的複雜,來來回回三趟,好幾天,終於成功,紀念一下! 網址: http://gigahttpd.sourceforge.net 其實幾年前就在 SourceForge 註冊了個人帳號,當時本打算幫忙把周老大的 "Win32 on Linux" 註冊上去,結果後來沒弄成。後來就一直閑著了。 前幾天開始申請註冊這個 Web
Time of Update: 2018-12-03
好吧,Gigah 的代碼開始了。 在正式可啟動並執行第一個 Gigah 寫出來前,會有很多前期版本,這都是我們的史前版本,陸續發布出來,讓自己,也讓大家知道是從一個多麼幼稚的開始,然後一步一步走過來的 今天發布第一個版本,0.0.1,Hello world 版。 Gigah 到底應該是一個怎麼樣的程式,到底是運行在 Linux 核心中,還是把核心中的記憶體/連接埠映射到使用者空間,寫成應用程式,關於這個一直沒特別想清楚。不過先跑在核心裡面吧。 跑在核心裡面的程式,一個
Time of Update: 2018-12-03
無處不在的字元集lu_yi_ming(_at_)sina.com 2004.120.2 版 (本文中可能有很多錯誤,僅供參考,多謝指點糾正) 一、字元集應用舉例:網頁瀏覽 我們從使用者用 IE 瀏覽一個 Html 頁面開始,假設這是一個“使用者資訊登記”網頁,使用者輸入姓名、年齡等資訊進行註冊。 使用者啟動 IE 後在地址欄輸入網址後(與鍵盤輸入有關的字元集處理請參考後面"使用者輸入姓名"),IE 把網址以 UTF16 存入緩衝,然後再將網址轉換成 UTF8,繼續打包成 Http
Time of Update: 2018-12-03
OD常用斷點之我收集,裡面有VB絕對萬能斷點,殺VB程式專用常用斷點(OD中)攔截視窗:bp CreateWindow 建立視窗 bp CreateWindowEx(A) 建立視窗 bp ShowWindow 顯示視窗 bp UpdateWindow 更新視窗 bp GetWindowText(A) 擷取視窗文本 攔截訊息框:bp MessageBox(A) 建立訊息框 bp MessageBoxExA 建立訊息框 bp MessageBoxIndirect(A) 建立定製訊息框 bp
Time of Update: 2018-12-03
這是一個 Linux 核心線程的例子。 Gigah 如何從 Linux 裡面“取出來”CPU呢?到這個版本為止,就打算利用這種方法。讓模組建立若干核心線程,每個核心線程運行後不返回,直接開始運行Gigah 的代碼,而運行這段代碼的 CPU 就“不還給” Linux 了。 這樣,正常的 Linux 還能繼續利用剩餘的 CPU 繼續運行。而且如果 Gigah 退出或者結束,還可以把 CPU “還給” Linux,不會影響 Linux 核心的完整。 請注意 Gigah 是為 x86 64
Time of Update: 2018-12-03
delphi中多線程同步的一些方法 當有多個線程的時候,經常需要去同步這些線程以訪問同一個資料或資源。例如,假設有一個程式,其中一個線程用於把檔案讀到記憶體,而另一個線程用於統計檔案中的字元數。當然,在把整個檔案調入記憶體之前,統計它的計數是沒有意義的。但是,由於每個操作都有自己的線程,作業系統會把兩個線程當作是互不相干的任務分別執行,這樣就可能在沒有把整個檔案裝入記憶體時統計字數。為解決此問題,你必須使兩個線程同步工作。
Time of Update: 2018-12-03
Lua指令碼文法說明(修訂) Lua指令碼文法說明(增加lua5.1部份特性) Lua 的文法比較簡單,學習起來也比較省力,但功能卻並不弱。 所以,我只簡單的歸納一下Lua的一些文法規則,使用起來方便好查就可以了。估計看完了,就懂得怎麼寫Lua程式了。 在Lua中,一切都是變數,除了關鍵字。I. 首先是注釋 寫一個程式,總是少不了注釋的。 在Lua中,你可以使用單行注釋和多行注釋。 單行注釋中,連續兩個減號"--"表示注釋的開始,一直延續到行末為止。相當於C++語言中的"//"。
Time of Update: 2018-12-03
這是一個例子,展示如何在 /sys 下建立 gigah 目錄,以及其下的兩個檔案。 進行中的設計中,將給 Gigah 設計一個檢查與調控的入口,就是 /sys/gigah 這個目錄,類似於傳統的 /proc下的各種檔案。Gigah 開始運行後,開發人員,或者網管,可以在 Linux 上,從這個入口看到 Gigah的健全狀態,檢查內部資料結構,設定Debug 標誌然後 dump 出來程式啟動並執行各種資料或者堆棧等。也可以改變某些檔案內容,來調整
Time of Update: 2018-12-03
Microsoft Visual C++ 6.000496EB8 >/$ 55 PUSH EBP ; (初始 cpu 選擇)00496EB9 |. 8BEC MOV EBP,ESP00496EBB |. 6A FF PUSH -100496EBD |. 68 40375600 PUSH Screensh.0056374000496EC2 |. 68
Time of Update: 2018-12-03
這是一個例子,展示如何建立兩個網路介面 ghnet0 和 ghnet1。 程式員在開發 Gigah 的過程中,如何在本機上訪問 Gigah?也就是不經過物理網卡來訪問 Gigah 的網頁,通過 http://localhost 不行,因為那需要修改 Linux 的 loopback 的驅動程式。 所以就準備為每一個物理網卡,或者說每一個 Gigah 的 CPU,準備一個虛擬網卡,用來在 Linux 中通過瀏覽器來訪問 Gigah 中的網頁。這個虛擬網卡的驅動程式可以訪問 Gigah
Time of Update: 2018-12-03
呵呵,想到寶寶你很快就要來到這個世上了,又幸福又開心,兩月後就要跑出來了,也不知你長的什麼樣脾氣好不好,看到小孩子時總是會想到你長大後的樣子呢,呵呵,想到就好開心。生了你之後,我的肚子就小多了不用天天捧著一個大肚子走路了,也不再怕小孩子撞到自己更不用怕摔倒,也可以換下鞋子了,不用天天穿這布鞋子,舒服是舒服可是麻煩呢。 這幾天不知是我精神差還是你太愛動,你總是不睡覺,醒的時間越來越多了,有點怕你了。以後要是你總不睡覺,我可麻煩了,那不是天天暈暈的了。呵呵,不敢想。
Time of Update: 2018-12-03
這一版,我們增加了一個迴圈緩衝區 loopbuf,用來儲存一些資料,例如乙太網路資料包,這樣,我們可以繼續實現截包,為協議處理做準備。 虛擬網卡的截包資料可以從 /sys/gigah/ghnet 中讀出來:hexdump -C /sys/gigah/ghnet 如何編譯及運行 Gigah,請參考原始碼中的 README_zh_CN.txt。 請注意 Gigah 是為 x86 64 位元設計的。 開發平台是 Fedora-12-x86_64。核心 2.6.32.11 上測試通過。
Time of Update: 2018-12-03
本文最新動向:2009-03-28我們的路還很長。* 前言 本文主要介紹如何搭建一個 GigaHttpd 的開發環境。 本文其實是邊搭建,別記錄在這裡的,所以會持續增加,也可能遇到錯誤然後返工。有興趣的朋友一起慢慢看吧。 解釋個小問題:為什麼文章內的段落標題用一個星號 * 來表示?答:長期使用 emacs 形成的習慣。 本文後面有很多[嘮叨],指可以忽略不看的東西。* 預備知識 開始玩 GigaHttpd 之前,你最好已經玩過如下的東西: 1. 編譯 Linux 核心,基本瞭解