2007年10月20日 星期六

手不要太賤

手不要太賤

這兩天因為手太賤 

在玩 ubuntu 時 , 原本是要把 UBUNTU 裝在 usb 外接硬碟中玩的 (之前有成功設定過)
成功了一次 , 後來手賤第一次 , 看到更新管理程式有 7.10可以更新
就選更新 ,結果把UBUNTU 搞掛了

然後就重裝 ,結果重裝的時候,手賤第二次,沒有選進階選項把開機磁區選到 USBHD 去
結果就把原本NOTEBOOK 裡面的 XP 啟動磁區搞掛了

因為NOTEBOOK 附的 XP 沒有安裝光碟,它是還原光碟,
所以用原版光碟拯救 MBR 的方法根本就沒的用

不過就算了,將錯就錯把 UBUNTU 變成 NOTEBOOK 的正式作業系統
到目前為止還不錯用

原 本WINDOWS 上的某些作業就找一下有沒有替代品換過來

VMWARE SERVER 也已經安裝好並且試用 OK (因為 Linux Kernel 是 2.6.20 需要額外下 PATCH)

RAR 需要另外安裝

PDF 也可以檢視

遊 戲手把也都可以抓的到 (USBVIEW)
遊戲模擬器是 xmame 不過問題太多

Web 現在用的是內附的 FIREFOX

輸 入法用的是 新酷音 (類似注音輸入)

還沒有試過的是看 DVD 這類工作


安裝程式非常方便只要透過套件管理員 就可以做好一切 ,不過一定要連線在 INTERNET

2007年9月30日 星期日

企業內Web應用系統設計與實做注意事項

企業內Web應用系統設計與實做注意事項

在企業內部 , 因為潮流的關係 , 應用系統也慢慢由以往的 Desktop 應用程式(Client/Server) 轉換成 Web 應用系統 ,
仍然有一些人(不論是內部或外包廠商) 根本沒有用腦子好好想過 , 所以就會有雖然是使用 Web 應用系統但是仍舊套用 Desktop 應用程式的方式去設計與實做
這樣會有什麼問題?
舉例來說 , 有些企業可能會有需要人工按下一個按鈕 , 然後那個工作可能是轉檔程式或者是其他需要較久處理時間的作業 , 以往如果是使用 VB6開發程式 , 反正頂多出現 一個沙漏 , 或者是進度bar 顯示目前正在處理中 , 然後作業完成 , 跳出一個對話窗表示處理完畢 , 有可能是 1 小時 或者是更久 , 反正就是放著讓它跑

這樣的模式套用到 Web系統會有什麼問題 ???
Web 的Timeout 會是第一個問題 
一般網頁的處理的Timeout 設定都不會設的很長  , 所以碰到這種長時間作業的 , 就會發生 , 作業到一半就會 timeout 的問題 , 就會有廠商可能直接將 timeout 時間設定更長 , 這樣也只是頭痛醫頭 , 一點意義都沒有 , 想想看 , 如果有一個作業需要 5 個小時 , Web 的timeout 時間你想要設的多長 ?

建議的設計方式:
這種長時間作業的 , 應該是要設定成 非同步的處理模式 , User 透過網頁按下 開始處理 , 系統收到 Request 後 , 應該是設定成 Server端的排程作業 去處理 , 然後 網頁立刻回覆 , 已設入排程 , 結束...
User 應該是在事後 , 的某個時間點再去檢視 Server端排程作業狀態頁面 , 看看 先前的作業的作業狀態是 已完成 , 或是仍在進行中 , 或是已結束但是有錯誤發生 , 另外如 何時開始作業 , 何時完成作業 也應該是在該頁面中檢視

為何不是像建議的設計方式這樣做?
因為廠商可能沒腦子 , 或者是為了省事(省人力 , 省錢) ,
用原來的Client , Server 的寫法 , 只需要寫一個 處理頁面就完成了(雖然它會有我上面所說的重大問題) ,
如果換成我上面所說的建議設計方式 , 則需要寫的頁面會變多 , 但是不會有上述所說的重大問題 , 但是需要較多的人力跟開發成本

