Category Archives: 程式設計

Interesting Experiments in SHA3

I’ve tried MD5, SHA256, SHA3-512 algorithms with 1, 10, and 100 million bytes. In general, SHA3-512 is lower than SHA256 for 3 ~ 10 times. In these cases, MD5 is the fastest algorithm which is faster than SHA256 for 3 … Continue reading

Posted in C, Programming, 學術, 科技, 程式設計 | Leave a comment

RS232相關研讀資源

推薦的資料來源: http://www.vr.ncue.edu.tw/esa/a1001/ch07.pdf http://www.esdesigner.com.tw/esd/article/RS232.pdf http://tinyurl.com/c3o73eg http://www.bandcoach.net/LarryDIY@PALMisLIFE/null_modem.htm http://bbs3.nsysu.edu.tw/txtVersion/boards/math-asm/M.867852899.A.html http://www.ftdichip.com/Support/Documents/ProgramGuides/FTChipIDPG11.pdf  [The one of driver supprt documents for UART chip] http://www.wretch.cc/blog/superMagon/34279205 http://www.ltivs.ilc.edu.tw/kocp/mpu/m7/m7-4-1.htm [Recommended]

Posted in C/C++, 科技, 程式設計 | Leave a comment

淺談專案管理

  需求分析(RA, Request Analysis): 系統分析(SA, System Analysis): 進行開發前所需的工作: 確認開發工具:IDE選擇,開發函式庫選擇,使用的程式語言。 版本控制:Git or SVN? 版本號命名規則? 程式開發準則:Coding Style、參數訂定 元件設計解析:Design Pattern 測試階段: 測試流程與測試策略訂定:黑箱測試或白箱測試?測試流程? 測試文件撰寫:測試狀況,是否為Bug? Bug回報採用Issue Tracker進行管理。 發布階段: 安裝包建立(需另外以子專案進行開發、測試): 防止反組譯工具: 文件撰寫: 授權書:GPL、MIT或其他授權 著作權聲明: 說明手冊: 正式釋出!

Posted in 程式設計, 資工, 軟體(Software) | Leave a comment

[Linux] Autoconf, Automake

[筆記一下自己學Autoconf, Automake這一類的GNU Build Tool。][2013/07/14 更新:把linker 引用libraries的順序寫得更清楚一些。] 身為常常用Linux的程式設計師兼MIS人員來說,在Linux系統上面要編譯程式是很家常便飯的事情。最常用的指令是./configure; make; make install ,筆者稱之為「大三元」。只是如果今天角色互換,變成我們來開發程式,並且把程式以開放原始碼的方式發送出去,該怎麼做呢?其實上述說的大三元指令,是由GNU Build System提供的aclocal, autoconf, automake幫你產生configure script file以及對應的Makefile。由於筆者做專案需要引用curl這個library。石頭閒言閒語部落格提供教學雖然基本,但是又不太夠用。以下便筆記一下自己在做該專案的方式,稱不上專業,若有謬誤,敬請多多包涵。 以下分為四個步驟來解說。 一、 先前準備工作1. 今假設你的專案名稱為project。程式碼資料夾為src。    而且我們寫了一份程式碼,放在src/add.cpp底下。2. 先準備四個文件:AUTHORS、ChangeLog、NEWS、README    (1) AUTHORS:寫明作者資訊。    (2) ChangeLog:程式碼異動記錄。    (3) NEWS:最新消息    (4) README:軟體說明與介紹其它像是INSTALL(軟體安裝文件)以及COPYING(版權聲明),automake時,便會幫我們自動產生。注意!如果你用的是舊版的Linux系統(例如筆者的CentOS 5),COPYING是用GPL v2,如果是新的Linux系統,COPYING是用GPL v3。3. 建立doc資料夾。 … Continue reading

Posted in C/C++, Linux, Programming, 程式設計 | 1 Comment

[Windows] AD Server 使用心得與注意事項

在台灣的中大型企業中,都會建立Windows AD Server來控管電腦使用者並且達到單一登入(Single Sign On)的要求。我最近在學著使用AD Server,因為某些需求,發現它也可以透過GPO來派送與佈署軟體給電腦或是使用者。 若是要我推薦AD Server入門書籍,我推薦「Windows Server 2008(或是2003) Active Directory建置實務」。 但是,在學著使用GPO進行操作時,要特別注意以下事項: 不要拿你自己的Domain Server兼AD Server來測試剛建立使用者的登入,因為預設的Domain Server 安全性原則是不允許剛建立使用者進行登入的。 不要拿VMWare的虛擬機器來模擬軟體派送。我曾經因為VMWare把軟體派送擋住,讓我白忙一整天的時間。 若是要派送msi 安裝檔,並設定該安裝檔為使用者登入時自動安裝。請確定該msi installer可以在靜默模式與背景模式下安裝,如果沒辦法登入安裝的話,可以參照以下方法解決。 若該msi安裝檔是那種有GUI介面的,我們可以透過msiexec 這個指令,將你要安裝的檔案設定為背景模式與進度條模式安裝 。也就是直接輸入msiexec /i “你的msi安裝檔路徑” /qn,進行安裝 (msiexec的簡易教學可以看這篇)。 在知道要怎麼使用msiexec的話,接著我們可以參考這篇GPO原則自動安裝印表機教學文,寫一個簡單的bat script,透過該篇教學,設定使用者登入後,執行你寫好的自動安裝script。 好了,注意事項撰寫完畢。再來推薦一個AD Server派送軟體的教學影片。

