当前位置: 首页 > 编程日记 > 正文

开源项目贡献者_嘿新手开源贡献者:请写博客。

开源项目贡献者

by Shubheksha

通过Shubheksha

嘿新手开源贡献者:请写博客。 (Hey newbie open source contributors: please blog more.)

As a newbie open source contributor, I often felt lost and dejected. I couldn’t figure out how different modules fit. I couldn’t find my way around huge codebases.

作为一个新手开源贡献者,我经常感到失落和沮丧。 我不知道如何适合不同的模块。 我找不到巨大的代码库。

A lot of us are in this same boat. And it’s okay to be there.

我们很多人都在同一条船上。 而且可以在那儿。

I stuck with it. Eventually, things started to make sense. Project maintainers started accepting my pull requests. And my confidence rebounded.

我坚持下去。 最终,事情开始变得有意义。 项目维护者开始接受我的请求。 我的信心反弹了。

I wrote about my experience hoping to encourage other newbie open source contributors. And was blown away by the attention and positive responses my article received.

我写了我的经验,希望能鼓励其他新手开源贡献者。 我的文章受到关注和积极回应而震惊。

So many people reached out to me saying my post encouraged them to start (or resume) contributing to open source. A few maintainers also went back and reviewed some pull requests I’d previously submitted. I couldn’t have asked for a better response.

许多人向我伸出援手,说我的帖子鼓励他们开始(或恢复)为开源做贡献。 一些维护者也回过头来,回顾了我之前提交的一些拉取请求。 我不能要求更好的答复。

After some thought, I’ve concluded that the main reason my article triggered such a big response was because the dialogue around contributing to open source has been one-sided for a long time.

经过一番思考,我得出的结论是,我的文章引起如此巨大反响的主要原因是,关于为开源做出贡献的对话已​​长期存在。

Maintainers often write posts about how new contributors can get involved in their projects. They share all their efforts to make their project beginner-friendly. They also write tons of guides on how to start contributing, and answer questions on Quora and other platforms.

维护人员经常撰写有关新贡献者如何参与其项目的帖子。 他们共同致力于使项目对初学者友好。 他们还撰写了大量有关如何开始做出贡献的指南,并在Quora和其他平台上回答问题。

But there aren’t as many posts by newcomers on how things pan out once they start contributing. I’ve gone through many of those guides myself, but they aren’t as helpful as a fellow newbie contributor’s firsthand experience.

但是,新来者发布的文章很少,一旦他们开始贡献,他们就会如何表现出来。 我本人已经阅读了许多指南,但是它们并没有像新手贡献者的第一手经验那样有用。

It’s difficult to strike a balance when only one party is communicating. I’d like to hear more about which projects newbies contribute to, the path they follow, what they expected VS what came out of it.

当只有一方在交流时,很难取得平衡。 我想了解更多关于新手参与哪些项目,他们遵循的道路,他们的期望与成就的信息。

Thus, I want to encourage all new contributors to document their experience. Help us establish this balance. I assure you it’s worth your time and patience.

因此,我想鼓励所有新的贡献者记录他们的经验。 帮助我们建立平衡。 我向您保证,值得您花费时间和耐心。

This will help you in a number of ways. When you’re writing, you can’t brush details under the carpet. Writing forces you to perceive things as they are, and not how you think they are. Writing also puts things into perspective. It helps you remember where you started, and how far you’ve come.

这将在许多方面为您提供帮助。 在写作时,您不能在地毯下面刷细节。 写作迫使你去感知事物的真实状态,而不是你的想法。 写作也使事物成为透视。 它可以帮助您记住您从哪里开始以及走了多远。

You may worry that you don’t know enough to write about a particular topic. I’m here to tell you that you don’t have to be an expert on a topic to write about it. Write what you know.

您可能会担心自己不够了解某个特定主题。 我在这里告诉您,您不必是某个主题的专家也可以撰写本文。 写你所知道的。

The worst thing that can happen is that you get something wrong. And if you do, someone will probably point it out to you. And this will help you fill in the gaps in your knowledge. It’s a win-win situation.

可能发生的最糟糕的事情是您弄错了什么。 如果这样做的话,可能有人会向您指出。 这将帮助您填补知识方面的空白。 这是双赢的局面。

