【轉】不要自稱程式設計師,老鳥的 9 個職涯建言

資料來源:不要自稱程式設計師,老鳥的 9 個職涯建言

使用Maven時出現 Unable to find the mojo 'generate-sources' (or one of its required components) in the plugin 'com.jayway.maven.plugins.android.generation2:android-maven-plugin' 問題

最近在使用Maven來build Spring Android的Sample Project時,在mvn clean install的階段時,會出現Unable to find the mojo 'generate-sources' (or one of its required components) in the plugin 'com.jayway.maven.plugins.android.generation2:android-maven-plugin'這樣的問題。

第一個問題是,Spring Android的Sample Project需要使用Maven3.0.3以上,請參考issue220

接著,當你在使用maven 3去install時,如果出現java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher的錯誤,請先檢查原本的作業系統中,是否有安裝maven2,如果有,要去環境變數中,把相關的path給拿掉,如果有設定M2_HOME,也要一併移除。

Youtube影片連續撥放服務

Tsung's Blog的這篇文章中看到了兩個可以連續撥放Youtube影片的服務,覺得還不錯,另外還有一個叫作Youtube Disco的網站,是由Youtube自己本身提供連續撥放影片的服務。

大家有興趣可以到以下這三個服務去試試看,還蠻簡單方便使用的:


【相關閱讀】

好站 - 搜尋 YouTube MV 並自動播放

UML類別圖中的聚合(aggregation)與組合(composition)關係

在UML類別之間的關係當中,聚合(aggregation)和組合(composition)的區別讓我一開始很疑惑,後來查了些資料後,比較可以分得出這兩個的差別。

Aggregation和Composition都是表達一個物件包含另外一個物件的關係(has-a)。比如說:一個公司包含一些員工、一艘船中包含幾個引擎、一個飛機場中包含數架飛機等等。

  • Aggregation

Aggregation是Association的一個特例(specialization),用來表達兩個物件之【整體和部分(whole-part)】的關係。當B物件與A物件之間是Aggregation的關係時,代表A物件消失時,B物件還可以給C物件繼續使用。

舉例來說,機場與飛機之間的關係就是Aggregation。A機場裡面會有很多台飛機,當A機場不再存在時,裡面的飛機還可以屬於(停靠在)C機場,不會因為A機場消失了,本來停靠的飛機也跟著消失。

  • Composition

Composition所表達的是更進一步的aggregation。除了代表兩個物件之間的whole-part關係之外,還代表這兩個物件之間是有相同的生命周期(life-cycle)。白話一點的說,若是B物件與A物件之間是composition的關係時,代表當A物件消失的時候,B物件也要跟著消失。

舉例來說,一個員工和員工薪資資料就是composition的關係,當A員工離職後,它所對應的員工薪資資料也會跟著無效。