和老嫗講人話(1):What is GitHub and Jupyter ? And what for?
程式語言的本質明明就是語言,但每次看都被一些專有名詞嚇死,根本就不能從字面的意思理解,又難又無聊害我都只能簽到,為了降低entry barrier,我決定用老嫗也能懂的簡單方式來寫,讓程�
程式語言的本質明明就是語言,但每次看都被一些專有名詞嚇死,根本就不能從字面的意思理解,又難又無聊害我都只能簽到,為了降低entry barrier,我決定用老嫗也能懂的簡單方式來寫,讓程式語言講人話,如果老嫗能懂,我大概也可以懂了。
GitHub
GitHub是一個 collaboration 和 version control的地方。他主要的功能可以分為兩大類:GitHub Explore 和 Repository。
Collaboration:就像開一個雲端文件一樣,大家可以在上面共同編輯一個Repository(專案儲存庫),並更新版本。
Version Control:就跟做簡報時候會有好多version,程式也是會有版本1、2、3。大家可能都寫了部分的程式,也常常先在自己的電腦裡各自做各自的再上傳更新,所以會有超多版。為了方便辨識,GitHub就把大家目共同的完整版叫做Master,大家各自進行的作業叫Branch,如果各自的Branch大家確認okay後就會merge進Master裡面,也可以清楚地看見前幾個版本長什麼樣子。
Pull Request、 Push、Pull功能介紹
Pull Request:要別人納入你的程式的要求。自己的部分完成之後可能會需要大家先幫你看看程式確認okay才Merge到Master(主幹線)上,所以才有這個功能。大家看見Pull Request後,會來討論、互給意見,確認沒問題後再合併,不但能確保Master的專案檔乾乾淨淨,也可以在修改前做個double check。
Push:就是把自己在電腦本地寫好的檔案,上傳到大家的Repository裡(共同的雲端 )
Pull:Push的相反,把Repository的最新版本儲存到自己的電腦裡。
另外,GitHub Explore是個跟instagram explore很像的功能,GitHub Explore會看到很帥的coder把他們的程式秀出來給你看,我還有看到還有連結直通他的medium教學,是個很炫的學習資源。
Jupyter
Jupyter是一個可以在上面寫程式的環境(notebook)。隨然大家應該都有自己的環境想是notpad++、sublime、Pycharm之類的,幹嘛用Jupyter呢?
大家都說Jupyter特別適合拿來做Data Analysis,隨然我目前不知道為啥。
● Visualize charts without leaving the environment:以前想要生出圖表的時候都必須先丟進terminal跑才行,但在Jupyter裡就不用,而且可以一次生出很多張做比較。
● Executed the code individually:不懂哪裡好
p.s. HackMD也是共同編輯的系統,跟雲端、dropbox很像。
GitHub reference: (這很棒!)
hand-on guides step by step
the GitHub flow
中文版的解釋



