發表文章

目前顯示的是 9月, 2011的文章

Git-annex

最近幫客戶測試了大型檔案(>1G)放到Subversion與Git的效能問題, Git確實比Subversion快, 但是快的並是很讓客戶滿意, 觀察到了Git將檔案放到Local Repository會做 檢查檔案內容與上次版本的差異-->Git並不是存放每個版本的實體, 而是內容的差異部分, Binary檔案也是一樣, 所以這個動作鐵定會吃CPU的資源 存放到Local Repository前會先壓縮(壓縮比大約1:10)-->這個也是會吃CPU的資源 Local Repository存放與log處理--> 如果只存放差異部份與做壓縮, 這部份Disk I/O並部會很慢 所以從以上3個程序, 將大型的檔案要做版本控制, 無論是Git或是用Subversion, 都會很慢, 所以用Google找了一些相關資源, 找到了這一篇 http://stackoverflow.com/questions/540535/managing-large-binary-files-with-git , 從這個討論, 裡面有分享一個Open Source叫 git-annex , 這個git的延伸功能, 專門處理要使用Git來做大型檔案的版本控制, 像ISO image, VM image, Video檔案等等. 而且與Git repository完全相容. 簡單摘要這個git-annex的功能 git annex必須設定一個remote的storage, 這個remote storage就是用來存放大檔案的位置, 其存放格式使用key-value, 這個key應該就是git的revision, value是檔案的存放位置 當大檔案要進git repository, 必須用git annex來操作, 如git annex add, git annex commit  大檔案存放在git repository只是一個symbolic link告訴git annex真正的對應版本檔案放在哪裡 使用git annex commit的時候, 就省去了檔案內容比較, 與壓縮的時間, 但是要將檔案放到annex remote storage  git annex remote storage支援許多, 例如目錄(可以指到外部磁碟), rsy

積奇蓮 • 諾夫加思 : 大度人生之啟發 | Video on TED.com

積奇蓮 • 諾夫加思 : 大度人生之啟發 | Video on TED.com

DevToolNotes:Subversion文件

因為DVCS崛起 Subversion的氣勢下滑許多, 然而因為工作關係, 目前接觸的客戶90%在公司內部還是在使用Subversion, 觀察到已經在使用DVCS的公司, 除了Android開發非得用在企業內部使用Git做版本控制, 因為在Subversion上Scale的擴充遇到一些瓶頸也有一些客戶開始評估Git或是Mercurial來做未來的版本控制軟體升級準備, VCS隨著檔案數量的增長還有沒有正確使用Branch功能(不斷的使用目錄copy功能==..), 讓檔案庫越來越大, 效能也變得很差, VCS有一個罩門, 當人數越多,同時commit code會讓網路流量變大, 所以速度也會變慢, DVCS大部分時間都是在local端做版本控制, 所以這方面的問題少很多, DVCS最大的好處是就算Server掛了這段期間, 並不會影響工作的進行. 不過目前觀察到企業還沒有大量的導入DVCS, 我看到還有一些因素 導入成本: DVCS的學習門檻比VCS高了一些, 企業好不容易導入了Subversion,轉換到DVCS會多出許多教育訓練的成本, 這部份可能會隨著時間來削減, 因為在開放原始碼開發者社群幾乎一面倒轉換到了DVCS, Google Code, GitHub這些知名的source code代管網站都支援了DVCS, 所以開發者藉由開放原始碼開發軟體也間接開始學習DVCS, 未來在企業內部導入DVCS, 教育訓練成本會越來越低 權限控管: DVCS是clone了一份檔案庫在開發者的電腦, 所以要做到Subversion的ACL有目錄等級的權限控管並沒太多意義. 不過這方面還是可以做事先規劃來避免, 例如將軟體架構模組化, 每一個模組有各自的檔案庫(Repository), 這樣就不會一個開發者就clone了所有公司的source code到自己的電腦. 這部份codebeamer就扮演不錯的角色, CB 5.7版可以在一個專案中建立多個DVCS檔案庫, 每個檔案庫並可以設定不同角色有不同的clone/push的權限 從以上因素與觀察, VCS, Subversion還會存活一段時間, Subversion短期內並不會在公司內部消失:-), 以下是我之前在devtoolnotes.esast.com所整理Subversion相關的wiki文件摘要

DevToolNotes:Mercurial文件

