關於版本控制 要把檔案恢復到編輯前的狀態,大家都是怎麼做的呢? 我在大學的時候做報告時, 最簡單的方法就是先複製編輯前的檔案, 使用這個方法時通常都會在檔案名稱或目錄名稱上添加編輯的日期 ,這就是所謂的本地端的版本控制 。但是,每次編輯檔案都要複製非常的麻煩,也很容易出錯。 上面的例子是我以前做報告時的命名方式,如果沒有察看詳細資料,就沒有辦法區別那一個檔案是最新的。此外,如果是共享的檔案要區分不同編輯者,要具體區分更改了什麼也不容易知道。 此外,如果有兩個人要對同檔案進行編輯,先進行編輯的人的修改內容會被覆蓋,導致資料流失,相信大家都有這樣的經歷。 為了解決這個問題,便有開發者產生了版本控制系統,早期大多都是採用簡單的資料庫來紀錄文件的歷次更新差異,這種版本控制又稱為本地端版本控制系统 ,其中最流行的叫 RCS ,現在的 Mac OS X 系统上安装了開發者工具後,也可以使用 rcs 命令。 它的工作原理是保存不同檔案的每一個版本, 透過比較不同的版本,可以計算出各個版本的文件内容中有那些差異 。 集中式版本控制系统 接下來有開發者遇到一个问题,如何讓在不同系统上的開發者協同作業? 於是,集中式版本控制系统(Centralized Version Control Systems,簡稱 CVCS)誕生了。 像是 CVS 、 Subversion 以及 Perforce 等,都有一個單一的集中管理的伺服器,保存所有文件的修訂版本,而偕同作業的開發者都透過客户端軟體連到這台伺服器,取出最新的文件或者提交更新,這已成為版本控制系统的標準做法。 相對於舊式的本地端VCS來說,集中式版本控制有許多優點,例如: 1. 每個人都可以在一定程度上看到項目中的其他人正在做些什麼 2. 管理員也可以輕鬆掌控每個開發者的權限 3. 並且管理一個CVCS要遠比在各個客戶端上維該端的資料庫來得輕鬆容易 然而,這種類型的系統仍有缺點: 1. 中央服務器的單點故障 。如果宕機一小時,那麼在這一小時內,誰都無法提交更新,也就無法協同工作。 2. 如果中心數據庫所在的磁盤發生損壞,又沒有做備份,毫無疑問你將遺失所有資料 - 包括項目的整個更變歷史...
一、職業 1.職涯目標訂定: (1)思考自己希望從職業生涯中獲得什麼? (2) 希望自己 5 年或 10 年後在哪裡? (3)制定通往大目標的小目標(可按年/月/周/日分解),也可以反推如何從大目標到你現在的狀況。 (4)定期追蹤目標,並適時調整。 2.與他人交流時,最重要的概念是:每個人都希望自己很重要。多思考對他而言,什麼才是最重要的、什麼才是他需要的。 3.獎勵積極行為比懲罰消極行為有效得多。 4.當因為「該怎麼做事」與他人的意見有衝突時,你最好先確定彼此的分歧點是否值得你拼命維護,特別是在你知道它已捲入他人時。 5.如何讓自己承擔更多責任: (1)有一個不受重視的專案,你能去負責它嗎? (2)你能幫助團隊裡的新人快速成長嗎? (3)你能負責文件的製作流程,並保證及時更新這些文件嗎? (4)哪項工作是沒有人願意去做,你願意承擔起來,並將其簡化或自動化? 6.要強迫自己學習新東西,最好的方法是讓自己在其他人面前做展示。 二、自我營銷 1.自我營銷的關鍵在於:能為他人提供價值。 2.建立自我品牌的四大關鍵: (1)品牌所要傳達的訊息 (2)品牌的一致性 (3)品牌的視覺符號 (4)品牌的曝光率 3.打造成功部落格的秘訣: (1)持續寫文章,至少每周一篇。 (2)在與你類似性質的部落格中留言回覆有價值的內容,並與對方建立關係。 (3)將覺得自己寫得不錯的文章或富爭議性的文章分享到具高流量的網站。 (4)你提供的內容應該直接瞄準你所選定的研究領域,並為該領域帶來價值。 三、 學習 1.如何自我教育 (1) 如果我告訴你怎麼做你會忘掉,但是你如果自己動手做一次,你可能就記住了。 (2) 如果你將自己所學的東西交給別人,你不僅能記住,還能理解得更深刻 (3) 教育的首要目標,並不在於 " 知 " 而在於行 2.如何掌握技術 (1) 學會如何學習 (2) 訂定學科範圍 (3) 掌握基礎知識 3.自學關鍵點 (1) 學習 Learning (2) 實踐 Doing (3) 掌握 Learning (4) 教授 Teching ...