開源貢獻 計算
When I began the transition into being a software developer, I knew that contributing to open source projects would greatly assist my job search.
當我開始過渡為軟件開發人員時,我知道為開源項目做貢獻將極大地幫助我的求職。
So, I jumped onto GitHub looking for issues that I could take on. Little did I know that this would be a miserable endeavor.
因此,我跳上GitHub尋找可能遇到的問題。 我幾乎不知道這將是一場痛苦的努力 。
實現 (The Realisation)
At the beginning, I thought I could simply go to React’s repo page (or another extremely popular repo’s page) and find an issue.
一開始,我以為我可以簡單地轉到React的repo頁面(或另一個非常受歡迎的repo的頁面)并找到問題。
But those repo’s are literally hounded by people looking for an issue. And it is very time consuming to click through repositories.
但是這些回購協議實際上是由尋找問題的人所束縛的。 單擊存儲庫非常耗時。
My second thought was to use GitHub’s issue search, but I ran into several problems here:
我的第二個想法是使用GitHub的問題搜索 ,但是在這里遇到了幾個問題:
- You cannot filter issues based upon the amount of stars a repository has 您不能根據存儲庫具有的星級來過濾問題
- You can only filter by language if the issue is literally labeled that language. (So if the project is predominantly a JavaScript repo and the issue is not labeled JavaScript, you have no way of searching for it by language.) 如果問題在字面上標有該語言,則只能按語言進行過濾。 (因此,如果項目主要是JavaScript存儲庫,而該問題未標記為JavaScript,則無法通過語言進行搜索。)
您如何看待針對熱門項目的問題? (How do you look at issues focused on popular projects?)
Basically, you have to know of them and look them up manually.
基本上,您必須了解它們并手動查找它們。
如何用您最了解的語言從一個受歡迎的項目中找到一個問題? (How can you find an issue from a popular project in the language you know best?)
As said before, go to a project’s GitHub page by learning of its existence in some way
如前所述,通過某種方式了解項目的存在 ,以轉到項目的GitHub頁面
- Look through the issues. Now you can filter a little by label (think bug, feature, good-first-issue) 瀏覽問題。 現在,您可以按標簽進行過濾(考慮錯誤,功能,優先事項)
- If you don’t find something that you can do, you have to start this process over with a new repo! 如果找不到您可以做的事情,則必須從一個新的倉庫開始這個過程!
Needless to say, it took me forever to find an issue that I wanted to take on.
不用說,我花了很長時間才找到我想要解決的問題。
Fast forward a few months. I began to make a website to make open source contribution easier.
快進幾個月。 我開始制作一個網站,以簡化開源貢獻。
創作過程 (The Process of Creation)
The main challenge was to get the data that I wanted. I knew I had to use the GitHub API.
主要的挑戰是獲取我想要的數據。 我知道我必須使用GitHub API。
As I said earlier, when you search on GitHub for an issue, you cannot search by stars or language. This stems from the fact that GitHub’s Repo API request does not provide this option.
如前所述,當您在GitHub上搜索問題時,無法按星號或語言進行搜索。 這是因為GitHub的Repo API請求未提供此選項。
My initial thought was that I should focus on finding repositories of interest. For example, the thousand most starred JavaScript, Python, and a variety of other languages repos.
我最初的想法是,我應該專注于尋找感興趣的存儲庫。 例如,上千種最受注視JavaScript,Python和其他各種語言存儲庫。
Well… you cannot search repos by language nor by star count.
好吧……您無法通過語言或星級來搜索存儲庫。
Dynamically fetching data is cool, but how could I do it? Here is a condensed view of why it is ridiculously difficult with the GitHub API.
動態獲取數據很酷,但是我該怎么辦呢? 這是為什么GitHub API如此困難的簡明視圖。
使用GitHub API達成協議 (Coming to Terms with the GitHub API)
One thing to begin with: you have a limit of 5000 requests per hour to the GitHub API.
首先要解決的問題是:每小時對GitHub API的請求數限制為5000。
This is the only way to get a bunch of repositories at once: https://api.github.com/repositories which will give you around 35 repositories but none of these rows have language or star count.
這是一次獲取一堆存儲庫的唯一方法: https : //api.github.com/repositories它將為您提供約35個存儲庫,但是這些行都沒有語言或星號。
Though, you can query each of these repositories returned from the initial API request (ex. https://api.github.com/repos/facebook/react) and then you get this data!
不過,您可以查詢從初始API請求返回的每個存儲庫(例如https://api.github.com/repos/facebook/react ), 然后就可以獲取此數據!
But wait… I have to go through every repository on GitHub... there are approximately 90 million repositories.
但是等等...我必須遍歷GitHub上的每個存儲庫...大約有9000萬個存儲庫。
一點數學 (A Little Math)
90,257,000 (amount of repos with amount of requests to get repos) / 5000 (hourly rate limit) ~= 18,000 hours or 750 days or around 2 years… ?
90,257,000(回購金額與獲得回購請求的數量)/ 5000(每小時費率上限)?= 18,000小時或750天或大約2年…
勉強做出的決定 (The Reluctantly Made Decision)
So I had to find the repositories manually… ?. Thank god for this site: https://gitstar-ranking.com/ but still, quite a few hours of clicking through repositories…
因此,我不得不手動查找存儲庫……。 感謝上帝為這個網站:h ttps://gitstar-ranking.com/,但是仍然需要花幾個小時才能瀏覽存儲庫…
But, I got there! And here is the site! ?
但是,我到了那里! 這是網站! ?
FindanIssue.com (FindanIssue.com)
I made it as simple as possible. Search by the exact repo, by specific language (exact and case sensitive), by label, or the age of the issue. So, you can get to the root of what you are looking for.
我使它盡可能簡單。 按確切的存儲庫,特定的語言(精確且區分大小寫),標簽或問題的年齡進行搜索。 因此,您可以找到所需的內容。
If you are a beginner, then search by labels such as good first issue or docs/ documentation as well as specifying your programming language of choice.
如果您是初學者,請按標簽(例如“ 第一期”或docs /文檔)進行搜索 ,并指定您選擇的編程語言。
If you are a seasoned developer looking for a challenge, search by labels such as feature, help wanted, bug, or other labels of your choice.
如果您是經驗豐富的開發人員,正在尋找挑戰,請按功能 ,所需的幫助 , 錯誤或您選擇的其他標簽之類的標簽進行搜索。
At the moment, the data is refreshed twice daily so old issues are removed and issues that have been labeled are given their proper label.
此刻,數據每天刷新兩次,因此,舊的問題將被刪除,已標記的問題將被賦予適當的標簽。
總結思想 (Closing Thoughts)
There is still a lot of work that can be done:
還有很多工作可以完成:
- The most glaring problem is that only around 900 projects are showcased. So, there are a wide spectrum of amazing projects that are not being given a chance. 最明顯的問題是僅展示了大約900個項目。 因此,有許多驚人的項目沒有機會。
- Improving the backend and some additions to the frontend would really make a difference 改善后端以及對前端的一些補充確實會有所作為
All in all, I made this because I believe it to be a step towards fulfilling a need in the open source community of linking issues to developers. Rather then going out into the wild to find an issue to take on, the site aims to make it a simple few minutes of searching through a table.
總而言之,我之所以這樣做,是因為我相信這是滿足開源社區將問題與開發人員聯系起來的需要的一步。 該網站旨在使搜索表格的時間變得很短,而不是大肆尋找要解決的問題。
I hope you use it and find yourself giving back to the world of open source, that you, as a developer, depend on every single day.
我希望您使用它并發現自己回饋開源世界,即您作為開發人員每天都依賴。
Here is the repo: https://github.com/jMuzsik/find-an-issue
這是倉庫: https : //github.com/jMuzsik/find-an-issue
And here is the site: https://findanissue.com
這是網站: https : //findanissue.com
And thanks for the read!
并感謝您的閱讀!
翻譯自: https://www.freecodecamp.org/news/use-this-site-to-contribute-to-open-source-ec9b2751cb2/
開源貢獻 計算