Posted in Windows, 程式設計, 軟體(Software) | 1 Comment

[Fixed] Don’t make Bug Tracker’s online editor convert your links into relative paths.

Bug Tracker is our excellent homemade issue tracker software. However, its TinyMCE editor converts all your links which are made by your host into relative paths. For example, if your host is http://example.com and you have established your bug tracker … Continue reading

Posted in 程式設計, 資工, 軟體(Software) | Leave a comment

[ASP.NET] ASP.NET撰寫時應注意的觀念

有撰寫過PHP/JSP/ASP網頁程式設計的人員請注意! ASP.NET 使用Window Form的設計模式與一般我們在使用GET/POST表單傳遞方式不一樣。 請謹記以下6個基本要點,以免到時候撰寫程式時卡東卡西的。 1. ASP.NET 採用的Window Form,預設會塞一個Form表單在裡面,請勿另外自己撰寫<form>… </form>標籤。 2. ASP.NET 控制項所有的操作,都是自動作用在自己這張頁面中(自己傳給自己)。採用的方式即是所有的動作都使用表單傳回給自己。例如,在ASP.NET專案的Default.aspx 加入以下: <asp:button id=”button1″ click=”button1_click(xxx…)”></button> 它的button1_click事件,是自動傳參數給本身的頁面(Default.aspx),頁面在接收到傳遞的資訊後,再執行click事件所委派的方法。 3. 按照ASP.NET執行流程,會先執行Page_Load方法,再依序初始化控制項,並執行其他方法。 4. 承3,由於每個動作都會引發Page_Load方法,所以要判定是否第一次存取頁面,請善用if ( this.IsPostBack … )這個判斷式,如果回傳false,代表第一次讀取頁面。若回傳true,代表第二次之後的頁面讀取。 5. 學習ASP.NET時,會使用ViewState[]、Session[] 與 Application[] 這幾個變數。差別如下:    (1) ViewState[] 是將變數內嵌在html程式碼中,以<input type=’hidden’ … >的方式存在。因此,不能跨頁面存取。這類變數只能在自己本身的頁面內做存取。   (2) … Continue reading

Posted in ASP.NET, Programming, Web Design, 程式設計 | Leave a comment

[Program] The Framework for Auto Updating Programs

I’ve made up of some frameworks for auto updating program. If you want to make your program with fashion of auto-updating, you can refer to the following table. Table of Auto Update Program Framework Name Tutorials Platform License Dev. Lang. … Continue reading

Posted in C, C/C++, Java, Programming, 程式設計, 軟體(Software) | Leave a comment

[.NET] 防止反組譯工具

由於.NET程式為了跨平台,導入CLR(Common Language Run-time),讓所有.NET程式編成MSIL(Microsoft Intermediate Language)程式碼,使其在CLR上運作(簡單來說,就是MS版的JVM)。也正因如此,其編譯出來的程式碼,都有一定的規則可以做逆向工程,進行反組譯。 知名的反組譯工具有:.NET Reflector(要錢), ILSpy (筆者測試過,若程式碼不加以防護的話,用這套很容易把程式碼完全還原回來…) 以及Telerik的JustDecompiler 但是,在販賣軟體產品的開發人員,應該不想要讓自己的程式碼被輕易地破解吧? 就目前讀到的參考資料,可將防止反組譯方法分為以下:1. 混淆保護(Obfuscating) :將程式碼變數命名或是方法做混淆,或是加入無意義的文字,使其無法輕易破解。    此類工具較為知名的有微軟合作夥伴PreEmptive推出的Dotfuscastor (Community版本內建於Visual Studio,這個版本不用錢;但是Professional版要錢,此二版本功能差異請見此文章)    若想要使用此工具進行軟體保護的話,可見以下兩篇教學:    (1) Dotfucscator 使用者入門    (2) Obfuscation with Dotfuscator with Visual Studio 20102. Kernel等級的加密保護:使其無法用MSIL去讀取。代表工具:MaxToCode3. 硬體鎖:採用硬體鎖的方式,避免程式盜用。(貌似跟反組譯無關) 參考資料1. .NET反組譯工具:ILSpy, Telerik JustDecompile2. 使用SuppressIldasmAttribute防止MSIL反組譯工具對組件進行反組譯3. [.NET Concept][Security].NET程式保護機制概述 (Recommended)4. MaxToCode

Posted in C, Programming, visual studio, 程式設計, 資訊安全, 軟體(Software) | Leave a comment

[Windows] Built-in OCR Library in Windows 7/Server 2008

OCR (Optical Character Recognition) is an interesting issue. I’ve found that some (built-in) libraries in Windows 7/Server 2008. If you want to develop OCR program without extra fee, you should try it. Window 7 OCR API : In the final answer, … Continue reading

Posted in C, Programming, Windows, 程式設計 | Leave a comment