GitHub是微軟旗下的在線軟件源代碼托管服務平臺,也是壹個擁有超過8000萬開發者和用戶的社區。很多開發者應該對GitHub有所了解,但大部分非技術人員可能不會使用。本文更多的是向非技術人員介紹這個平臺。看完這篇文章,希望有更多的人可以在上面學習、創作、展示自己的作品。
GitHub是壹個很好的學習平臺。
GitHub有很多開源項目,其中壹些已經成為IT行業的軟件基石,比如Linux內核項目。
如果妳想學習壹門軟件開發技術,比如學習用Python做壹些數據分析,那麽GitHub就是最好的學習平臺。為什麽這麽說?
學習首先需要找到好的教程,而GitHub上最不可或缺的就是教程項目。以Python為例。在GitHub上搜索,妳很容易就能找到這個牛逼的Python項目,裏面收集了很多Python相關的教程、項目、庫等等。
妳可以在這個項目中找到妳想要的學習資料。而且因為是近15萬顆星的明星項目,被很多開發商認可,所以上面推薦的材料質量也很高。
當然GitHub也不完全是英文的,中文資料也很多,但是我還是建議盡量使用英文資料。想走技術這條路,英語是必須的。
找到教程後,下壹步就是開發壹個真實的項目。按照正常流程,我們需要在電腦上配置壹個復雜的軟件開發環境,這讓很多人望而卻步。
但是在GitHub上,妳可以直接在網頁上編輯代碼,提交給GitHub,這樣妳就可以在任何電腦上開發妳的項目。這個函數叫做GitHub Codespaces。
比如下面是我正在開發的壹個開源項目,這是壹個基於Python的項目。我可以直接在網頁上編輯代碼,提交給GitHub。
在上面的紅框中,妳可以創建壹個免費的在線開發環境,這將是壹個web版本的VSCode。換句話說,GitHub給妳壹個雲開發環境(壹個擁有Root用戶權限的Linux系統,可以配置安裝任何軟件)!這個開發環境可以壹直存儲在雲端,開發可以隨時繼續,保存在上面的文件不會被刪除。
有時,當您只想閱讀其他人的代碼時,按。在GitHub網頁上按鍵,會自動打開壹個在線的VSCode開發環境,可以閱讀和搜索比網頁更多方面的代碼。
GitHub是壹個很好的寫作平臺。
基於Markdown的寫作壹直是我推崇的。早在十年前,我就在Wordpress上撰文,它提供了最簡單的建站體驗,以至於全球超過40%的網站都是用Wordpress搭建的,包括個人博客。
但是Wordpress的構建還是太麻煩了。雖然現在國內很多雲服務商都提供了壹鍵搭建Wordpress的功能,但是還是有很多限制,比如不免費,需要備案,需要維護服務器等。
在GitHub上寫作很簡單。妳只需要壹個GitHub賬號,然後在GitHub上創建壹個倉庫,再在倉庫裏創建壹個Markdown文件,就可以開始寫了。書寫的內容是Markdown格式的文本,GitHub會自動將Markdown轉換成HTML,顯示在瀏覽器上。
除了這種方法,還可以使用Cloudflare Pages,它可以自動將GitHub warehouse中的內容部署到Cloudflare的CDN中,這樣就可以使用自定義域名了。
如果想要更好的寫作體驗,也可以使用vuepress-theme-hope的這個開源項目,它提供了非常強大的定制能力,但是使用起來非常簡單。比如我用它在GitHub上建了壹個文檔網站:free4chat開發筆記。
在每壹頁的底部,都有壹個按鈕可以在GitHub上編輯這個頁面。點擊後可以直接在GitHub上修改這個頁面,修改後提交,GitHub會自動重建網站,然後妳就可以在網站上看到修改後的內容了。
由於GitHub的倉庫會自動保存每次修改的歷史,如果有錯誤,可以回到之前的版本,再也不用擔心數據丟失。
GitHub是壹個很好的開發平臺。
GitHub是最好的開發平臺。相信妳從上面可以看出,GitHub圍繞軟件的搜索、閱讀和開發體驗做了很多改進。甚至壹個瀏覽器就可以完成軟件產品的開發、測試和部署。本文不會詳細介紹GitHub的所有功能,但以下功能值得壹試:
1,GitHub Codespaces:提供在線雲IDE,可以直接在瀏覽器中編輯代碼,然後在雲端編譯、運行、調試代碼,非常方便。
2、github copy:提供在線AI代碼自動完成功能,可以根據上下文自動完成妳的代碼,甚至包括寫博客!這篇文章的壹部分是由這個AI助手自動編寫的。妳能看見它嗎?)
3.GitHub動作:以代碼形式提供管道的CI/CD服務。比如可以實現博客文章更新時會自動給訂閱者發送通知,我的博客也實現了類似的功能。請參見此文件:。github/workflows/gh-pages.yml了解詳情。
4.GitHub包:提供類似Docker Hub的包管理功能。
最重要的是,這些功能很多都提供了免費額度,足夠日常使用。妳所要做的就是創造和使用技術杠桿來實現妳的想法。
利用GitHub建立個人技術影響力
創造個人技術影響力可能是很多開發者免費在GitHub上創建各種開源項目的主要原因之壹。而技術影響力可以給開發者更多的機會,比如獲得更多的工作機會,影響更多的人。
在GitHub上,妳可以找到很多厲害的人,比如前端boss安特夫,仙丹的作者JoséValim。通過關註這些人的動態,可以了解最新的技術動態,不斷提升自己的技術能力。
GitHub也是壹個很好的技術展示平臺。妳可以通過創建妳自己的GitHub配置文件來展示妳的技術棧,比如我的GitHub配置文件。您也可以使用這個工具GitHub Profile README Generator來生成您自己的GitHub配置文件。
基於GitHub的生態學
GitHub有壹個龐大的生態系統,很多SaaS服務都可以與之集成,提供完美的開發體驗,比如:
1,SSO:很多技術網站都提供GitHub的SSO集成,尤其是開發者的SaaS服務相關的網站。如果妳想使用這些服務,妳必須有壹個GitHub帳戶。
2.Cloudflare:全球最受歡迎的CDN。與GitHub集成後,Cloudflare頁面可以自動部署。當代碼推送到GitHub時,Cloudflare會自動將網站發布到Cloudflare的全球網絡節點。
3.Vercel:和Cloudflare Pages壹樣,集成GitHub後,可以自動將網站部署到Vercel的CDN網絡上。我的壹些小工具部署在Vercel上。
4.鐵路:提供後端服務,包括數據庫托管。集成GitHub後,可以自動部署並應用到鐵路服務器上。
這些SaaS服務還提供壹些免費的額度,可以輕用,可以免費做很多小項目。
GitHub Next
GitHub Next正在探索壹些能夠影響軟件開發未來的方向。目前,有幾個有趣的方向:
1,AI:或者說深度學習模式正在逐漸改變世界。比如GitHub Copilot就是基於深度學習模型來實現代碼自動完成的功能。未來基於GitHub Copilot重構代碼,編寫自動化測試,與開發者結對編程,也不是不可能。當然,AI幫我們寫文章或者合作寫文章是很自然的事情。
2、語音編程:如果可以通過自然語言與GitHub Copilot進行交流,那麽編程就會變得像搭積木壹樣簡單,壹些基本功能不用寫代碼就可以通過語音實現。想想都覺得不可思議,甚至有壹種托尼·斯塔克和賈維斯談制作鋼鐵俠盔甲的感覺。
3.協作:因為疫情,遠程工作越來越流行(或者需要),目前沒有更好的遠程成對寫代碼的方式。實時解決多少人在同壹個代碼庫中協作是壹個有趣的領域。
4.交互式文檔:雖然GitHub現在非常好地支持Markdown,但是這種支持仍然是靜態的。如何讓文檔具有交互性和表現力,也是壹個值得深入探索的方向。
雖然我註冊GitHub已經很多年了,但是這幾年我也逐漸在上面投入了越來越多的時間。尤其是這兩年,我感覺GitHub正在逐漸改變軟件開發的常規模式。
尤其是GitHub Copilot的出現,以及壹站式的開發體驗,甚至未來代碼的設計、開發、測試、部署都可以在GitHub網頁上完成,這是我以前從來不敢想象的。
希望這篇文章能讓讀者對GitHub有壹個全新的認識。如果妳還沒有註冊GitHub,請註冊壹個。