另外  DB 的 Timeout 會是第二個問題
在現在使用 J2EE Server 的企業有不少 , 也都會去設定 DataSource ,
但是 仍然可以發現到 很多企業的系統 , 對於相同的資料庫並沒有切出多組的 DataSource來作區隔設定
這樣的問題是什麼?
例如你是線上同步作業的 DataSource 與 大量批次轉檔非同步作業的DataSource 是否是使用相同的DataSource 或者是不同的DataSource ??? ,
兩者的Timeout 設定可能就需要不一樣的設定 , 大量轉檔作業可能需要耗時 5 個小時 , 那去使用一般的DataSource 時 , 可能程式跑到一半就會 Timeout 掉 , 你要去修改 一般的 DataSource 的 timeout 時間為 5 個小時嗎 ? 那麼其他線上作業的程式(Web)使用這個DataSource 時 , 它可能會變成 Web Page 的回應時間可能會拉長 , 使用者等待的時間會拖的更長....

建議的解決設計:
將 批次大量作業使用的 DataSource 與 線上作業使用的 DataSource 分開設定

在企業內部設計應用系統 , 不是讓系統執行工作後就沒事了 ,
你還必須考慮 , 該工作何時執行 , 何時結束 , 結束狀態是成功 , 或失敗 , 失敗的原因是什麼 ,
發生錯誤了 , 系統要能自動化的發出通知 , 通知維護人員進行檢視與處理
系統如何做失敗的錯誤回復 , 把原先的工作繼續成功的處理完畢 , 這些都是必須考慮的

 如果沒有好好考慮就會發生 , 錯誤發生了 , 沒人知道 , 或者是無法做後續的錯誤回復處理

2007年9月18日 星期二

方向偏差 結果就差個十萬八千里-2

方向偏差 結果就差個十萬八千里-續


使用WebService要考慮的還包含:
 a.交易控制處理的機制 是否有做到完整的交易控制 , 如果沒有會發生什麼事?
b. 安全性處理的機制 是否有做到完整的安全處理 , 想想看 , 有關客戶的個人隱私資訊 , 變成了 WebService , 然後以明碼的方式 在網路上傳來傳去 , 然後可能沒有半點認證或是授權 , 然後內容也沒有encrypt   

2007年9月9日 星期日

方向偏差 結果就差個十萬八千里-1

方向偏差 結果就差個十萬八千里

2007/09/09 17:27
這是從某人就職的公司聽到的 ,
V是負責規劃 SOA & WebService & XML 的人員
只不過某V 完全沒有設計及使用 XML 的經驗
也沒有寫過WebService , 也沒有寫過WebService的Client端的經驗 ,
SOA就更不用談了...

連拿到有問題的XML都不了解錯在哪裡或是如何改正,
但是這樣的人選就是要負責規劃公司未來使用的XML , WebService , SOA...

千萬別問我 
為何不找曾經有設計過XML內容 , 有在系統中實際應用過 XML 內容的同仁負責
或者是有程式設計經驗的同仁來負責
[現在的潮流是 任何一個阿貓阿狗
只要看過了
"深入淺出物件導向分析與設計"
或者是
XXXX Cook book
或者是
XXX 設計樣式
之類的 , 沒有寫過半行程式碼 , 不會任何程式語言的 都可以出來侃侃而談 系統架構的設計 , 哪裡對 , 哪裡不對
<這些書沒有什麼不對的 , 都很好也都很經典 ,
只是一些人的心態上有問題 , 一票阿貓阿狗因為沒有寫程式的經驗 , 就在當 SA ,SD 甚至是 Architect , 然後看到書上提到 "XXX 設計樣式" 或者是 "XXX Cookbook" 完全沒理解那些內容的適用處與適用範圍 , 就胡搞瞎搞的套用到 公司的系統上面去 ,
結果自然是亂七八糟 , 慘不忍睹 ,
然後那些人可能還會跳出來說: XXX 設計樣式一點用都沒有 , 是垃圾....之類的 ,

為了這些胡搞瞎搞 , 沒有實際程式寫作經驗的人 ,
某些大師只好出來寫
"XXX反樣式"
來明確的告訴你 , 哪些情況下 , 不適用哪些樣式....

IT 有一種很奇怪的階級情節 , 就是 Programmer 是最低下的 , 往上升級然後是 SD , SA , Architect

水往地處流 , 人往高處爬 , 是沒有太大的錯誤 ,
錯的是在於 , 一堆高處職階的 , SD ,SA , Architect 竟然是使用沒有程式寫作經驗的人去擔任 ,
因為連程式都寫不好 , 所以讓他們去做 SD , SA , Architect ???
>
]

