星期二, 3月 31, 2009

Subversion+Apache的NTLM/SSPI認證

簡單地說明原因,公司的Subversion Repository要用NTLM認證,我在Windows上用Apache架SVN Server。
當然先下載Apache 2.2和對應Apache 2.2的Subversion,接著下載mod_auth_sspi
,modules和bin都放好應該有的檔案後,在 httpd.conf 裏加上
LoadModule sspi_auth_module modules/mod_auth_sspi.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
接下來要設定權限,找到的範例要用 AuthzSVNAccessFile ,但我怎麼設定都不對,所以把Require user改成Require group,在 httpd.conf 設定如下
<Location /projectrepository>
DAV svn
SVNPath E:/projectrepository
AuthType SSPI
AuthName "Project Repository"
# Require valid-user
Require group "網域名\群組名" "網域名\群組2"
SSPIAuth On
SSPIAuthoritative On
SSPIDomain 網域名
SSPIOfferBasic On
# AuthzSVNAccessFile E:/projectrepository/svnaccess.txt
</Location>
若有先進願提供正確的SSPI AuthzSVNAccessFile範例,不勝感激。
參考資料: http://www.wretch.cc/blog/mogula/22956644

星期四, 3月 12, 2009

從龍櫻看考試

耶~久違的閒聊文回來了。
最近工作壓力過大,今天出差就看了舊連續劇龍櫻(台灣譯名:東大特訓班),我對這部戲特別有感覺呀!不是因為長澤雅美或是新垣結衣,因為我是社會上的輸家。

如果這部漫畫能夠早個十幾年出現,大概會改變我的人生吧?小時候我老媽每天只會叫我看書,只看書能考上台大嗎?保證不會!

為什麼呢?因為人都有盲點,除了愛聽好話外,人也會不自覺地看自己想知道的知識,對於不喜歡或沒興趣的東西會不自覺地忽略。所以除了看書,要多做題目才會完整地瞭解。和東大特訓班的方法一致,對吧?

我到考完研究所才體會到考試和研究不同,櫻木建二說得沒錯,考試最大的優點就是公平。但是考試有時間限制,必須把自己變成解答機器,才能快速地寫出答案。以前大學時鳥毅的成績不好,因為鳥毅不喜歡做試題,更不看考古題。這種堅持都是屁!不過就是個考試,不代表你的實力好壞,但別人卻用分數衡量你,所以要讓自己機械化。至於如何自我訓練在龍櫻裏都有,我就不多說了。

前幾年考SCJP時,由於教材頗多,我先花一個星期看超級速讀自學教材。平常我看書就不算慢,但是Java相關的細節頗多,所以把看書速度提升,之後再花一個星期看書,並把書後面的題目做兩遍。但是結果並不如我預期,才70幾分,約一年後我考SCWCD時,其實我對那些Pattern並不熟悉,但是直接用超級速讀的方式死背,加上做兩遍考古題,居然考了85分。所以我才說:考試的分數並不代表實力。

在台灣考大學要進台大實在很難,所以鳥毅班主任要告訴各位一個捷徑:考研究所碩士班。就算只有五專畢業,工作滿3年後就可以直接考碩士班,所以鳥毅實在很後悔沒讀五專呀!。但要先聲明不是百分之百有用,這個社會不是努力就會成功。如果不在乎什麼科系,找個冷門報名人數少的,找個十年的考古題做熟,基本觀念都不錯,其實就有很大的希望。但是盡量找不要口試的系所,不然像鳥毅一樣筆試高分卻被某大老以口試30分刷下來。(我當年口試若有60就穩上,他才出此下策,台大口試一般都會打60分,對於想讓他進來的學生都有80分以上。)
若是博士班,聽說要先找好指導教授才去報名,我也沒唸過博士班,所以請另找高明。哦,忘了提,某些工學院的系所缺正妹,除非妳像呂X妮被老師們排擠,否則正妹的口試分數一定高。(這兩天才知道,T大正妹大學也不是讀台大...)

後記:
這篇並不是純唬爛,鳥毅一位朋友就是大器晚成的考試達人。
這位朋友H君,大學重考一年,不但大學四年都補考過關,而且也沒有交到女友,可以說大學時期一事無成。

他當完兵後改名,當年就考上國立中興大學研究所,接著隔年考上高考就跑去當公務員。就這麼結束了嗎?只考兩關怎麼算達人呢?

後來就更猛了,他一年考上一個技師執照,連續三年考完。各位看倌可能有所不知,H君讀的土木系可以考三種技師:土木技師、結構技師、大地技師。技師執照是執業的必要條件,和律師執照、醫師執照、建築師執照等是同等級,難考程度也接近;就算是台大土木系的碩士,也鮮少人同時有三張執照;事實上許多大學土木系的教授連一張執照也沒有。

