android-開源項目_我如何擺脫對開源的恐懼,并開始了自己的項目-以及如何做到。...

android-開源項目

by Linea Brink Andersen

通過Linea Brink Andersen

我如何擺脫對開源的恐懼,并開始了自己的項目-以及如何做到。 (How I crushed my fear of open source and started my own project — and how you can, too.)

A week ago, I started an Open Source project. I had never done a pull request or merged anything on GitHub. Suddenly I was an Open Source maintainer.

一周前,我開始了一個開源項目。 我從未在GitHub上執行過pull請求或合并任何東西。 突然我成為了開源維護者。

I had always wanted to contribute to Open Source. Every time I was looking for a project, I gave up. I was overwhelmed by the source code of a project, or it looked too complicated. I didn’t know whom to reach out to for information and help. I was doubting my skills, and convinced myself that my contributions wouldn’t be useful.

我一直想為開源做貢獻。 每次尋找項目時,我都放棄了。 一個項目的源代碼讓我不知所措,或者它看起來太復雜了。 我不知道該向誰尋求信息和幫助。 我懷疑自己的技能,并說服自己,我的貢獻不會有用。

It was ironic. I wanted to contribute to Open Source, to gain experience. But I felt that I needed more experience before I could start. It was an endless spiral, and I realized I needed to do something about it.

具有諷刺意味的。 我想為開源做貢獻,以獲取經驗。 但是我覺得我需要更多的經驗才能開始。 那是一個無休止的螺旋,我意識到我需要為此做些事情。

突破障礙 (Breaking through the barrier)

I wanted an Open Source project for beginners. I dreamed of a project where I could feel confident. Where other contributors were also learning to code, or contributed to help beginners. I figured out that there were probably other people like me looking for the same opportunity.

我想要一個適合初學者的開源項目。 我夢到一個能讓我感到自信的項目。 其他貢獻者也在學習編碼的地方,或為幫助初學者做出了貢獻。 我發現可能還有其他人像我一樣在尋找同樣的機會。

Then, it finally hit me. I could start an open source project myself. I spent 14 hours on it that day, and in the early morning I had a project on Github. Then I tweeted out for others to join me.

然后,它終于打擊了我。 我可以自己啟動一個開源項目。 那天我花了14個小時,在清晨,我在Github上做了一個項目。 然后我發了推文,邀請其他人加入我的行列。

If you have been curious about open source for a while, but haven’t gotten started, I encourage you to do the same. I have captured my process in this post. If you create the type of project you would feel good about contributing to, it will be much easier to get started. As an added bonus, you will help other people who have been hesitant to contribute for the same reasons as you. Try it out — you will learn a lot.

如果您有一段時間對開源感到好奇,但是還沒有開始,我鼓勵您也這樣做。 我已經在這篇文章中捕獲了我的過程。 如果您創建了自己喜歡的項目類型,那么上手起來會容易得多。 作為額外的獎勵,您將幫助因與您相同的原因而猶豫的其他人做出貢獻。 嘗試一下-您將學到很多東西。

Side note: I said above I started my project in 14 hours. To be completely fair, I started on step 3 (see below) that day. I already had my idea, and I had written my baseline code a couple of weeks before. If you have some small project you have already started, you can use that. But if not, no worries, you do not need to do it in one day.

旁注:我上面說過,我在14小時內開始了我的項目。 公平地說,我從那天的第3步(見下文)開始。 我已經有了主意,并且在幾周前就編寫了基準代碼。 如果您已經開始了一些小項目,則可以使用它。 但是,如果沒有的話,不用擔心,您不必在一天內進行。

So without further ado, here are my five steps to create your own Open Source project.

因此,事不宜遲,這里是我創建自己的開源項目的五個步驟。

第1步-了解想法 (Step 1 - Get an idea)

This might sound very hard, but it doesn’t have to be. After all, you only need the beginning of an idea. Your future contributors and potential users will be full of ideas to build on top of yours.

這聽起來可能很難,但是不必如此。 畢竟,您只需要一個想法的開始。 您未來的貢獻者和潛在用戶將充滿想法,可以在您的想法之上建立。