Mercurial也是最近幾年很熱門的DVCS軟體, 有很多人說它的學習門檻比Git低很多, 比較適合在團隊中推導, 但是我用過Git與Mercurial, 在許多觀念上是一樣的,但是如果要自己架設一台Mercurial伺服器來同步所有開發者的檔案庫(Repository),Mercurial則在Windows平台佔有一些優勢. 還有觀察到一個很有趣的現象, 使用不同開發程式語言或是開發框架會選用不同的DVCS, 例如Ruby and Rails的開發者幾乎一面倒使用Git, Linux Kernel與Android核心開發者就更不用說了也是使用Git,因為其source code就是用Git來維護, iOS開發者也是偏好Git, 所以Xcode則後來從善如流內建了Git, 但是Mercurial還是擁有相當多的擁護者, 例如使用Python的開發者就會偏好選用Mercurial , 至於Java開發者偏好使用Git , Mercurial, 我目前還看不出來. 以下是我之前在devtoolnotes.esast.com所整理的Mercurial相關wiki文件摘要 Mercurial Server安裝與設定:使用codebeamer來做Mercurial的伺服器管理 Mercurial使用者端安裝與設定 MercurialEclipse實務操作手冊 中英文專有名詞對照 Mercurial介紹 Mercurial安裝 Mercurial指令hg基本操作 MercurialEclipse簡介 MercurialEclipse安裝 MercurialEclipse基本功能操作 分支與合併 標籤功能操作 Mercurial資源與參考 參考 wiki全文請參考 http://cb.esast.com/cb/wiki/21532

EGit實務操作手冊

原本寫了許多Wiki How-to放在 http://devtoolnotes.esast.com , 不用登入就可以讀取, 但是最近發現有一些大陸專門索引網站的程式佔用太多頻寬,讓網站變的有點慢, 所以將這個wiki專案關閉, 關閉後用Google搜尋關鍵字又搜尋不到, 真是有一好沒兩好, 想到一個方法, 這邊會陸續整理以前寫過的wiki how-to摘要, 如果要看文章全部內容就註冊個帳號登入看, 我也希望登入 http://cb.esast.com 的網友可以給我一些回饋, 今天先整理最近最多人點閱的EGit實務操作手冊 摘要 EGit是Eclipse的Plugin, 讓開發者方便在Eclipse中使用Git功能, 這篇wiki how-to從egit安裝到操作都有涵蓋. 可以當做操作手冊來使用 中英文專有名詞對照 Git介紹 EGit簡介 EGit安裝 EGit基本功能操作 分支與合併 標籤功能操作 全文請看 http://cb.esast.com/cb/wiki/24803

康博士專欄:活在當下的真義

活在當下的真義         文:康哲行 (2011/07/14) 生命的意義只能從當下去尋找,逝者已矣,來者不可追,如果我們不反求當下,就永遠探觸不到生命的脈動。 (一行禪師) 「活在當下」這四個字,近年來已成為社會上非常熱門的流行語。佛教大師如達賴喇嘛、聖嚴法師、證嚴法師及禪宗大師鄭石岩都曾推崇「活在當下」的理念,認為一個人能夠「活在當下」才是有意義的人生。 「活在當下」字面上的意義非常簡單:就是不要過份地緬懷過去和冀望將來,而要把生活中每個「當下」的片段都過得深具意義。 「活在當下」字面的意義非常淺顯,但也因為它的淺顯,容易被人忽略,甚至變成老生常談。本文的目的就是以嚴謹的立場,對「活在當下」的真義及如何做到「活在當下」加以闡述。 我們在能夠做到「活在當下」之前,還要對日常生活有一些良好的心態,這些心理的準備都是達到「活在當下」至高境界的捷徑,例如以下所述的「一日一生」的觀想 及「生活即修行」的信念。 「一日一生」的觀想 「一日一生」的理念為日本現代活佛酒井雄哉所提出。 一般人的一生不外乎三個階段,第一個階段是學習階段,第二個階段是工作階段,第三個階段是退休後享受人生階段。 「一日一生」的觀想,就是要我們以「珍惜」和「警惕」的心情,把每一天都想像成是「一生」來過;也就是說,每天都要學習,每天都要工作,每天都要享受人生。 但是,如何才能做到呢?當然,每個人的方法可能不同。對我這個已退休者來說,每天讀一段好書就是學習;每日做好生活中的細節就是工作;能夠做一件使自己快樂而無負擔的事(例如每日澆花)就是享受人生。 當我們能夠把每一天都當做一生來過,「活在當下」的意義已經深在其中了。 「生活即修行」的信念 佛教大師廣欽老和尚曾對什麼是「修行」有所開示。 廣欽老和尚說:工作再忙,也要保持一顆平靜的心,我們每天日常的工作就是在「修心」。例如洗碗,不要認為它是無用的小事,其實洗碗這一刻就是生命。當每一片刻「心」都是平靜的,一生就是美好的。 總之,生活中的每一細節,行住坐臥之際,無不是「修行」的機會,我們都可以將其做到盡善盡美。 一轉念,當下就不敢輕忽生活中的許多小事,即刻專注在眼前的事物上,心就安靜下來,那就是「修行」,也就是「活在當下」的內涵。 「活在當下」的真義 我們在前面提到:「活在當下」就是要把生活中每個「當下」

康博士專欄:沒人喜歡好人?

