偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

教你GitHub 尋寶指南

開發(fā) 前端
總結(jié)一句話便是:GitHub 來搜索 Google 搜索不到的。它們可以 work 的原因,都是因為我們想做的事情,已經(jīng)有人已經(jīng)走過。如果你走的是一條新的路,那么這篇文章對你來說,意義可能沒有那么大。

前言

作為一個資深的咨詢師、程序員,GitHub 是我用過的最好工具,因為 Google 并非總是那么用。GitHub 是一個寶藏庫,可沒有藏寶圖,GitHub 一1億的倉庫也和你沒有關(guān)系。這么一些年下來,也算是掌握了一定的技巧,寫篇文章記錄一下,也就順其自然了。

總結(jié)一句話便是:GitHub 來搜索 Google 搜索不到的。它們可以 work 的原因,都是因為我們想做的事情,已經(jīng)有人已經(jīng)走過。如果你走的是一條新的路,那么這篇文章對你來說,意義可能沒有那么大。

 

[[330596]]

尋找 Demo 節(jié)省時間

在工作上使用新的技術(shù),和自己平時的練習(xí),終究差得有些遠(yuǎn)。工作的時候,我們偏向于目標(biāo)編程,對于速度和時間的要求,要比自己業(yè)余時間要高得多。一旦有了這種壓力,便會在 GitHub 上尋找相應(yīng)的 Demo,了解原理、稍微嘗試,再引入到項目中。

這時,便會按技術(shù)棧的關(guān)鍵字搜索,并按更新時間進(jìn)行排序,以查找是否有合適的 Demo。

生命有限 ,如若是每次我們嘗試一個新的技術(shù),總得自己編寫一個個 Demo。編寫多個 Demo,都得花去個半天八小時的時間。如此一算,能花費在其它事情上的時間便更少了。若只是使用官方的 Demo,往往是比較容易的??晌覀兙帉憫?yīng)用的時候,總得結(jié)合到當(dāng)前的場合來。這時整合并不是一個輕松的工作,依賴沖突、引入第三方依賴等。

溫馨提醒:對于簡單的項目來說,自己直接寫 Demo 會更加方便。嘗試項目需要成本,若是需要嘗試使用多個項目,那么有可能就浪費時間。

尋找腳手架:加快前期開發(fā)

無論是后端的微服務(wù)架構(gòu),還是前端應(yīng)用,應(yīng)用的架構(gòu)正在變得復(fù)雜。后端微服務(wù),需要結(jié)合一個個的框架,哪怕是 Spring Initializr 這樣的工具,也只能幫助我們搭建項目。我們還需要配合其它工具,一起搭建出一個基本的系統(tǒng)。對于前端應(yīng)用也是類似的,若是 Angular 這樣大而全的框架,時間花費倒也是不多。如 React 這種需要組合的、小而美的框架,使用官方的 create-react-app 也很難做出我們想要的東西,尋找一個合適的腳手架是一個更好的選擇。

這時,我們大抵可以,直接使用技術(shù)棧 + boilerplate 又或者是 starter 等關(guān)鍵詞進(jìn)行搜索,如 react boilerplate。如果其中找到的組合技術(shù)棧,不符合自己的要求,那么再加上相應(yīng)技術(shù)棧的關(guān)鍵字,如 react redux boilerplate 即可。有意思的是,在這時使用 Google 會比 GitHub 方便一些。

溫馨提醒:我們需要衡量:修改腳手架的成本,是否比自己重頭寫快。

尋找 awesome-xxx:探索可能性

練習(xí)新的框架,我總習(xí)慣于,編寫一系列相關(guān)的 DEMO 項目,然后使用 awesome-xxx 探索可能性。

Awesome-xxx 系列,是 GitHub 上最容易賺 star 的類型。但凡是有一定知識度的領(lǐng)域、語言、框架等,都有自己的 awesome-xxx 系列的項目,如 awesome-python, awesome-iot, awesome-react 等等。在這樣的項目里,都以一定的知識體系整理出來的,從索引和查閱上相應(yīng)的方便。如果你想進(jìn)入一個新的領(lǐng)域,會嘗試新的東西就搜索 awesome xxx 吧。

溫馨提醒:awesome-xxx 只意味著它們包含盡可能多的資料,并不代表它們擁有所有相關(guān)的庫。

模仿輪子的輪子

大學(xué)時,我在練習(xí)寫嵌入式操作系統(tǒng),uC/OS-II 對于初學(xué)者的我來說,太復(fù)雜了——有太多無關(guān)的代碼。便在網(wǎng)上找尋相關(guān)的實現(xiàn),也便是找到了一些,在那的基礎(chǔ)上一點點完善操作系統(tǒng)。

學(xué)習(xí)一個成熟的框架,直接閱讀現(xiàn)有源碼的成本太高,畢竟也不經(jīng)濟(jì)。最好的方式,就是去坐輪椅。從模仿輪子之上,再去造輪子,是最省力氣的方式。再配合 《造輪子與從Github生成輪子》 一文,怕是能寫一系列的框架。而造一個相似輪子的想法,往往很多人都有。尤其是一個成熟的框架,往往有很多仿制品。