回到正題 , 完全沒有經驗的沒有基礎的人 要來帶領大家如何開發 SOA系統 , WebService , XML ,
方向會不會有偏差呢? 差了多少呢? 誰知道呢? 誰負責呢?

{某公司內WebService的應用 , 在某些的人的錯誤領導下 , 正朝向濫用錯用的狀況
大家都知道 , 程式語言的 API 呼叫是最直接也最快速的 , 不論是效能或是資源都耗用都是最直接的 ,
但是如果是那類完全不會寫程式不了解狀況的人來帶領 , 就會變成 , 什麼都會變成是 WebService ,
可以會出現的後果是什麼 , 就是這些人講不上來的地方 ,
會有什麼後果嗎?
首先:
當你使用 WebService 時 , 你必須定義對應的 XML Schema ,
將資料的傳入傳出都必須要轉換為是 XML 的內容格式 ,
當然 Client 跟 Server端也都要進行額外的XML驗證與解析 , 之後才是真正的處理...

意思是 當你呼叫 x.helloWorld("say Hi") 這樣的 API 時 , 換成 WebService 他的資料量(XML)
會由可能是幾十個 byte 變成幾百個 byte , 甚至是幾千個 byte (看你的資料嚴謹度與套用的物件多寡) 在網路上傳輸 , 也會在 client & Server端的記憶體存在

這樣的影響是 ,
(1)網路之間的傳輸量會變大 , 需要比原來大 10 或者 數十倍的傳輸頻寬
(2)系統在收到資料時需要先進行XML驗證與解析 , 原來使用的記憶體可能是也比原來大 10 或者 數十倍的記憶體大小
(3)因為要額外進行XML驗證與解析 , 所以也需要額外的CPU使用量
因為這些額外的需要 , 要問的是 企業內部是否做好了因應的準備 , 換了更快 CPU , 更多數十倍記憶體 , 更多數十倍網路頻寬的Server與網路架構 ? 如果都沒有 ?
系統會發生什麼事??? 三不五時 , 系統會出現 Out of memory 或者是 CPU 滿載 , 或者是網路塞爆

要說明的不是 WebService 不能使用 , 而是要用之前 , 因應的配套措施做好了沒???
是不是用在適用的範圍內?

如果有 Native API 可以使用 , 然後系統不是跨程式語言 , 也不是跨平台的情況下 , 卻仍然有人堅持一定要使用 WebService 去做到 Native API 可以達到的事 ,
那就要看那間公司是不是有買了換了更快 CPU , 更多數十倍記憶體 , 更多數十倍網路頻寬的Server與網路架構 ? 如果都沒有 ?
那就會出現對比於公司的業務量的成長, 出現不成比例的需求: 機器永遠不夠快 , 記憶體不夠用 , 網路不夠寬 , 這樣的需求出來...
}

2007年8月26日 星期日

Wiimote 連接Windows 藍芽注意事項



最近弄了一副 Wiimote 搖桿來玩 ,
主要是想試 連接 Windows XP 的情況
順便買了藍芽接收器 華碩 WL-BTD202 來用

剛開始試了很多次 , 只要新增裝置後 , 藍芽中心 一開啟 視窗就 hang 住
也是了更新 WIDCOMM 的更新程式 , 仍然無用
到華碩網站去報案一樣,給的是官方的客服回答,一點幫助都沒有

最後終於試出一個可以正常動作的程序

Step0: 首先 藍芽服務必須是停止的(藍芽服務圖示是藍紅狀態)
Step1: 開啟藍芽中心
Stpe2: 啟動 Bluetooth 裝置(藍芽服務圖示是藍白狀態)
Step3: 新增藍芽裝置 ,
注意要從工作列的右下角的藍芽服務圖示去新增 , 不要從 藍芽中心的視窗的選單去新增