沒人喜歡好人?               文:康哲行 (2011/07/28) 一篇中央社記者翻譯的報導說:「好人可能會認為無私的行為會讓他們受歡迎,但研究的數據指出,沒有人喜歡好人!有人自願去做大家不想做的事,會馬上被人孤立。」該報導又說:「研究的學者們發現,好人的行為會讓其他人有罪惡感,迫使大家要有同樣無私的行為。而且,好人破壞常規,提高了一般認定的行為標準,這種新標準會讓其他人看起來都是壞人。」 所以,這篇報導的結論就是「沒人喜歡好人」!         看了這些奇怪的言論,直讓我脊梁骨冷了半截,怎麼「人心不古」,中外皆然!我們的社會病了,連我們的世界都病了!三年前橫掃全世界的金融海嘯,至今尚未復原。總結其原因,不外乎一個「貪」字,那是全世界都「貪」的結果。而這篇報導又給了我們什麼樣的訊息?難道社會上不應該有「好人」?         這位記者將報導發表於平面媒體,是想要誤導讀者嗎?他大概會理直氣壯地辯解說:「該言論不代表本社立場,這可是國外的學術研究,有統計數字做為後盾,讀者自有公斷。」         這篇報導的「厲害」之處正是,它告訴你這些言論不是來自個人的主觀偏見,而是一項學術研究的結果,有憑有據,不由得你不相信。         看了這篇報導,筆者左思右想,總覺得報導內容很不對勁,和自己的認知相差太遠。首先,哪種人才是不受歡迎的「好人」呢?筆者尋思,一個人如果奉公守法、勤勞盡職,那應該是好人;但他也可能太過表現,驕傲自大。如果他做了主管,當然不會貪贓枉法,但卻可能獨斷獨行,剛愎自用。這樣的人肯定不受大眾歡迎。但是,是否就是該報導所稱的不受歡迎的「好人」呢?         這樣的人顯然不能歸類為「壞人」,但能稱為「好人」嗎?好像也不對。其實,多數的「好人」只是默默耕耘,默默做事,不欲人知。而且,真正的好人待人和藹可親,會使你如沐春風,不會給你像該報導所說的那種「壓迫感」。         這篇報導還給人一個錯誤的印象:在一個團體內,「好人」一定是不得人緣的「少數」。真的會如此嗎?好像正好相反才對!         社會上「好人」一定是少數嗎?我們不難發現,在任何(非黑道的)團體內,「沈默的多數」絕對都是「好人」。證諸現代的「民主政治」就會發現,民主政治之所以能夠合理運作,就是奠基於「社會上好人居多數」的事實。

康博士專欄:詩意散文

詩意散文                               文:康哲行 (2011/09/01) 我不善於寫詩,但喜歡在散文中加入一些詩意。以下集錦選自我過去的「生活小品」寫作,希望能夠博君一笑! 至樂     「至樂」是一種優美、無負擔,怡然自得的心境。     要培養美感才能享受美感,美感滋潤我們的心靈,增加我們的活力。     仁者樂山,山代表寬宏;智者樂水,水代表謙卑。     莊子的境界是物我兩忘,參與宇宙大化,遊於無窮,逍遙蒼穹。     徜徉於大自然間,俯拾那無盡的綠意野趣,與天地同遊,與山川共舞。 悠閒     有悠閒的心情,你才能「見山是山,見水是水」;也才能聞到春天的花香,聽到夏日的蟬鳴。     真正的快樂與喜悅是不假外求的,它的根源就在自己心中。     只要你睜大眼睛,打開心靈,那日常生活中的喜悅俯拾即是,無虞匱乏。     青山綠水,藍天白雲,都是繁忙生活中的情趣。 從容     聰明的人忙於工作之際,心理卻調適得非常輕鬆。譬如鴨子划水,腳底猛划, 水面上卻狀似悠閒。 觀雨     綿綿的「細雨」,傾盆的「大雨」、或是乍雨還晴的「陣雨」,都給我們不同的感受和領悟。     「觀雨」是美,「聽雨」也是美;雨中之最美,在於一切「如幻似真」。     雨來自無痕的天際,落地又失去蹤影;你所看到的是「瞬間」的「永恆」。 文學與藝術     文學和藝術作品,在現代人忙碌的生活中,有一種潛移默化,消除戾氣的穩定作用。     當你在欣賞一件藝術品時,你心領神會,進入一種和作者共鳴的、喜悅的、祥和的心境。 讀書     在閱讀中,你咀嚼沈思,遨遊於白紙黑字之間,使你的精神生活得到最大的慰藉。     好書像一面鏡子,當你被書中的某些情節感動,產生共鳴,那鏡中顯現的就是你深層的「自我」。     讀書使你伴著歲月成長,終生受益。你持續的讀書,書中那些眾多的理念便成為你思維的脈絡,去蕪存菁,而孕育出今日的你。 樂觀     「樂觀」的人永遠對未來充滿好奇,興致勃勃,就像「好事情」隨時會發生一樣,「幸運之神」也總是找上他。     「樂觀」的人充滿春天的氣息,使他周圍的人都「如沐春風」。 幽默     人每天都會照鏡子,不要顧影自憐,要做一個「微笑」給自己看,那快樂的