在其他开发人员的博客中寻找灵感 (Finding Inspiration in Other Developers’ Blogs)

I have a few drafts that I’m waiting to publish, because they aren’t good enough just yet. They can be more polished, more technical.

我正在等待发布一些草稿,因为它们还不够好。 它们可以更精细,更技术化。

When I feel this way about a draft, I surf the internet for inspiration. One day when I was doing this, I stumbled across Write An Excellent Programming Blog by A. Jesse Jiryu Davis. I keep going back to it and re-reading it when I feel like I don’t have a topic to write about, or I don’t feel qualified to write about what I know.

当我对草稿有这种感觉时,我会在网上冲浪以寻求灵感。 有一天,我偶然发现了A. Jesse Jiryu Davis 撰写的“撰写优秀编程博客” 。 当我觉得自己没有要写的主题,或者我不具备写我所知道的知识的资格时,我会继续阅读并重新阅读它。

Another place I frequently visit looking for inspiration is Julia Evans’ blog. Her posts are short, simple, and a joy to read. I learn something from almost every post.

我经常访问的另一个寻求灵感的地方是Julia·埃文斯 ( Julia Evans)的博客 。 她的文章简短,简单,并且阅读愉快。 我几乎从每个帖子中学到了一些东西。

And I occasionally end up at the Stack Overflow co-founders blogs: Joel On Software and Coding Horror. They have great articles on all sorts of things related to tech.

而且我偶尔也会出现在Stack Overflow联合创始人博客中: Joel On Software和Coding Horror 。 他们在与技术有关的各种事情上都有出色的文章。

Once you start looking around for inspiration, you’ll find lots of it. Developers publish thoughtful articles on various topics every day.

一旦您开始寻找灵感,就会发现很多灵感。 开发人员每天都会发表有关各种主题的有思想的文章。

如何找到要写的主题 (How to Find Topics to Write About)

It’s OK if you don’t yet feel confident enough to start writing on technical topics. You’ll get there eventually. Start by just documenting your journey:

如果您还没有足够的自信开始撰写技术主题,那也可以。 您最终会到达那里。 首先记录您的旅程:

  • How you got involved with the organization you’re contributing to

    您如何参与您所贡献的组织
  • What kind of community they have and how welcoming they have been to new contributors

    他们拥有什么样的社区以及他们对新贡献者的欢迎程度
  • The project you chose to work on, and what went into making that decision

    您选择进行的项目以及做出该决定的原因
  • How difficult it was to set up your local development environment and clone their repo, where you got stuck, and how you cleared that hurdle

    设置本地开发环境并克隆其存储库有多困难,您遇到了什么困难,以及如何克服这一障碍
  • How you found your first issue to work on

    您是如何找到第一个要解决的问题的
  • If you had a mentor assigned, how your experience was working with them, and the kind of help you received

    如果您分配了一名导师,您的经验是如何与他们一起工作的,以及您获得的帮助的种类
  • What you expected open source to be like, versus how it actually turned out

    您对开源的期望与实际结果有所不同
  • Any advice you’d give fellow newbie contributors once you’ve gotten your feet sufficiently wet

    一旦脚够湿了,您会给新手贡献者的任何建议
  • How to behave, and what kinds of questions to ask in a organization’s IRC channel or Gitter room

    如何行为,以及在组织的IRC频道或Gitter室中提出什么样的问题

These are just some topics I can think of off the top of my head. There are undoubtedly many more aspects of contributing to open source that you can come up with and write about.

这些只是我想到的一些主题。 毫无疑问,可以为开源做出更多贡献。

You don’t have to write daily or weekly, or follow any strict time-bound schedule at all. Write when you feel like you have something worth telling others — be it a small victory or a large contribution.

您不必每天或每周写信,也不必完全遵循任何严格的时间表。 当您觉得自己有话要告诉别人时写信—无论是小胜利还是大贡献。

As you gain more experience, you can begin to write on more technical topics. These can be something you’ve worked on for a long time. They can also just be your journey to acquire knowledge of a new language/framework/library.

随着您获得更多的经验,您可以开始撰写更多的技术主题。 这些可能是您长期从事的工作。 他们也可以只是您获取新语言/框架/图书馆知识的过程。

At this point, you might wonder whether too much has been written about a particular topic already. You might ask what more you could possibly add to it that hasn’t already been said?