Step4: 免輸入驗證碼 (按 略過 按鈕) , (藍芽服務圖示是藍綠狀態 表示 搖桿已經連線)
Step5: 執行 Wiimote 程式
然後就可以看到狀態了
很鳥的情況是 , 一定要按照這樣的順序才能正常動作
例如1 , 沒有先開啟 我的藍芽中心視窗的話 , 在後續動作新增裝置完要跳出 我的藍芽中心視窗時 就會 hang 住 , 根據我的朋友的反應 , 他的狀況是出現 籃底白字的 Windows 當機畫面

例如2 , 新增藍芽裝置 , 如果不是從工作列右下角的藍芽服務圖示去新增的話 ,
而是由 我的藍芽中心 視窗的選單去新增裝置的話 , 在輸入驗證碼的視窗畫面 , 你如果要按 略過 按鈕
則會一直無法略過而停在那個畫面
(根據我的朋友的說法 , 可以輸入 4 個 0 來當作驗證碼 , 不過我沒有試過)

很鳥的解法 , 但是對我有用 , 如果其他人有碰到類似的狀況 , 也可以試試看

2007年7月21日 星期六

大逃殺


大逃殺

如果你只看過電影版的大逃殺 , 你會覺得故事背景設定的有點扯 ,
國家(某些特定的單位的主導者)因為認為國家的競爭力衰退 , 是因為和平的日子大家過的太爽了 ,
所以社會出現了太多米蟲 , 每個人渾渾噩噩的過日子 , 為了提升競爭力 , 讓人回到有生存競爭的心態 ,
選出一個班級的少男少女 , 然後放到一個小島上 , 每個人給定不同的武器或是工具 , 然後給定一定的時間 , 要彼此之間互相殘殺 , 然後到了時間之後 , 如果生存者超過 一個人 , 則所有的生存者就全部殺掉...
(這是大逃殺I 電影的基本設定 )

一開始 看到 大逃殺 , 是在租書店租到 大逃殺 II ,
看完之後 , 想說看看有沒有 大逃殺 I 可以看 , 結果租書店沒有 , (人的天性 , 就跟看到星際大戰 IV , 你就會想看看 那 I , II , III 的內容是蛇麼)

不過呢 , 有 漫畫版 的大逃殺 I , 大概是 12 還是13集 , 所以就先看了(漫畫版的名稱好像叫 生存遊戲)
後來逛到光華商場時 , 發現了 特賣片 一片 99 元的大逃殺 I ,
買回來看過之後 , 又上網去看了一下其他人對於大逃殺 I 電影的討論 , 發現評價不是很好 ,
因為我看過電影版 I , II , 跟 漫畫版 , 所以可以知道為何大家的評價不是很好

原因在於 漫畫版的大逃殺 , 裡面幾乎多多少少都會有每個角色的情緒 , 背景 的相關描述 , 即便是配角也都會有 , 而電影版的大逃殺因為角色太多 , 所以刪掉了很多角色的背景描述或者是內心想法的片段 , 當這些片段 都被刪除之後 , 剩下的就是很表面的 , 角色之間的彼此打打殺殺 , 甚至因為刪除了某些片段 , 所以你會覺得電影版 I  角色或者是劇情的轉折之間會有些莫名其妙或者是突兀.
不過 , 基本上來說 , 電影版 , 已經刪掉很多 情色片段 , 跟血腥片段了 , 電影版仍然是屬於 成年者才能看的
而漫畫版就更 情色跟血腥了...(基本上 大逃殺 完全不適合給 未成年人 觀看)
說一下,其中的幾個差別,
電影版 大逃殺 I 中負責指揮行動的那個老師 , 是一個在家被女兒嫌棄 , 在校被學生看不起的老師 , 有些討厭 , 卻又有些可憐 ,
漫畫版 , 大逃殺 , 指揮行動的老師 , 完全是個豬頭 , 兼心理變態 , 完全是以看到學生的死亡為樂 , 期間還強暴了 主角在育幼院的女老師(電影版 沒有這一段)