故事還沒完,隔兩年他又考上檢察官特助,接下來如何呢?我也很期待呀...
我只知道H君靠著考試改變他的人生,開創一條光明大道。

星期二, 3月 10, 2009

Beyond RTFM

最近協助前單位做的專案,由於舊系統過多,經過一個月仍然停留在瞭解舊系統的階段。這幾天想起十幾年前學到的一個術語:RTFM

事實上,一個系統經過幾次的修改後,已經多少與原始設計不同,RTFM還不如RTFS。這個專案是敝公司第一次與該公司合作,其他的舊系統均為其他廠商所開發,因此取得源碼亦有困難,多半只拿到簡單的系統手冊與不一定能執行的二進位碼,某些系統連資料庫都不肯給,只給DB Schema的文件。

這幾天優秀長官要鳥毅看一個重要系統的asp,由於只有asp而缺乏可用的DB與VB 6 dll 源碼,讀起來非常痛苦。事實上,如果是可執行的系統,慢慢地trace或許可以找出脈絡。以這個重要系統為例,手上的文件只有操作手冊與DB schema,對於系統分析與設計除了介面外幾乎沒有幫助。但是仔細深入源碼後,卻發現asp內部與許多其他系統連結,而且源碼經過幾個人的修改,以風格及命名方式看來,應該是一間以上外包公司的傑作。

最近又得知為符合法規修正,此系統又要修改。這種時候若得不到客戶的幫助,我只能說:砍掉重練比較快。

當然大部分的長官不會同意全部重寫,因此在這種情況下需要3rd party的協助,我找到Source Insight這個工具,可以試用30天,所以... 小華SlickEdit也不錯,不過時間有限,所以只試用Source Insight。結果當然不出所料,對於這種近乎純網頁的asp,又大量利用script轉址,Source InsightSlickEdit根本找不到連結,所以畫不出call graph,其他的API之類就更別提了。

可預見的未來,這個系統一定會砍掉重練,只是遲早的問題。

星期日, 3月 08, 2009

遠來的和尚會唸經

根據線人指出,若找獨孤求敗當顧問,時薪是$3,000NTD/HR;所以敝公司找一個時薪$1,500NTD/HR的有名高手。(當然這是和他簽長期約才有的優惠)說實在話,鳥毅對高手顧問並沒有很高的期待,因為高手的主要專長在於資料庫,但這次的的需求是系統整合,雖然高手的經驗豐富,但多半也是開發新系統,對於這種舊系統整合,又充滿不確定性的專案應該還是首次吧?

由於高手的時薪很貴,和他meeting時鳥毅不在與會之列(意見太多不受歡迎?),據同事所言,高手說test只有在預算很高的大公司才有實行。這點鳥毅實在很詫異,微軟推TDD(Test-driven development)也幾年了;看一下王克明介紹Test Driven Development By Examples吧,鳥毅雖然不才,但經過國際大嘴巴顧問朋友的介紹,也深知Test First的好處。我很難想像,一個具有十幾年軟體開發經驗的人,怎麼會不懂測試的重要?當然,我承認懂得迎合長官的喜好與人際關係是在技術之上,但是從一位高手口中說出,還是令我難以置信。

在鳥毅短暫的程序員生涯裏,多人開發大型專案時,必須有固定的測試人員以確保系統行為與設計文件相同;因此若能有Test Case可以執行,將可大幅度減少人工測試的時間。一個顧問在輔導開發團隊時,首要之務不是應該建立Code Conventions與導入Repository和Test概念嗎?

你管別人怎麼想中,費曼指出他在調查挑戰者號太空梭失事原因時,其實不是他自己找出原因;而是一位沒沒無名的工程師,藉由費曼這位物理學大師之口說出橡膠在低溫下未如預期般有彈性的事實。

在一個有迫切時程壓力的系統開發時,找個非常有名的顧問,並不一定會比你手下的無名小卒做得好,唯一的差別在於:時薪很貴的顧問說的話主管聽得進去。

星期二, 3月 03, 2009

將YouTube上的影片存成avi或mp3

帥學弟奉女友之命要抓一首歌,因為他女友在YouTube上看到這首歌很喜歡,打算放在手機裏。因為很難找,所以鳥毅就和帥學弟說直接轉檔的方法。

在Firefox上安裝Flash Video Resources Downloader,存成flv檔後,再利用Extra.FLV轉成mp3/avi即可。

如果無法用Extra.FLV開啟,有可能是因為解碼器未安裝,加裝K-Lite Codec Pack之類即可。(建議到軟體王下載,載點皆是台灣大專院校,網路上其他載點可能附贈木馬)

若是Mac/FreeBSD/Linux,在命令列輸入 ffmpeg -i xxx.flv xxx.mp3 即可。