在这一点上,您可能想知道有关某个特定主题的文章是否过多。 您可能会问,您还可以添加哪些尚未说的内容?

Well, it doesn’t matter how much has been written or by whom. That’s never stopped any determined writer from writing yet another article from their own viewpoint, based on their own understanding.

好吧,写多少书或由谁写都没关系。 这永远不会阻止任何坚定的作家根据自己的理解从自己的观点撰写另一篇文章。

Everything you write offers your own perspective, which may greatly differ from another person’s. It’s all in the details: how you break a topic down, how you approach it. So don’t let the fact that there’s already been a lot written about a particular topic deter you from writing about it yourself.

您撰写的所有内容都提供了您自己的观点,这可能与他人的观点大相径庭。 这一切都在细节中:如何分解主题,如何处理主题。 因此,不要以为已经有很多关于某个特定主题的文章阻止您自己撰写该事实。

Your mission, if you choose to accept it: document your experience as you contribute to open source. Write about concepts as you learn them. As a result, you’ll learn faster and become a better developer.

您的任务(如果选择接受):在为开源做贡献时记录您的经验。 在学习概念时写一些概念。 结果,您将学习更快,并成为一名更好的开发人员。

You’ll also help other lost, intimidated newbie contributors find their way through the vast world of open source software.

您还将帮助其他迷失,受威胁的新手贡献者在广阔的开源软件世界中找到自己的出路。

Believe me, nothing feels better than knowing that something you wrote helped a person who is struggling.

相信我,没有什么比知道您写的东西能帮助一个挣扎的人更好的了。

If you have any additional ideas for what newbie open source contributors can write about, or have a favorite programming blog you visit often for inspiration, please let me know in the comments. :)

如果您对新手开源贡献者可以写些什么有其他想法,或者您经常访问喜欢的编程博客以获取启发,请在评论中告诉我。 :)

If you found it useful, please tap or click “︎❤” to help to promote this piece to others.

如果您觉得有用, 请点按或单击“︎❤以帮助将此作品推销给他人。

翻译自: https://www.freecodecamp.org/news/new-contributors-to-open-source-please-blog-more-920af14cffd/

开源项目贡献者

相关文章:

instanceof, isinstance,isAssignableFrom的区别

instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false。 形象地:自身实例或子类实例 instanceof 自身类 返回true 例: String snew String(&qu…

POJ - 3538 - Domestic Networks

先上题目: Domestic NetworksTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 732 Accepted: 204 Special JudgeDescription Alex is a system administrator of Domestic Networks Inc. His network connects apartments and spans over multiple buil…

iOS HitTest 机制

当用户触摸(Touch)屏幕进行交互时,系统首先要找到响应者(Responder)。系统检测到手指触摸(Touch)操作的时候,将Touch 以UIEvent 的方式加入到UIApplication 事件队列中去。UIApplica…

巨石加密_缓解巨石

巨石加密by Ian Belcher伊恩贝尔彻(Ian Belcher) 我们如何将技术堆栈转向基于服务,以开发人员体验为中心的设计 (How we pivoted our tech stack to a service-based, developer experience-focused design) This article documents the problems we experienced w…

Python函数中的参数(一)

函数传递参数时的简要关键点: 1、参数的传递是通过自动将对象赋值给本地变量名来实现的。函数参数在实际中只是Python赋值的一个实例。因为引用是以指针的形式实现的,所有的参数实际上都是通过指针进行传递的。 2、在函数内部的参数名的赋值不会影响调用…

LLDB 调试相关

LLDB 初始 LLDB 是一个有着 REPL 的特性和 C ,Python 插件的开源调试器。LLDB 绑定在 Xcode 内部,存在于主窗口底部的控制台中。调试器允许你在程序运行的特定时暂停它,你可以查看变量的值,执行自定的指令,并且按照你所认为合适的…

javascript优缺点_为什么要在JavaScript中使用静态类型? 优缺点

javascript优缺点by Preethi Kasireddy通过Preethi Kasireddy 为什么要在JavaScript中使用静态类型? 优缺点 (Why use static types in JavaScript? The Advantages and Disadvantages) We covered a lot of ground in Part 1! With syntax out of the way, let’…

大数的减法函数--c语言

代码展示&#xff1a; http://paste.ubuntu.com/23693598/ #include<stdio.h> #include<stdlib.h> #include<string.h> char * largeDiffer(char *a,char *b){ /* 使用说明 传入的a和b只能为整数 结果为a-b;返回的为字符指针&#xff0c;注意数组不要越…

json 基础

json格式 JSON格式&#xff1a;http://www.json.org/ python和JSON的关系请参考&#xff1a;http://docs.python.org/library/json.html JSON建构有两种结构&#xff1a; 1. “名称/值”对的集合&#xff08;A collection of name/value pairs&#xff09;。不同的语言中&#…

iOS 中 load 和 initialize的实现顺序

1 load 函数 调用时机&#xff0c;当类引用进项目的时候执行load函数&#xff0c;在main函数开始之前&#xff0c;与 这个类是否被用到是无关的&#xff0c;每个类的load函数都会自动调用一次。 1 父类和子类都实现load函数的时候&#xff0c;父类的load方法优先于子类 2 类…

需求简报_代码简报:有史以来最怪诞的丑毛衣

需求简报Here are three stories we published this week that are worth your time:这是我们本周发布的三个值得您关注的故事&#xff1a; The geekiest ugly sweater ever: 4 minute read 有史以来最怪异的丑毛衣&#xff1a; 4分钟阅读 Lessons from my post-bootcamp job …

C#内置函数 RunSql的使用

作用批量执行sql语句表达式.RunSQL(SQLStatement,UseTransaction)表达式.一个代表DoCmd对象的变量。注释&#xff1a;sqlstatement参数的最大长度为 32,768 个字符&#xff08;而"宏"窗口中的 SQL 语句操作参数的最大长度为 256 个字符&#xff09;。 官方说仅能用于…

swif 在字符串中查找特定字符索引以及改变字符串的指定位置的颜色 字体大小

1 第一种方式 var text "谁包含这个字母";let range:Range<String.Index> text.range(of: "含")!;let end_idx:Int text.distance(from: text.startIndex, to: range.lowerBound);// 打印2print(end_idx);类方法 抽取 // 查找对应索引static func…

SD卡的控制方法(指令集和控制时序)

1.SD卡的命令格式&#xff1a; SD卡的指令由6字节(Byte)组成&#xff0c;如下&#xff1a; Byte1&#xff1a;0 1 x x x x x x(命令号&#xff0c;由指令标志定义&#xff0c;如CMD39为100111即16进制0x27&#xff0c;那么完整的CMD39第一字节为01100111&#xff0c;即0x270x40…

javascript 代码_代码简介:2016年JavaScript的现状

javascript 代码Here are three stories we published this week that are worth your time:这是我们本周发布的三个值得您关注的故事&#xff1a; The state of JavaScript in 2016: 5 minute read 2016年JavaScript状况&#xff1a; 阅读5分钟 Upgrading to macOS Sierra wi…

Unity协程截图,WWWForm、WWW配合上传

先说一下原理。。 截图有两种方法&#xff0c;第一种&#xff1a; Application.CaptureScreenshot(url); 这个API可以截全屏并保存到指定路径 这里我们不采用此方法 下面的代码采用第二种方法&#xff0c;自己建一个Texture2D 这种方法灵活&#xff0c;操作性更高 WWWForm方法是…

OC 的反射机制以及使用场景

OC 的反射机制 一 定义概念 普遍的概念就是类似于java的反射机制&#xff0c;动态机制使得OC语言更加灵活。 反射机制就是可以根据指定的类名获取类的相关信息。 二 作用 1 根据类名获得class // 选择器 和字符串之间的相互转化 FOUNDATION_EXPORT NSString *NSStringFr…

centos 网卡聚合及Cisco交换机链路聚合

一、配置环境 centos 系统。网卡1口和2口做链路聚合。 交换机网口 6口和7口。 二、服务器操作步骤 centos 6 1.创建一个channel bonding interface #vi /etc/sysconfig/network-scripts/ifcfg-bond0 添加如下几行&#xff1a; GATEWAY192.168.10.1 DNS1202.106.0.20 DEVICEb…

graphql redux_如何在Redux应用程序中使用GraphQL

graphql reduxby Howon Song通过宋颂恩 如何在Redux应用程序中使用GraphQL (How to use GraphQL in your Redux app) Fetching and managing data in Redux requires too much work. As Sashko Stubailo points out:在Redux中获取和管理数据需要太多的工作。 正如Sashko Stuba…

原创:去繁存简,回归本源:微信小程序公开课信息分析《一》

以前我开过一些帖子&#xff0c;我们内部也做过一些讨论&#xff0c;我们从张小龙的碎屏图中 &#xff0c;发现了重要讯息&#xff1a; 1&#xff1a;微信支付将成为重要场景&#xff1b; 2&#xff1a;这些应用与春节关系不小&#xff0c;很多应用在春节时&#xff0c;有重要的…

ubuntu 14.0 下github 配置

一&#xff1a;创建Repositories 1:首先在github下创建一个帐号。这个不用多说&#xff0c;然后创建一个Repositories。 2:然后在ubuntu下安装git相关的东东&#xff1a; 1sudo apt-get install git-core git-gui git-doc -y 3:在ubuntu本地创建一个ssh密匙&#xff1a; 1ssh-k…

OC 消息转发实现多继承

消息转发实现多继承 在OC 中&#xff0c;一个类只支持单继承&#xff0c;但是可以通过别的手段实现多继承。 利用消息转发实现多继承。 在OC 中&#xff0c;对象调用方法实际是在发消息&#xff0c;对象接收到一条消息的时候&#xff0c;消息函数随着对象的isa 指针到自己的…

chatscript_如何使用ChatScript构建您的第一个聊天机器人

chatscriptby Giorgio Robino通过乔治罗宾诺(Giorgio Robino) 如何使用ChatScript构建您的第一个聊天机器人 (How to build your first chatbot using ChatScript) 10–10–2018: article updated with new github repo url.2018年10月10日&#xff1a;文章更新为新的github r…

web安全浅析

就之前本人主持开发的金融产品所遇到的安全问题&#xff0c;设计部分请参见&#xff1a;http://www.cnblogs.com/shenliang123/p/3835072.html 这里就部分web安全防护就简单的交流&#xff1a; 1.1系统安全 1.1.1 客户端脚本安全 &#xff08;1&#xff09;跨站脚本攻击&#…

HDU 1556 Color the ball

题解&#xff1a;基础的树状数组区间修改&#xff0c;单点查询。 #include <cstdio> #include <cstring> int c[100005],a,b,n; int modify(int x,int num){while(x<n)c[x]num,xx&-x;} int query(int x){int s0;while(x>0)sc[x],x-x&-x;return s;} …

OC协议实现多继承

协议实现多继承 协议实现多继承的话&#xff0c;只是简答的提供了接口&#xff0c;并灭有提供实现的方式。 A #import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGINprotocol StuAProtocal <NSObject>// 学生A 会游泳 - (void)swimming;endinterface Stude…

扶梯正确使用_乘坐自动扶梯解释CSS浮动

扶梯正确使用by Kevin Kononenko凯文科诺年科(Kevin Kononenko) 乘坐自动扶梯解释CSS浮动 (CSS Floats Explained By Riding An Escalator) 如果您曾经跳过自动扶梯&#xff0c;那么您可以快速了解浮动。 (If you have ever jumped on an escalator, then you can quickly und…

安卓学习-界面-ui-ListView

ListView继承自AbsListView AbsListView属性 XML属性代码说明 android:choiceMode setChoiceMode(int choiceMode) AbsListView.CHOICE_MODE_SINGLEAbsListView.CHOICE_MODE_MULTIPLEAbsListView.CHOICE_MODE_MULTIPLE_MODAL none :无选择模式 singleChoice&#xff1a;允许单…

swift 浮点型字符串的运算

// 1 两个浮点字符串之间的运算 let str1 "1.3"; let str2 "2.4"; let val1 Double(str1); let val2 Double(str2);let val3 CGFloat(Double(str1)!) * CGFloat(Double(str2)!);print(val3);// 2 string 转 double 不失精度 let formattor NumberFo…

为什么要在JavaScript中使用静态类型? (使用Flow进行静态打字的4部分入门)

by Preethi Kasireddy通过Preethi Kasireddy 为什么要在JavaScript中使用静态类型&#xff1f; (使用Flow进行静态打字的4部分入门) (Why use static types in JavaScript? (A 4-part primer on static typing with Flow)) As a JavaScript developer, you can code all day …