Monthly Archives: April 2013

[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

非常感謝!

來說說我自己吧。我上大學以前(國小、國中、高中時期),遇到事情,都只是學到怎麼「面對它」與「解決它」;只學到初淺地怎麼去「面對問題」與「解決問題」‧‧‧。上了大學以後,才開始慢慢學到「面對它」→「解決它」,漸漸地學到了怎麼「接受它」:接受事情的最終結果‧‧‧,但是回憶起過往,總會懊悔,不懂得怎麼去「放下它」。 這個情形,就算到了研究所與博士班階段,別人說的我還是有些聽不進去,不懂得什麼叫做「放下它」。 直到最近這一年來,因為妳做出的的重大抉擇(這位我目前人生階段最重要的一個人),以及一些親朋好友的加油與鼓勵話語,我才真正了解到什麼是「放下它」。 我才了悟到,人生處事不外乎四個循環階段:「面對它」:該是你的,永遠都躲不掉,請勇敢面對事情(事實)。「解決它」:當此事情(事實)發生時,該拿出何種方法或是觀點去好好的處理,當下找出認為                        最適合的方法或觀點去做就是了。「接受它」:無論最後結果的好壞,都要選擇接受(因為已經盡了最大努力去做了‧‧‧)。「放下它」:就算回頭想起當初該怎麼去做或是該怎麼做決定可以挽回這場局面,都不要                        懊悔,因為當時的環境背景與認知,無法讓自己找出最好的方法,但是都已                        盡了最大的努力,那就好了。偶然想起,那也是一場甜美或是甘苦的回憶。 … Continue reading

Posted in 未分類 | Leave a comment