如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2012年1月31日

AutoIT怎樣開啟IE的Tab?

作者: Fred Wang (FW知識瑣記) 日期: 2012/1/31

終於在autoit的論壇網站中找到解答,原來還有Navigate2這個功能,但是在官方的Help中並沒有這個功能的說明

#include <IE.au3> Const $navOpenInNewTab = 0x0800 Dim $o_IE = _IECreate('http://www.google.com/') $o_IE.Navigate2('http://www.yahoo.com/', $navOpenInNewTab) $o_IE.Navigate2('http://www.autoitscript.com/', $navOpenInNewTab)




ABAP效能技巧筆記第一部份 – ABAP SQL

作者: Fred Wang (FW知識瑣記) 原作日期: 2001/7/4

1. Select with Where 比 Select + Check快


若可能的話,使用index可使network load明顯減少,例如上例中index有CARRID+CONNID或CARRID則較佳。

2. Select用index比不用index快

常用的Select指令儘量使用index, Where 子句中的順序應該與index key fields的順序相同, 速度會相差數十至上百倍


3.只抓一筆資料時用Select single較快

Select single只需與database system連一次, 而Select-endselect則需兩次

4.複製資料至另一table時用Select into table較快

若internal table與database table結構相同則用Select..into table…速度較快(比select...endselect快)

5. 用標準的aggregate func.較快

MAX, MIN, COUNT, SUM用標準的SQL寫法比Select-endselect的處理快九倍

6. Select into table + loop at 比Select..endselect快

在一層的Select-endselect的處理, 先將資料存至internal table再用loop-endloop處理速度與在Select-endselect中處理差異不大, 但在多層Select-endselect時, 先將資料存至internal table再用loop-endloop處理速度會快很多

7. 處理join, 使用view比nested Select快

8. 只需特定欄位時用Select 比Select * 快

當Tables欄位越多速度差異越大

9. 經常讀取或唯讀的table用SAP buffering較快

一般使用SAP buffering方式,不要寫BYPASSING BUFFER

10. 用array operation比逐筆operation快

用LOOP-ENDLOOP中的Insert需要許多的database communications

11. 用Column update比逐筆update快

管理者vs領導者差異點整理

作者: Fred Wang (FW知識瑣記) 日期: 20120131

第一,處理的問題


管理者通過制訂詳細的步驟或時間表及監督計劃實施的結果而確保目標的達成。

領導主要處理變化的問題,開發未來願景,發展出達到前景的戰略,並激勵屬下克服困難實現目標。


第二, 計劃與預算

管理的計劃與預算強調微觀方面,覆蓋的時間範圍約爲幾個月到幾年,希望降低甚至排除風險,追求的是合理性.

領導注重宏觀方面,著重於更長的時間範圍,不排斥帶有一定風險性的戰略.


第三,人員素質

管理行爲的從業人員強調專業化,

領導行爲的從業人員注重于綜合素質和整體能力.


第四,功用

管理行爲通常具有很強的可預測性,以有效地維持秩序爲目標;管理重在執行

領導行爲則具有較大的可變性,能帶來有益的變革.領導重在決策


第五,建立基礎

管理是建立在合法的,有報酬的和強制性權力基礎上的對下屬命令的行爲。失去權力,就失去指揮他人的基礎

領導 可能是建立在合法的,有報酬的和強制性權力基礎上,也可能建立在個人影響權和專長以及模範作用的基礎,失去權力的領導者,照樣擁有深遠而廣泛的影響力。



第六,技巧

管理強調人與物,物與物之間關係的技巧。根據職責,規範來管理組織。

領導強調人與人之間,人與事之間關係的藝術。根據個人的態度與影響力來領導組織。


參考

1. 領導與管理的區別與聯繫

2.試析領導與管理的區別

推薦文章 : 11大類程式語言功能比較表

作者: Fred Wang (FW知識瑣記) 日期:2012/1/31

