既然進來了,就是想學 Eclipse + GitHub 如何運用。
用 GitHub 前,首先要懂得用 git。無論如何,先去弄一個 GitHub 帳號回來再算。
到 GitHub 申請帳號
https://github.com/
- 帳號名稱。
- 收確認信的 E-MAIL,不要亂填。
- 密碼,隨意。
- 建立帳號。
哈,全部資料都不通過。
跟據指示,把資料填寫正確後,按【Create an account】。
用免費,按【Continue】。
普通問卷,可做可跳過,隨意。
按【Start a project】試試。
在申請帳號時,不是說過不要亂填 E-MAIL 嗎?這裡就會用到。
GitHub 寄來 E-MAIL 大約就這樣。確認後,會回到【Start a project】那一頁。
別心急,先去右上角,下拉選單按【setting】設定一下。步驟2及3那兩步可以無視,那是補充說明刪除帳號的步驟。
刪除帳號確認畫面。有【確定】按確定,有【下一步】按下一步,習慣很可以恐怖,這設計最少不會手殘誤按。
GIT 概念,以下連結有詳述,假如覺得麻煩,這 BLOG 有比較輕鬆的圖解說明 ( 共 8 章 )︰
http://wiki.eclipse.org/EGit/User_Guide#Concepts
建立好帳號後,出現的 GitHub Guides︰
https://guides.github.com/activities/hello-world/
———————————信息安全 ( START )————————————
在解說 Git 之前,稍微離題一下,概述信息安全 ( information security )︰
1. 機密性(Confidentiality)
GPG 不說,舊時代産物,容易破解,沒多少人用。在 GitHub【setting】中,有一欄是關於SSH,EGit 也會用到,所以只說這個。
SSH 是 PKI (Public Key Infrastructure) 的一種應用,除了機密性外,也包完整性 (Integrity) 及認證 (Authority) 功能,不會解釋怎運作,有關 PKI,請google【RSA加密演算法】。總言之,生產出來的鎖匙有一對,一把是自已保存及加密用,另一把是公開給人用。在 GitHub 及Eclipse 實際操作是怎做,下回解說。
2. 完整性(Integrity)
重點,在下載 open source 軟件時,或許有看過 SHA、MD5、checksum 之類字眼,那是什麼呢?通俗點,大家都叫它做【檔案指紋】。人類指紋是獨一無二,檔案也能造一個類似的東西,檔案指紋是一組字串,那串字的意義是什麼?
到【7-zip】http://www.7-zip.org/,安裝這個解壓程式。(請注意 32bit 及 64bit 版本分別)
然後在 Windows 桌面,開一個新的記事本 ( Win + R, 打 notepad 也可以開啟 )。
在記事本隨便打點字,save。
在檔案右鍵,選【CRC SHA】 ==> 【SHA-1】。
看到像亂碼的一串字就是 SHA-1。現在還不明白有什麼意義?跟步驟做完就會明白。
再次開啟檔案,看得出修改或加了什麼嗎?只是拍了一下 space bar,加上一格空白,save。
在檔案右鍵 ==> 【SHA-1】。看到嗎,只是加了一個不起眼的空白,整個 SHA-1 字串跟之前都不一樣。
有沒有聽過偽裝網址、詐騙電郵?手法通常都是用數字的 0,取代英文字的大階 O 之類,例如 GOOGLE 及 G00GLE 兩個字不留意的話,是看不到分別,用這種技術來防範詐騙是個好方法。( 開個 notepad 試試 GOOGLE 這例子看看 )。
追加測試,如果文檔內容一樣,然後只改檔案名字,算出來的 SHA-1 會不會一樣呢?
結果一樣。文本檔跟執行檔,本質都是 0 與 1 組成,所以 SHA-1 這個方法,適用於任何檔案,換做 open source 軟件也一樣。
有趣一點的用法,網上經常下載圖片,例如從 Pixiv 下載圖片,設定成 wallpaper ( 檔名︰a.jpg ),到 facebook 又遇上一張似曾相識的圖片,但怕錯過了什麼,先下載回來再算 ( 檔名︰b.jpg )……問題來了,Windows 只會問【同檔案名】是否覆蓋過並附上縮圖要你決定,並不會知道內容是否一樣。用這個技術就能知道有沒有重覆圖,即使【不同檔案名】!刪除內容重覆檔案,不限圖片、音樂、影片也可以!
有興趣可以 google【MessageDigest】獲得更多資訊,或許日後會寫一寫這種實用又好玩的程式。
假如不是一個文字檔,而是一個資料夾的 SHA-1 。
想像一下,資料夾是 project,入面的文字檔是 source code……
每次計算 SHA-1,如果跟上次不同的話,把整個資料夾的東西複製一份……
制作成 database ,key 是 SHA-1 的值,value 是複製的資料夾及 comment ……
這樣累積起來,不就有很多個【版本】嗎? 要搜尋特定【版本】的話,comment 就是個很重要的線索。
Key-value database
https://en.wikipedia.org/wiki/Key-value_database
3. 可用性(Availability)
穩定,主要都是說設備、備份及後備方案之類的東西,例如 service level agreement ( SLA ),去租伺服器應該都有類似的東西要簽。
有興趣想知道有什麼大事發生過,可去 google 一下【Gitlab 直播搶修】,以下是那個直播。
https://www.youtube.com/watch?v=nc0hPGerSd4
———————————信息安全 ( END )————————————
申請及刪除帳號教學到此為止,有時間可以去摸索一下【setting】內的【Profile】及【Email】那兩欄寫得很淺易清楚,不會太難。
認識信息安全是必要,即使不是 GitHub,在 Open source 路上,日後也會遇見,早點了解一下比較好。
下一回【GitHub 及 EGit ( PART 2 / 8 ) + 網絡素養】
沒有留言:
發佈留言
設有留言驗證及審查,檢閱後,才會顯示留言。
本人惰性很高,留言或許會石沉大海。