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

2012年1月10日

年輕工作者的指導

作者 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.鈺松國際, “滲透測試簡介”