開源貢獻 計算_使用此網站為開源做貢獻

開源貢獻 計算

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的問題搜索 ,但是在這里遇到了幾個問題:

  1. You cannot filter issues based upon the amount of stars a repository has

    您不能根據存儲庫具有的星級來過濾問題
  2. 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,則無法通過語言進行搜索。)

Basically, you have to know of them and look them up manually.

基本上,您必須了解它們并手動查找它們。

  1. As said before, go to a project’s GitHub page by learning of its existence in some way

    如前所述,通過某種方式了解項目的存在 ,以轉到項目的GitHub頁面

  2. Look through the issues. Now you can filter a little by label (think bug, feature, good-first-issue)

    瀏覽問題。 現在,您可以按標簽進行過濾(考慮錯誤,功能,優先事項)
  3. 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/

開源貢獻 計算

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/393401.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/393401.shtml
英文地址,請注明出處:http://en.pswp.cn/news/393401.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetcode275. H指數 II(二分法)

給定一位研究者論文被引用次數的數組(被引用次數是非負整數),數組已經按照升序排列。編寫一個方法,計算出研究者的 h 指數。 h 指數的定義: “h 代表“高引用次數”(high citations),一名科研人…

java 多線程阻塞隊列 與 阻塞方法與和非阻塞方法

Queue是什么隊列,是一種數據結構。除了優先級隊列和LIFO隊列外,隊列都是以FIFO(先進先出)的方式對各個元素進行排序的。無論使用哪種排序方式,隊列的頭都是調用remove()或poll()移除元素的。在FIFO隊列中,所…

批量移動AD用戶到指定OU

作為域管理員,在日常工作中使用ADUC(AD用戶和計算機)工具在圖形界面中進行賬號管理操作可謂是家常便飯了。然而一個個增加、移動、刪除用戶,這樣操作有時真的夠煩,當管理大批量的賬戶時,重復操作浪費的時間…

vs 編譯說明

靜態編譯/MT,/MTD 是指使用libc和msvc相關的靜態庫(lib)。動態編譯,/MD,/MDd是指用相應的DLL版本編譯。其中字母含義 d:debug m:multi-threading(多線程) t:text代碼 d:dynamic(動態)…

python numeric_Python pandas.to_numeric函數方法的使用

pandas.to_numeric(arg, errorsraise, downcastNone) [source]將參數轉換為數字類型。默認返回dtype為float64或int64, 具體取決于提供的數據。使用downcast參數獲取其他dtype。請注意,如果傳入非常大的數字,則可能會導致精度損失。由…

javascript 分號_讓我們談談JavaScript中的分號

javascript 分號要使用它們,還是不使用它們… (To use them, or not to use them…) Semicolons in JavaScript divide the community. Some prefer to use them always, no matter what. Others like to avoid them.JavaScript中的分號分隔社區。 有些人更喜歡始終…

leetcode436. 尋找右區間(二分法)

給定一組區間,對于每一個區間 i,檢查是否存在一個區間 j,它的起始點大于或等于區間 i 的終點,這可以稱為 j 在 i 的“右側”。 對于任何區間,你需要存儲的滿足條件的區間 j 的最小索引,這意味著區間 j 有最…

python篇第6天【數據類型】

Python有五個標準的數據類型:Numbers(數字)String(字符串)List(列表)Tuple(元組)Dictionary(字典)Python數字數字數據類型用于存儲數值。他們是不…

如何確定Ionic是否適合您的項目

by Simon Grimm西蒙格里姆(Simon Grimm) 如何確定Ionic是否適合您的項目 (How to find out if Ionic is the right choice for your project) Ionic has been around for quite some years. With the latest release of version 4, it has become an even better option for d…

二維數組的查找 java_查找二維數組java的總和

我正在一個項目中,我必須讀取文件并將內容輸入2D數組。然后,我必須對每一行,每一列和矩陣的周長求和。到目前為止,除外圍功能外,我一切正常。我正在嘗試為兩個外部列的頂行,底行和中間創建單獨的for循環。矩…

遞歸法解決兔子問題

記得以前過相似問題,今天有同事問道,竟然不知所答,故寫篇文章以記之。 一般而言,兔子在出生兩個月后,就有繁殖能力,一對兔子每個月能生出一對小兔子來。如果所有兔子都不死,那么若干月以后可以繁…

mysql本地連接錯誤解決辦法

今天公司同事在測試服務器上死活不能用一個賬號在本地登陸,但是遠程就可以,于是我幫忙看了下,測試服務器的IP是10.10.2.226,錯誤如下:linux-0fdr:/home1/mysql_data # mysql -h 10.10.2.226 -u jxq2 -pjxq2ERROR 1045 (28000): Access denied for user jxq2linux-0fdr (using p…

leetcode546. 移除盒子(dp)

給出一些不同顏色的盒子,盒子的顏色由數字表示,即不同的數字表示不同的顏色。 你將經過若干輪操作去去掉盒子,直到所有的盒子都去掉為止。每一輪你可以移除具有相同顏色的連續 k 個盒子(k > 1),這樣一輪…

408. Valid Word Abbreviation

題目: Given a non-empty string s and an abbreviation abbr, return whether the string matches with the given abbreviation. A string such as "word" contains only the following valid abbreviations: ["word", "1ord", &qu…

oracle常用操作指令

登錄oracle用戶: sqlplus 用戶名/密碼 創建用戶:create user 要創建的用戶名 identified by 當前用戶名; 授權:grant resource,connect to 要授權的用戶名; 刪除用戶:drop user 用戶名 創建表: create table student( id n…

java接收二進制數據_java-從套接字讀取二進制數據

我正在嘗試連接到服務器,然后向其發送HTTP請求(在這種情況下為GET).這個想法是請求一個文件,然后從服務器接收它.它應同時適用于文本文件和二進制文件(例如imgs).我對文本文件沒有任何問題,它可以完美工作,但是對二進制文件有一些麻煩.首先,我聲明一個BufferedReader(用于讀取標…

web開發入門_Web開發人員和設計師的自由職業入門

web開發入門Learn how to get started with freelancing as a web developer and designer. Cara Bell shares lessons and tips she has learned from her years as a freelancer.了解如何以網絡開發人員和設計師的身份開始自由職業。 卡拉貝爾(Cara Bell)分享了她從自由職業者…

leetcode1343. 大小為 K 且平均值大于等于閾值的子數組數目(隊列)

給你一個整數數組 arr 和兩個整數 k 和 threshold 。 請你返回長度為 k 且平均值大于等于 threshold 的子數組數目。 示例 1: 輸入:arr [2,2,2,2,5,5,5,8], k 3, threshold 4 輸出:3 解釋:子數組 [2,5,5],[5,5,5] 和 [5,5,8…

二分查找遞歸和非遞歸方法分析

遞歸實現: 自己寫的遞歸:多一個賦值操作,雖然可以得到正確的結果。但是比較難以理解。 問題:沒有深刻理解遞歸返回值。return會在遞歸調用到最后,在遞歸結束的地方,會將返回值一層一層返回給方法&#xff0…

BaseYii_autoload

BaseYii_autoload 判斷是否是classMap還是命名空間的 然后 轉換成 絕對路徑 include 文件  public static function autoload($className){      //classMap 一般都是類庫 官方 或者自定義類映射 if (isset(static::$classMap[$className])) {$classFile static::$cla…