[活動記實] 讀書會~Clean Code (無瑕的程式碼)@加爾第咖啡

** 所有相關活動的完整照片,可至-「2013.05.18_Clean Code 讀書會」Flickr 相片集瀏覽。 **

上上星期六 (5/18) HSDc. 所舉辦的「Clean Code (無瑕的程式碼) 讀書會」,在相當熱絡的研討與歡樂的氣氛下,圓滿落幕了。

「Clean Code」中譯本的技術編輯(Simon, 博碩文化)也特別蒞臨此次的活動,與會過程中不只用心地回應讀者許多問題外,還分享了在翻譯該書時的用字遣詞,以盡能表達出原文的意境,實在相當感謝他能為業界翻譯如此高品質的譯本。還有,他也為讀友們帶來一項福利,在博碩的粉絲團內按個「讚」,就有機會抽中「Clean Code」原版書籍,定價可是 NT$2,200,不便宜呢。

這次讀書會的導讀與主持不得已就由我個人來擔任。我把時間安排大致分為讀書內容的心得分享、問題提問、自由討論。

一開始先作個腦力激盪 (brain storm),這裡我用心智圖 (mindmap)先整理出關於「Clean Code」的 5W-What, Why, When, Which, Who。雖然看來僅是簡單的整理,但讀友們大都發言踴躍,在分享一些對「乾淨的程式碼」的看法與心得,以及一些問題討論,這樣也討論到中午 12:40 才休息,大家各自用完中餐後,下午 1:30 繼續研討。

Clean Code 心智圖

下午整個主題就完全以書本大綱內的「How-to」為重心了,一章一章地討論大綱內容。畢竟作者就已開宗明義內提及:「小事情上誠實,可不是一件小事。」;同時又提到:「神 (我以為是魔鬼?)就在細節內。」。所以,程式碼當然就要回歸到「How-to」細節內,這可是不能眼高手低的。

事實上,這本書大概到第 10 章就足夠了,後續的內容,有其他作者撰寫的、有作者早期的論文,也有從「Refactoring」一書節錄的重構型錄,許多內容其實翻過就可以了。(不過看來我最認真!? 關於第14章-「持續地精煉」,我可是逐行閱讀其程式碼,整整花了三個晚上還不容易了解內容,直至與 Ringle 討論過後,他認為該範例還是不夠「Clean」,仍需要繼續「精煉」。 >_<) 即使只研讀到第10章左右,但也不容易,直到下午約5:00結束時才勉強「翻完」,其實仍是有諸多細節尚未討論的。不過也算是盡心了,讀友們的發言夠是踴躍了,也相信有許多研討的內容對未來他們的工作,在長期上會有相當體會與助益的。 讀書會@吳興街加爾第咖啡

閱讀全文 »

[研討會-免費] EA UML 開發工具新功能剖析與應用第二梯次 (01/19)

報名與詳細講座資訊請至:
[研討會] EA UML 開發工具新功能分享與應用 (01/19)

 o 報名費用:無。但須自付咖啡或茶等飲品自費 (最低消費 NT$150)
 o 日期:2013/01/19 (星期六) PM13:20 ~ PM 17:00
 o 地點:加爾第咖啡莊敬店。北市信義區吳興街269巷1弄21號
  電話:(02) 2345-1136
  http://kaldi-coffee.com.tw/mainwebsite/about4_a.html
 o 報名人數名額:24人。

第一梯次的研討會於上週六 (12/15)圓滿落幕,由於有眾多學員反應因名額限制關係無法參與,所以我們再於明年一月中旬 (2013/1/19) 舉辦第二梯次的研討。與會者完全免費 (僅需自付咖啡、茶NT$150,可無限暢飲),還能拿到 HSDc. 附贈的光碟片,內附 UML 教學、五年來的歷屆簡報、EA 工具試用等豐富資料。

第一場次的活動照片與部落格介紹:
o [活動紀實] EA UML工具研討會@加爾第咖啡

***
請注意,由於場地限制,需要保留及計算報名學員們的座位,請確定會前來參加後才填寫報名單,若不克前來,也請於報名表單或來信取消報名。
--------------------------------------------------------------------------------
§講座主題:EA UML 開發工具新功能研討與應用

第一場、主題:EA 10.0新功能大剖析
  1. 加強的Document產生器
  (1) EA的Master Document進階應用
  (2) 利用Custom SQL進行文件客製化
  2. 程式碼支援加強版
  (1) 利用HSDc Sequence Plugin與EA的除錯Sequence產生器進行程式碼健診
  (2) 支援Android的除錯與執行
  (3) 利用State Machine + Java Script 模擬UI操作
  3. 其他更方便的操作

閱讀全文 »

[活動紀實] EA UML工具研討會@加爾第咖啡

** 所有相關活動的完整照片,可至-「2012_1215_EA_UM L_新功能應用研討會」Flickr 相片集瀏覽。 **

** 本次簡報下載:2012_1215_EA新功能研討_簡報與Model檔.rar **

EA研討會@加爾第咖啡

HSDc. 舉辦之「EA UML 開發工具新功能分享與應用 (12/15)」於上週六圓滿落幕,與會學員雖然只有10多位 (許多已報名學員臨時缺席,因有限制名額,望請爾後無法參與者請取消報名,保留給他人聽講權利。),但聽得開心吃得也相當滿足。

因定位是屬於小型的應用分享研討會,所以並沒有租用大型的會議室,而是就近在「吳興街」頗富好評的「加爾第咖啡」舉辦,她們家有可容納約 30 人的地下室,可供會議研討會或團體聚會等,約一個月前左右預約即可。而每個人最低消費為 NT$150 (這也是本次研討會報名費訂於此的原因,還附贈了一片歷年來的簡報與錄影教學等資料DVD光碟。)
加爾第咖啡