大魔王級角色1
另外像 , 相馬光子 , 剛剛提到的情色部分 , 都來自於她 ,
漫畫版中 , 有不少她的片段描述 , 她也算是大魔王級別的角色 , 為了求生存獲取金錢 , 不惜犧牲肉體 , 進行援助交際 , 或者是充當大哥的女人 , 極度保養自己的肉體 , 所以在島上還有辦法從容的洗澡跟換美美乾淨的衣服 , 同時間也是個變臉快速 , 有雙面人的性格 , 一個是真實自我的狠角色 , 一個是裝做清純可憐的少女 , 還挑撥 幾個男人為她拼鬥 , 在過程中 , 也可以出賣肉體去騙取男人的信任 , 分派到的武器是鐮刀 , 喜歡用鐮刀 , 割斷別人的喉嚨 ... , 甚至在最後碰到另一個學生 桐山和雄 時 , 也不惜希望能夠出賣肉體 , 來求取生存....
電影版中 , 相馬光子 這個算是魔王級角色的戲份就被刪的一踏糊塗 , 當然也沒有什麼情色部分出現 , 只有在相馬光子 要死亡時的記憶片段 , 表示她會那麼求生存 , 是因為小時後被母親出賣給戀童症的變態中年男子 (基本上這一段就很突兀 , 因為前面的片段中 , 並沒有任何著墨於相馬光子 性格與行為的描述 , 但是漫畫中有  )   , 基本上跟漫畫差很多 , 已經是亂改的程度了

大魔王級角色2
桐山和雄(天才學生)
漫畫版中 , 他是家中極度有錢的學生 , 與其他同學也是同窗三年 , 他沒有人類感情與情緒的存在 , 但是是一個高度天才 , 廚藝 , 音樂 , 武術 , 運動 , 幾乎是過目即學 , 而且因為沒有人性 , 所以也是超級殺神 , 有大半的學生都被他追殺 , 而且成功的殺死
在他死亡的片段中 , 才說明 , 原來他的沒人性 , 是因為小時候出車禍 , 有碎片刺入他的腦中 , 所以導致他的無情緒 , 無人類感情的情況

電影版中 , 桐山和雄 變成是一個轉學生 , 也沒有他的背景描述 , 純粹只是出現他拿著武器殺殺殺 , 然後最後被 其他人殺死
(基本上也是被亂改一通的角色)

漫畫中 , 七原秋也 跟 中川典子 是逃出島上 , 用的好像是 川田章吾 聯絡到的船隻逃離 ....
(然後川田章吾 掛了)
跟電影的結局不太一樣

另外還有亂搞的地方是
電影版中 , 中川典子 跟那個老師好像存在若有似無的關聯(有點像是 中年男子 著迷於 少女一般),所以那個老師最後才會放過七原秋也 跟 中川典子

另外像電影 大逃殺 II , 就存純只是為了滿足 大逃殺 I 電影的影迷衍生出來的產物 ,
規則修改的更嚴苛 , 相同座號的男生跟女生都被配成一組一組的 ,  只要一組中的其中的男生或是女方死去 , 同一組的倖存者的項圈也會爆炸 , 就是要死兩個一起死


以下說的是漫畫版的部分
大逃殺 吸引人的地方在於 人性的與角色性格描述 , 而不在於中間過程的打打殺殺 ,
只是電影版 , 只能表現出外在的打打殺殺 , 所以導致有人對電影 大逃殺I 的評語不是很好
例如 , 遊戲規則 , 限定只能有一個人生存下來 , 所以你會發現 ,
有的平時性格可能很懦弱的人就會先下手為強 , 因為他怕大家會先對他下手
有的人會想要整合大家 , 聯絡大家 , 看看能不能找出一個方法 , 大家一起逃出去...
又因為規則的關係 , 所以有的人看到有其他人出現 , 就認為對方是要來殺自己的 , 就先攻擊再說
人與人之間的信任感 , 在生死關頭有時就是那麼的脆弱...
也有一對情侶檔 , 因為女方不願意為了生存下來而殺人 , 所以男女雙方一起跳海殉情...
這些都是人性的掙扎 ,...電影版中 , 可能是內容太多了 , 為了趕時間 , 這些你完全不會感受到

