想在 30 分鐘內學會 Git 嗎?看這裡就對了!
Git 是一種「原始碼版本控制」軟體,它可以儲存原始碼每個版本之間的差異,然後您可以要求「時光回溯」到任何指定的版本。這可以防止一天到晚改規格的客戶或老闆,在您辛苦更動原始碼後,來一句要命的:「還是之前的那一版比較好」。我個人認為,它是程式設計中,最重要的 7 大軟體之一(文字編輯器、編譯器、版本控制器、自動化建構系統、單元測試軟體、環境佈建系統、與除錯器)。
這類「版本控制軟體」,依照流行先後,著名的有 CVS、Subversion、與 Git。目前最流行的版本控制軟體是「Git」,流行原因多多少少是因為 Linux 核心(Linux Kernel)原始碼,就是用這套軟體保持各個版本差異的。不少公司也要求程式設計師寫好原始碼後,一律都得回存 Git 系統才算完工,不能只是存在私人的硬碟就了事。所以 Git 就變成業界必備的軟體之一。
補習班常常有同學問我,有沒有那種很簡單的 Git 說明書,不用講太深,但要在 30 ~ 60 分鐘內就掌握常用功能的教材?之前一直找不到,不過今天幫大家找到了!還有中文版喔!叫做「Git 簡明指南」。鏈結如下:
https://rogerdudler.github.io/git-guide/index.zh.html
其實它的原文名稱有點好玩:「Git - The Simple Guide, No Deep Shit!」。這類標題通常能騷動我個性中愛作怪的小惡魔,讓我會心一笑後點進去看看。看完後,果然「一點點深的便便」都沒有... XD 還有中文版(簡中)!心想這麼讚的東西不介紹怎麼行!就花時間寫了這一篇。
希望今天的分享對各位的日常工作有幫助!我也很鼓勵大家能找到適合自己的「七大系統」,把它弄熟。畢竟「工欲善其事,必先利其器」嘛!我個人習慣使用的七大系統,也列在底下讓大家參考:
1. 文字編輯器:vim。不好學,但游標移動速度與文字操控能力超快!
2. 編譯器:gcc。因為我寫 C 語言比較多,所以用 gcc。
3. 版本控制器:git。其實我之前是熟 subversion。不過 git 也很好用喔!
4. 自動化建構系統:make。可以把編譯、安裝...等囉哩八唆的指令濃縮成一個簡稱(如:build, install...等)。打完按下 enter 後就可以去泡咖啡了!還能偵測哪些原始碼已經編譯過,不需重新編譯已縮短作業時間。
5. 單元測試軟體:CUnit。嚴格來說,這算一套「函式庫」,可以針對你寫好的原始碼做測試。由於我寫 C 較多,所以用 CUnit。如果您寫的程式碼是 Java 或其它,可能得找相對應的測試軟體。
6. 環境佈建軟體:VirtualBox。用它的原因是 Win, Mac, Linux 全平台都支援。我會把程式設計環境灌好後的 VirtualBox 映像檔保存好,每次要乾淨環境就 new 一個新的虛擬機起來。最近迷上 Vagrant,想知道 Vagrant 是什麼的可以看這篇: http://goo.gl/29mBs9
7. 除錯器:gdb。雖然是文字介面,但連線到運算能力很差的開發板上想除錯,也只有 gdb 跑得動。用久了也習慣了。
其實最近還想加上第八項「(8) 軟體部署系統:Docker」,不過還在研究,也還沒熟悉。等熟悉了再跟大家報告。 :-)
如果覺得文章不錯,還煩請各位不吝按讚打賞或分享一下喔! m(^ ^)m
kernel中文 在 紀老師程式教學網 Facebook 的最讚貼文
[業界新聞] Intel 新發表的晶片「Clover Trail Atom」顯示與低功耗特殊能力,將只支援 Windows 8,不支援 Linux 核心
我真的不懂 Intel 為何要出這種沒啥用的招數?Intel 你們太小看 Open Source 的工程師們了!Intel 不支援當前 Linux 核心?看著好了!過沒半年,你 Intel 啥事都不必做,就有些超熱血的工程師,讓 Linux Kernel 支援新晶片了。另外要罵的是微軟!靠這招取得行動運算市場優勢?這有點像跑輸人家的田徑選手,不去思考怎麼增加速度,卻想著怎麼在半路絆倒其他對手一樣卑劣。
Intel 將於 2013 年第四季推出的「Clover Trail Atom」,乃是一款瞄準行動裝置的低功耗 CPU。Intel 於上週的開發者論壇證實,將與執行 Windows 8 的行動裝置「緊密結合」。根據 Intel 工程師表示,要讓 Clover Trail Atom 內建的顯示晶片與新的低功耗架構去支援現行的 Linux Kernel,「是件不容易的事情」,因此他們決定將暫時先支援架構較新的 Windows 8。
說到這兒大家也別誤會,以為 Linux「完全無法」安裝到 Clover Trail Atom。事實上,可以安裝,因為它還是 x86 架構。但是該款晶片在「顯示」與「低功耗」上的特殊能力,現行 Linux Kernel 就享用不到了。如果用 Linux + Clover Trail Atom,等於你多花錢卻享受不到額外的好處。目前只有 Windows 8 這款作業系統支援此項能力。中文資料來源未說明這點,避免引起恐慌與不正確的謠言,我查證了一些資料後,特此跟大家補充說明。
可惜了!其實 Windows 8 有些很不錯的特性。雖說在競爭道路上樹立障礙阻擋對手前進是無可厚非,但若本末倒置,把心力集中在樹立屏障而非奮力衝刺,這種作法我就有點看不起了。這有點像用專利權保護被侵害的研發成果我不反對,但若故意買一堆專利,然後專門靠官司與賠償來營利,我就非常唾棄。因為這麼做沒有對科技業本身的進步,貢獻一絲一毫。
若您有任何意見,歡迎留言至下方討論。
中文消息來源:
http://www.bnext.com.tw/article/view/cid/118/id/24595
英文消息來源:
http://techcrunch.com/2012/09/14/new-intel-chip-wont-support-linux/
kernel中文 在 Linux Kernel 探險地圖 的推薦與評價
Linux kernel 就像是一個龐大的迷宮,如果沒有適當的引導,常讓想要了解它的新手不知道要如何 ... HOWTO do Linux kernel development (簡體中文版). ... <看更多>
kernel中文 在 一起学SVM第四讲-- 核技巧Kernel Trick - YouTube 的推薦與評價
这是我们一起学ML之支持向量机SVM的第四讲——核技巧,简单介绍了什么是核技巧,以及常用的核技巧。 ... <看更多>
kernel中文 在 Understanding-The-Linux-Kernel/深入理解linux内核中文第三 ... 的推薦與評價
深入理解linux内核. Contribute to zhiweifan/Understanding-The-Linux-Kernel development by creating an account on GitHub. ... <看更多>