A lot of technologies like Google and YouTube started out very simple, and so should your project. Remind yourself that this is a learning experience. Your idea doesn’t have to feel like a genius invention. If you’re still stuck, maybe this silly site can help you.

Google和YouTube等許多技術起步非常簡單 ,因此您的項目也應該如此。 提醒自己這是一種學習經歷。 您的想法不一定非要是天才發明。 如果您仍然陷于困境,也許這個愚蠢的網站可以為您提供幫助。

第2步-創建基準 (Step 2 - Create a baseline)

It is easier to start collaborating if there is some minimal code to start from. It is up to you to decide how much code your project should include to begin with. But it will be easier for your contributors to begin if there are at least a few lines of code that they can modify or add to.

如果有一些最少的代碼要開始,那么開始協作就比較容易。 您可以自行決定項目應包含多少代碼。 但是,如果您的貢獻者至少可以修改或添加幾行代碼,它們將更容易開始。

Don’t worry if your baseline seems too simple. This is exactly what you want. Other beginners will be able to contribute, because the project is simple and the code is easy to read.

如果您的基線看起來過于簡單,請不要擔心。 這正是您想要的。 其他的初學者將能夠做出貢獻,因為該項目很簡單并且代碼易于閱讀。

第3步-設置您的存儲庫 (Step 3 - Set up your repository)

The repository is where it all happens. It is also where we beginners lack a bit of experience, compared to seasoned developers. Use your experience as an Open Source “newbie” to create a simple and encouraging project that other beginners can join.

倉庫就是所有發生的地方。 與經驗豐富的開發人員相比,這也是我們初學者缺乏經驗的地方。 利用您作為開源“新手”的經驗,創建一個簡單而令人鼓舞的項目,其他初學者也可以參加。

You know exactly what was hard for you. Make sure that your project makes it easier. Create the type of project you wish you could have joined yourself.

您確切地知道您遇到了什么困難。 確保您的項目使其更容易。 創建您希望自己加入的項目類型。

When I was looking to join an Open Source project, I really wanted to ask the maintainers how I could contribute. I made sure that there was plenty of ways for people looking at my repository to reach out to me. I provided information on how to open an issue and introduce yourself. If someone does that, we can figure out together how they can start contributing.

當我打算加入一個開源項目時,我真的很想問維護者我該如何做。 我確保人們查看我的存儲庫有很多方法可以聯系我。 我提供了有關如何打開問題并自我介紹的信息。 如果有人這樣做,我們可以一起弄清楚他們如何開始貢獻自己的力量。

There are people out there who have the same struggles as you. If you build your version of a welcoming open source project, they will have an easier time joining you. Together, you can learn and develop your project.

有些人和你一樣掙扎。 如果您構建受歡迎的開源項目的版本,那么他們將更容易加入。 在一起,您可以學習和開發您的項目。

There are many guides on how to start a GitHub repository, for example here. Learning by doing is what works best for me.

有很多關于如何啟動GitHub存儲庫的指南,例如here 。 做中學是最適合我的。

I followed free interactive guides on GitHub learning lab. If you are new to Github or want to brush up, you can start with an “Introduction to Github” as I did.

我遵循了GitHub學習實驗室上的免費交互式指南。 如果您是Github的新手或想復習,可以像我一樣從“ Github簡介 ”開始。

Then move on to “Moving your project to Github”. This guide will walk you through setting up an Open Source repository step by step. Feel free to skip any step that you don’t think is relevant to your project, or that you want to save for later. When you finish, you can change the name of your repository, make it public, and voila! You have an open source project.

然后轉到“ 將項目移至Github ”。 本指南將逐步指導您建立開放源代碼存儲庫。 隨意跳過您認為與您的項目無關或要保存以備后用的任何步驟。 完成后,您可以更改存儲庫的名稱,將其公開,瞧! 您有一個開源項目。

Remember that open source doesn’t just mean a collaborative project. It also means having an open source license. The GitHub guide will help you in adding that to your repository, too.

請記住,開源不僅意味著協作項目。 這也意味著擁有開源許可證。 GitHub指南也將幫助您將其添加到存儲庫中。

