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.mzph.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…