閱讀全文 »

[案例研討] 雲端與安卓系統分析與實作-以豪小子App為例-06

*** 自本篇後續所有的文章內容,作者為賴信仁 (Ringle Lai),並已經由授權延續本案例研討系列。***

 

七、 雲運算技術總覽

7.1. 雲運算的歷史與分類
自從互聯網(Internet)開始進入電腦的世界以來,電腦技術的進展,以超越人類能夠想像的速度超高速發展中。

中國人有句話說:「積沙成塔,聚少成多」,用這句話來形容近來的電腦運算能力的進展,是再適合也不過的了。

在網路環境還不發達的年代中,所有的電腦都是獨立的個體,各自有各自的運算能力,彼此沒有辦法互相溝通,因此,要進行大量的運算,就必須要架構出「超級電腦」來進行超大量的運算;

當網路環境越來越成熟時,區域網路利用「乙太網」(ethernet)進行溝通,因此,在區域網路的環境中,可以架構出「叢集式運算」(Computer Cluster)的環境,讓多個Server可以透過互享資源的方式,將運算能力以倍計成長;

但「叢集式運算」的環境,對於很多的系統管理人員來說,卻是一個惡夢的開始,系統管理人員必須耗費相當多的心力來架構出「叢集式運算」的環境,而硬體及軟體成本也因為要架構出這樣的環境而大幅飆升,原先只是想要取代大型主機,卻發現要耗費的心力其實比維護大型主機更多!

基於這樣的一個背景,有些人開始思考是否有更簡單的方法來架構出一套具備叢集式運算能力,但在管理上更簡單、成本上更節省的方式。

「網格運算」(Grid Comupting)就是在這樣的背景上應運而生。

由於網際網路的傳輸能力大幅提升,無論在速度或是可靠性上,網際網路的能力都逼近了區域網路,因此,是否能夠運用網際網路的特性來進行分散式的運算,就成了計算機科學中的「顯學」。

網格運算主要是將整體的網際網路視為一個「有機體」,在這個有機體中,所有加入「網格」的個人電腦都視作是該有機體的「細胞」,每個「細胞」可以提供他多餘的運算能力,當有一個「運算任務」發出後,各個節點分散了整體的運算任務,讓整個的「網格」可以發揮最大的能力來進行運算。

「網格運算」可以說是分散式運算中的一個極致運用,但是網格運算在管理上仍然是一個很大的問題,由於參與網格是一個「自由」且「自發性」的行為,因此,同一個運算任務究竟需要多少的時間可能都沒辦法事先預測,也因此,是否有更適當的方式能夠同時兼顧「分散式運算」與「集中式管理」?

「雲運算」似乎是達成上述目標的其中一個「聖杯」。

何謂雲運算呢?根據美國國家標準技術研究所(National Institute of Standards and Technology, NIST)的定義,雲運算是:
「Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models.」(ref: The NIST Definition of Cloud Computing; NIST Special Publication 800-145; Peter Mell & Timothy Grance)

雲運算是一個具備普及性、便利性及隨選式網絡的模型,其可以存取共用的可配置的電腦資源庫(如網絡,伺服器,存儲,應用程式和服務);使用者可以運用最少的管理成本快速地與服務供應商互動。

雲運算模式是由五個關鍵特性、三種服務模型以及四種部署模型所構成。

閱讀全文 »

[研討會-免費] EA UML 開發工具新功能剖析與應用 (12/15)

報名與詳細講座資訊請至:
http://www.hsdc.com.tw/courses/ea10_new_features_seminar_20121205

 o 報名費用:無。但須自付咖啡或茶等飲品自費 (最低消費 NT$150)
 o 日期:2012/12/15 (星期六) PM13:20 ~ PM 17:00
 o 地點:加爾第咖啡莊敬店。北市信義區吳興街269巷1弄21號
  電話:(02) 2345-1136
  http://kaldi-coffee.com.tw/mainwebsite/about4_a.html
 o 報名人數名額:22人。
***
請注意,由於場地限制,需要保留及計算報名學員們的座位,請確定會前來參加後才填寫報名單,若不克前來,也請於報名表單或來信取消報名。
——————————————————————————–
§講座主題:EA UML 開發工具新功能研討與應用

第一場、主題:EA 10.0新功能大剖析
  1. 加強的Document產生器
  (1) EA的Master Document進階應用
  (2) 利用Custom SQL進行文件客製化
  2. 程式碼支援加強版
  (1) 利用HSDc Sequence Plugin與EA的除錯Sequence產生器進行程式碼健診
  (2) 支援Android的除錯與執行
  (3) 利用State Machine + Java Script 模擬UI操作
  3. 其他更方便的操作

閱讀全文 »

[案例研討] 雲端與安卓系統分析與實作-以豪小子App為例-05

六、使用案例的實現 (use case realization)-利用循序 (sequence)圖表達物件之間的互動合作-Cloud Server System

圖 12、使用案例的實現 (realization)
(點擊圖片鏈接看原圖)圖12、使用案例的實現 (realization)

    關於使用案例實現的表達意涵:

  • 可以藉由 UML 的合作 (collaboration)圖示,來表現與使用案例的實現 (realization)關係。
  • 使用案例的實現可以是程序導向或物件導向的實作方式,沒有絕對的方法。
  • 程序導向 (procedure-oriented)的實作細節可利用活動圖 (activity diagram)來表達實作的設計。
  • 物件導向 (object-oriented)的實作細節則可以物件合作圖 (如溝通或循序圖)來表達實作的設計。
  • 本例均以循序圖 (sequence diagram)來表達物件內部互動合作的實作。

閱讀全文 »

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal