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

2011年12月28日

Javascript學習資源整理

 

Javascript要學習的內容主要分為資料型態,程式控制結構,HTML中的執行/呼叫方式,函數/副程式,文件物件模型(DOM)的控制與動態網頁設計,HTML輸入控制,事件處理,Cookie控制,CSS的動態變更,Layer物件控制,網頁保護技巧,使用者環境判斷(如使用什麼瀏覽器,是否使用行動設備iPhone,iPad等,螢幕解析度)

Javascript進階就要學AJAX,javascript framework的使用如jQuery,YUI,ExtJs,Mootool等

Javascript的寫法也直接影響網頁執行效能,Google, Yahoo都有專文說明。

推薦書籍
1.清大資訊系教授張智星所著的"JavaScript 程式設計與應用" (已經出第二版了,在清
大書店買有85折)
張智星教授的網站:
a.
http://neural.cs.nthu.edu.tw/jang/books/jsBook/
b.http://neural.cs.nthu.edu.tw/jang/books/javascript/

2.博碩出版的JavaScript與Ajax範例活用辭典(日本人寫的)- 博碩出的這些辭典書整理的相當好(果然是日本人的風格)準備一本是必要的。

3.進階書Javascript大師Douglas Crockford的書"JavaScript:The Good Parts", O'Reilly出版,已經有中譯本了,另外,從這裡可以找到大師的文章 http://javascript.crockford.com/

推薦Javascript教學網站
1.W3Schools.com的教學網站
http://www.w3schools.com/js/
這個網站http://www.ykhoo.com/index.htm 好像是直接將上面網站翻譯成中文
2.Javascript資源網 : 
http://javascriptsource.com/
3.78篇教學文章  : http://www.study-area.org/coobila/category_Javascript_u6559_u5B78.html
4. 由淺入深教授JavaScript :
http://taiwantc.com/js/index.html

2011年12月27日

Xclesius2008 使用環境與條件

作者 : Fred Wang

前端環境限制

1.需要Adobe Flash Player version 9 or later
2.Flash Player’s Domain安全限制
透過Xcelsius產生的Flash檔案中,如果使用Data存取不在其資料的本機Domain時會遇到下列錯誤: Error : 2107 (Flash),如果想要在Flash裏面跨域獲取資料,就必須在對方server (ex:BOE,SAP 的Web AP,Tomcat...)上配置一個policy file (crossdomain.xml)。比如你的Flash在domain A下面,而你想要訪問domain B暴露的web service,那麼domain B的server根目錄下必須要有一個crossdomain.xml檔來配置說你有這個許可權。
3. Flash Player's HTTP, HTTPs安全限制
Flash file (SWF)放置的本機server提供HTTP service, 無法存放在HTTPS server上的data
 
Xcelsius支援Excel的限制
 
1.如果要同時使用Xcelsius與Excel則須先開啟Xcelsius,然後再開啟Excel
2.支援Excel的功能
  • a.使用Excel 2003在Xcelsius內可以看到Excel default toolbar但是與資料無關的按鈕則失效
  • b.不支援巨集
  • c.不支援conditional formatting
  • d.並非支援所有的公式, 支援的公式表列,請見Xcelsius 2008 User Guide p371 or Xcelsius 2008 Dashboard Best Practices p401
  • e.不支援與其他Excel間的連結
 
Xcelsius效能限制
 
1.Xcelsius 的Spreadsheet沒有size的限制,資料量太大將影響執行時的效能
 
2.影響顯示效能的因素包含
  • a.Canvas上的元件數
  • b.顯示時改變的資料量
  • c.計算的複雜度
3.效能問題訊息 : 如果超過60秒flash無法顯示則會出現”A script in this movie is causing Flash Player to run slowly…”?
 
開發環境要求
1.安裝Xcelsius 2008 sp3
2.使用Office XP/2003~2007
3.作業系統 : Windows XP/Vista
4.記憶體最少1G RAM

 

 

 

 

 

 

 

iPhone網頁應用開發環境與工具(iPhone Web Application Development Environment and Tools)整理

作者 : Fred Wang

一 模擬與測試工具

a.iPhone線上模擬器(Online Simulator): 直接透過網站模擬iPhone, 可以測試開發好的iPhone網頁應用系統.
工具 :
1.
TestiPhone : 可以直接使用瀏覽器模擬iPhone,快速測試您iPhone版的網頁應用系統。支援 Internet Explorer 7, FireFox 2 and Safari 3.
注意 : iPhone不支援Java與Flash, 但這些應用可以在這個simulator中執行
2.
iPhone4Simulator.com : iPhone4 模擬器,可以測您開發的iPhone版網頁應用系統或網站。

b.iPhone 模擬器Simulator (要下載安裝) :
工具 :
1 iPhone Simulator
http://iphone.simulator.name/
2 AIR iPhone http://merhl.com/
3 iPhoneBT 包含 :
- All widgets from main menu are fully functional (you can access their primary pages, not use them)
- A fully functional iPhone Calculator.
- A fully functional Photo Gallery
- Full Phone Interface: Contacts, Usable Keypad, Calling Screens etc.
- iPod Widget Interface: Playlist Browsing, Now Playing Screen.

