跳到主要內容

發表文章

目前顯示的是 7月, 2006的文章

為認證而認證

看到 獨孤木 這篇 認證價值知多少 ,讓我回想起三年前為了讓主管能夠不要一直丟垃圾給我做,要爭取Coding工作,去考SCJP和SCWCD,結果仍然是沒人做的給我,白白浪費一萬大洋考試費。 其實我從JDK 1.0開始學,對Java相當熟悉,再加上 驚嘆號 工作經驗的加持,要找個純Coding工作應該不難,完全是我墮落不肯努力才導致今天的下場 對於新手當然在準備認證的過程中會學到許多平時疏漏之處,而高手我也認為沒必要考認證,有MCSD.Net的人也不見得寫C#比我強,但在下敝人小弟我真的是為了取得認證而去考認證的呀!

需求分析

看到獨孤木這篇prototyping,讓我想起某公家單位的業主看到組長去競標所Demo的系統時,這位偉大的台大碩士業主說:你們系統已經做好了嘛! 結果是:兩年後現在還沒完成,而他自己的需求也常變,昨天他自己也說他會常變,要系統留有彈性 不過他還算是頭腦清楚,而本公司的文書人員可就沒那麼好,導入台灣最大軟體公司的公文系統,請她先就現行公文流程做個簡單的整理,居然就兩手一攤說:沒有什麼規則可循。造成一個簡單的系統做了三年才完成,而且仍有許多Bug,直到現在四年還在修,對方的開發人員已經走了五個~ 昨天去業主那裏,有台電腦CPU燒掉送修回來,重開機又掛點,這台相同原因已經修兩次;我判斷應該是散熱不良造成,馬上把CPU風扇拆開,將厚厚的灰塵清除,重開後就完全正常。我要表達的不是說我有多強,而是凡事要瞭解本質,從根本著手才能解決,必須對症下藥,不要頭痛醫頭、腳痛醫腳。 系統開發的本質就是"變",所以我推崇XP開發,基本假設需求就是多變,才不會改程式時怨聲載道。系統開發時處處留有彈性固然是不好做,但也不要將所有可能有彈性的地方都Hard Code。林志玲不是有很多造型嗎?候主播如果只留主播頭大概觀眾很快就會看膩,開發系統也是,在合理的時間內做合理的需求變更或是增加功能都是必須接受的。以前的公司開發銀行端末系統時,需求分析半年、開發一年的方式已經過時,必須分段交付系統,而每段交付後的變更是必然,這樣的開發方式才容易成功。

學程式設計的人不能不看的好文章

剛看到: 學程式設計的人不能不看的好文章 原 創的大陸學生完全想錯方向,就像大一的電概作業計算1+2+...+n,一般人都用迴圈,而有數值分析經驗者就知道直接帶梯形公式(n+1)*n/2,演 算法比起任何pattern或技巧重要太多。現在的CPU速度快、RAM容量大,愈來愈少Programmer想要optimize,實在是很可惜呀~ 而Vixual這篇有個回應,看到就知道這位仁兄真的懂C: 文章的範例最後還不夠精簡, 因為 1.奇偶數判斷, 使用 "取餘數

PostgreSQL

最近看到很多人寫MySQL 4.1或5.0,但台灣很少人提 PostgreSQL 。它早就支援Foreign Key、Trigger和Stored Procedure、SMP等等,目前最新版為8.1.4。 PostgreSQL 現在有不少好用的管理介面,除了官方的 pgAdmin ,另外有 Aqua Data Studio 、 Druid 、 DataBrowser 等。20世紀時可以說 PostgerSQL 沒有好用的管理介面,但21世紀的現在,再沒有不如MySQL的地方,包括 OLEDB 、 ODBC 、 .Net Data Provider 以及 JDBC 。 還有個利用 PostgreSQL 寫的 EnterpriseDB 有著Oracle的相容性,目標是Oracle使用者可無痛轉移,但可沒有Open Source。Red Hat也有 RHDB 。 真要說缺點,就是常常改版,大改版時DB Format會改變,得手動匯出資料再匯入。其實MySQL升級也要做這種動作,但MySQL改版速度比起 PostgreSQL 慢太多。

Hello world

在 LCR's Blog 看到 Hello world , http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html 看一下Wikipedia對 Hello world 的解釋,這篇讓我想起 各種程式語言的Hello world 。

沒事別亂砍機碼