第4步-邀請其他人與您合作 (Step 4 - Invite people to collaborate with you)

This was the step that scared me the most. I didn’t have any friends who were coding that I could invite to join my project. I had less than 20 followers on Twitter, so I wasn’t even sure my tweets would have much reach. But I tweeted out an invitation to join, and added some hashtags that I hoped would reach other beginners.

這是最讓我害怕的步驟。 我沒有編碼的朋友可以邀請我加入我的項目。 我在Twitter上的追隨者不到20個,所以我什至不確定我的推文是否會吸引很多人。 但是我發了一條推特邀請加入,并添加了一些標簽,希望這些標簽可以吸引其他初學者。

And then, Nothing Happened!

然后, 什么都沒發生!

For more than 24 hours, no one liked my tweet. The only retweet was from a twitter bot. Worst of all, nobody was active on the repository. I was disappointed. My expectations weren’t high, but I had hoped that at least one or two people would check it out.

在超過24小時內,沒有人喜歡我的推文。 唯一的轉推來自推特機器人。 最糟糕的是,沒有人在存儲庫中處于活動狀態。 我很失望。 我的期望不高,但我希望至少有一兩個人能檢查出來。

But the following morning, there had been some twitter activity. Two people had been working on the repository. The project had its first pull request. I was so excited. Now, less than a week later, there are 8 active collaborators on the project, none of whom I have ever met.

但是第二天早上,有一些推特活動。 有兩個人在倉庫上工作。 該項目有第一個拉動請求。 我是如此興奮。 現在,不到一周后,該項目有8位活躍的合作者,但我從未見過。

第5步-粉碎開源游戲 (Step 5 - Crush the Open Source game)

This step is learning by doing. You will be facing many challenges as you start working on the project with your contributors. My first big challenge was a merge conflict. Google was a great help at that moment, and I was lucky that I could ask for help at my weekly meetup.

這一步是邊做邊學。 當您開始與貢獻者合作進行項目時,您將面臨許多挑戰。 我的第一個大挑戰是合并沖突。 當時Google幫了大忙,我很幸運能在每周的聚會上尋求幫助。

Remember that you have built a space for learning. Your contributors understand that you don’t know how to do everything from the get-go. Treat every new challenge as a learning opportunity. Don’t fear asking your contributors for help or advice. The beauty of Open Source is combining the forces of the entire team. You can all share your individual expertise.

請記住,您已經建立了學習空間。 您的貢獻者了解到,您從一開始就不知道如何做所有事情。 將每一個新挑戰視為學習機會。 不要害怕向您的貢獻者尋求幫助或建議。 開源的魅力在于結合了整個團隊的力量。 你們都可以分享自己的專業知識。

現在去做 (Now go do it)

The moral of the story is that anyone can start an open source project — that means you, too. It doesn’t matter that you don’t have a huge, complicated idea for a giant project. It doesn’t matter that you haven’t been using GitHub for long, or ever. It doesn’t even matter that you don’t have any friends who code with whom you can collaborate. You can do it, and I really hope you will. You will learn so much, and you will help make open source more approachable for other beginners.

這個故事的寓意是,任何人都可以啟動一個開源項目,這也意味著您。 沒關系,對于大型項目,您沒有一個龐大而復雜的想法。 您已經很長時間沒有使用GitHub了,也從未使用過。 您甚至沒有任何朋友可以與您合作進行編碼,這甚至沒有關系。 您可以做到,我真的希望您能做到。 您將學到很多東西,并且將使其他初學者更容易使用開源。

If you have any questions, or you want to talk, feel free to reach me on twitter @lineal and join my Prog-o-meter open source project.

如果您有任何疑問或想要交談,請隨時通過twitter @lineal與我聯系,并加入我的Prog-o-meter開放源代碼項目。

翻譯自: https://www.freecodecamp.org/news/how-i-crushed-my-fear-of-open-source-and-started-my-own-project-and-how-you-can-too-ddcfed041a2f/

android-開源項目

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

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

相關文章