4 iBBDemo : 必須配合Safari for Windows(
http://forums.techarena.in/windows-software/1221227.htm)

二 開發平台(IDE)

1.Antenna Mobility Platform : 目前較為成熟的行動應用系統開發平台。

2.MobiOne : 可以在幾分鐘內不須寫一行的程式碼就可以建立行動應用系統與網站。可以在Windows環境上開發,再傳送到設備上。可以使用HTML5, Javascript, CSS3。目前僅支援iPhone與iPad兩種設備的應用開發,內含iPhone與iPad的模擬器。有MobiOne Eclipse Plug-in。

3.SAP Sybase Unwired Platform : SAP Sybase的行動企業應用開發平台

4.Eclipse Mobile Tools for Java (MTJ): 擴充現有的Eclipse框架已支援行動設備Java應用系統開發

5.Eclipse Pulsar : 行動開發者的整合平台工具, 容易整合行動設備SDKs以開發行動應用系統。

6.Eclipse Sequoyah : 同上, 繼承自MTJ與Pulsar, 可以結合Tools for Mobile Web(TMW), FireFly DevKit

IT人員教育訓練資源整理

104教育資訊網-資訊科技專區 http://www.104learn.com.tw/computer.htm

itHome研討會與課程 http://www.ithome.com.tw/seminar/

資策會數位教育研究所 http://w3.iiiedu.org.tw/index.php

恆逸教育訓練中心 http://www.uuu.com.tw/

中央大學企業資源規劃(ERP)中心課程 http://www.104learn.com.tw/cfdocs/edu/classall.cfm?school=3088

交通大學推廣教育中心-資訊類 http://ccet.nctu.edu.tw/programs_class.php?k1id=5

台灣大學資工系所資訊系統訓練班 http://www.csie.ntu.edu.tw/train/

巨匠電腦教育中心 http://www.pcschool.com.tw/

學承電腦教育中心 http://www.pccenter.com.tw/courses/Guide.php

聯成電腦教育中心 http://www.lccnet.com.tw/

2011年12月25日

SAP ABAP 使用者介面設計(一)一般原則

作者: Fred Wang (FW知識瑣記) 日期: 2011/12/25

這篇文章內容摘錄並翻譯自SAP Accessibility Competence Center的"Accessibility Guidelines for ABAP Dynpro v3.0”

1. ABAP程式設計在UI設計上的一般原則

  • 盡可能使用ALV Grid, 而不要用ABAP Lists
  • 盡可能使用ALV Grid或Table Controls, 而不要用step loops
  • 用SAP interactive Forms by Adobe,而不要用SAP Smart Forms或SAP Script
  • 避免使用HTML controls
  • 避免使用簡稱
  • 複雜的元素要建立標題,如ALV Grid與Table Controls, 有標題可以幫助使用者了解這些用途是什麼

2.可存取模式
應用系統可以用fnction module “GET_ACCESSIBILITY_MODE”查詢是否使用者設定可存取模式。這個功能只有在應用系統存在可存取模式與非可存取模式才有用到。
image
可存取性模式除了用在視覺障礙者外,非視覺障礙者在某些情境可能也會用到,例如行動障礙者,只能使用鍵盤,不能使用滑鼠。對視覺障礙者在可存取模式提供文字模式,也要提供Hot-key鍵盤輸入。

3.使用Tooltips
當游標移動到某元素上,可以顯示說明文字,這就是tooltips
image
輸入欄位,Pushbuttons, Radio button, Checkbox, Combo box與dropdown box,這些元件可以建立Tooltips

元件屬性中Tooltips設定有下面兩種方式 :
第一種 是在元件清單中的Tooltip Text設定
image

第二種 在Screen Painter的Tooltip屬性設定
image

4.使用標籤文字(Lables)
一般而言,Radio Buttons與Checkbox的標籤文字應該放在元件右邊,而輸入欄位, combo boxs, dropdown boxs的標籤文字應該放在元件左邊
image

設定As label on right或As lable on left表示這是欄位的標籤文字,設定後使用Tab鍵,跳欄位時,游標就只會在輸入欄位間跳動,而不會跳到標籤文字上。

下圖為設定欄位左方的文字欄是它的標籤文字
image
下圖為設定欄位右方的文字欄是它的標籤文字
image

相關內容 :

2011年12月22日

網頁可用性參考書籍與文章

下面是個人近期研究網頁可用性所參考的書籍與文章
Jakcob Nielsen,“可用性評價十原則”
Jakcob Nielsen,”The Ten Most Violated Homepage Design Guideline”
Jakcob Nielsen and Hoa Loranger, “Prioriting Web Usability”
Tomas A. Powell, “Web Design設計實務—徹底研究”
網站可用性設計中不可忽視的30個原則,2011/10/14
25個基於網格佈局設計的優秀網頁案例,2011/11/1
Steve Krug, “Don’t Make Me Think”
資訊軟體協會軟體人因工程開發培訓班 課程講義
Vgod blog,”費茲定律Fitts' Law與使用者介面設計”
Intel,“情境感知技術將快速改變使用者與科技的互動”
資策會數教所,”無所不在的個人化情境感知服務”
“網站可用性設計:西方網站和亞洲網站的文化差別”

2011年12月19日

免費的資料庫軟體整理


作者 :Fred Wang  日期 : 2011/12/19
資料庫霸主Oracle有Express版本提供開發者自行下載,最新版本為11g Express R2 Edition
其他商用軟體也已經有Express版本,如
其他知名(或不那麼知名)的商用軟體還有Sybase IQ, Teradata, Adabas, FileMaker, Pervasive PSQL,沒有找到釋出的免費版本
Open Source 資料庫軟體,較有名的有
其他Open Source DB還有TurboPower FlashFiler, TurboPower B-Tree Filer, FIS GT.M, MCObject Perst(OO Embeded DB), Drizzle
非關聯式資料庫,非SQL資料庫,NoSQL(Not Only SQL) DB有



2011年12月13日

加速個人電腦的各種方法整理

Fred Wang整理

僅收集自網路的各種加速個人電腦的方法做為參考,尚未分類有效使用的Windows版本與是否有效,影響效能多少。

有效的方法


1 改變硬碟設備 - 採用SSD作為系統碟 : 加速作業系統讀取的效率 註: 依聯強的測試數據,以40GB容量SSD與7200轉硬碟相比,SSD系統開機為19秒,關機為6秒,使用傳統硬碟開機則要38秒,關機則需要11秒

2 更改硬體裝置設定 - 禁用閒置的IDE裝置 : "減少開機時IDE偵測的時間(可以大大加快的XP的啟動速度,最少快一倍)" "我的電腦>內容>硬體>裝置管理員, 打開“IDE ATA/PATA控制器”選擇“進階設定”,在這裏找到“當前傳送模式”為“不適用”的 一項,將此項的“設備類型”設置為“無”,確定即可"

3 定期重組硬磁碟 - 定期重組硬磁碟 : 減少檔案存放於非連續性磁區造成讀取效能的降低 "開始>程式集>附屬應用程式>系統工具>磁碟重組工具, 一周執行一次磁碟重組"

4 更改網路連線設定 - 手動設置IP位址 : 減少開機時搜索DHCP伺服器,獲取IP位址的時間 網路上的芳鄰>內容>區域連線>內容>Internet Protocal TCP/IP內容 - 輸入IP Address

5 更改系統屬性 - 更改系統啟動功能表時間 : 減少開機時顯示作業系統清單的時間 我的電腦>內容>進階>啟動及修復>顯示作業系統清單的時間, V去除

6 更改系統屬性 - 調整為最佳性能 減少視窗GUI顯示處理的時間 我的電腦>內容>進階>效能>調整成最佳性能

7 更改啟動設定 - 減少啟動時不必要之程式載入 : 減少開機時不必要的程式啟動的時間 "1.程式集>啟動, 2.msconfig>啟動"

8 更改輸入法設定 - 刪除不需要的輸入法 : 減少開機時輸入法載入的時間 語言列 滑鼠右鍵>設定值 - 移除沒用到的輸入法

9 簡化桌面顯示 - 關閉桌面背景及Theme : 減少開機時背景圖檔與Theme的載入時間 桌面 滑鼠右鍵>內容>桌面 - 設為"無", 顏色用黑色

10 簡化桌面顯示 - 減少桌面捷徑之使用 : 減少開機時查找和驗證桌面捷徑的有效性時間 將桌面快捷方式分門別類放到特地、專門的文件夾中便於管理及加速啟動



參考的方法

1 變更安裝之字型 - 去除不需要字型 :減少開機時字型載入的時間, "設定>控制台 - 去除不需要字型(注意:系統字體不要動), 例如:如果你不常到 ms_dos模式的話,就刪除dos 字型"

2a 更改註冊表 : 加速關機速度, "1.在AutoEndTasks的下面可以找到 HungAppTimeout,WaitToKillAppTimeout,把“數值資料”設為2000或者更小, 2.把選單延遲的時間修改一 下,在AutoEndTasks的下面找到MenuShowDelay,數值是以毫秒為單位,如果希望去掉功能表延遲就設為0。"

2b 更改註冊表 : 加速關機速度,"Windows XP中關機時,系統總會發送消息到運行程式和遠端伺服器,通知它們系統要關閉,並等待接到回應後系統才開始關機的。如果我們要加快關機速度的話,我們可以先設置自動結束任務的時間。, HKEY_CURRENT _ USER Control Panel Desktop分支,找到AutoEndTasks子鍵,將其設置為1。再將該分支下的“HungAppTimeout”子鍵設置為 “1000”,將“WaitTOKillService”改為“1000”(默認為5000)即可。"

3 硬體安裝 : 拔取一段時間內暫時不用的設備,如USB設備,光碟, 減少開機時系統自動檢測USB介面的時間與光碟

4 關閉開機自動病毒掃描功能 : 減少開機時間, 註:如果已經打開了防毒軟體的即時監視功能,並且定時對系統查毒,那麼啟動時掃描系統就顯得有些多餘

5 更改註冊表 - 更改EnablePrefetcher : 減少系統預讀時間 (但是進入桌面後讀取系統檔案的時間就會增加) "HKEY_LOCAL_MACHINE>SYSTEM>CurrentControlSet>Control>Session Manager>Memory Management>PrefetchParameters,在右側視窗中區找到EnablePrefetcher子鍵,把它的預設值“3”修改為“1”
註: 0不預讀, 1:只預讀應用程式 2:只預讀Windows系統檔 3:預讀應用程式與Windows系統檔"

6 關閉系統還原

7 減少Chkntsf等待時間 : 減少開機磁盤掃描等待時間,"開始→執行,鍵入:chkntfs /t:0, 如要關閉則用 chkntfs /x c:"

8 清除不必要的檔案 - 刪除系統備份檔案 : 刪除系統備份檔案,減少300多MB磁碟佔用, 開始→執行,鍵入:sfc.exe /purgecache

9 取消zip檔當成資料夾流覽功能 : 系統要使用部分資源來實現這一功能,因此禁用這一功能可以提升系統性能 開始→執行,鍵入:regsvr32 /u zipfldr.dll

10 設定虛擬記憶體 : "我的電腦>內容>進階>效能>進階>虛擬記憶體變更,系統自行管理虛擬記憶體,它會因應不同程式所需而自 動調校交換檔的大小,但這樣的變大縮小會給系統帶來額外的負擔 ,令系統運作變慢!因此最好自定虛擬記憶體的最小值和最大值,避免經常變換大小。"

11 移除殘留的註冊碼及登錄項目 : "使用Cleansweep等軟體, 控制台""新增/移除程式"" 只會幫你移除程式,而不會幫你移除該程式 的注冊碼和一些登錄項目"

12 清除不必要的檔案 - 定時清理磁碟 : 開始>程式集>附屬應用程式>系統工具>清理磁碟

13 關閉光碟自動運行功能 : 開始→執行,鍵入:gpedit.msc 電腦配置→管理範本→系統,找到“關閉自動撥放”雙擊後選擇“已啟用,在下面的關閉自動播放,選擇”所以驅動器

14 打開的保留的20%網路頻寬 : 開始→執行,鍵入:gpedit.msc 電腦配置→管理模版→網路→qos資料包調度程式" ,雙擊 "限制可保留帶寬" ,選中"已啟用" ,將 "帶寬 限制%"的值改為0,註:  QoS (Quality of Service)。它可以針對不同的程式採用相應的頻寬優先順序,通常用來解決網路塞車或延遲(Lag)的問題,以確保連線品質和傳輸水準。常應用於網路遊戲和串流影片一類需要穩定資料流的服務。簡單來說它就類似交通警察,專門管理網路秩序的機制。其實XP沒有把20%的頻寬吃掉,任何軟體還是可以透過QoS API來共享這20%的頻寬,不過QoS不是獨佔20%頻寬之後再來跟其他程式分杯羹喔!在QoS沒有被程式使用的情況下,所有的頻寬都是Free的,無任何限制。只有在程式需要由QoS控管頻寬來運作時,QoS才會從最大頻寬中分割20%的頻寬出來給需要的軟體使用。

15 關閉自動搜詢網路資料夾和印表機 : 打開我的電腦 >工具>資料夾選項>檢視, 去掉勾選“自動搜尋網路檔夾和印表機”點擊“套用”

16 關閉Dr.Watson : Dr. Watson 是一種程式錯誤疑難排解工具,並且產生作業系統的快照,可以利用所產生的快照來診斷錯誤。執行 Dr. Watson 時,如果發生程式錯誤,Dr. Watson 會自動建立記錄檔。記錄檔的副檔名為 .wlg,並且儲存在 \Windows\Drwatson 資料夾中。記錄檔指出產生錯誤的程式、發生錯誤的程式及發生錯誤的記憶體位址。如果程式無回應,則 Dr. Watson 無法建立快照。

17 關閉遠程協助

18 關閉自動更新

19 關閉錯誤報告

20 最佳化網路芳鄰 : "Windows XP網上鄰居在使用時,系統首先會搜索自己的共用目錄和可作為網路共用的印表機以及計畫任務中和網路相關的計畫任務, 然後才顯示出來,這樣會直接影響電腦的運行速度。如果不必要的話,應將其刪除。具體步驟如下:在註冊表編輯器中找到 HKEY_LOCAL_MACHINE\sofeware\Microsoft\Windows\Current Version\Explore\RemoteComputer\NameSpace,刪除其下的{2227A280-3AEA-1069- A2DE08002B30309D}(印表機)和{D6277990-4C6A-11CF8D87- 00AA0060F5BF}(計畫任務),然後重新啟動電腦,當你再次訪問網上鄰居時,發現運行速度已經提升。"

2011年12月9日

企業Adobe Flash應用系統在iPhone/iPad的解決方案

Fred Wang 原作:2011/04

企業開發的Adobe Flash應用系統,如何讓配發iPhone或iPad同仁使用呢?
首先要注意一則新聞 "蘋果放寬限制 iPhone、iPad接納Flash軟體"

根據新版開發者協議,蘋果刪除今年4月時加入授權協議3.3.1條款的一些措詞。這段封鎖Flash應用程式的條文是

「應用程式必須是以Objective-C、C、C++ 或 JavaScript寫成,由iPhone OS WebKit引擎執行,而且只有以C、C++和Objective-C寫的程式碼可以編譯和直接連結Documented應用程式介面(API) (也就是說,禁止透過中介轉譯或相容層或工具)。」

要注意的是解禁的是Apple App開發工具,並不是Browser plug-in的Flash Player

來源: http://www.zdnet.com.tw/news/web/0,2000085679,20147477,00.htm

解決方案一、使用Citrix Receiver for iPhone/iPad

Citrix Receiver可從蘋果電腦的Apple App Store下載,讓iPhone及iPad用戶可以隨處存取Windows應用及文件,打造高效率的行動工作環境。 但是使用iPhone會有畫面太小操作不易的情況。

解決方案二、使用雲端瀏覽器讀取內嵌Flash的網頁

使用Cloud Browse是免費的,AlwaysOn Technologies公司推出的免費程式Cloud Browse

Cloud Browse分免費版與付費版,付費版用戶月繳9.99美元,免費版功能較少,瀏覽視訊的速度慢,同時連線人數也受限,在忙線時可能連不上,也可能在付費用戶上線時被踢出。
參考 : http://kocpc.pixnet.net/blog/post/26610865

Cloude Browse的原理與優缺點

原理 : 在雲端(AlwaysOn Technologies公司的Server)處理網頁,再把畫面轉換後傳送到 iPhone 中,解決 iPhone 不能播放 Flash 的問題。
優點:
1.在瀏覽器可以線上播放Flash影片
2.只提供在WiFi網路環境下使用,不用擔心流量問題
缺點:
1.此軟體只有美國itunes App Store才有,需要註冊美國帳號。
2.網頁的清晰度不是太高,而且進行多點觸控時會出現頁面間歇性延遲 (免費版)
3.瀏覽器反應比較遲鈍,輸入網址或文字時間歇性停頓,會有1~2秒的延遲(免費版)
參考 : http://uon.cc/cell-phone/cloud-browse-4552.html

解決方案三、製作獨立的iPad/iPhone軟體

製作成Adobe Flash AIR,再使用Adobe AIR® Packager for iPhone,可以將一個Adobe AIR應用系統轉成一個Apple application (ipa).

注意 : Adobe AIR® Packager for iPhone會對Adobe Application做完整的轉換, 因此當應用系統太複雜時,可能發生效能的問題。

參考 : http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/20679


結論
方案一 用於提供企業內部同仁使用的應用或網站,若企業開放同仁透過Citrix存取內部系統則須建置提供相關服務的Citrix軟硬體環境。
方案二與方案三 適合於在Internet上使用的同仁或客戶使用,內部同仁可以透過教育訓練,用雲端瀏覽器以及安裝提供的Apps,不過公司外部人士可能不知道如何使用雲端瀏覽器,也不知道您提供的Apps,因此,應提供非Flash形式的應用或網頁。





2011年12月8日

[專案管理] 解救您的專案 - 如何面對不斷變更的需求


作者: Fred Wang 原作日期: 2011/10/2
       如何面對不斷變更的需求,要了解為何客戶會不斷變更他的需求,有沒有可能是派來談需求的代表,對業務的需求不夠了解,專業能力不夠,提出的需求代表性不足,提出的不是最終用戶的需要,也許是對系統化過程經驗不足,也可能是尚未成熟的需求(只有想法),或許是新業務或變動大的業務,尚無法訂定明確的需求。這些問題要先了解,才能真正找到問題的根源。(先確認到底專案所有相關影響人有哪些,他們的期望與需求各是什麼,客戶的代表是否有足夠的授權)
       解決不斷變更的需求,需要建立一些管理程序,而這些管理程序也要看雙方合作的經驗與信任的關係,如果合作經驗少,信任度尚未建立,需求分析與變更管理的過程都需要更嚴謹(成本較高)的方式來進行。
1.    需求蒐集與分析
a.專業的了解 : 系統分析師不僅僅只是蒐集客戶的需求了解客戶業務流程,還須對客戶的產業與專業領域有更多的了解,最好也懂得以一些大型系統作為最佳案例,例如SAP ERP各模組功能,在需求討論的過程可以提供客戶一個比較好與正確的引導,以期能讓客戶對需求考慮完整周詳,減少未來的需求變更。當然要求SA具備專業顧問級的能力,可能不太容易,但是這個能力的大小將直接影響專案的進行。一些大型專案(在中大型公司)會引進專業顧問,將業務流程標準化與合理化再進行系統化。
b.需求溝通會議 : 需求的提出與需求變更,透過正式的需求溝通會議進行,任何決議都有紀錄,紀錄都有簽字,且須通知主管,而不是一通電話或eMail私底下就決定,如此會讓客戶(需求提出者),更審慎地制定需求與嚴格地面對變更。
c.雛型化需求確認 : 由於使用者的需求變化大,也許是業務面變化大,也許是新的業務需求,可以採用雛形化的需求確認方法,透過多次需求訪談,快速雛型建立與確認,將需求談定。如果系統龐大,則應該區分功能模組,逐一確認模組。d.
d.使用高生產力的工具 : 由於雛型開發法可能的成本高於瀑布法,因此,使用可以快速開發雛形且未來容易轉換成實際系統的工具才有較好的生產力。
e.累積經驗 : 最好每次專案可以累積一些雛形,樣板或模組化的功能,不同應用領域累積不同的專業經驗與設計雛形,可以讓這個過程能夠更為快速。當然對於需求不明確的專案,專案經理必須估較長的需求確認時程,與雙方談定需求確認的方法,以避免爭議。(需求合理性是另外一個議題)
2.     系統設計
需求變更是專案過程中常見的現象,因為需求變更造成整個架構變更,全部或多數程式要重寫,都是系統設計開發人員要設法避免的。因此有經驗的設計開發人員會採取彈性的設計與開發手法,預先考慮可能的變更,提供系統較好的彈性,重點列出如下 :
a.彈性的架構 : 將系統設計得更為彈性,讓變更時的影響最小,設計的彈性包括系統架構每一層次都獨立化(如使用者介面與商業邏輯,資料處理區隔, Web設計上Javascript, CSS, HTML區隔,使用MVC架構等)
b.程式模組化 : 系統的開發最理想的是像堆積木般,將既成的模塊加以組合就可以完成整個系統,也就是採用庫存程式庫,再加以組裝。或是先用標準的庫存程式建立半成品(標準次系統),在上面加以客製化的程式來完成整個成品。
c.參數化設計 : 系統中可能變動的部分予以參數化,可以透過一個設定檔或介面進行變更,這些參數可能是系統參數或由使用者自行變更的業務參數。
這些能力與開發團隊累積的開發與系統架構的經驗與累積的程式庫有關。
3.    變更管理
a.將變更管理列入合約 : 專案一開始就跟客戶談好變更的方式與流程,而且要在合約中註明。另外,上線後提供多久或多少次的變更支援,在合約訂定保固的條文。
b.保留彈性的時間 : 專案時程最好也留下一些彈性的時間可以面對一些小型的變更,而會影響時程的大型變更就須雙方談定否則不能貿然進行。
c.變更過程要有變更記錄 : 專案會議需有會議記錄外,變更也需有變更紀錄以記錄需求變更的原因,變更的單位與負責人,主管,進行變更的影響分析,造成的成本增加,對專案時程的影響等,且必須雙方負責主管同意才能進行變更。
特別是對專案越後期的變更,造成影響越大,如果沒有做好變更管理,釐清責任,將大幅提高專案的風險。
       如同軟體品質管理,要做到多嚴謹,訂定怎樣的品質標準與要投入的成本多少有關,需求與變更管理也是一樣,都應該有成本觀念。多數專案的失敗,往往發生不斷延長的時程與不斷增加的成本。
推薦相關閱讀 :
1.    怎樣控制需求變更 , ITEye, 2008/11/5

2011年12月7日

"什麼是真的?什麼又是假的?看得不夠遠,還真容易受傷"文章讀後感

作者 : Fred Wang 原作日期 : 2010/12/21
什麼是真的?什麼又是假的? 看得不夠遠 還真容易受傷

文中讓我印象深刻的是這句 - "科技與科學的進展,加速人類對自然與人類本身的 瞭解,同時也大幅解放了傳統的束縛與愚智。但得到自由的同時,我們卻又陷於另一無知的恐慌:太多的訊息,使我們無法也難一一理解其中的真假。"

資訊快速成長的時代,我們更容易收集到資訊,但是,接下來呢?

第一個要分辨,哪些是描述事實的訊息性的資訊? 哪些是加入人為判斷與情緒的資訊?

第二如果這個資訊經過人為整理與分析,再行發布則要判斷發行者的專業能力如何? 商業目的或非營利的角度?

最後,才是自己決策過程,採納哪些可以提供決策參考的資訊,至於要看多遠,應該決策的事情大小有關 (對政府單位而言,應該為國家做長遠規劃的能力)。

決策的原則應該是對長遠有益的優先於對短期有益的(除非是緊急的),對整體有益的優先於對少數有益(除非只與少數族群有關的決策),對公理正義道德的優於違背真理的(不能一切都以利益或成本效益來計算)。

不過,如果不是工作或研究,平常大家比較不會嚴謹地思考這些問題。以上是我的感想,不知道是否切題?!

2011年12月3日

時間的價值觀

 

日期 : Fred Wang 時間:2011/12/3

篇朋友傳給我的網文,標題是時間的價值

“想要體會「一年」有多少價值,你可以去問一個失敗重修的學生。

想要體會「一月」有多少價值,你可以去問一個不幸早產的母親。

想要體會「一週」有多少價值,你可以去問一個定期週刊的編輯。

想要體會「一小時」有多少價值,你可以去問一對等待相聚的戀人。

想要體會「一分鐘」有多少價值,你可以去問一個錯過火車的旅客。

想要體會「一秒鐘」有多少價值,你可以去問一個死裡逃生的幸運兒。

想要體會「一毫秒」有多少價值,你可以去問一個錯失金牌的運動員。”

----------------------------------------------------------------------------------------

人們似乎多從逝去的時間來體會時間的價值,因為怕逝去才懂得珍惜,少壯不努力,老大徒傷悲,古書也多以警示人們把握時間以免後悔。汲汲營營努力一輩子,還是對人生有很多的懊悔與感慨,沒有花時間在正確的事情上,沒有好好念書,蹉跎年輕歲月,沒有好好陪孩子長大,沒有好好孝順父母,沒有好好珍惜夫妻情感,沒有勇於實現心中的夢想…

因為,多半的人未能好好思考時間的價值觀,怎樣過一個有價值的人生。常常追求這個,就失去那個。

時間的價值對於不同的人,做不同的事情是不等價的。

對於墮落荒唐的人,他的時間價值很低,而對於努力上進的人,他的時間價值則是高的。      

有些人認為高收入的人,他的時間價值比較高,而對於低收入的人,他的時間價值較低,同樣一個小時,前者可以賺上千或上萬,後者只可以賺幾十元。

不過,這種賺多少錢來判斷時間的價值,並不正確,同樣富人一天賺的錢可能只是買下一台名車所需金額的零頭,而窮人一天賺的錢卻是家人賴以溫飽所需要的。同樣一個小時對窮人可是重要多了。

如何提昇時間的價值呢? 如同金錢,首先將時間用在基本生活需要的,家人基本需要,然後就該用來提昇自己生命的層次,用來幫助需要幫助的人,讓受苦的人可以度過難關。

如何提昇您時間的價值,則在於怎樣定義您生命的價值。活出有意義的人生,努力讓人生每一刻都有更高的價值。 – Fred

 

 

 

2011年12月2日

雲端基礎服務(IaaS) CDN - Yahoo,Google等網站高效能服務的秘密

作者 : Fred Wang 日期 : 2011/12/2


CDN也是一種雲端基礎設施服務(Iaas)的類型。Salesforce.com,Yahoo,Google等網站都透過CDN達到高效能的目標。 像Google這種大公司會自行建構CDN,而其他中小型的公司則會租用雲端CDN服務,來提高網站的在全球佈局上的效能。
 
什麼是內容分佈式網路(Content Delivery Network,CDN)

CDN是是一系列分佈在不同地域的伺服器的集合,會根據一種衡量網域距離的方法,選取離用戶最近伺服器來發送資料,提供用戶就近的服務。
註 : Akamai 的全球平台由超過90,000部伺服器組成,分布在70多個國家,存放於約1,100多個網路內,每日傳送 15 至 30% 網際網路量。

CDN的優點

1.速度快 : 使用者可以就近取得檔案,也就是內容提供者事先將檔案推到全球的 CDN 節點,在台灣的下載者儘量從台灣取得檔案,在日本或香港的下載者也儘量從當地的伺服器取得檔案。 Yahoo!把靜態的內容從自己的伺服器移到CDN ,提高了用戶20%甚至更多的存取速度。

2.可靠度高 : 由於在全球有多個節點,所以當某個節點不通時,可以導到次近的節點以達到高可靠度。

3.效率高 : 由於使用者透過分散的CDN下載資料,減少原Server的負荷。

4.安全 : 以分散架構對抗 DDoS 攻擊。

5.成本 : 網站的頻寬消耗,絕大多數的頻寬是用來傳輸圖檔、影片,造成頻寬需求居高不下,若將這些檔案放到CDN上,就能大大減少頻寬的需求,省下最多的經常性費用。


CDN用來放置哪些東西?

根據網站Performance Golden Rule:用戶80-90%的訪問時間被花費在下載頁面中的圖片、樣式表、Script、Flash這些元件上。先實作這些靜態組件的分佈。就可以大幅減少使用者的回應時間

Yahoo!把靜態的內容從自己的網路伺服器移到CDN提高了用戶20%甚至更多的存取速度。
CDN服務提供者

Akamai Technologies(國內有代理商),Limelight Networks,CDNetworks,Amazon CloudFront,EdgeCast,Level3等


網頁可用性與可存取性設計與驗證工具整理

作者 : Fred Wang 日期 : 2011/12/2

快速雛型設計工具 Mockflow, Lumzy, Mockingbird, Lovely Charts, Cacoo, Gliffy, The Pencil Project, Simple Diagrams 等


可用性測試與驗證工具 (超過四十種的工具)
包含下面幾類
1.眼球追蹤模擬 : Attention Wizard
2.點擊紀錄統計-問題式 :如ChalkMark等
3.點擊紀錄統計-程式嵌入式 :如ClickDensityClickHeat,Clixpy等

可存取性測試工具
1.台灣 : 研考會單機版檢測工具 Freego,線上檢測。
2.國外 : WATC的 WAT (Web Accessibility Toolbar) for IE and Opera 與多倫多大學A-Prompt與ATRC等 (相當多)

筆記 - 雲端運算的定義

作者 : Fred Wang  日期: 2011/12/2

雲端運算在Gartner Group每年公佈的十大策略技術已經蟬聯上榜好幾年了。世界各大廠也已經投資大量資金在上面,但是似乎任何IT產業都想要沾上邊,因此不斷將雲端運算的定義擴大化與模糊化,讓人有"只在此山中,雲深不知處"的感覺。Gartner Group也表示雲端運算的定義已經被濫用。

許多人(包括我)對於雲端運算的明確定義就像是迷霧(雲)一樣霧煞煞,維基百科的解說似乎無法讓我完全理解,也沒辦法讓一個沒有IT基礎的人員完全理解。有些定義解說可能太過技術性了。因此,整理一下一些雲端的定義,看能不能釐清雲端運算的觀念。

一 什麼是"雲"(Cloud)
     資訊技術中的雲(端)泛指網路或網際網路。
     源於過去工程師在繪製電信網路示意圖時會用雲(Cloud)的圖示做代表,後來也用雲來表示網際網路和底層基礎設施。(來源:維基百科)  通常是告訴看這個示意圖的人,不要管這雲裡面有什麼細節,專注在與這個雲連結或互動的事物。

二 什麼是"雲端運算"(Cloud Computing)
     雲端運算一詞源於,2006年8月9日,Google執行長Eric Schmidt在搜尋引擎大會(SES San Jose)首次提出雲端運算的概念。
     而對雲端運算的定義各家有所不同,這裡列出五種定義 :
1. 美國國家標準與技術研究院(NIST) : 雲端運算具備大規模電腦叢集(clusters),虛擬化的軟體/伺服器的框架,與在此框架上運作的應用系統組合的架構,提供用戶可擴充的公用計算能力,為應用軟體服務提供彈性調整伺服器資源或代管各種應用系統。(這個定義非技術人員會看不懂)

2. 維基百科 : 雲端運算是一種利用網路使電腦彼此合作或使服務無遠弗屆的概念。此概念源於分散式運算與網格運算。(這個定義簡單明瞭多了,但是好像無法區分跟傳統運算有何不同)
3.Gartner Group : 雲端運算是一種具備大量且可擴充的IT相關能力的運算方式,透過網際網路技術,並以服務的形式,提供給外部使用者。
4. IDC : 雲端運算是一個高度具有彈性及延展性的運算中心,可以提供使用者所需程式,依據資源使用多寡來收費。
5. Forrester : 雲端運算是一種即時的IT能力運算網路平台,透過網際網路,被請求、供應、傳遞、以及消費。
註 : Gartner Group與Forrester的定義為狹義的雲端運算,也就是公有雲
6.Google : 應用程式和資料在雲端,可以透過任何裝置存取,使用瀏覽器在網雲間相互連通。
7.IBM : 雲端運算是種分享的網路資訊服務的模式,使用者看到的只有服務本身,不用關心相關基礎的建置。
8.Mircosoft : 一種由微軟資料中心供應的網路雲端服務平台,可提供一套作業系統和一組程式開發者服務,可供個人或群體操作。

三 雲端運算的分類
    有兩種分類的方式
a. 按照部署方式可以分為公有雲、私有雲與混合雲三類。
b.按照服務類型則分為基礎設施服務(Iaas),平台服務(Paas)與軟體服務(Saas)三類。

四 什麼是公有雲
    用戶透過網際網路共同使用雲端供應商提供的資源與服務的環境,如Amazon EC2, Salesforce.com等。(媒體文章中的雲端多數是指公有雲)。

公有雲的優點 : 透過租用公有雲服務可減少企業軟硬體部署與管理成本,提高系統建置的速度與使用的彈性。(還有很多)
公有雲的缺點 :  包含三大風險(資料安全的風險,服務中斷的風險,內部資訊洩漏的風險)與六項問題(隱私權問題,資料所有權問題,司法管轄權問題,智慧財產權問題,稽核問題,移轉問題)等。
下面是公有雲的三種類型 :
1.雲端服務商提供服務給一般使用者(消費大眾)
2.企業租用雲端服務提供給企業內外部的使用者使用
3.企業租用雲端服務提供給企業內部員工使用
五 什麼是私有雲
     企業員工透過內部網路共同使用由企業建構的資源與服務的環境。例如成功大學建構校園雲端基礎設施服務(Iaas) , 美國國防部建構內部雲。

私有雲的優點
1.企業建構內部私有雲可以提供企業各部門可共享運算能力,例如,薪資部門在每個月 15 日及 30 日工作量大增,需要足夠運算能力來消化工作,而其他時間工作量較少,透過內部私有雲可在需要時即時增加必要運算能力,而其他部門亦然。
2.相較於傳統架構,私有雲能讓資源更有效的運用。
3.減少租用公有雲的問題與風險。
私有雲的缺點 : 較大的初期投資成本與長期的軟硬體維護,升級與管理的成本。(跟傳統架構一樣或更大的成本)

六 什麼是混合雲
    結合公有雲與私有雲提供企業內部用戶服務的環境。例如 IBM混合模式的郵件系統。

混合雲的優點  : 根據企業資訊安全政策與商業需求將不同的應用分別建置於公有雲與私有雲,並提供系統間無縫的整合。同時享有公有雲的彈性與私有雲安全等優點。

七 什麼是雲端基礎設施服務(Iaas)

    提供基礎設施(如作業系統、資料庫等)服務,像旅館一樣,分隔成不同的房間供企業租用。
,提供使用者底層,接近於直接操作硬體的服務介面,以獲得設施的運算能力或儲存能力。
類型有 :
  • 虛擬機器,如Amazon EC2/VPC(Virtual Private Cloud), IBM Cloud
  • 儲存服務,如Amazon S3/SimpleDB/RDB, Apple iCloud, Rackspace
  • CDN服務,如Akamai, Amazon CloudFront
註: CDN(Content Delivery Network) 內容傳遞網路,透過內容同步到各地伺服器提供用戶近端服務,提高連線使用效能。


八 什麼是雲端平台服務(Paas)
    提供系統開發平台服務,開發人員可以透過網路在該平台開發系統,一般使用者也可以在上面使用開發好的系統。 在雲端平台開發系統必須遵循平台限定的程式語言,資料儲存模型與應用類型等。如Force.com, Google App Engine, MS Windows Azure

九 什麼是雲端軟體服務(Saas)
    直接提供用戶特定的應用軟體服務,用戶透過瀏覽器進行簡單設定就可以上線使用,通常依使用者人數收費。
類型有 :
  • 雲端郵件,如Google GMail, IBM LotusLive Notes, MS Exchange Online
  • 雲端辦公室,如Google Docs, MS OA Cloud, Oracle Cloud Office
  • 雲端掃毒,如趨勢科技, Symantec, McAfee等
  • 雲端CRM,如Salesforce.com
十 雲端技術的類型

     分為兩類 :

第一類,虛擬化技術
    使用虛擬機器機制擴充使用單一主機的資源,如Citrix 的Xen與VMWare的vSphere主機虛擬化技術。通常用於企業的伺服器虛擬化與私有雲的建置。

第二類,分散式計算架構
    使用分散式運算架構提高整體系統的可擴展性。許多公有雲如Amazon,Google,IBM,Facebook均採用此類架構。架構包含 :
  • Hadoop分散式檔案系統
  • MapReduce分散式平行運算架構
  • HBase分散式資料庫

 參考資料
  • 維基百科”雲端運算”
  • 黃重憲,”淺談雲端運算”,台大計算機與網路中心電子報第八期
  • IBM陳瀅,”雲端策略”,天下
  • “雲端策略-四個案例搞懂雲端”,天下雜誌2010/03
  • 台灣大學分散式與行動運算實驗室,”雲端運算關鍵技術解析”
  • “選用Amazon雲端服務的七大理由”
  • 雲端運算使用案例白皮書第三版
  • “雲端運算引爆企業,生活新革命”,遠見雜誌2009/09
  • 美國國家標準與技術研究院(NIST),”Perspectives on Cloud Computing and Standards”





    
   






2011年12月1日

近君子,遠小人 – 古書文獻整理 「論君子與小人」


整理 : Fred Wang 日期 :2011/12/1
因應世道日壞,人多不辨君子小人,為政者,上位者用人重才而不重德,終造成組織不忠不信,結黨營私的小人成群。因此整理古書文獻中論君子與小人,讓忙於治事之人,能以清醒的腦袋,分辨是非。 – Fred
 

論語
1. 君子不重則不威,學則不固;主忠信,無友不如己者,過則勿憚改。-- 論語.學而篇
解說:君子不莊重,則無威儀,學問則不堅固(散漫輕狹則無法將學問學好)。親近忠信之人,以忠信之人為師。勿交與我道(忠信之道)不同之人為友(也就是不要與不忠不信狡詐投機之人交往)。有過錯,長輩師友告之,則勿憚(難)改。
 
2. 人不知而不慍,不亦君子乎? - 論語·學而
解說:別人並不了解我,也不會感到氣憤、委屈。這不就是君子的風度嗎? (君子直道而行,因此不需要因為別人不了解而生氣)
 
3.「君子不器!朝聞道,夕死足矣!」 - 論語.為政篇
解說:君子不限於某一專長技能,心性高、器局大、能夠通瞻全局,除此之外,能追求真理,與生命存在的意義。
 
4.「君子和而不同,小人同而不和。」- 論語.子路篇
解說:君子能和諧相處但各自有獨立的思想,小人同謀利但是卻各懷鬼胎不能和諧相處。
 
5.「君子坦蕩蕩,小人常慼慼」- 論語.述而篇
解說:君子心胸寬廣,思想上坦蕩,光明磊落。小人則心胸狹窄,事事斤斤計較,投機取巧,患得患失。
 
6.「君子懷德,小人懷土;君子懷刑,小人懷惠。」 - 論語.里仁篇
解說:一位求道的君子,他心中懷者仁德道德的思想。而小人所想的都是田地財產,一己的利益。另外,君子對於自己的行為,時常惦記著所做所為是否符合公義,合乎道德典範。而小人做事卻只想到自己有沒有受到恩惠、利益。
 
7.君子喻於義‧小人喻於利 --論語.里仁篇
解說:君子只知道所做的是否合乎道義,小人則只在乎所做的是否合乎利益。
 
8. 君子欲訥於言而敏於行。 - 論語 里仁
解說:君子說話要謹慎,而行動要敏捷。
 
9.在陳絕糧,從者病,莫能興。子路慍見曰:“君子亦有窮乎?”子曰:“君子固窮,小人窮斯濫矣。 - 論語·衛靈公
解說:孔子在陳國時斷了糧食,跟隨的弟子都生了病,起不來。子路抱怨說:“君
子也有窮困的時候嗎?”孔子說:“君子在窮困的時候能安守節操,小人窮困了就會為所欲為(偷盜強劫)。”

 
10.「君子求諸己,小人求諸人」- 論語‧衛靈公
解說:君子會自我反省,小人只會埋怨與檢討別人。
 
11.「君子成人之美,不成人之惡。小人反是」 - 論語‧顏淵
解說:君子成全別人的好事,不促成別人的壞事。小人卻和這相反。
 
禮記
1.天命之謂性,率性之謂道,修道之謂教。道也者,不可須臾離也,可離非道也。是故君子戒慎乎其所不睹,恐懼乎其所不聞。莫見乎隱,莫顯乎微。故君子慎其獨也。- 禮記·中庸
解說:上天所給予人的本質叫做性(人性並非獸性),依照本性去處事叫做道,修道的方法就是教化(學習與修行)。 “道”片刻都無法離開的,如果能離開的便不能稱為是道,所以君子,在別人看不到與聽不到的地方要戒慎恐懼,因為沒有比那細微之事物,更容易顯現出是非善惡的,所以君子在獨處更應謹慎以存養本性的光明。
 
2.「君子周而不比,小人比而不周。」- 禮記·為政
解說:君子以公正的心對待他人,不徇私護短,沒有私心與成見,小人則結黨營私,只求自己的利益。
 

莊子
1.君子之交淡若水,小人之交甘若醴。君子淡以親,小人甘以絕。- 莊子‧山木
解說:君子之間交往,在利益和情分上看得很淡,雖然淡,卻可以長久;小人之間交往,在利益和情分上看得很重,卻常因利益衝突斷絕交往。
 

孟子
1.君子之於禽獸也,見其生,不忍見其死;聞其聲,不忍食其肉。- 孟子‧梁惠王
解說:君子面對禽獸時的態度,秉持仁民愛物之心,看到活的動物,不忍心看牠被宰殺;聽到宰殺時發出的號叫聲,就不忍心吃下牠的肉。(雖然沒有吃素,但是能以悲憫的心對待所有的動物)
 

資治通鑑
1.夫聰察強毅之謂才,正直中和之謂德。…才德全盡,謂之聖人;才德兼亡,謂之愚人。德勝才,謂之君子;才勝德,謂之小人。 - 資治通鑑
解說:才德兼備而極至的人稱?「聖人」,才德全無的人稱?「愚人」;品德勝過才能的人稱?「君子」,才能勝過品德的人稱?「小人」。
 

訓儉示康
1.御孫曰:「儉,德之共也;侈,惡之大也。」共,同也,言有德者皆由儉來也。夫儉則寡慾:君子寡慾,則不役於物,可以直道而行;小人寡慾,則能謹身節用,遠罪豐家。故曰:「儉,德之共也。」侈則多欲:君子多欲則貪慕富貴,枉道速禍;小人多欲則多求妄用,敗家喪身;是以居官必賄,居鄉必盜。故曰:「侈,惡之大也。」 - 司馬光·訓儉示康
 

周易
1.天行健,君子以自強不息
解說:君子,應該有堅強的意志,永不止息的奮鬥精神,努力加強自我修養,完成並發展自己的學業或事業
 
2. 君子藏器於身,待時而動。
解說:君子就算有卓越的才能超群的技藝,也不會到處炫耀、賣弄。必要的時刻才會把才能或技藝施展出來。
 

荀子
1.君子行不貴苟難,說不貴苟察,名不貴苟傳,唯其當之為貴。故懷負石而赴河,是行之難為者也,而申徒狄能之;然而君子不貴者,非禮義之中也。…盜跖吟口,名聲若日月,與舜、禹俱傳 而不息;然而君子不貴者,非禮義之中也。故曰:君子行不貴苟難,說不貴苟察,名不貴苟傳,唯其當之為貴。《詩》曰:「物其有矣,唯其時矣。」此之謂也。 - 荀子·不苟
 
2.君子易知而難狎,易懼而難脅,畏患而不避義死,欲利而不為所非,交親而不比,言辯而不辭。蕩蕩乎!其有以殊於世也。- 荀子·不苟
 
3.君子能則寬容易直以開道人,不能則恭敬繜絀以畏事人;小人能則倨傲僻違以驕溢人,不能則妒嫉怨誹以傾覆人。 故曰:君子能則人榮學焉,不能則人樂告之;小人能則人賤學焉,不能則人羞告之。是君子、小人之分也。- 荀子·不苟
解說:君子有才能,就寬宏大量平易正直地來啟發引導別人;沒有才能,就恭恭敬敬謙虛退讓來小心侍奉別人。小人有才能,就驕傲自大邪僻背理地來傲視欺淩別人;沒有才能,就嫉妒怨恨誹謗來傾軋搞垮別人。所以君子有才能,那麼別人就會把向他學習看作光榮;沒有才能,那麼別人就會樂意地告訴他知識。小人有才能,那麼別人就會把向他學習看作為卑鄙;沒有才能,那麼別人就不願意告訴他什麼。這就是君子和小人的區別。
 
4.君子寬而不僈,廉而不劌,辯而不爭,察而不激,寡立而不勝,堅強而不暴,柔從而不流,恭敬謹慎而容,夫是之謂至文。《詩》曰:「溫溫恭人,惟德之基。」此之謂矣。 - 荀子·不苟
 
5.君子崇人之德,揚人之美,非諂諛也;正義直指,舉人之過,非毀疵也;言己之光美,擬於舜、禹,參於天地,非誇誕也;與時屈伸,柔從若蒲葦,非懾怯也;剛強 猛毅,靡所不信,非驕暴也。以義變應,知當曲直故也。《詩》曰:「左之左之,君子宜之;右之右之,君子有之。」此言君子能以義屈信變應故也。 - 荀子·不苟
 
6.君子大心則天而道,小心則畏義而節;知則明通而類,愚則端愨而法;見由則恭而止,見閉則敬而齊;喜則和而理,憂則靜而理;通則文而明, 窮則約而詳。小人則不然,大心則慢而暴,小心則淫而傾;知則攫盜而漸,愚則毒賊而亂;見由則兌而倨,見閉則怨而險,喜則輕而翾,憂則挫而懾;通則驕而偏, 窮則棄而儑。傳曰:「君子兩進,小人兩廢。」此之謂也。 - 荀子·不苟


 菜根譚
1.涉世淺,點染亦淺;歷事深,機械亦深。故君子與其練達,不若朴魯;與其曲謹,不若疏狂。
解 說: 社會歷練不深的人,所沾染的不良習性比較少;而社會閱歷豐富的人,城府與權謀也比較。所以做一個君子,與其精明老練,不如樸實憨厚,誠懇正直;與其拘泥小節謹慎求全,不如坦蕩光明,豪放灑脫。