我的 MacMini 上大概裝了200個AP,經過校調之後對速度並沒有太大的影響。但是 XP 就沒那麼好命;兩個星期前裝IE7 beta 2,昨天想裝IE7 beta 3時才發現需要移除beta 2;結果是我的Beta 2 移不掉,當然也造成Beta 3裝不上去。 原因在那呢?好死不死上星期無意中看到 CCleaner 這個好用的免費軟體,把機碼清乾淨,其中有一項是"Windows 更新項目機碼",而 Internet Explorer 7 支援 有寫: 如果要解除安裝舊的 Internet Explorer 7 Beta 版本,並回到 Windows XP 上的 Internet Explorer 6 請按一下 [開始],然後按一下 [控制台]。 按一下 [新增或移除程式]。 核取對話方塊上方的 [顯示更新]。 將 清單向下捲動到 [Windows XP – 軟體更新],選取 [Internet Explorer 7 Beta 3 Preview],再按一下 [變更/移除]。 (如果是在 3 月 20 日或之後執行 Internet Explo

學習的重點

上週日到誠品書店看書時,看到某個看起來很嫩的新手在看Java入門書,他拿起某成大出版,那個土X系又出很多Linux書的人寫的,忍不住勸他買良葛格的書。沒想到他說他只是看一下,又說 良葛格 的書有很多錯誤,他已有買 朱仲傑 的書。因為我沒有仔細看過 良葛格 的書,所以也沒有多說什麼, piggy 的書相當仔細,應當是相當好。 後來他又說已經工作一年多(相當自豪的表情),學過C++和VB但都不甚瞭解,對Java很清楚,也很喜歡.... 到 此不哈啦一下不太好意思,就問他做那一行,他說是證卷業,做看盤系統,用的是Swing。我問會不會很慢,他表示現在Swing很快,還有很多 Tuning的方法,像StringBuffer等;害我差點倒在地上。他提到幾本Java Performance Tuning的書,但那些都是一般化的Tuning,我從Java 1.0玩到現在難道不知道嗎?接著他又說覺得Web沒什麼,他也沒寫過Servlet,但是太慢了等等。其實我之前就說過,Web絕對不是萬靈丹,很多東 西不一定要靠Web,但Web卻是趨勢,尤其是以後的JDK內建Servlet API呀~ 後來再問他後台是精業的系統嗎?他說不知道, 另有專人負責,而他們這個系統是公司自行開發,沒有用其他人的framework。我在20世紀末時在某資訊公司學IBM第一代的CBTF,雖然後端也是 專人負責,不過我大致上也知道後端接AS/400等等。到這裏聊不太下去,還是先閃了。 知識工作者 寫 不要執著於開發工具與程式語言,我也是如此認為。在Agile Programming當道的21世紀初,新程式語言的出現是遲早的事。因此,我仍然建議新人,C與C++仍是必學,要熟練C再會一點Assembly才 會瞭解compiler做了什麼事。VB是shit,但卻是不臭的shit,事實上是Win32平台上很好的glue;透過VB或VBScript能夠使 用Win32上大部份的API,以Win32為主要平台的人也應該會一些,至少也要看得懂。而Java或是C#,能夠寫出很優雅卻效率很差的程式,反而更 需要對計算機內部運行程序的知識。 我一直以資訊新手自居,沒做個五年十年請別說自己是老手。而台灣最專業的triple letter教育中心的講師,大部份都是工作2~3年就去教,學生會很強嗎?頂多會考執照罷了! 現 在許多人似乎都

AOP否?

關於AOP我是在JavaTwo 2003聽 William 那場演講 才知道,今天看到 Graham Hamilton 的這篇 AOP: Madness and Sanity 。 AOP的實作代表為 AspectJ ,另外有 Spring AOP 和 JBoss AOP

世紀末軟體革命復刻版

在 葉博士的Blog 看到: 世紀末軟體革命復刻版 這 本書,也是我所讀過最好的OOP入門,比大部份的OOP書籍都淺顯易懂。我個人也是比較喜歡第一版,可惜書被一條船學弟借走沒還我。William有一點 沒說到,當年他們三個人出書時還是建中學生,實在是讓當年讀大學的我有徹底被打敗的感覺。天才,實在不是一般人能比的。

Visual Studio 2005 Web Project

在VS 2005 Web專案是沒有project,其實不太好用。 要另外下載 Update to Support Web Application Projects ,還有個 Web Application Projects Option 可以做細部設定。但VS Web Express版是不能安裝此更新。 參考: http://webproject.scottgu.com/ http://weblogs.asp.net/scottgu/archive/2006/05/08/445742.aspx Update:在VS2005 SP1後包含此功能,但與此版本相衝突,未安裝者請直接安裝VS 2005 SP1

Java DataSet

找了一整個下午的Java DataSet,終於找到像樣的東西,但不知道怎麼用。 第一個是已經沒有在發展的 JDataSet ,德國人寫的,全是德文,所以看得有點辛苦,但有讀寫xml的機制。 另一個是Sun的 SwingLabs 計畫中的 DataBindings ,也沒有最新的source,只有SwingLabs binary 下載 。 大致上看了一下,也有讀取schema的功能,雖然寫法和.Net不太相同,但應該夠用,若有急用,就先用這個library吧~ Java 6 會包括SQLXML,在 JDBC 4.0 的規範中並沒有看到xml schema相關的資料,雖然不是DataSet,但對我的需要也足夠。若是廠商需要,就叫他們裝個Beta版的 野馬 吧~