本題要求實現函數輸出n行數字金字塔。_練習5-3 數字金字塔 (15分)

本題要求實現函數輸出n行數字金字塔。函數接口定義&#xff1a;void pyramid( int n );其中n是用戶傳入的參數&#xff0c;為[1, 9]的正整數。要求函數按照如樣例所示的格式打印出n行數字金字塔。注意每個數字后面跟一個空格。裁判測試程序樣例&#xff1a;#include <stdio.…

leetcode167. 兩數之和 II - 輸入有序數組(二分查找)

給定一個已按照升序排列 的有序數組&#xff0c;找到兩個數使得它們相加之和等于目標數。 函數應該返回這兩個下標值 index1 和 index2&#xff0c;其中 index1 必須小于 index2。 說明: 返回的下標值&#xff08;index1 和 index2&#xff09;不是從零開始的。 你可以假設每…

thinkcmf 橫向排列數據_利用python進行數據分析之數據清洗規整

1.處理缺失值數據使用dropna()時&#xff0c;注意里面參數axis、how、thresh的用法使用fillna()時&#xff0c;注意里面參數value、method、inplace、limit的用法2.數據轉換去重data.drop_duplicates(keeplast)#注意keep的用法映射map&#xff08;&#xff09;針對的是一維數組…

v$asm_diskgroup中state的說明

1.使用oracle賬號連接數據庫&#xff0c;查看v$asm_diskgroup 2.使用grid賬號連接ASM實例&#xff0c;查看v$asm_diskgroup 3.官方v$asm_diskgroup關于state的解釋 https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-ASM_DISKGROUP.html#GUID-5CF77719-7…

AutoMapper的介紹與使用(二)

AutoMapper的匹配 1&#xff0c;智能匹配 AutoMapper能夠自動識別和匹配大部分對象屬性: 如果源類和目標類的屬性名稱相同&#xff0c;直接匹配&#xff0c;不區分大小寫目標類型的CustomerName可以匹配源類型的Customer.Name目標類型的Total可以匹配源類型的GetTotal()方法…

站長快訊 WordPress跨站攻擊漏洞修補

WordPress中發現一些漏洞&#xff0c;攻擊者利用該漏洞可以發起跨站腳本攻擊&#xff0c;繞過WordPress安全性限制&#xff0c;獲取較為敏感的修訂歷史記錄的信息&#xff0c;或者綁架站點以用于DDoS攻擊。 CVE ID CVE-2015-8834 CVE-2016-5832 CVE-2016-5834 CVE-2016-5835 C…

暢通無阻的公式:乘員組從幾乎破產變成了吸引500萬游客的方式

How could you go from almost no traction and running out of money, to getting millions of visitors to your website?您怎么能從幾乎沒有牽引力和資金用盡的角度&#xff0c;如何吸引數百萬的網站訪問者&#xff1f; You could do like Crew accidentally did with Uns…

leetcode1302. 層數最深葉子節點的和(深度優先搜索)

給你一棵二叉樹&#xff0c;請你返回層數最深的葉子節點的和。 代碼 class Solution {int[] depthnew int[]{Integer.MIN_VALUE,0};//記錄最深層數和對應的和public int deepestLeavesSum(TreeNode root) {if(rootnull) return 0;deep(root,0);return depth[1];}public void d…

Python筆記 【無序】 【五】

描述符 將某種特殊類型的類【只要實現了以下或其中一個】的實例指派給另一個類的屬性 1.__get__(self,instance,owner)//訪問屬性&#xff0c;返回屬性的值 2.__set__(self,instance,value)//將在屬性分配【即賦值】中調用&#xff0c;不返回任何內容 3.__delete__&#xff08;…

化工圖紙中LISP_化工設備廠參展模型設計制作

最近這個案子是受某化工設備企業委托做四套設備模型 用來參加展會在模型制作過程中&#xff0c;這類案例經常遇到。但是客戶所提供的CAD圖紙&#xff0c;往往是實物尺寸在進行縮放的過程中常會造成過薄和過于精細的情況出現眼下技術小哥就遇到這類情況讓我們先看看客戶提供的C…