于是,當(dāng)你想了解一個框架,造個輪子,不妨試試搜索 xxx-like 或者 xxx-like framework,中文便是 仿 react 框架 或者 類 react。如我們在 Google 上搜索 react-like 就會搜索到 inferno。不過,按 GitHub 的尿性,要搜索到這樣的框架,并不是一件容易的事。這時 Google 往往比 GitHub 搜索好用。

所以建議:平時上班休息時,搜索相關(guān)的輪子,回家就可以坐輪子了。

學(xué)習(xí)資源

GitHub 上擁有大量的學(xué)習(xí)資源,從各類的文章到筆記,還有各式各樣的電子書。如:

  • 只需要搜索: 類型 + 筆記,如 操作系統(tǒng) 筆記 就能找到一些操作系統(tǒng)相關(guān)的筆記。
  • 只需要搜索: 書名 就能找到一些和這本書相關(guān)的資源,如 重構(gòu) 改善既有代碼的設(shè)計。

與此同時,GitHub 上還會搜索到各種 未經(jīng)授權(quán)英文書籍的翻譯,又或者是各種電子書的 PDF 版。作為多本書的作譯者,當(dāng)然不鼓勵 GitHub 上找到一些盜版書。

而在 GitHub 上又有一些庫,可以提供相應(yīng)的學(xué)習(xí)資源,如

  • free-programming-books-zh_CN,即免費的編程中文書籍索引。

建議:請尊重版權(quán),哈哈哈。

密鑰/密碼

GitHub 上有太多這樣的東西,盡管我沒有能趕上個好時候,找到一個合適的密鑰。有相關(guān)多的資料泄露和數(shù)據(jù)庫被扒,和 GitHub 上存在的密鑰和密碼有關(guān)。

不過,好在 GitHub 已經(jīng)在著手解決這個問題:自動刪除相關(guān)的提交、代碼警告等等。

私有、商用的 SDK 或代碼

總有人,會將一些商用的代碼,或者公司內(nèi)部的代碼,提交到 GitHub 上。如果你偶爾看到這樣的代碼,除了每一時間告訴作者,還可以偷偷 Clone 以下代碼——雖然這樣做不對,但是我還是想看。

如在 ThoughtWorks 的面試流程里,有一個步驟是代碼編程的作業(yè),個人的實現(xiàn)是不能公開出來的。接到一份作業(yè)的時候,總會去 GitHub 搜索相應(yīng)的代碼是否被提交了。提交了,倒是也得提醒一下相應(yīng)的候選人。

過去,我在使用 Phaser 編寫應(yīng)用的時候,對應(yīng)的粒子系統(tǒng)是收費的。由于我只是嘗試這個粒子系統(tǒng),便沒有購買的想法。我一想 GitHub 上可能有,于是搜索了對應(yīng)的 particle-storm.js,然后就中獎了。就便愉愉快快地去寫我的 Hello, World,最后發(fā)現(xiàn)它太耗費資源了,便放棄了。

建議:一旦你在 GitHub 上拿到別人的商用代碼,請僅用于學(xué)習(xí),并時刻保持低調(diào)。稍有不慎,有牢獄之災(zāi)。

數(shù)據(jù)及數(shù)據(jù)制作工具

當(dāng)我們需要數(shù)據(jù)的時候,就會考慮寫爬蟲。于是 GitHub 上充滿了各各樣的式爬蟲,除此還有的同學(xué)把爬蟲數(shù)據(jù)都放在上面了。某次,當(dāng)我在玩 ElasticSearch 搜索引擎的時候,突然需要一些真實的數(shù)據(jù)用來測試。便得找爬蟲,就在 GitHub 上,找到了大眾點評的一些爬蟲。

這個關(guān)鍵詞,就是: scrapy dianping.com,得來不費功夫。

除此,在 AI 相當(dāng)流行的今天也是如此,也可以搜索到其它同學(xué)訓(xùn)練好的模型。

結(jié)論

試試你的 GitHub 搜索功能吧。

責(zé)任編輯:未麗燕 來源: Phodal
相關(guān)推薦

2012-02-13 11:19:49

存儲集群存儲

2020-12-04 10:42:54

GithubSSDNode.js

2019-09-09 11:35:21

GitHub工具瀏覽

2019-07-17 15:29:46

GitHub數(shù)據(jù)科學(xué)學(xué)習(xí)

2020-10-28 08:46:36

GithubJsDelivrCDN

2020-02-27 16:17:31

代碼規(guī)范codegithub

2015-09-28 09:56:17

Github開源工具編程

2021-07-13 10:17:25

GitHubLinux代碼

2015-09-23 17:39:52

Github開源工具

2019-10-22 14:30:11

機(jī)器學(xué)習(xí)人工智能計算機(jī)

2015-07-28 14:27:44

2021-08-18 07:29:41

密碼驗證 PAT

2023-05-15 16:12:32

GitHub項目

2018-07-24 09:00:46

GitHub代碼微軟

2021-01-13 14:42:36

GitHub代碼Java

2011-12-28 15:04:48

珠江投資信息化云計算

2025-04-09 08:21:10

2022-07-13 13:51:22

GitHubPR開源

2018-02-27 09:00:00

UbuntuGitGithub

2020-02-24 15:59:38

GitHub代碼開發(fā)者
點贊
收藏

51CTO技術(shù)棧公眾號