這是一本討論工業設計的書,作者在前兩個章節,重新定義了「設計」這個集動詞與名詞於一身的詞語,後面十多個章節,就是以許多生活上會遇到的實例,來驗證一開始所定義的設計。整本書一直重複這幾個概念,「設計是在諸多限制中,選擇限制的用途,然後在各種選擇間妥協」「沒有完美的設計,沒有完美的成品」。創意思考強調「跳脫框架思考」,然而設計卻限制「在框架內思考」。
書本裡提到的例子,包含了飲用水(水杯、瓶裝水、濾水器)、照明(車頭燈、手電筒、檯燈)、車內設計(車內杯架、控制按鈕)、盒裝設計(模型收納與陳列、微波爐、計算機、噴墨印表機、CD、行李箱)、空間動線設計(完美超市、排隊結帳、收費站)、紙袋(購物袋、塑膠袋、購物車)、居家設計(烹調、吸塵器、不沾鍋、門把高度、電燈開關的位置、插座)、庶民設計(膠帶與WD-40,WD-40把該走的東西弄走,膠帶把該留的東西留下)、廚房與水槽(單桿水龍頭、削皮器)、座椅、數字(電話與計算機的數字鍵盤、電話號碼)、選擇的設計(用餐選擇地點、座位、菜色、甜點、小費)、牙刷、購屋與裝潢、樓梯。
根據這本書重新對「設計」兩個字所做的詮釋,不難聯想到,為什麼在學習物件導向程式設計時,一旦學到了設計模式這個部分,我們就會發現Design Patterns所提供的23種基本的設計模式,只不過是因應最常見的問題,所提供最基本的設計方法,在軟體設計裡最常說的一句話就是,沒有絕對的設計方法,只要有自己的理由與目的,就能提出自己的設計見解與方法。在做案子的過程中,從一開始蒐集需求,我們就會因應不同的需要而採用不同的軟體套件,產生不一樣的設計架構,但這些設計的內容,僅只於細部的設計與調整,整個大架構還是遵循前人或是以前專案的經驗成果,以J2EE來說就是J2EE Patterns。雖說是軟體的architect,但設計的本質不在於創新,而是因應不同的專案需要,以現有的blueprint為基礎來修改與調整,這就是軟體程式設計。
科技產品首重使用,要緊跟著使用者的態度與腳步,重大的創新與變革,除非帶來了極大的優點與便利性,否則無法說服一般使用者花時間適應這個新的科技產品,在公司的決策上,要對產品提出「革新」或是「改進」,就需要管理者針對產品的變革做充分的討論後,定義出合理的設計「框架」,然後接受在這個框架的限制內,所提出的設計。
小處著手-追求完美的設計
2006/4/21
2006/4/18
令人苦惱的Paradox(第二集)
感謝一位不知名的網友提醒 Hxtt Paradox JDBC Driver 能存取Paradox資料庫,再加上業主對這個軟體 Single Server License 180USD售價爽快地付錢,我才能順利地使用Java去操作 Paradox DB。BLOB欄位也可以在慢慢地 try error 方式下,撰寫一個utility method解決Rich Text格式的text formatting轉換,在過程中,JUnit幫了大忙。
但這並不代表所有的問題都已經被解決了,在實作搜尋功能的過程中,我發現搜尋結果要在網頁上分頁呈現,對於Paradox來說是一件很辛苦的事情,我找不到類似Oracle的 rownum SQL語法(select * from table where rownum >=21 and rownum <40),如果要把SQL搜尋結果一次全讀進Sesion裡的一個暫存物件,如果搜尋結果是一千筆,就得花時間在SQL查詢->產生Value Object->存入Session裡面,不但耗時又耗記憶體。這個時候,偉大的 Lucene 出現了,對Lucene沒有深入研究的我,在Javaworld上所幸有 hkdennis2k 回答,我知道了當欄位資料以Keyword方式產生index時( document.add(Field.Keyword("field", "abcd")) ),就可以使用 "a*"這種搜尋語法支援字首搜尋。這無疑是一個大好的消息,我馬上就能讓這個案子能以類似字典搜尋的方式,以非常快的速度支援"a*" 1000多筆資料 ->"ab*" 500多筆資料 ->"aba*" 50幾筆資料 的逐步搜尋。通常在第三個字母的時候,資料的數量就已經縮小到可以接受的範圍了,我無法想像,光用SQL要怎麼處理這種搜尋。
接下來又遇到了另一個問題,就是Hxtt Paradox JDBC Driver在Join table的時候,明顯覺得速度變慢,再將上摧殘DB的 "like" SQL語法(select * from table1, table2 where table1.field1=table2.field1, table1.field2 like '%somestring%'),這個時候,偉大的Lucene又被我搬出來使用,把對應的欄位都存入lucene index之後,犀利的搜尋功能馬上就能提升到「快狠準」的程度。結果現在我如果要重新產生lucene index,每次都得花將近一個小時,得到一個15MB資料夾大小的Lucene index。目前我不知道這麼大一個index到底有沒有任何缺點,但Lucene的確幫了我一個大忙。
目前功能已經完成約3/4,也開始準備要將畫面嵌入進美工畫面裡。感謝這些Open Source專案的幫助:
Tomcat Application Server
Lucene Search Engine
JUnit
DWR(http://getahead.ltd.uk/dwr/)
Eclipse IDE
ps. 可能不會有第三集,因為已經不需要再特別記錄什麼事情,現在只等著收尾結案了。
但這並不代表所有的問題都已經被解決了,在實作搜尋功能的過程中,我發現搜尋結果要在網頁上分頁呈現,對於Paradox來說是一件很辛苦的事情,我找不到類似Oracle的 rownum SQL語法(select * from table where rownum >=21 and rownum <40),如果要把SQL搜尋結果一次全讀進Sesion裡的一個暫存物件,如果搜尋結果是一千筆,就得花時間在SQL查詢->產生Value Object->存入Session裡面,不但耗時又耗記憶體。這個時候,偉大的 Lucene 出現了,對Lucene沒有深入研究的我,在Javaworld上所幸有 hkdennis2k 回答,我知道了當欄位資料以Keyword方式產生index時( document.add(Field.Keyword("field", "abcd")) ),就可以使用 "a*"這種搜尋語法支援字首搜尋。這無疑是一個大好的消息,我馬上就能讓這個案子能以類似字典搜尋的方式,以非常快的速度支援"a*" 1000多筆資料 ->"ab*" 500多筆資料 ->"aba*" 50幾筆資料 的逐步搜尋。通常在第三個字母的時候,資料的數量就已經縮小到可以接受的範圍了,我無法想像,光用SQL要怎麼處理這種搜尋。
接下來又遇到了另一個問題,就是Hxtt Paradox JDBC Driver在Join table的時候,明顯覺得速度變慢,再將上摧殘DB的 "like" SQL語法(select * from table1, table2 where table1.field1=table2.field1, table1.field2 like '%somestring%'),這個時候,偉大的Lucene又被我搬出來使用,把對應的欄位都存入lucene index之後,犀利的搜尋功能馬上就能提升到「快狠準」的程度。結果現在我如果要重新產生lucene index,每次都得花將近一個小時,得到一個15MB資料夾大小的Lucene index。目前我不知道這麼大一個index到底有沒有任何缺點,但Lucene的確幫了我一個大忙。
目前功能已經完成約3/4,也開始準備要將畫面嵌入進美工畫面裡。感謝這些Open Source專案的幫助:
Tomcat Application Server
Lucene Search Engine
JUnit
DWR(http://getahead.ltd.uk/dwr/)
Eclipse IDE
ps. 可能不會有第三集,因為已經不需要再特別記錄什麼事情,現在只等著收尾結案了。
2006/4/6
Spriggan 遺跡守護靈 by 大友克洋
這部由漫畫「轟天高校生」改編的電影作品,英文名字叫做「Spriggan」,中文翻譯成「世界末日」,但依照原意應該翻譯成「遺跡守護靈」,從網路上的文章介紹才知道,漫畫原作比改編電影好看。
我還沒看過漫畫,看完影片所得到的感想,就是「不合理」,雖然看過很多科幻的作品,但是科幻不代表可以胡說八道,整個故事的內容的佈局,必須要不著痕跡地讓讀著欣然接受,改編的作品尤其困難,因為要能在短時間內,把一個大故事講完,既不失原味,又能自成一局,的確是一件非常困難的工作。
縱使故事裡的主角Spriggan有著Akira般的神奇力量,但他們還是藉助了人類的力量,例如特殊的金屬,與改造的過程,Akira的改造比較能讓人接受,因為Akira是引發人類的潛能,只要讀者相信人類的潛能無限,自然就能接受Akira的神話。本片的主題,諾亞方舟本身的出現與存在就不合理,也沒有說明任何原因。片子給了方舟創造生命的新義,但一架無中生有的方舟,竟然能夠操控地球的天氣,又竟然那麼脆弱地,隨便就能啟動破壞程序,讓人覺得不可思議。美國人的實驗品馬克多魯竟然能有這麼強的超能力,他腦袋背後的那些管線竟然可以增長,又是一件不可思議的事。
最後御神苗優跟馬克多魯的對抗,馬克多魯竟然會在沒有失去超能力的情況下,突然被優近身刺傷,又是一件不可思議的事。然後出現了三架來得不合理的飛機,他們還能從空中自由落體的時候,利用繩鉤鉤住機身,更是不可思議。
如果故事本身不具有足夠的深度,再好的技術與畫工也是枉然。跟「Steam Boy」一樣,又是大友克洋一部令人失望的作品。
轟天高校生的傳奇冒險世界
我還沒看過漫畫,看完影片所得到的感想,就是「不合理」,雖然看過很多科幻的作品,但是科幻不代表可以胡說八道,整個故事的內容的佈局,必須要不著痕跡地讓讀著欣然接受,改編的作品尤其困難,因為要能在短時間內,把一個大故事講完,既不失原味,又能自成一局,的確是一件非常困難的工作。
縱使故事裡的主角Spriggan有著Akira般的神奇力量,但他們還是藉助了人類的力量,例如特殊的金屬,與改造的過程,Akira的改造比較能讓人接受,因為Akira是引發人類的潛能,只要讀者相信人類的潛能無限,自然就能接受Akira的神話。本片的主題,諾亞方舟本身的出現與存在就不合理,也沒有說明任何原因。片子給了方舟創造生命的新義,但一架無中生有的方舟,竟然能夠操控地球的天氣,又竟然那麼脆弱地,隨便就能啟動破壞程序,讓人覺得不可思議。美國人的實驗品馬克多魯竟然能有這麼強的超能力,他腦袋背後的那些管線竟然可以增長,又是一件不可思議的事。
最後御神苗優跟馬克多魯的對抗,馬克多魯竟然會在沒有失去超能力的情況下,突然被優近身刺傷,又是一件不可思議的事。然後出現了三架來得不合理的飛機,他們還能從空中自由落體的時候,利用繩鉤鉤住機身,更是不可思議。
如果故事本身不具有足夠的深度,再好的技術與畫工也是枉然。跟「Steam Boy」一樣,又是大友克洋一部令人失望的作品。
轟天高校生的傳奇冒險世界
2006/4/4
作文十九問 by 王鼎鈞
這本書延續了作文七巧講解文體的內容,說明寫作的技巧。十九問分別代表十九個單元主題,以問答漸進的方式,教導讀者如何寫作。作文不是一種蒙著頭硬幹的技術,也不是拿到題目,看了主題,就能下筆萬言不能輒止的,作文的基本技巧,在王鼎鈞這兩本書裡面,需要細細的體會。
以下這些單元主題並不是作者寫的,而是看完每一個章節之後,就可以明瞭的單元核心,也可以說是文心。
第一 用字
第二 佈局、鋪陳
第三 取材
第四 審題
第五 起承轉合
第六 比喻
第七 立意
第八 有我 無我
第九 下定義
第十 單線推論
十一 放大術
十二 刺激->思考->決定
十三 贊成、反對、調和
十四 文心、詩心
十五 蛇啣其尾、因果循環
十六 錯用、用錯、錯字,文學創作
十七 詩法
十八 抒情、議論
十九 文學的功用
以下這些單元主題並不是作者寫的,而是看完每一個章節之後,就可以明瞭的單元核心,也可以說是文心。
第一 用字
第二 佈局、鋪陳
第三 取材
第四 審題
第五 起承轉合
第六 比喻
第七 立意
第八 有我 無我
第九 下定義
第十 單線推論
十一 放大術
十二 刺激->思考->決定
十三 贊成、反對、調和
十四 文心、詩心
十五 蛇啣其尾、因果循環
十六 錯用、用錯、錯字,文學創作
十七 詩法
十八 抒情、議論
十九 文學的功用
2006/4/1
我們喝的是什麼水?
大家出門的時候,很自然地會在便利商店購買瓶裝水,選擇瓶裝水的時候,常常很在意水裡的添加物是什麼,裡面含有什麼礦物質的成分,但是有很多人家裡,裝著逆滲透的過濾器,由於經過逆滲透處理後的水是純水,所以這種水應該是「不含」任何添加物的,這種互相矛盾的心理感受,究竟有多少人瞭解。(有關逆滲透處理後的水能不能當作飲用水的爭議似乎沒有結論,在這裡我不討論這個問題。)
現代人為了取得乾淨的水源,開始有工廠為大家處理飲用水,然後裝在瓶子裡面販售,但這些瓶裝水的保存期限通常是半年或一年,如果信任飲用水工廠的處理過程,那麼買瓶裝水來喝應該是很安心的,但是很明顯地從網路上的報導看來,有六成的瓶裝水工廠是以自來水為水源,然後加工處理成瓶裝水的,另外保特瓶也有可能會析出有害物質的疑慮,看來瓶裝水似乎也是種包裝商品,能不能喝,會不會喝出問題,沒有人可以保證。
在「小處著手」這本講工業設計的書中,提到了飲用水的歷史軌跡,從一開始的公用水源,大家共用水杯開始,到後來有人發明了免洗紙杯,然後是瓶裝水在70年代開始在美國風行,大家開始習慣直接用瓶子喝水,然後開始有人自己帶空的塑膠瓶子上學或上班。有些人認為家裡的自來水不夠潔淨,所以會使用過濾器處理水源,再不然就是去外頭買工廠處理過的水,儲放在家裡面的水箱中,也有人省錢直接到山上取山泉水。大家最在意的就是要取得自己最「放心」的水源。
瓶裝水所耗費的成本相當昂貴,飲用的代價要比自來水高很多,經過包裝後的瓶裝水,大家完全不會有任何疑慮,反而非常願意花錢買水,這種消費習慣與產品,顯然是透過商業的包裝手法,慢慢地教育消費者,讓大家自然而然產生的消費習慣。
瓶裝水也不是一種極惡的產物,在發生天災人禍的時候,瓶裝水產生了很大的作用,例如發生了地震時,整個災區如果沒有瓶裝水的支援,那麼不乾淨的水源很快地會讓災民發生傳染病,產生二次傷害。
對有商業目的的工廠來說,越多人買水喝,就能轉越多錢,但相對地會產生更多社會成本,對自然環境有更大的影響與傷害,我們該好好思考,如何才能有乾淨的水源,又不需要耗費太多資源的方法。
環保署就逆滲透處理水與蒸餾水是否適合飲用提出說明
網路追追追/RO逆滲透水與蒸餾水最不能喝?
全球瓶裝水消費驚人 資源代價超乎想像
瓶裝水資源浪費驚人 成本是自來水的1萬倍
農夫山泉和69家純淨水廠商唇槍舌劍
瓶裝水可能危害健康
寶特瓶裝水放3個月含銻?衛生署:量極少、從未檢出
《江南時報》:瓶裝水水質未必高于自來水
廣東 瓶裝水協會:不符合條件取消“放心水店”稱號
大溪地的瓶裝水
寶特瓶裝水悶車內 最好不要再喝
寶特瓶不環保 還會改變氣候
More Water 竹炭水
現代人為了取得乾淨的水源,開始有工廠為大家處理飲用水,然後裝在瓶子裡面販售,但這些瓶裝水的保存期限通常是半年或一年,如果信任飲用水工廠的處理過程,那麼買瓶裝水來喝應該是很安心的,但是很明顯地從網路上的報導看來,有六成的瓶裝水工廠是以自來水為水源,然後加工處理成瓶裝水的,另外保特瓶也有可能會析出有害物質的疑慮,看來瓶裝水似乎也是種包裝商品,能不能喝,會不會喝出問題,沒有人可以保證。
在「小處著手」這本講工業設計的書中,提到了飲用水的歷史軌跡,從一開始的公用水源,大家共用水杯開始,到後來有人發明了免洗紙杯,然後是瓶裝水在70年代開始在美國風行,大家開始習慣直接用瓶子喝水,然後開始有人自己帶空的塑膠瓶子上學或上班。有些人認為家裡的自來水不夠潔淨,所以會使用過濾器處理水源,再不然就是去外頭買工廠處理過的水,儲放在家裡面的水箱中,也有人省錢直接到山上取山泉水。大家最在意的就是要取得自己最「放心」的水源。
瓶裝水所耗費的成本相當昂貴,飲用的代價要比自來水高很多,經過包裝後的瓶裝水,大家完全不會有任何疑慮,反而非常願意花錢買水,這種消費習慣與產品,顯然是透過商業的包裝手法,慢慢地教育消費者,讓大家自然而然產生的消費習慣。
瓶裝水也不是一種極惡的產物,在發生天災人禍的時候,瓶裝水產生了很大的作用,例如發生了地震時,整個災區如果沒有瓶裝水的支援,那麼不乾淨的水源很快地會讓災民發生傳染病,產生二次傷害。
對有商業目的的工廠來說,越多人買水喝,就能轉越多錢,但相對地會產生更多社會成本,對自然環境有更大的影響與傷害,我們該好好思考,如何才能有乾淨的水源,又不需要耗費太多資源的方法。
環保署就逆滲透處理水與蒸餾水是否適合飲用提出說明
網路追追追/RO逆滲透水與蒸餾水最不能喝?
全球瓶裝水消費驚人 資源代價超乎想像
瓶裝水資源浪費驚人 成本是自來水的1萬倍
農夫山泉和69家純淨水廠商唇槍舌劍
瓶裝水可能危害健康
寶特瓶裝水放3個月含銻?衛生署:量極少、從未檢出
《江南時報》:瓶裝水水質未必高于自來水
廣東 瓶裝水協會:不符合條件取消“放心水店”稱號
大溪地的瓶裝水
寶特瓶裝水悶車內 最好不要再喝
寶特瓶不環保 還會改變氣候
More Water 竹炭水
訂閱:
文章 (Atom)