博客園 : 11大類程式語言功能比較表(http://news.cnblogs.com/n/129553/)

文中將程式語言分成11大類,解釋型(PHP,Perl,Python,Ruby,Tcl,Lua,JavaScript,Io)、作業系統自動化型(POSIX Shell,AppleScript,PowerShell)、C++風格(C++,Objective C,Java,C#)、Pascal 風格(Pascal,Ada,PostgreSQL,MySQL)、Lisp 類(Common Lisp,Scheme,Clojure,Emacs Lisp)、類型推理類(Standard ML,OCaml,Scala,Haskell)、聲明型(Prolog,Erlang,Oz)、Concatenative語言(Forth,PostScript,Factor)、資料轉換(SQL,Awk,Pig,XSLT)、電腦代數(Maxima,Mathematica,Sage)、數位分析類(Fortran,MATLAB,R,NumPy)。

可以將您熟悉的語言比對上面分類,看看屬於哪些類型,我熟悉的AutoIT應該屬於作業系統自動化型,可以開發一個獨立的,將作業系統上運作的一連串動作,寫成Script,然後讓它自動執行。

2012年1月30日

J2EE系統修改(進化)之規劃案例

作者: Fred Wang (FW知識瑣記) 原作日期:2004/05/27

這是筆者2004年針對某一老舊的J2EE系統進行檢討與改版的規劃

 1.單元測試及除錯
   a.導入JUnit

 2.功能上的錯誤

3.設計上的提升
  • 選單展開及縮合設計
  • 欄位長度不正確, 輸入欄位要加maxlength
  • UI 專業化的設計
  • 輸出報表改為Excel格式
  • 前端一致性的設計(common button lines)
 4.功能上的提升

5.平台的升級

   a.改以IDE平台開發

6.程式設計方法的提升

    a.JSP : Javascript共用的部分寫成external js檔

    b.JSP : 改用include架構檔的方式, 將框架設計存成上方及下方兩組框架檔

    c.JSP : 新增及修改共同欄位及javascript 取出到一個included file, 以利維護

    d.JSP and Java :用Dispatch action合併相關的 Action

  • change struts-config.xml : action mapping
  • change form-bean : add attribute “method” and getMethod(), setMethod()
  • change configurations : Page and ViewMetaData

   e.JSP and Java : 採用struts-html tags and transfer data by form (不透過session attributes)

   f.JSP and Java : 加強exception handling

    g.JSP : selection-options改用html:optionsCollection

7.重構 – 除去不良的設計方法

   a.讓程式清楚易懂(Abstraction) : Extract Method,….

   b.去除重複的程式碼(Reusability) : Extract Method,…. Connection方法

   c.減少程式碼 : inline Temp,….

IT外包的十大問題

譯者: Fred Wang (FW知識瑣記) 日期:2012/1/30
翻譯自TechREpublic

1:實際成本

許多IT外包所涉及的成本並沒有被考慮進去,例如,安排與IT外包公司的會面,開車來回的花費,雙方溝通洽談的時間和費用。另外,外包工程師不知道如何解決您的問題的時候,需要邊做邊學習,你願意為此付費嗎?自己的員工邊做邊學是一回事,外包人員邊做邊學又是另一回事,因為外包人員學完就走了。

2:時間因素
有緊急情況發生時需等待外包IT部門找人處理。首先開車需要時間,而且外包公司有自己的行事曆,不見得有空立即幫你處理,許多因素可能會拖延您處理緊急狀況的時間。在這一點上,內部如果有IT人員負責,就可以立即進行緊急情況處理。

3:熟悉的網路和系統
公司內部IT工作人員最熟悉公司的系統和網路。因為系統可能是自行建造與維護的,可以保持系統運行更加順暢,並可以更快地解決緊急情況。當然外包IT部門可以學習公司內的系統和網絡。除了需要學習與暖身的時間,而且若缺少文件,可能會導致嚴重的問題,也難免會有疏漏。

4:員工關係
企業內部的IT人員與其他員工,比較熟識有接近的企業文化,合作時間較長,知道如何做比較好的互動與配合。如果將IT外包,可能每次派來的是不同的工程師。這表示員工必須習慣面對不同的外包人員與不同的工作方式,有時會搞得不愉快。與內部的IT人員,則可以形成鞏固的關係。當然,這不是說與外部人員之間的關係不能建立。但是,外部因素變動較大,對同仁有較大的影響與不便。

5:責任
當廠商介入工作後,某些情況下,資訊或情況可能涉及一些責任,需要一些安全措施,以保護公司的資料,員工和系統。你無法控制外包人員的硬碟會不小心遺失或遭竊。他們不會像自己公司內部同仁那樣重視保護公司資料。

6:失去工作
當員工的機器出現故障時,這段時間該員工將失去工作的能力,直到IT外包部門解決他的問題。生產力造成的損失可能是相當昂貴的。回應時間和行事曆的問題將讓您需面對外包IT不斷造成員工的工作損失。而內部 IT,問題回應的時間只是從公司這頭走到那頭的時間。

7:優先
這是最大的問題。你的公司可能只是IT外包公司合作名單中的公司之一。誰會被優先服務呢?說實話嗎?就是付最多錢的。如果你不是,這表示當你的需求與付最多錢的公司衝突時, IT外包公司會優先服務該公司而不是你的公司。如果你想留在服務優先名單的頂部,你將不得不花費大量的現金,或保有內部的IT。

8:士氣
第二個大問題是每一個IT人員要擔心自己隨時會被取代。這士氣需要很長的時間來恢復。而當員工知道,他們沒有內部 IT,他們知道出現問題時,他們可能需要很久才能得到解決。

9:持續性
這需要考慮到前面提到的許多點。當您的IT外包出去,(由於外包人力可能變動較大)你會需要持續重新指導與重新訓練這些人有關公司的安全等規定,並要處理無法完全控制的外包IT時程所造成的影響。當外包工程師時常更換時,每個人的作業方式可能不同難以透過標準程序來解決他們間的差異與設定的問題。

10:控制
如果你的系統已經很複雜了,加上外包IT所開發的將變得更複雜,因為他們會用不同的工具與管理方式來開發或管理您的系統,這將讓您對系統的執行和發展失去越來越多的控制能力?如果你是寧願保持對貴公司的日常運作的控制權的業主,股東,或經理,沒有道理將一個平穩運作的系統關鍵的部份外包。

好電影推薦

作者: Fred Wang (FW知識瑣記) 日期: 2012/1/30

「最美的夏天」


『父子情結』

『走出寂靜』

『成功的代價』

「走出寂靜」

『傾聽我心』

「盛夏獅王」

「東京物語」,年老夫妻的心靈世界。

"左右"

「天堂裏遇見的5個人」- 每個人都是重要的,都有一定的意義

"向日葵"

「伯爾尼的奇蹟」

「春天的小孩」

「心的方向 (about schmidt)」

「永遠的愛人—貝多芬的情書之謎」

「屬於我們的聖誕節」

「威爾第 - 馬克白(音樂劇)」

「歌劇魅影(音樂劇)」

「巴爾扎克與小裁縫」

「鐘樓怪人(音樂劇)」

「冏男孩」

「擁抱豔陽天」

「年少輕狂」 - 探討國高中學長制帶出來的負面文化

「艾美的世界」

「虛擬歌手」

「口袋裏的花」

「聖誕故事」

「舞力全開」

「烈日長虹」1950年 捷克前飛行員弗朗塔被政府以宣揚西方資產階級與自由化思想而入獄在獄中,他回憶起青春歲月和二戰期間加入英國皇家空軍的日子...

「僞幣製造者」

「聽見天堂」—聽見看不見的聲音 - 你看見世界,他卻聽見世上所有的美 … 義大利國寶級電影錄音師真人真事改編

「芭比的盛宴」—當藝術與信仰相遇,十九世紀,丹麥的某個偏遠小村。兩個女兒自幼隨著牧師父親,與一群村民過著刻苦的清修生活。牧師去世後村民仍然奉行他的教誨,在安息日聚會告禱、頌唱聖歌。不過他們聚會歸聚會,唱歌歸唱歌,心中卻總是卡著一些掉不去的小芥蒂。幾十年下來,芥蒂還是芥蒂,而且愈來愈難以按捺。

「失蹤時刻」

『心靈點滴』,羅賓威廉斯所主演『心靈點滴 』的精采剪接一起思想幽默所帶出的力量,什麼是同理心?要怎樣才會有同理心?同理心可以打開人際關係的瓶頸,幫助我們進入一種親密和諧的關係。

「下一站幸福 」, 芬柏是個侏儒症的患者,他一直過著離群索居的日子,並且認為只有照著自己的想法過才是真正的生活。這一天,他終於等到了他最想要的好機會…

『修女也瘋狂』

『天降神蹟』,信仰治療師約拿(史提夫馬汀)永遠是穿著得光鮮亮麗,帶領 著一個四處旅行的佈道團到處作秀,當他們被困在堪薩斯州的小鎮上,正愁 無法繼續前進之時,約拿決定乾脆化危機為轉機...

『阿甘正傳』--單純,従這當中我們可以看出簡單生活的力量,從阿干正傳這部電影的剪接思考實踐承諾的力量

『奔騰年代』,風雲際會後,浪淘盡千古風流人物,歲月公平的讓一切逝去,留下讓人動容的傳奇。即使史密斯和瑞德不得不經歷自己的被淘汰,但曾在人生某個時候,與其他人、一匹馬,一齊造就出一則不平凡的傳奇,也算人生無憾吧?

『天之驕子』,--教導學習動機

『失去的擁抱』2004獲得柏林評審團大獎的《失去的擁抱》(Lost Embrace),導演Daniel Burman倒是開個玩笑似的,以尋找族群國籍認同的猶太滄桑史開始,卻以全世界共通的主題——親情作結。

『歸鄉』描述安德烈與伊凡兩兄弟,他們正值青少年,必須跟同儕之間競較著勇敢不怕死的英雄形象,一旦被戲稱為「膽小鬼」,是最感屈辱的。可是伊凡,其實是一個非常需要溫暖情感的男孩,他細膩敏感膽怯,因此總是被嘲笑。

他需要一個強有力的父親、一個給他情感慰藉、心靈支持的父親,好讓他順利度過青少年成長之路。但他們兄弟的父親,卻已離家整整十二年了..................

『明天過後』--父子情,有什麼驕傲與成就是屬於父親的呢?有哪些榮耀與特質是單屬於父親的

『在沒有我的日子裡』一個女人得了癌症,在面對生命的末期,她堅持要用自己認為最好的方式去處理:最後的婚姻、家庭事務。可是她的家人真的認為那是最好的方法嗎?

『輕聲細語』--心靈醫治,勞勃瑞福主演的『輕聲細語』透過一匹馬的得醫治的過程得到一些自我的啟示

『巴格達咖啡館』探討愛是如何讓沙漠變成綠洲的

『真善美』--贏得信賴

『玫瑰戰爭』,生動細緻的描寫現代夫妻在事業與家庭角色扮演的矛盾

『喜福會』--比較,你害怕自己的小孩輸在起跑點上嗎?有時候這種恐懼反而扼殺了孩子成長的空間

父親的榮耀 (My father's glory)

『小球』談兒童家暴事件的主題,回應現在台灣社會現象‧

『阿瑪迪斯』--忌妒,透過阿瑪迪斯這部經典巨著的剪接一起探討每個人心中這個毒草

『水牛城』: 在對白很少的情況下,讓我們看到一個家庭的問題。是分析電影鏡頭、剪接的簡單入門,也很引人深思。

『孩子最想要的新年禮物』: 從孩子想要的禮物,來看父母讓人深深感動的愛。

『意外邊緣』透過『意外邊緣』這部電影的剪接一以來思考如何面對突來的死亡陰影

『大河戀』-- 處理悖逆

『心在別處』 故事是講一個非常單純的男孩、遇到老練女人的初戀故事雖然苦澀,但男孩的單純讓人很感動。

『女人香』--走出挫折。在你內心深處,有一個脆弱的傷口嗎?每一次被不經意的觸及,總是引起極大的楚痛!阿帕契諾所主演的女人香片段,我們或許可以從他的經驗中找出醫治的途徑。與思考誠信的重要

『戰場上頭的聖誕夜』一部真實故事,描述一個非常特別的聖誕夜。

『英雄本色』--勇氣

『蝴蝶』描述一個兒童和一個老人所發生的故事,

『美麗人生』--渴慕,觀看『美麗人生』的精采片段従當中得到恢復生命追求的靈感。

『白玫瑰』描述幾個大學生在希特勒時代不畏威脅的,以單張反抗強權的故事,非常感人。

『父親的榮耀』透過回憶錄描寫了父親對他的養成教育,大自然對他的啟發,以及,他和父親之間的溫馨關係

『1492』--熱情,從哥倫布的故事中重新找回我們生命失落的熱情

『托里』描述一個父親帶著兩個孩子,三個男人都不知該怎樣表達情感,卻遭逢生活一大難題時,彼此之間的互動,可以給所有的男人參考。

『小鬼一籮筐』 - 透討我們內心有關信仰的追尋

『霹靂煞』盧貝松的「霹靂煞」,在刺激的劇情中,觸及「真正的愛到底是什麼」。

『春風化雨』--創意的力量,一起讓羅賓威廉斯重新激發你的創造力

『靈魂的重量』這是一部跟受苦與寬恕有關的主題

喜福會,是一部關於母親與女兒的故事,母親不管多不想自己女兒走入自己的陰影,女兒卻仍繼承母親的性格..

『麥兜的故事』是一部輕鬆可愛的卡通,充滿創意的描述母親對小孩的期待,以及孩子對母親的回應與感受.

『生命無常』描述一個親密父子,後來父親失去兒子的故事,由大導演奇士勞斯基執導,非常深刻的內心戲,值得深入品味與感受

『聖誕故事』故事結局讓我們看見比表面禮物更深刻的父母之愛。

『屋頂上的提琴手』這電影對父母之愛夫妻之愛,有很深刻的描繪。

『春天的孩子』一個母親懷孕後,發現自己有癌症,跟丈夫一齊奮鬥癌症的過程

『聖女貞德』帶大家進入歐洲中世紀的法國歷史。

『紅樓夢中的大觀園』帶大家造訪大觀園。

『1996年的世界盃』1966那年夏天,小男孩班尼有好多好多計畫都跟他的13歲猶太成年禮有關,他也希望父親可以重視他這個"轉大人"的重要時刻,然而,英國國家代表隊竟然打入世界盃總決賽...。

『生殺大權』

推薦網文 : 程式師編程需要多少個小時?

作者: Fred Wang (FW知識瑣記) 日期: 2012/1/30

程式師編程需要多少個小時?

文中提到 : "一周工作時間超過40小時會導致生產力下降這逐漸呈現出一種令人不安的規律性。作為程式師,如果你的創造力下降了,你的失誤就會增加,直到達到某個階段,在這個階段中,你做錯的東西比做對的東西還要多。" 這句話說的好

如果您效率低,失誤率高,此時高工時換來的並非高生產力與高品質,因此,程式設計師並非機器,程式設計也非使用機器生產製造的過程,無法用提高運轉率來提高產能 -- Fred

2012年1月18日

科技與IT新聞相關訂閱來源整理

作者: Fred Wang (FW知識瑣記) 日期:

下面是我在Google Reader科技與IT新聞相關訂閱來源

科技新聞

IT資訊
商業雜誌
  • 商業週刊 *
  • 天下雜誌 *

* 提供RSS

我每天會看Google Reader訂閱的新聞,先瀏覽標題,看到與有興趣的主題,有參考價值的,再仔細閱讀內容。

訂閱太多的缺點是許多新聞是重複的,因此會浪費時間在瀏覽上,因此,建議剛開始訂多一點,再慢慢淘汰掉一些,減少重覆。







一個Pixel的網站

作者: Fred Wang (FW知識瑣記) 日期:2012/1/18

網路上有一個非常特別的網站 One Pixel Website,進入網站後,你會發現一片漆黑,好像什麼都沒有,不要急著離開,靜下來看看,你會發現整個網站中間只有一個一像素的點。再等等,靜靜觀察,發現這個點持續閃爍著,似乎傳遞什麼訊息。原來,那是摩斯電碼,網站正用摩斯電碼念一首詩!

如果您懂得靜下來,懂得等待,懂得仔細觀察,懂得仔細聆聽。 你將會有所改變。生命也會更美好。

2012年1月16日

SAP Xcelsius參考資源整理

SAP官方手冊與文件
1.SAP,"Xcelsius 2008 User Guide"
2.SAP,"Xcelsius Portlet User Guide"
3.SAP White Paper,"Xcelsius 2008 General Best Practices"

SAP官方Xcelsius整合文件
1."Connecting Xcelsius to External data using XML Maps in Excel 2003"
2."Connecting Xcelsius to External data Using Web Services"
3."Connecting Xcelsius to External data Using XML Data Button"
4.SAP,"Query as a Web Service"

書籍
1.Abdulezer, Loren, "Xcelsius 2008 Dashboard Best Practices"

YouTube資源
Xcelsius2008, MyXcelsius, Xcelsiusinfo, Antiviasoftware, XcelsiusGurus, SAPBusinessObjects

Xcelsius參考網站
1.SAP SDN – Dashboard Design : Xcelsius 官方網站
2.SAP Community Network Forums: Xcelsius : Xcelsius 官方論壇網站
3.EverythingXcelsius : Xcelsius 專業Weblog, 網站負責單位提供Xcelsius Dashboard and Reporting 顧問服務
4.Xcelsius Journal : “Xcelsius 2008 Dashboard Best Practices”一書作者的網站
5.MyXcelsius :四個Xcelsius專家建立的網站, 提供他們的專業知識分享
6.DataPig Technologies – Xcelsius
7.Xcelsius Insight
8.Xcelsius Tips
9.TronicHop.com

建立SAP Xcelsius地圖應用的三種方法

作者: Fred Wang 2011/1/16


SAP Xcelsius製作互動式的地圖,可以透過點選地圖上的某一區域,來變更顯示另一個統計圖的內容,例如業績資訊等。SAP Xcelsius建立互動式的地圖有下面三種方法

A.內建地圖元件 : Xcelsius內建地圖元件可以透過地圖中地區或國家的選擇切換(Drill-down)顯示該區域或國家的銷售業績資訊等。類型有 :

1.依大洲劃分的世界地圖
2.依國家劃分各大洲的地圖
3.依各省/地區劃分的主要國家地圖

但缺乏依國家劃分的世界地圖,以及亞洲地圖中無法選到台灣(因為台灣歸到中國地圖中的一省),也沒有台灣的縣市地圖

B.自行客製的地圖元件的方法
: 可以利用內建的Image與Icon元件合併的技巧自訂地圖。Image元件用來匯入一張地圖,再為各縣市各自建立一個Icon元件,將Icon元件放置在地圖上所屬的縣市,並調整至適合的大小,然後將按鈕設為透明,利用Icon元件達到Drill-down的功能。

C.使用Add-on元件 : 網路上一些已經設計好的地圖Add-on元件有
1.AnyMap (免費)
2.XGlobe (免費)
3.XYahooMap (需註冊Yahoo Developer Network,取得一個Yahoo App ID才能使用)
4.GMaps (需註冊取得一個Google App ID,此Plug-in需要收費,可下載試用版。)

2012年1月13日

Data Warehouse重要書籍與SQL學習資源備忘

Data Warehouse重要書籍
1.Ralph Kimball and Margy Ross,"The Data Warehouse Toolkit:The Complete Guide to Dimensional Modeling 2nd Edition"
2.Ralph Kimball,Margy Ross,Warren Thornthwaite,"The Data Warehouse Lifecycle Toolkit"
3.Ralph Kimball and Joe Caserta,The Data Warehouse ETL Toolkit: Practical Techniques for Extracting,...", 2004
4.William H. Inmon,"Building the Data Warehouse", 2005
5.Oracle,
a."Data Warehousing Guide 10g Release 2"
b."Data Warehousing Guide 11g Release 1"

SQL學習資源

1.Guy Harrison,"Oracle Performance Survival Guide: A Systematic Approach to Database Optimization"
2.Joe Celko, "Joe Celko's SQL Puzzles and Answers, Second Edition"
3.Joe Celko, "Joe Celko's SQL Programming Style"
4.Joe Celko, "Joe Celko's SQL for Smarties, Fourth Edition: Advanced SQL Programming"
5.Joe Celko Blog : http://joecelkothesqlapprentice.blogspot.com/
6.Ask Tom Home - Oracle : http://asktom.oracle.com/

幫助了解應徵者特質的十三個問題


譯者: Fred Wang
1. How’s your stamina? 你的耐力如何?

對人與事的耐力或耐心, 舉例說明,職場中, 如果不夠強壯, 可能會被工作負荷壓垮, 要讓應徵者知道您要找的人需要堅忍的特質

2. How hard have you been working lately? 近來有沒有辛苦工作的情況? 多辛苦!

許多企業員工已經失去努力工作的習性, 如果應徵者已經落入慣性模式可能很難在你需要的時候擔當大任

相反地, 如果應徵者對參與具挑戰性的專案充滿熱情, 則他可能是一個主動積極的人, 可以用他的投入態度激勵你團隊

3. How do you react to being told “No”?  你如何面對別人的拒絕?

傳統的經理人經常做的事就是告訴別人為什麼不能做一些事情—因為沒有經費或資源, 或因為意見或建議方案不夠好. 此時要面對的是, 有些人無法面對別人對他說不, 應徵者對此問題的回答, 可能無法讓您確定應徵者是否能處理此問題, 但是可以大略可以知道他們的傾向

4. Can you handle telling other people “No”?  當您需要拒絕別人時如何處理?

如果不要變成組織中的Dr. No, 你需要團隊的同仁分擔您的工作; 當然你不也希望有人因此而感到忿忿不平, 你可以看到有多少人會回答 “我不會因為要告訴別人做不到的事而感到不舒服, 我只是擔心是否有盡到我的責任”
5. How good are you—REALLY—at handling change?  你如何處理與面對變革?

6. Are you a good scrounger?  你是個好的請求者(Scrounger)?

7. When conflict arises on your team, how do you handle it?  你的團隊中有衝突發生, 你要如何處理?

8. What have the last few years taught you?  在過去幾年中, 你學到了什麼? 學業, 技能, 人格等

9. What type of people do you like to work with?  你喜歡與怎樣的人一起工作?

10. How do you stay current?  你如何跟上時代(stay current)? 專業與技術能力

11. What’s the toughest thing you’ve had to do professionally? 什麼是你在專業上做過最棘手的事?

12. How would you describe your perfect job?  您認為什麼是完美的工作?

13. If you could take back one career decision, what would it be? 如果你可以重新選擇職業, 你會做什麼?


荒謬的新聞"台灣寬頻全球次貴 速率倒數第4"

全世界倒數第四? 一看就知道不合理,居然中時,聯合新聞網,自由時報都刊出這樣不合理的新聞,隨便幾個非洲國家就比台灣慢。到底納入哪些國家,如果不是全部的國家,就不應該用"全球"兩個字。Akamai的統計台灣在2011年第二季排名35名平均4.2M,而中國是105名,印度是112名。

要拜託一下各媒體提升記者們的水準,也不要把大家看傻子,連基本邏輯都不懂。如果引用資料也要稍微判斷一下吧!  -- Fred

2012年1月12日

羅伯海爾的精神病態檢查清單與企業精神病


可以由下面清單的部份項目檢查是否自己或別人有病態的精神狀況

Robert D. Hare's Psychopathy Checklist 羅伯海爾的精神病態檢查清單

Factor 1: Personality "Aggressive narcissism" 指標一 : 性格"積極自戀"

1. Glibness/superficial charm 油腔滑調/表面性的魅力
2. Grandiose sense of self-worth 過度膨脹的自我價值(自我感覺良好)
3. Pathological lying 說謊成性
4. Cunning/manipulative 狡猾/習於操弄(權術或人際關係)
5. Lack of remorse or guilt 做壞事毫無罪惡感與內疚(也就是無知恥心)
6. Shallow affect (genuine emotion is short-lived and egocentric) 沒有感情(情感是短暫的而且是自我為中心的)
7. Callousness; lack of empathy 麻木不仁;缺乏同理心
8. Failure to accept responsibility for own actions 不為自己的行為負責

Factor 2: Case history "Socially deviant lifestyle". 指標2:社會性異常的生活型態。

9.Need for stimulation/proneness to boredom 需要刺激/容易感到無聊(無法獨處)
10.Parasitic lifestyle 寄生型態的生活(成人後仍無法獨立,依賴家庭,依賴社會,又稱啃老族)
11.Poor behavioral control 行為控制能力差(知道不對,卻無法控制不去做)
12.Lack of realistic long-term goals 缺乏可實現的長期目標(對人生毫無目標,或完全不切實際)
13.Impulsivity 衝動
14.Irresponsibility 不負責任
15.Juvenile delinquency 青少年犯罪
16.Early behavior problems 早期的行為問題
17.Revocation of conditional release 被撤銷有條件釋放(也就是假釋期又犯錯/犯罪)

Traits not correlated with either factor 與上面兩項指標不相關的指標

18.Promiscuous sexual behavior 混亂的性行為
19.Many short-term marital relationships 許多次短期的婚姻關係
20.Criminal versatility 反覆地犯罪
21.Acquired behavioural sociopathy/sociological conditioning 反社會行為或靠社會學的策略和技巧來欺騙人

上面部份行為用於企業內,可以發現許多老闆具有一些清單中的特質。

Fast Company雜誌"我的老闆是精神病"指出企業精神病(corporate psychopath)的性格具備3大特點:
1.贏得遊戲競賽是生存目的。他們不是在經營一家公司,而是玩一場遊戲。他才是主角,其他人僅是遊戲過程中的配角,企業則是他們得以大顯身手的遊戲場。人生最重要的目的就是為了「贏」:取得主導地位、支配所有人。

2.利用別人是成功的必要手段。精神病患老闆眼裡永遠只有自己的成功,為達到目的,自私、麻木不仁、冷酷無情的利用別人。他們懂得如何包裝自己,塑造明星般的完美形象;擁有難以抵抗的群眾魅力,能言善道,輕易取得無辜大眾對他的好感與崇拜,而自願成為遊戲中被犧牲的配角。

3.冒險是生活的必需品。他們需要持續不斷的追求更多的刺激與冒險,原因就在於,「精神病患缺乏人與人之間的情緒依附,當生活中少了情感的起伏與感動,便顯得單調與無聊,」哈佛醫學院心理學教授馬莎‧史都(Martha Stout)解釋。因此,他們必須一再尋求更刺激、更冒險的遊戲,就像是染上毒癮一般。

"小心,你的老闆是精神病"文章中指出Steve Jobs、Jack Welch、Bill Gates這些領導人是Michael Maccoby所稱的「有生產力的自戀者」(productive narcissist)與精神病老闆最大的不同在於,「他們想要改變這世界,達到他們理想的境界,而且他們認為自己有能力改變,」Maccoby強調"他們只是缺乏同理心,但仍保有良知。他們對公司有相當深的情緒依附,甚至可以這麼說,公司就是他個人的延伸。"(良知的定義是:基於與某個個體或組織的情緒依附而產生義務感,凡事不會只考慮自己,同時會顧及到其他人)

也就是這些成功的領導者雖然獨裁但卻不自私,骨子裡是個理想主義者,而這個理想則不是全然為了自己。

然而政治,經濟與社會環境給予許多的企業精神病患一個很好的舞台,玩金錢與權術,製造營收假象,大玩財務槓桿,買空賣空,五鬼搬運,特權,內線交易等等。

The Sociopath Next Door一書提出了8種應對企業精神病老闆的方法,相當值得參考

1.相信自己的直覺。千萬不要被一個人所扮演的角色給矇騙了,不論是醫生、教育者、領導者、人道主義者……這些全都不重要,真正重要的是你的直覺。你也不需要理會老闆辦公室那些令人眼花撩亂的獎牌或感謝狀,要對這些外在的頭銜或是光環視而不見,仔細聆聽自己的直覺。

2.永遠記住「三」的原則。一次的食言或傷害可能只是無意的、也許是誤會;再犯第二次就是嚴重的錯誤;如果發生第三次,就是真正的欺騙,請立即收回你對他的信任,盡快離開。
3.不要盲目相信權威。你覺得是對的,就是對的;如果你覺得是錯的,那就是錯的。守住自己心中的那把尺,一旦你發現老闆做出違背良知的事情,就該提出質疑。當然,這並不容易,但是為了你未來的生涯發展,這點非常重要。
4.別把老闆的讚美當真。這些老闆絕對不會大方的誠心讚美任何人,當他對你說好話,無非是在操弄你的情感,讓你對他產生好感。千萬要小心,無論老闆說了多少的好話,聽聽就好。
5.不要將恐懼誤以為是尊敬。許多人容易將恐懼與尊敬相互混淆,愈是對一個人感到害怕,就愈認為這個人值得我們尊敬。如果這個老闆讓你感到害怕,絕對不是一位值得你尊敬的老闆。

6.不濫用同情心。如果你一再任由自己同情對方,只是在傷害自己。無論這些老闆如何放低姿態、態度謙恭的向你訴苦或是請求,一定要好好看守你的同情心,不要浪費在只想利用你的同情心的人身上。

7.拒絕加入不法遊戲。絕對不要答應老闆從事不法勾當,更不要幫他掩飾。一旦答應了,日後想要脫身,可由不得你。

8.找到更好的工作。如果你拒絕不了,就該下定決心離開。不需要委屈自己繼續為這樣的老闆賣命。找到更好的工作、讓自己過得更好,就是最好的報復。你無法改變老闆的行為,也不需要抱持任何的期待,但是你有自由選擇更好的工作環境。

如果你也只想為個人利益,屈就這樣的老闆,或為虎作倀,哪麼當心自己也得了企業精神病(corporate psychopath)。-- Fred 2012.1.12

UML各種圖示法的使用時機整理

2005.5.20 Fred Wang

UML有許多的圖示法可以使用, 我將這些圖示法的使用時機整理在一起, 作為專案使用時的參考:

Use Case Diagram
使用時機 : 在規劃階段根據使用者目標, 找出使用案例(User Case), 再畫出互動關係, 用來確認專案範圍及掌控專案。

Class Diagram
使用時機 : 專案的每個階段幾乎都用得到, 在分析階段, 分析從使用者角度看到的物件及其繼承關係, 在設計階段用來明確的定義實作階段要完成的介面(Interface)與類別(Class), 在實作階段則定義出屬性及方法(methods)作為系統文件。

Interaction Diagram – Sequence Diagram or Collaboration Diagram
使用時機 : 進入設計階段, 已經清楚定義Classes, 透過Interaction Diagram可以清楚的看出class間的互動關係

Package Diagram
使用時機 : 在設計階段當Class數量很多時, 可將Classes分類存於不同Package, 使用Package Diagram可以概觀的看出Packages間的關係。

State Diagram
使用時機 : 在設計階段, 單一物件有清楚的生命週期或狀態變化, 需要狀態圖才可將哪些事件造成哪些狀態的改變描述清楚。

Activity Diagram
使用時機 : 在分析階段用來分析一個使用案例(Use Case)內有哪些動作, 這些動作間的關係。(此時尚未定義物件Class, 還未將動作分配給Classes)。也可以提供設計與實作階段的重要參考。

Deployment Diagram
使用時機 : 用於分散式系統, 在架構設計階段用來表達可用元件(如EJB, WebServices)分散於不同的Application Servers的狀況。

最常用的四種Diagrams是Use Case Diagram, Class Diagram, Sequence Diagram 與Activity Diagram。

如何維護老舊程式

編著: Fred Wang 日期: 2007/11/14

超過十年歷史的企業,其應用系統開發人員,有超過60%的時間會花在維護既有的系統,而經常需要維護所謂的老舊程式,所謂老舊程式通常有下列三點現象: (1)目前的人員中,沒有人參與過這些程式的開發,(2)這些程式的開發未採取適當的開發方法,因此設計不佳,缺乏註解且文件說明不明確與完整,或經過維護人員的輪替,多人修改後,原來的文件已經無法參考,(3)結構缺乏模組化的觀念,例如相同的程式複製多處等。通常在維護此類的程式常遭遇到許多的挫折,對軟體工作者而言常視此類工作為低價值的苦差事。

對程式控制流程像義大利通心麵般複雜,一個副程式長達上千行,而註解只有三行,且找不到文件說明,維護人員遇到使用者提出需求,需要修改這種程式時,這種狀況可以有三種處理方式:

1. 硬著頭皮修改,奮戰到底,直到完成為止
2. 運用軟體工程的方法,將需修改的部分重新設計,撰寫程式和測試
3. 完全重新設計,撰寫程式和測試

通常小幅的修改,尚未考慮重新設計的狀況,如上面第1點,軟體工程界的大師Yourdon提出的十點建議 :

1. 平時應研究這些程式碼,儘可能獲取有關的背景資料
2. 嘗試熟悉程式的整體控制,不要一開始就研究程式的細節,最好能自己畫出高層次的流程圖 (Fred : 可以畫出SOD, ERD, IPO Chart等)
3. 評估既有的文件說明,若有幫助的話,可以在原始程式上加上註解
4. 利用編譯器產生的交互參考表和符號表等
5. 修改程式時千萬要小心,盡量保持程式撰寫的風格,更改地方要需註明原因與時間
6. 除非你非常確定,否則不要刪掉任何陳述
7. 原程式中的暫存變數和工作儲存區,不要用,應自行定義新變數,以避免麻煩
8. 紀錄詳細的維護內容和產生的結果 (留下維護紀錄)
9. 不要沒有理由的拋開一個程式,而重新撰寫一個。
10. 要加入錯誤檢查的功能

除了上面的做法外Martin Fowler的”重構-改善既有程式的設計”,提出漸進式且安全的方法以改善程式的品質,這是近年來我看到最實用與最好的軟體工程書,極力推薦每一程式設計人員熟讀與應用。

有些人會認為重新編寫一個會更好,但是如果這個程式攸關安全,如生命,健康,財務,營收,客戶服務等關鍵流程,錯誤時將造成極大的風險,那麼就不是簡單的重寫就可以的。

就與重新設計開發有關的議題,做預防性的維護可以改善整體的設計,此類的維護就使用者角度,對其功能並無變化,乍看之下,似乎很浪費,但是對IT未來龐大維護成本將可大量減少,下面是Roger Pressman提出的幾點考慮 :

1. 維護一行原始程式的成本為當初開發該行程式所需成本的40倍
2. 以現代的設計方法,重新設計軟體架構,可以大量簡化未來的維護工作
3. 若有較佳的範式(prototype),生產力將提高甚多
4. 使用者對此軟體的使用已經有經驗,因此修正的方向更容易確定

預防性維護可視為軟體的新版本,主要目標在”應用今日的方法與昨日的系統以滿足明日的需求”。

感恩與分享

正面思考人人都會說, 但是遇到重大挫折, 通常需要時間沉澱, 家人與朋友協助, 或其他力量, 否則真的不容易

一篇文章中的一句話, 讓我印象深刻

"凡是企業文化中帶有感恩與分享的公司, 氣氛常較好,遇到挫折、低潮常能站起來。 在困難來臨的時候,反而能從中找到機會看到希望。"

不知道哪些公司是帶有感恩與分享的公司, 不論如何, 感恩與分享可以從自己做起, 然後去影響同事, 朋友, 家人

下面是我最近給自己與兒子的一段話
"學習堅強, 以面對挫折, 學習勇敢, 以面對恐懼, 知道自己的不足, 然後學習成長, 瞭解他人的不足, 然後學習寬容" 分享給大家 -- Fred 2009.3.23

晚開的白色風信子讀後感

晚開的白色風信子 : 文章 
這是一篇感人的文章,特別是最後面的一句話"我想告訴全世界的人:「請允許白色的風信子害羞吧,因為,風雪再大,受傷再深,她都會拼盡全力為你開一朵最美的花。」"

我認為在所有的投資中, 投資在孩子會有最大的回報,只是這個回報不是金錢可以計算的。

與其他投資不同, 投資給孩子的是"時間"與"心"。但是, 這兩點剛好是忙碌的工作者最缺乏的, 缺乏"時間", 缺乏"耐心", 擅於"用腦"不擅於"用心"

我的女兒從小害羞, 敏感, 我老婆怕她心靈受到傷害, 因此, 因為老師, 同學, 教育環境等因素, 幼稚園就換了四家。最後, 找到ㄧ個終於找到適合她的環境,現在上小學的女兒活潑, 大方, 有自信; 應該要歸功於老婆的用心。

 -- Fred 2009.6.25

2012年1月10日

簡單而專注, 才能成就一項事業

雖然這兩年宏碁受Apple商業模式成功的影響,業績大幅下滑,但是這篇文章的一些內容仍值得學習。

商業周刊2005年 "裁員一半,蘭奇卻衝出宏碁美國四倍價值" 文中提到宏碁電腦總經理蔣凡可.蘭奇(Gianfranco Lanci)的致勝之道不是加法,而是「減法」,他的心法是:「搞清楚不必做什麼事,比學會該做什麼事還要困難。」

我想人生也是如此, 簡單而專注, 才能成就一項事業

蘭奇說到:「每一小時,太陽都會朝地球散發數以億計千瓦的能量,戴頂帽子,加上一些遮陽裝備,可以在大太陽底下,享受好幾小時的日光浴;但只凝聚數千瓦而形成的雷射光,卻能夠鑿穿鋼板,或消滅癌細胞。」這就是專注與聚焦的力量

因此,

當您的思想過於複雜, 將無法進行更深層的人生體會與思考
當您的夢想過多, 將無法專注在任何一個夢想的實現
當您的交友過多, 將無法真正的找到知心的對象
當您學習過於廣泛, 將無法成為特定領域的專家
當您想要的太多, 往往也忽略失去了什麼  -- Fred

盧貝松的「聖女貞德蒙難記」觀後感

盧貝松的「聖女貞德蒙難記」影片中,最令人印象深刻的是獄中貞德與黑衣人的對話 :

黑衣人問:「如果妳心中有一把劍,妳怎能區別快樂與痛苦?」

黑衣人也以神蹟為關鍵詢問貞德:「妳怎麼知道上帝給妳使命?上帝何以自己不能作信使,一定要依賴你?」

貞德回答:「因為我看到神蹟。」

黑衣人又問:「什麼是神蹟?」

貞德回答:「風、雲、天、鐘聲,」但卻又自我疑惑著這些是不是神蹟,最後,她肯定答:「是劍。」

黑衣人回答:「有千百種劍掉在草地上的解釋,何以妳只相信它是從天上掉下來?妳其實是選擇自己要看的。」

黑衣人還問貞德:「妳是以上帝之名,還是以自己的名?難道妳不記得妳喊過『愛我的人,跟我來。』?」

黑衣人到底是誰?是上帝?還是魔鬼?當貞德問黑衣人:「你是誰?」黑衣人將自己變成童年貞德看到的「祂」、長成後看到的「祂」、最後又變回黑衣人自身,然後問:「有何差別?」

參考 : 陳韻琳, "聖女貞德電影的探討"



多數人不都是這樣嗎? 選擇自己想要, 自己認定的, 往往也是有利於自己的, 但是透過自己加以神聖或道德與責任的包裝, 合理化所有的行為, 而這些過程可能是有意或無意中形成的


但是人一生中, 往往沒有如片中的黑衣人, 可以讓人自省並認識自我 -- Fred
 
註 : 本文自本人舊的Blog "Thinking and Living"移轉過來。

談IT領域的熱情

一般而言, 讓一個人成為某方面技術的好手又能持續精進而成為專家(From Good to Great), 應該具備三種驅動力 :



經濟驅動力 : 這個技術在經濟上能支持您的生活, 如果生活難以為繼, 則很難持續
核心能力 : 具備這方面的能力或特長, 例如邏輯思考能力不足, 可能無法達到更好的境界
興趣 : 對這方面技術有高度興趣, 這也就是本討論中的熱情

我想在這個領域十幾年前面兩個應該都沒有問題, 但是第三個興趣或熱情的部分, 可能有burnt out的時候

也許有人認為熱情這件事是十幾或二十多歲的人才有的, 年近四十的人談的是家庭, 事業, 財務等, 這就是思想漸趨成熟或稱"世故", 但是當您金錢無虞, 也沒有能力的問題, 在人生未來的日子, 您還會選擇怎樣的工作, 還是IT技術嗎? 若是則表示您的熱情尚未消退, 低潮是難免的, 而能夠重新站起而保持熱情的 (賺錢的因素除外)有哪些呢?

我想到的有 :
a. IT技術不斷推陳出新, 喜歡接受挑戰
b. 學習新的東西, 這對自己來說是很有趣的
c. 成為專家的感覺很好, 因為爬高山頂端的成就感帶來的快樂
d. 喜歡將學來的東西分享給他人, 分享是件快樂的事
e. 對特定IT技術例如程式語言有高度的興趣, 而與年輕同事談起當年的COBOL, RPGII, FORTRAN回憶年青的時光也很快樂

您還能想到哪些呢?
當然, 也許想想真正失去這些熱情了, 因為賺錢, 工作壓力, 家庭壓力, 壓得透不過氣了, 哪還有心情談熱情, 這時我會帶著妻小, 到山上或海邊, 忘掉這些東西, 或與好友聊天暢飲, 享受人生其他的快樂.

年輕工作者的指導

作者 Fred Wang 2008/4/12
如果您是一位資深同仁或主管,如何指導新進的年輕同事,下面是個人的一些經驗整理

 
1. 盡快了解下面事情

  •  a. 認識產業: 產業流程與專有名詞
  • b. 認識公司: 公司背景,產品,競爭優勢,文化,行政規定
  • c. 認識老闆: 上面兩層老闆是誰, 他們的經歷與背景
  • d. 認識同事: 組織間的關係, 使用者, 有互動關係的部門
  • e. 認識組織: 組織工作規範, 組織倫理與文化,績效評核要點
  • f. 認識自己的工作: 工作範圍, 內容, 與重點, 系統環境, 開發環境等
2. 態度

  •  a. 耐力 : 以不斷努力克服初期辛苦的階段與挫折
  • b. 團隊 : 重視分享, 熱心參與團隊活動, 廣結善緣, 但也不要忘記本業
  • c. 責任感 : 對被交付的任務絕對的責任感, 不管加班或投入額外的時間都要達成, 使命必達, 貫徹命令
  • d. 正面思考, 克服任何的負面情緒, 在哪裡跌倒就從哪裡爬起來

 
3. 不停止的學習

  • a. 專業最重要, 快速上手為必要
  • b. 主動問問題, 多問, 養成隨時記筆記的習慣
  • c. 以自己工作範圍向外擴展學習更多知識
  • d. 不要自我設限, 保持學習的熱忱, 對科技與創新的興趣, 養成大量閱讀的習慣
  • e. 建議閱讀知識順序 : 專業書籍, 個人工作管理書籍, 個人心靈成長與修練書籍, 產業新知相關資訊, 全球產業與經濟變化相關資訊, 投資理財相關書籍

 
4. 向上思考, 用老闆與客戶的角度思考
  • a. 有問題先想過再丟給老闆
  • b. 客戶或其他部門align, 才能正確與順利完成需求

 
5. 溝通
  • a. 反應與回應的速度很重要
  • b. 注意email的使用
6. 目標 : 自我要求高於主管的要求, 不要讓事情追著跑

 
7. 工作管理
  • a. 要不要做 --> 誰做 --> 要交付什麼 --> 何時要完成(deadline) --> 如何做
  • b. 做好時間管理, 緊急與必要事情的分配, 優先順序(老闆與公司), 待辦事項表
  • c. PDCA
8. 做好知識管理
  • a. 養成做文件的習慣, 處理過的問題, 問過的問題, 與解法, 流程的澄清, 解決過的技術問題, 作業程序
  • b. 知識分享
9. 選擇自己所愛的, 愛自己所選擇的

  •  a. 成就感不是來自別人的觀感
10. 生活單純化, 注意正常作息與健康

 
年輕工作者的釋疑
1. 公司走下坡了, 公司股價太低, 是不是該換工作?
2. 上面的老闆太差了
3. 工作實在做不完
4. 沒有正式的訓練
5. 老是做相同的工作, 沒有挑戰
6. 一大堆會議, 真是沒有效率
7. 同事太混了, 我的工作比別人多
8. 大家都沒有加班, 我為何要加班
9. 做的是沒有成就感
- 證明自己的能力, 先做好螺絲釘的角色

這些事情學校學不到,也是年輕人進入職場容易遇到的困難挫折,身為指導者應用心,讓他們能融入工作,樂在工作。

 

2012年1月8日

Javascript framework(框架)資源整理


整理 : Fred Wang 2012/1/8

依據Google搜尋統計的十大流行的javascript framework如下
  • jQuery, jQuery UI : Write Less, Do More,擁有相當多插件(Plug-in)和擴展的 JavaScript 程式庫,被上百萬的網站使用,包括 Google, Dell, CBS, NBC, DIGG, Bank of America, Wordpress, Drupal, Mozilla 等著名網站。
  • Mootools :不提供UI元件, 使用者經驗增強功能包含在MooTools.More.js, 這個擴展不僅僅是簡單的 UX/UI 插件,還包含對 ArrayDateHashString Class等附加功能。MooTools.More.js 包含拖放及一些效果。還包括一些 UI 控制,如 accordion、可排序的 HTML 表、scroller、工具提示和 Ajax spinner overlays。完全免費(MIT License), 使用網站包含W3C,CNet, Bing等,動畫效果平順。但插件較少。
  • Prototype :不提供UI元件與使用者經驗增強功能,但是被其他框架作為擴展使用。使用網站包含NASA, CNN, NBC等,適合大型網頁應用。插件超過150個。
  • Dojo Toolkit :Dojo 的核心小巧,快速,可用來建立反應靈敏的 Web 程式,擁有很出色的 UI 工具(dijit),在可存取性,區域化也做得很好。支援客戶端資料儲存,Server端資料儲存與非同步通訊等dojox支援chating, grid與DTL(Dango template language),使用網站包含AOL, IBM, Sun等。

image

  • Script.aculo.us :是一個open source JavaScript程式庫,為Prototype的延伸,增加視覺效果和 UI行為控制包括 highlighting、morphing、folding、shaking、sliding、puffing 等等。Script.aculo.us 還提供拖放支持,例如滑塊、in-place Ajax 編輯器和 autocompleters。此外還有Windows Media 和 Real Media 播放器檢查等。使用網站包含Gucci,Feedburner,Ruby on Rails 等,最新版是Scripty2
  • ExtJs(Sencha.com) :是一個很出色的跨瀏覽器 JavaScript 框架,包含大量的UI組件,支援內聯編輯(Inline editing)、分頁、篩選、分組、彙總、緩衝和資料綁定。其他小組件包括選項卡、圖表、對話框、樹、外觀管理器、強化的表單控制元件、工具欄和選單、拖放和直接遠程功能(direct remoting)等,可以用來建立Rich Web 應用。
  • Uize :是一個open source Javascript框架,可以容易地更換skin,有大量的預設裝飾元件,令人眩目的效果與強大的功能。
  • YUI Library (Yahoo):規模最宏大的 JavaScript 程式庫,擁有數不清的強大功能,插件以及擴展,當然要掌握它也需要很長時間。 使用網站包含Yahoo, Linkedin, Wikia, NewsVine等
  • Arcjetype : 與Prototype有很多共同點。一個獨立的管理系統,能夠只初始化頁面需要的組件。而且Archetype強調程式碼易讀性,和HTML/CSS/JavaScript分離的最佳方法。使用網站包含GifTeer, Meteo France等
  • qooxdoo :包含跨平台開發工具,完整的 GUI 工具以及高層客戶端服務器通訊層,( LGPL/EPL Open Source )支援拖放操作。

其他還有Cappuccino, Glow(BBC), GWT(Google) ,  Mochikit, Rialto, Rico(for RIA), Sproutcore, Spry(Adobe), moo.fx, DHTMLX, Echo Web frameworkZK framework, Wijmo, VaadinAlloy UI(Liferay), JxLib, MochaUI, MoolegoUI, jQuery Tools, KendoUI, Uki, Smartclient, Javascriptmvc, Midori, treesaverRaphael, SnackJS, FuseJS, Modernizr, Ample SDK, LivePipe UI, yepnope.js, heatmap.js, FitText, Ligature.js, njfVanilla


這些框架可能是從其他框架衍生而來的,JxLib, MochaUI, MoolegoUI是基於Mootools所建立的。Wijmo, jQuery Tools, KendoUI, Dave.js是基於jQuery所建立的。Alloy UI是基於YUI所建立的。LivePipe UI是基於Prototype所建立的
用於視覺顯示,模擬,影像處理用的javascript framework有Processing.js, Pixastic,
手機/行動設備網頁應用系統javascript framework整理請見本blog另一篇文章
下面介紹一些小型的,特殊用途的javascript libraries/frameworks:
1.LivePipe UI : 以Prototype Javascript Framework為基礎的一套高品質的Web 2.0應用系統widgets與controls的小型套件。完全免費(MIT License).例如許多高品質,可以提高使用者經驗的元件,包含類型如Tabs, Windows, TextArea, SelectMultiple, Rating, ProgressBar, ScrollBar, ContextMenu。值得推薦。
2.Modernizr的是一個幫助舊版瀏覽器像最新版的工作一樣好的腳本,所以你可以構建將工作於IE6和7上的新應用程序。保證你的客戶一定會兼容它。
3.FitText是一個小型Javascript工具,允許根據父元素的大小自動調整大小的文字。
4.Ligature.js是一個小型Javascript工具,可以在網頁內文增加各種漂亮的連筆字。
5.YepNope.js是一個能夠根據使用者輸入條件來非同步選擇性資源載入js的工具程式,可以在頁面上僅載入用戶需要的js/css。
6.Diva.js一個以jQuery為基礎的Javascript的前端工具,用於瀏覽文件,呈現將多頁的文件以單頁連續項目顯示。
7.heatmap.js:可以根據你的資料用html5 canvas元素產生網頁熱圖(heatmap)。
8.njf : 一個超輕量級的 javascript 框架, 約 10K 大小,包含標籤控制、模板、表單、AJAX、長連接、拖曳、動畫、對話框等功能器。
9.TreeSaver : 用javascript 和 CSS和HTML 來達到雜誌呈現的效果,例如http://demo.nomadeditions.com/real-eats/, http://www.publicintegrity.org/treesaver/tuna/ 這兩個網站
(將持續增加介紹內容…)
參考資料

  1. Wikipedia, Comparison of JavaScript frameworks
  2. Superdit.com, 10 Javascript Framework With Rich UI Component
  3. Web Designish, 14 Best JavaScript Framework
  4. Boutros AbiChedid, 17 best free JavaScript frameworks and libraries
  5. 小型javascript libraries/frameworks, Microjs
  6. 10個對JavaScript開發者超級有用的工具
  7. Google 排名中最紅的10套 JavaScript 框架
  8. IBM, JavaScript 框架比較
Blog其他相關文章
  1. 手機/行動設備網頁應用系統程式庫與框架(Phone web application system frameworks)

2012年1月6日

Windows XP升級至Windows 7對企業影響

Fred Wang 2010/6/28

 
Gartner Group的建議
“我們的調查結果顯示,80%的商業用戶跳過了Windows Vista。由於XP支援期限將至,Windows 8還沒有著落,企業應該今早為升級Windows 7做好準備。”- Gartner VP Michael Silver

 
“微軟將於2014年結束對Windows XP支援,但事實上,許多廠商的應用在2012年底就將不再支援Windows XP。…仍在使用XP的企業用戶今年就要開始測試Windows 7。” - Gartner 研究副總 Steve Kleynhans

 
“企業在升級到Windows 7之前,要經過12-18個月的計劃和測試時間,若是不及早著手,只會導致後續更多的成本。”


 
升級Windows 7的調查報告
1.Forrester Research 2009年9月調查報告 :

  •  66%的歐洲和北美企業表示將會部署Windows 7 
  • 51%表示將在12個月內把Win 7作為第一操作系統

 2.ITIC 2009年9月調查全球近1500家企業 :
  • 60%打算升級至Win 7,40%無明確時間表
  • 計畫升級的企業30%表示會在Win 7推出半年內行動,20%會在一年內更新,11%表示會等到第一套Service Pack釋出後才會進行升級。

 3.資策會MIC在2009年7至9月,在前5千大企業中找到600家的資訊長進行問卷調查 :
  • 15%企業想在3年內採用Win 7;其中7%未來一年內將採用,8%想在未來2至3年內採用
  • 32%正在評估中
  • 53%尚未規劃或不會採用。

 不升級Windows 7的問題
  • Windows XP停止支援,而不升級到Windows 7將產生的問題 :
  • 缺乏安全性更新,造成安全性的漏洞
  • 微軟之外的其他軟體廠商與驅動程式將不再支援Windows XP, 造成未來軟硬體無法升級的問題。 
Win XP升級到Win 7主要的影響

 
1.支援客戶的系統也需升級

 - 提供客戶使用的網站與系統必須確定相容於Windows 7,包含Windows 7內含的IE8

 
2.軟體版本升級

 - 購入的OA軟體與應用系統進行相容性測試與升級

 - 沒有新平台版本的老舊軟體系統,必須進行移轉

 - 自行開發的系統進行改版

 
3.電腦硬體升級

 - Windows 7耗用的電腦資源較XP大,RAM至少1G,因此,電腦硬體也需進行升級評估

 
4.採用XP相容性解決方案,使用者操作方式改變

 - 微軟提供XP相容軟體解決軟體在Windows 7無法執行的問題(MED-V (Enterprise Desktop Virtualization) 2.0, XP Mode)
- 使用者需透過相容性軟體操作系統

 

結論

1.由於Windows XP與Windows 7核心系統完全不同,因此,升級後許多軟體將產生相容性問題而無法執行。

2.影響範圍大,應即早評估,升級的成本、所需投入的資源、前置時間與時程。

網頁應用軟體安全性參考資源整理

Fred Wang 2011/1/6

書籍 1."Foundations of Security: What Every Programmer Needs To Know“
2.“Writing Secure Code”, Microsoft

  
參考網站與資料

  1. CWESANS 公佈 25 個程式設計師最常犯下、也最危險的錯誤(http://cwe.mitre.org/top25/)
  2. 行政院研考會,"應用服務安全實作-Web應用程式之威脅與防護”
  3. Microsoft, “SQL Injection (資料隱碼)– 駭客的 SQL填空遊戲”
  4. Chris Shiflett,” Evolution of Web Security”
  5. Michael Howard,"深究 Microsoft 如何運用安全性開發生命週期",Microsoft
  6. “安全設計原則與Microsoft的STRIDE威脅建模”, CSDN
  7. Foundstone陳彥銘 , “應用程式設計安全守則”, ZDNet
  8. 阿瑪科技,”網站安全防禦術”
  9. itHome,”靜態程式碼安全性檢測採購大特輯”
  10. itHome,”深入了解滲透測試的實際執行方式”
  11. 鈺松國際, “滲透測試簡介”

網頁應用軟體安全性測試工具整理

作者: Fred Wang 2012/1/6

Web應用軟體安全性測試工具可以區分黑箱測試與白箱測試兩種。

黑箱測試(Blackbox Testing)又稱動態分析

. 在受測目標資訊不足的情況下進行測試,例如主機資訊、系統設定、原始碼等等
. 由於測試重複性高,多採用自動化工具協助,如:弱點掃描、滲透測試工具

滲透測試,就是測試團隊的成員,以入侵者的思維方式與入侵者可能利用的途徑,對目標進行檢測。測試過程,就如同網路入侵事件的實際演練。主要目標是評估具同等能力的入侵者大約可以在多久的時間入侵成功, 評估遭到入侵可能的影響,強化系統及網路的安全,減低遭到入侵後的損失等。目前滲透測試的分類可以區分網路滲透測試(Network Penetration Test)與應用程式滲透測試(Application Penetration Test)兩種,前者目標為網路上的主機或其他網路設備,後者則目標為自行或外包開發的應用程式(如jsp, asp, php等程式)

網路滲透測試或稱網路弱點掃描是透過黑箱測試的工具,模擬各種駭客的攻擊手法,以非侵入式的方式檢測運作中的網頁伺服器,並根據系統回應判斷是否存在安全性的弱點。利用網站弱點掃描,可以檢測「部分」網站系統的設定問題,找出缺失並修補。,Web應用程式仍無法有效的檢測,因此需採用應用程式滲透測試服務或使用程式檢核工具(code review)。

網路弱點掃描工具 : Nessus(Free), Nmap(Free), HP WebInspect(Pay)

應用程式滲透測試或稱應用程式弱點掃瞄是針對自行或外包開發的應用程式,因此沒有特定的工具,通常需自行撰寫。而市面有網頁掃瞄工具,具備類似功能。

網頁弱點掃描 : Burp Suite(Free), OWASP WebScarab(Free), Pros Proxy(Free) ,IBM Rational AppScan(Pay)

其他動態分析工具還有Metasploit, Free : WebFuzz(網站模糊測試工具), Nikto (Open Source), Wapiti(Open Source), Ratproxy(Free)

白箱測試(Whitebox Testing)又稱靜態分析

. 在取得受測目標資訊的情況下進行測試
. 由於資訊充足,常以檢查及驗證為主
. 已有成熟工具可協助, 如:程式碼審核工具(Code Review Tool)

程式碼審查(Code Review)工具就是透過程式審查軟體協助開發人員找出大量程式撰寫問題,比滲透測試更能找出所有的問題。

相關工具有
Open Source : RATS(Rough Auditing Tool for Security), Swift, Pixy, STRANGER, LAPSE, w3af
Free : Microsoft Source Code Analyzer for SQL Injection, Microsoft Code Analysis Tool .NET(CAT.NET)
付費軟體 : Fortify SCA, 阿碼CodeSecure, HP DevInspect


參考文章
1.itHome技術對談─深入了解滲透測試的實際執行方式
2.itHome,”靜態程式碼安全性檢測採購大特輯”
3.阿瑪科技,”網站安全防禦術”
4.鈺松國際, “滲透測試簡介”




2012年1月5日

Javascript在Web應用系統中的角色

作者: Fred Wang 2012/1/5

摘自http://www.saxue.com/javascript/javascript-jiaose.html 一文描述Javascript在Web的角色 :
"javascript是web中使用最為廣泛也最為重要的web腳本語言,Javascript可以為內容及其表現形式增加行為,javascript的作用就是增強用戶的瀏覽體驗,使得資訊的獲取和傳輸更加容易快捷,用戶的體驗不應該依賴於javascript,但是javascript可以作為這種體驗的工具。

javascript可以實現:
1.建立新圖像翻滾這樣的視覺效果,精細地引導用戶,並且有助於頁面的導航。
2.對一張表格的排列順序,從而使用戶更容易找到所需的要東西。
3.隱藏某些內容。
4.通過和web伺服器直接通信將瀏覽體驗流程化,以便新的資訊無需整個頁面重載就能顯示出來。(AJAX)"


當然,javascript還可以做很多的事,但更重要的是要知道Javascript也有很多事不適合做,也不應該做。也就是不應該扮演他不該扮演的角色。

許多程式設計師從開發Client-Server的應用系統,轉到開發Web應用系統,會發現許多原來可以做的設計在Web應用系統就不能做了,原來不會發生的問題,在Web應用系統就發生了,然後就會批評Javascript是爛東西。

“JavaScript 是爛東西?”(http://www.kenming.idv.tw/javascript_a_mc_a_peyiif) 這篇文章標題看來聳動,文章中要表達的是"會爛的原因是… 程式設計師把它變成爛東西了。"

從開發Client-Server的應用系統轉而開發Web應用系統,程式設計師若無法了解由原來Stateful連線模式轉換為Stateless連線模式等差異,想辦法改變設計習慣,往往造成效能,可用性與安全上的錯誤,例如上面連結文章中提到的例子 : "系統中客戶輸入 ID 後,就能馬上秀出客戶姓名,竟然就一次把位於資料庫的客戶資料全部傳到 Browser端,然後,用 JavaScript 寫個 For-Loop 的迴圈,來找出對應 ID 的客戶姓名。"

或是常見到將商業邏輯寫在Javascript端,或直接在Javascript端檢查輸入內容,而忽略Server端的檢查等錯誤的設計方式。這些都突顯對Web環境,如Http連線與資料傳遞的方式等的基本認識不足。

因此,Javascript主要角色應該用在前端UI呈現與使用者動作事件的控制,而不該做為商業邏輯運算與資料處理用途。  -- Fred




2012年1月4日

Team Hoyt的故事讀後感


文章(http://www.tkc.org.tw/article.php/472)

這篇文章讓我蠻震撼, 不知道如果發生在我身上, 是否我能如此勇敢面對!!

以前的鄰居有一位男孩, 出生後就有輕微的腦性麻痺, 運動神經受損, 說話不是很清楚, 走路會搖晃, 卻也學會跑, 寫字困難, 但可打電腦。

與許多這類小孩相比, 應該是輕微多了, 但是卻遇到逃避的父親與放棄的母親, 因為缺乏父母的教導, 慢慢連內在也產生缺陷。

逃避與放棄並沒有讓他的父母過得更好, 心中揮之不去的陰影, 與內心的譴責, 讓他們只能生活在痛苦與掙扎之中

Team Hoyt 故事中偉大的父親, 在努力付出中, 有得到任何得回報嗎? 看到這些照片, 可以感受到那些回報,

遭遇苦難, 若能勇敢面對, 相信上帝會賜給我們力量!

ZDNet軟體工廠一文之閱讀心得


作者: Fred Wang 2012/1/4

ZDNet軟體工廠(http://www.zdnet.com.tw/members/1000101720/blog/?v=post&id=10000198)

 製造業不管是汽車或電子等,都經過早期手工時期,為了大量製造,開始了生產線標準流程,但是軟體業為何仍落在手工業時期,而少導入生產線製造模式,快速生產組裝,主要在於軟體不需重覆生產與大量製造。


但是,如何思考以工廠製造與經營方式改變軟體開發的現狀是在軟體工程領域不斷被研究與討論的,近年來就是Web Service, SOA等,而軟體工廠更包含標準化與自動化的作業,組裝,測試與品管, 而軟體設計師等同與產品設計,IC設計,設計完成後就進入軟體工廠,元件部份則有專業的元件工廠製造軟體元件提供下游廠商使用。

這是一種理想,而MIS嚴格來說應該是產品的使用者,將產品導入並應用在業務上,就角色與資源運用上都並不適合定位為軟體工廠,但是仍可採用一些標準化的精神與自動化的工具協助改善現狀。

我主修軟體工程,也了解許多MIS在採用軟體工程過程的困難,身為主管應該在不影響工作目標下,推廣與鼓勵以更理想兼具品質與生產力的方法開發系統。

相關文章

1.軟體開發生產線化探討
2.企業應用系統的開發生產模式探討

中央圖書館典藏圖書調閱程序


整理中央圖書館典藏圖書調閱程序,作為備忘。

下面是中央圖書館圖書調閱說明

http://www.ncl.edu.tw/ct.asp?xItem=1087&CtNode=1257&mp=2


1.調閱處所:讀者入館查檢館藏目錄,如屬各閱覽室開架圖書,逕至各室取閱;如屬各書庫內藏書時,普通圖書於電腦直接線上調閱,視聽、微縮(善本、政府出版品除外)資料至四樓視聽室調閱,其餘期刊、善本、日韓文、政府出版品等至各專科閱覽室服務臺調閱。

2.調閱手續:調閱書庫內書籍時,請先查檢館藏目錄後於電腦直接線上調閱。期刊則依式填寫「提閱單」,連同閱覽證交予館員提取。

3.調閱數量:調閱普通書籍每人每次以三冊為限;期刊一次以三種每種五冊為限;善本圖書以三部為限;微縮資料則每次以九十分鐘為限。

4.攜出各室:書刊如欲攜離各室,須填「書刊紀錄單」。

5.歸還:閱畢後將所借書刊資料、號碼牌一併交予館員,領回閱覽證。

6.外借:本館以典藏國家圖書文獻為務,所有圖書實料均不外借。 如有偷竊或撕割書刊等情事,除註銷其閱覽證外,並視行為情節,按下列方式處理;報請司法機關究辦犯罪行為並責令按所毀棄損壞書刊價格拾倍賠償;在學者通知其家長或學校,服務公私機構者,通知其服務單位。


各書庫內藏書的調閱程序,例如 :

出版日期較早的中文圖書如屬典藏書庫典藏,讀者可利用館藏查詢系統直接線上調閱,調閱完畢等候約十五分鐘,即可至圖書出納服務臺憑本人閱覽證取書,利用完畢後將調閱圖書歸還櫃臺。

2012年1月2日

2012年1月最流行的電腦程式語言排名與趨勢


作者 : Fred Wang 日期 : 2012/1/2
根據最近一期TIOBE程式語言社群索引統計,目前最流行的程式語言為Java, 第二名為C, 第三名為C++。從2001年開始Java與C一直保持前兩名,而C++曾少數幾次被Perl, PHP, VB超過外,多保持在第三名;但是來勢洶洶的C#恐怕會讓C++第三名的地位不保。C#是Microsoft最活躍與不斷改良的語言。
除了C語言20多年來一直保持前兩名外,在排行前20名的語言不乏一些長青樹,例如C++, (Visual)Basic, Lisp, Pascal, Ada, Assembly。除Ada外都是筆者20多年前學過的語言,還有Fortran(28), COBOL(37), Prolog(33), Forth(39), RPG(23)都還在前40名內。
近年有一些新崛起的程式語言,慢慢降低前三大程式比例,由2000年初Java,C,C+合併使用率約65%,到2011年底減少到43%。其中C#與Objective-C崛起,在2011年底一舉超過PHP與VB,攀升到前五名。特別是2009年後才出現的Objective-C使用率成長十分驚人,這主要要拜iPhone流行之賜。
相關數據請參考TIOBE Programming Community Index 每月公布的數據
如果有興趣學習新的程式語言,不妨了解一下這個趨勢。