今天到書局去看到了 大逃殺 小說的中文翻譯 , 一時昏頭 , 竟然沒有買....後悔中
我想小說中的情節 應該會比漫畫還要多...

2007年6月13日 星期三

如何分辨不佳的程式設計網站

如何分辨不佳的程式設計網站


2007/06/03 01:38
程式設計的生涯中 , 沒有人能夠保證自己是什麼都會什麼都精 ,
所以尋找一個好的程式設計的相關參考網站也是一個重要的項目
針對學習 Java 的同好 , JavaWorld 算是一個不錯的參考網站(http://www.javaworld.com.tw)
它的討論區都有相關人員在管理 , 另外發問的人員的問題 , 以及回覆 , 品質跟等級都較高...


基於隱惡揚善的原則 , 好的組織或人事物 , 我們就直接把全名公告 , 不好的組織或人事物 , 我們只好描述其事跡 , 讓大家自己去判斷是非對錯 , 不寫出名稱
本篇的主題是: 如何分辨不佳的程式設計網站

參考一下 , 某程式設計網站 , 宣稱有 16 萬位系統開發人員 , 可彼此討論技術和解決系統開發上的問題
看一下內容 , 累積文章數 37 萬, 幫他計算一下 , 每個系統開發人員只累積了不到3篇文章
另外它宣稱的有16萬多位的系統開發人員 ,
進去討論區逛一下 , 你就會知道 , 一大堆學生在上面問問題的 , 問題類型大概是: 我們老師出了XX 作業 , 有沒有人可以寫範例給我看 , 或者是直接在上面發包的 , 要不然就是 有沒有人可以解說 XX 程式碼的意思 ,....
這些學生也都被涵蓋在 16 萬多位的系統開發人員 , 灌水也灌的太兇了吧...(比例有多少 , 看一下問作業問題的文章數有多少就可以猜猜看...)

另外如果再去看裡面的貢獻值 , 真正有解決系統開發問題的 , 只是少數的 不到 100 人
彼此討論技術?  那個站台 , 可以看到某些人直接對其他人以言論進行人身攻擊 , 已經到達觸法的情形了(例如間接的指控某些人有精神方面的疾病該去吃藥看醫生等等) 也沒有看到站台的管理人員出來管理

 (也只能說那站台的管理人員運氣不錯沒有被告 ,
 因為如果在網站上 , 有人進行犯罪 , 而網站經營管理者沒有處理 ,網站的經營者是必需要負起相關刑責的 , 也就是說 , 如果那個被進行人身攻擊的人對該站台經營管理者及 對他使用言論進行人身攻擊的人 提起告訴的話 , 那就有的看了)

會幫忙解答問題的只有少數幾個 ...但是看一下那些問題 , 有一半是學生的作業問題 , 也就是入門等級的問題 , 連技術問題或是系統開發問題都稱不上...

我看了那些失序的發言 , 只能說那個站台的參考價值不高 ,
彼此互助的氛圍也都沒有 , 看到的是某些人只在那裡耍嘴皮子打筆戰 , 不然就是講一些沒營養的內容或是 進行人身攻擊的 , 
一堆回覆內容都不是彼此幫忙解決系統開發問題或是技術問題的 ,
這種站台會被我歸為  "不佳的程式設計網站" , 因為參考價值為 0
有沒有好的回應文章或是主題 , 有 , 不過不多 , 要自己去大海撈針 , 如果你願意把 37 萬篇主題跟回應看完的話...



比較一下 JavaWorld  , 只要你公告不當的下載連結 或者是有不當的發言 , 管理人員會把你的公告刪除 , 避免違法之虞 , ...(比起某站台 , 完全是無政府狀態 , 真的是差太多了)
而JavaWorld他們的成員share 的比例比較高 , 多的是自主性的 share , 例如有人整理好的筆記 , 考試學習心得 , 或者是實用的程式及範例甚至是技術之間的討論

嗯, 舉 JavaWorld 為例只是因為老人家是用Java的 , 其他的像 ASP , PHP , ....等等其他應該也有不少不錯的站台 , 不過老人家我就沒有接觸了...