GitHub∣編程學習利器

2021-02-19 交通科研Lab

相信不少同學在處理數據,建模分析時都會出現程序報錯的問題,今天科研Lab推薦一個編程學習(全世界最大的同性交友)網站—GitHub

維基百科對GitHub的解釋是:GitHub是一個利用Git進行版本控制、專門用於存放軟體代碼與內容的共享虛擬主機服務。它由GitHub公司(曾稱Logical Awesome)的開發者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails編寫而成。

相信不少人可能有點暈暈的,一言以蔽之,GitHub就是一個代碼託管平臺。

看到這,你可能會想:「咦,這不是程序猿的網站嗎,又不經常coding?更何況我有CSDN。」

先別急,等看完全篇,你就知道GitHub不僅可以建立屬於自己的代碼庫,搜索代碼,而且其開源數據的質量,數量以及種類的全面性等等都比CSDN要更上好幾層樓,甚至有人使用GitHub定製健身計劃,找女(nan)朋友……

登錄GitHub官網https://github.com/,註冊一個帳號並登錄。

登錄後的界面

前面提到GitHub是一個代碼託管平臺,其代碼託管的基本形式就是Repository(如圖左上角),即repository就是用於保存項目代碼。

註冊一個GitHub帳號之後,你可以擁有多個代碼倉庫,每個倉庫可以用來保存一個獨立的項目;可以創建獲得(New repository),當然,也可以從其他倉庫導入(Import repository)。

下面,科研Lab將重點介紹在日常的科研中如何使用GitHub資源搜索功能和代碼存儲功能。

GitHub可以搜索的資源包括但不限於代碼,電子書,數據。交通中經常用到人口數據,以搜索世界人口數據為例,簡單展示GitHub強大的搜索功能。

Tip:想要了解更多高效搜索GitHub開源項目的方法,https://zhuanlan.zhihu.com/p/55294261

作為普通的理工科學生,我們並不是程序猿,但GitHub的代碼存儲功能仍然很強大,我們可以將其作為一個免費的網盤使用,其優秀的存儲功能不僅可以實現代碼的有序管理,還可以將你「相中」的代碼免費遷移到自己的代碼庫中。下面科研Lab將介紹如何建立自己的repository及相關的術語。

https://desktop.github.com/

安裝完成後登錄。

選擇「create a tutorial repository」,第一次打開會有教學功能。

Tips:

1.電腦需要安裝文本編輯器,官方推薦atom或者visual studio

2. 點擊個人主頁中右上角「+」,選擇「new repository」也新建代碼庫的功能,但代碼庫的其他功能仍需要在GitHub Desktop才能實現

在GitHub Desktop客戶端上完成項目文檔的建立後,就可以在GitHub官網上面填寫自己的項目了

點擊頭像,進入主頁,可以看到建立的代碼庫。

進入自己的代碼庫,便可以編輯了。

Tip:GitHub使用的markdown不是標準markdown,而是GitHub flavored markdown。

更多信息可以參考 https://guides.github.com/features/mastering-markdown/

 

在使用GitHub時,初學者經常會遇到一些晦澀難懂的詞,在此補充一些常用的GitHub術語

•    Fork, clone, pull requests & merge

前面說,一個倉庫,只能該倉庫的所有者;或者是一個倉庫屬於某個組織,組織中擁有權限的帳戶;才可以向倉庫中提交代碼。那麼,針對一個大型的開源項目,我們既不是創建者,又沒有任何權限,那麼如何將自己的代碼提交到這個開源項目的倉庫呢?

解決方案是:fork開源項目的代碼,到我們自己的帳戶;從我們自己的帳戶中clone代碼到本地;添加代碼,提交到我們自己的GitHub倉庫;發起pull requests,等待merge。

每個代碼庫默認有一個分支master;在開發的時候,可以拉取新的分支develop來開發(當然分支名稱可以隨意取);每次提交commit都是到develop分支,一旦確保代碼無誤,可以將分支的代碼合併到主分支。

最後科研Lab送大家利用一套利用GitHub獲取的Python資源


簡明Python教程 https://woodpecker.org.cn/abyteofpython_cn/chinese/

零基礎學Python  https://looly.gitbooks.io/python-basic/