社交大佬們的數據“大”在哪里?

文章講的是社交大佬們的數據“大”在哪里&#xff0c;“別說忙&#xff0c;沒工夫看書&#xff0c;你那刷FB/朋友圈的工夫騰出來&#xff0c;保證每周啃下一本”&#xff0c;小編身邊總充斥著這樣的“訓話”。 額&#xff0c;奈何我每天的工作離不開從社交媒體中獲取信息&#…

微信支付JsAPI

https://pay.weixin.qq.com/wiki/doc/api/download/WxpayAPI_php_v3.zip 下載獲取微信支付demo壓縮包打開壓縮包&#xff0c;并將其中 WxpayAPI_php_v3\example下的 jsapi.php log.php WxPay.JsApiPay.php WxPay.MicroPay.php WxPay.NativePay.php 解壓縮到根目錄 tellingtent/…

mysql 多數據源訪問_通過Spring Boot配置動態數據源訪問多個數據庫的實現代碼

之前寫過一篇博客《SpringMybatisMysql搭建分布式數據庫訪問框架》描述如何通過SpringMybatis配置動態數據源訪問多個數據庫。但是之前的方案有一些限制(原博客中也描述了)&#xff1a;只適用于數據庫數量不多且固定的情況。針對數據庫動態增加的情況無能為力。下面講的方案能支…

我如何將Google I / O 2018的興奮帶給尼日利亞沃里的115個人

Google Developer Group Warri的第一個I / O擴展事件的故事 (A tale of Google Developer Group Warri’s first I/O Extended event) Google I/O is one of the largest developer festivals in the tech ecosystem. I am the lead organizer for the Google Developer Group …

菜鳥postman接口測試_postman 接口測試(轉)

本文轉載自testerhome&#xff1b;作者&#xff1a;xinxi1990 &#xff1b;原文鏈接&#xff1a;https://testerhome.com/topics/18719&#xff1b;轉載以分享知識為目的&#xff0c;著作權歸原作者所有&#xff0c;如有侵權&#xff0c;請聯系刪除。postman使用創建用例集啟動…

求絕對值最小的數

題目 有一個升序排列的數組&#xff0c;數組中可能有正數&#xff0c;負數或0. 求數組中元素的絕對值最小的數. 例如 數組{-10&#xff0c; 05&#xff0c; 02 &#xff0c;7&#xff0c;15&#xff0c;50} 絕對值最小的是-2 解答 #include <bits/stdc.h> using namespac…

leetcode面試題 04.02. 最小高度樹(深度優先搜索)

給定一個有序整數數組&#xff0c;元素各不相同且按升序排列&#xff0c;編寫一個算法&#xff0c;創建一棵高度最小的二叉搜索樹。 public TreeNode sortedArrayToBST(int[] nums) {if(nums.length0) return null;return BST(nums,0,nums.length-1);}public TreeNode BST(int[…

IT團隊如何贏得尊重?

本文講的是IT團隊如何贏得尊重,在傳統觀念中&#xff0c;作為企業的IT人&#xff0c;似乎都有一種揮之不去的消極情緒&#xff1a;能夠為企業帶來直接利益的業務部門才是企業核心&#xff0c;而作為技術支撐的IT部門&#xff0c;則是作為附屬而存在。 我們經常也會聽到一些企業…

mysql 官方鏡像_運行官方mysql 鏡像

//目前最新的為mysql 8sudo docker run -itd --restart unless-stopped --nethost --name mysql -p3306:3306 -e MYSQL_ROOT_PASSWORDroot mysqlmysql 官方docker 需要重新設置密碼&#xff0c;否則無法遠程連接step1 : docker exec -it [容器id] /bin/bashstep2 : 登陸mysql &…

我如何使用React,Redux-Saga和Styled Components構建NBA球員資料獲取器

by Jonathan Puc喬納森普克(Jonathan Puc) 我如何使用React&#xff0c;Redux-Saga和Styled Components構建NBA球員資料獲取器 (How I built an NBA player profile fetcher with React, Redux-Saga, and Styled Components) Hello, all! It’s been a while since I built so…