Python入門指南  http://www.pythondoc.com/pythontutorial3/index.html

笨方法學Python  https://www.seebug.org/paper/books/LearnPythonTheHardWay/

Dive into Python  https://woodpecker.org.cn/diveintopython/

Python繪圖庫(matplotlib官方指南)https://liam.page/2014/09/11/matplotlib-tutorial-zh-cn/

動手學深度學習 https://github.com/d2l-ai/d2l-zh/

Python數據結構與算法 https://github.com/facert/python-data-structure-cn/

Python 一百天從新手到大師(訓練計劃)https://github.com/jackfrued/Python-100-Days

《What the f*ck Python!》https://github.com/leisurelicht/wtfpython-cn

好噠~以上就是本期推送的全部內容啦!如果想和我們交流,請在評論區留言。

我們是一個有靈魂的團隊,堅持探索,致力於分享交流學習經驗。想學習更多交通編程知識的小夥伴就請持續關注我們吧~

相關焦點

  • 【福利大放送】不止是Android,Github超高影響力開源大放送,學習開發必備教科書
    還是來冒個泡,給大家獻上一些福利,這些項目要麼是 GitHub 上影響力很大,要麼是對你們很有用的項目:        本文github連結:https://github.com/nanchen2251/StudyForAndroid1、free-programming-bookshttps://github.com
  • 學姐親述:這些GitHub庫,真的能幫你提升編程技能!
    1.免費編程書籍免費提供編程電子書籍167k連結:https://github.com/EbookFoundation/free-programming-books2.Awesome列表關於各種編程主題的列表148k連結:https://github.com/sindresorhus/awesome3.編碼面試大學成為計算機工程師的完整計算機科學學習計劃
  • 原來Github上也有這麼多的JavaScript學習資源!
    這是一系列深入探討JavaScript核心特性的書籍,你可以在Github上閱讀全系列,該書籍一共分為上中下三卷:Up & Going 教你:● 基本的編程構建塊,包括運算符JavaScript的七種類型:null,undefined,boolean,number,string,object和symbol● 了解本機如何提供原始值周圍的對象包裝● 探索JavaScript語法中的各種細微差別,涉及語句,表達式和其他功能Async & Performance● 探索處理異步編程的
  • GitHub 熱點速覽 Vol.14:周獲 2k+ Vim³ 掀起三維編程風
    當然說到真正的學習,肯定不如老項目 Blog——一個前端書寫的系列文章及雖然已經一個季度過去但是依舊是程式設計師界話題的——developer-roadmap 表現搶人,在上周分別獲得了 1k 和 3k 的 star,此外在遊戲中學習 git 分支知識的 LearnGitBranching 也是相當有口碑,當然本周推薦的編程工具主題 也有不錯的表現,例如 Ruby 開發的跨平臺 GUI,iced 清明假期霸榜三日
  • github精選-海量編程書籍的整理和收集pdf格式可下載
    數據挖掘與分析同濟線性代數教材神經網絡和深度學習美國人工智慧的發展概述深度學習DeepLearning面向機器智能的TensorFlow實踐史丹福大學機器學習複習材料算法心得:高效算法的奧秘(第2版)史丹福大學機器學習課程個人筆記完整版同濟高等數學第六版上下冊
  • GitHub 為編程世界帶來了什麼改變?
    越來越多的人編程伊始,就會到 GitHub 上找項目去學習。2017 年,上百萬的學生和老師把 GitHub 當成了學習與教學的地方。GitHub 正在踐行他們的宗旨:社會化編程。很多複製 GitHub 的產品最終都敗走麥城,很大程度上都是因為它們不具備社會化編程的特質,也許這些創業者從開始就沒想到社會化編程的概念吧。
  • GitHub開源中文版《Go入門指南》學習教程
    比如Python作為膠水語言,上手快、使用簡單、三方庫資源豐富,機器學習的一些模型算法包,深度學習Tensorflow、Pytorch都是用Python來做主要語言。Go語言現在越來越火了,各大廠逐漸開始使用Go語言,為啥呢?
  • 16個GitHub值得收藏的深度學習框架
    連結:https://github.com/keras-team/keras 3. Caffe Caffe是一個重在表達性、速度和模塊化的深度學習框架,它由Berkeley Vision and Learning Center(伯克利視覺和學習中心)和社區貢獻者共同開發。
  • 面試資源、公共API、多樣化學習路徑,這10個GitHub庫開發者必看
    (免費編程書籍),但它提供的內容不止於此。該庫有多語言版本,包含免費在線課程、交互式編程資源、問題集和有競爭力的編程,以及 podcast 和編程練習。不過其中大部分內容是編程書籍,書籍數量十分可觀。3.
  • 7個最佳的學習Python編程的開源庫
    -44a3a7accb44很多夥伴們在學習Python的過程中,更傾向於在Github上尋找Python學習資料,今天就和大家分享Github上7個絕佳的Python編程學習的開源庫:這個存儲庫一共有19本Jupyter筆記本。
  • 系統性學習CUDA編程的推薦資料
    對C++工程師或者程式設計師人群簡單入門介紹CUDA編程。https://developer.nvidia.com/blog/even-easier-introduction-cuda/針對初學者,對統一內存的說明。
  • GitHub 熱點速覽 Vol.21:Go 新手起手式,學就完事兒了
    作者:HelloGitHub-小魚乾摘要:說到學習之道,方法很重要,好的學習方法能讓你比他人更快地入門到精通,比如本周被 3k 多人 pick 的 learngo 項目,它收錄了多個例子和練習,新手 Go 開發可快速習得 Go 編程之法。
  • 安卓免費學習的博客,github,CSDN,視頻教程,一網打盡!
    list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCECodePath Android Cliffnotes(Android學習筆記):http://guides.codepath.com/android免費編程中文書籍索引:https://github.com/justjavac/free-programming-books-zh_CN
  • Github近5萬贊的計算機專業課程,從小白到大牛的學習之路
    近年來,隨著開源社區的蓬勃發展,以及人工智慧對各行各業的影響,很多人希望能夠通過系統全面地學習計算機科學領域的知識。最近,在 Github 上有一個自學計算機科學的教程,總結了從零開始成為計算機大牛的學習之路。
  • 通過開源書籍學習 Ruby 編程
    每一個編程主題由一個或多個小的自包含、可運行的 Ruby 程序構成。◈ Introduction to Programming with Ruby[22] – 學習編程的基礎知識,一切從零開始。◈ Object Oriented Programming with Ruby[23] – 學習編程的基礎知識,一切從零開始。
  • 深度學習預測比特幣價格;基於神經網絡的自動化前端開發 | Github...
    雷鋒網 AI 研習社按:對於開發者來講,證明其編程能力最好的方式是展示他們的項目和代碼用深度學習預測虛擬貨幣價格 —— ethereum_future該項目用深度學習的方法預測比特幣的走勢,Siraj Raval 小哥也在視頻裡說了,這套模型還可以用來預測任何 Altcoin。看來現在的礦工們都應該學點機器學習了。基於神經網絡的自動化前端開發 —— Screenshot-to-code-in-Keras
  • 布客·ApacheCN 編程/後端/大數據/人工智慧學習資源 2020.6
    請聯繫飛龍(562826179),或在這裡留言(https://github.com/apachecn/awesome-article-recomm)。程式語言JavaOn Java 8 中文版(Java 編程思想第五版)⭐↗(https://github.com/LingCoder/OnJava8?
  • 「GitHub熱門開源」構建NLP深度學習模型其實就是搭積木
    其實,構建NLP深度學習模型就是搭積木。在構建自然語言理解深度學習模型過程中,研究人員或者工程師們經常需要在編程細節和代碼調試上花費大量精力,而不是專注於模型架構設計與參數調整。論文地址:https://arxiv.org/abs/1904.09535項目地址:https://github.com/Microsoft/NeuronBlocksNeuronBlocks將常用的神經網絡層封裝為標準模塊,通過配置簡單的配置文件,就可以輕鬆構建複雜的深度神經網絡模型
  • 【乾貨】深度學習預測比特幣價格;基於神經網絡的自動化前端開發 | Github 項目推薦
    本文長度為697字,建議閱讀6分鐘對於開發者來講,證明其編程能力最好的方式是展示他們的項目和代碼
  • 新手學習編程入門
    半年前給一個朋友寫了一個學習編程入門的簡單文檔,現在放出來。