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

ruby on rails_我成为了Ruby on Rails和React的贡献者,你也可以

ruby on rails

I am really grateful to have contributed to a few open source projects, including two I currently use on a regular basis: Ruby on Rails and React.

我非常感谢为一些开源项目做出了贡献,其中包括我目前定期使用的两个项目: Ruby on Rails和React 。

My contributions are very minor fixes and suggestions, and may not be worthy of much praise, but I want to use this article to inspire you to go and make your own contributions as well.

我的贡献只是很小的修正和建议,可能不值得赞扬,但我想利用本文来激发您去做自己的贡献。

One of my core values is contribution and helping others. That’s one of the reasons I love to write articles, and also contribute back to the very projects that I have benefitted from over the years.

我的核心价值观之一就是贡献和帮助他人。 这就是我喜欢写文章的原因之一,并且也为我多年来受益的项目做出了贡献。

Although major frameworks that are widely used have gone through tons of reviews and careful analysis over the years, there is always room for improvement or addition. This means that you are not only able to fix bugs, or improve something that is already implemented, but you can also implement new features as well.

尽管多年来广泛使用的主要框架经过了无数次审查和仔细分析,但总有改进或增加的空间。 这意味着您不仅能够修复错误或改进已经实现的功能,而且还可以实现新功能。

为什么要为著名的开源项目做出贡献? (Why contribute to famous open source projects?)

Before explaining how you can contribute to famous open source projects, it is better to cover the reasons why I believe it is very important to participate in such endeavours.

在解释如何为著名的开源项目做出贡献之前,最好先介绍一下我认为参与此类工作非常重要的原因。

1.您将学到最好的东西 (1. You will learn from the very best)

Famous open source projects like Ruby on Rails, React JS, Spring, etc., have been used by a lot of projects. They have made countless developers’ lives a lot easier.

诸如Ruby on Rails,React JS,Spring等著名的开源项目已被许多项目使用。 它们使无数开发人员的生活变得更加轻松。

Since they are products of many brilliant minds, analyzing their code and trying to make improvements can be a tremendous source of learning.

由于它们是许多聪明才智的产物,因此分析其代码并尝试进行改进可以成为学习的巨大资源。

You will not only better learn the frameworks and libraries that you use, but also some of the best practices and timeless principles that make these projects really great. You can then apply these lessons in your own work as well.

您不仅将更好地学习所使用的框架和库,而且还将使这些项目变得非常出色的一些最佳实践和永恒的原则。 然后,您也可以在自己的工作中应用这些课程。

By trying to do contributions, you are more likely to learn a framework better, in comparison to someone who only uses it. In a 2016 report conducted by the Linux Foundation, 86% of technology professionals said that open source had helped them in their careers.

通过尝试做出贡献,与仅使用框架的人相比,您更有可能更好地学习框架。 在Linux基金会 ( Linux Foundation)于2016年发布的一份报告中 ,有86%的技术专业人员表示开源对他们的职业生涯有所帮助。

2.您可以产生重大影响 (2. You can have a major impact)

If you have been working on small projects that have not had much attention, then contributing to famous open source projects can give you the opportunity to have a larger impact.

如果您一直在从事没有引起足够重视的小型项目,那么为著名的开源项目做贡献可以使您有机会产生更大的影响。

By making such contributions, you are potentially going to have a major impact with the work that you do, which can be a very fulfilling experience. No matter how small your contributions are, you are also going to have a feeling of significance, simply because you know that your work has made that project that you love a little better.

通过做出这样的贡献,您将可能对您所做的工作产生重大影响,这将是一次非常充实的体验。 不管您的贡献有多小,您都会有一种重要的感觉,仅仅是因为您知道自己的工作使您所钟爱的项目变得更好了。

3.您可以提高声望 (3. You can boost your reputation)

If you go to the list of contributors to your famous open source projects, you may spot a common pattern. Top contributors are usually developers that are working for big companies, or on large projects.

如果转到著名的开源项目的贡献者列表,则可能会发现一个常见的模式。 杰出贡献者通常是为大公司或大型项目工作的开发人员。

As a result, making important contributions to such projects can be difficult, simply because these developers may have already finished implementing a particular feature really well. This means that entering into that list represents a noticeable demonstration of your skills for a recruiter that is looking for a new developer.

结果,仅因为这些开发人员可能已经非常好地完成了特定功能,就很难为这些项目做出重要贡献。 这意味着进入该列表代表了正在寻找新开发人员的招聘人员对您的技能的明显展示。

This also means that you are also more likely to receive better job offers, or higher consulting session rates. Companies are always looking to hire bright and skilled developers that are experienced on open source projects, and there are only few better ways to demonstrate your knowledge about a framework than to actually write some of the code for that project.

这也意味着您也更有可能获得更好的工作机会或更高的咨询率。 公司一直在寻求聘请在开放源代码项目上经验丰富的才华横溢的开发人员,并且除了为该项目实际编写一些代码外,没有什么更好的方法来展示您对框架的了解。

您如何为著名的开源项目做出贡献? (How can you contribute to famous open source projects?)

Now that we have mentioned three major reasons why I believe it is worth contributing to famous open source projects, let’s see how you can do that.

既然我们已经提到了我认为值得为著名的开源项目做出贡献的三个主要原因,那么让我们看看如何做到这一点。

1.了解事情如何运作 (1. Understand how things work)

Curiosity may have killed the cat, but it also helped Taylor Wilson become the 32nd person in human history to achieve nuclear fusion… at the age of 14.

好奇心可能杀死了这只猫,但它也帮助泰勒·威尔逊在14岁时成为人类历史上第32位实现核聚变的人。

Similarly, if you want to contribute to famous open source projects, you have to understand how things work behind the scenes. You need to learn from books. You have to be curious to understand the implementations of a particular function, or how routes invoke a particular controller. This way, you may also be able to spot strange things that you can improve, or implement a more efficient method for a particular task.

同样,如果您想为著名的开源项目做出贡献,则必须了解事物在幕后的运作方式。 您需要学习书籍。 您必须好奇了解特定功能的实现或路由如何调用特定控制器。 这样,您还可以发现可以改进的奇特事物,或者为特定任务实施更有效的方法。

The more you understand a framework, the more you tend to like using it in your projects, as we may usually get away from the unknown and from the things that are not clear to us.

您对框架的了解越多,就越倾向于在项目中使用它, 因为我们通常会避开未知的事物和我们不清楚的事物 。

2.检查报告的问题 (2. Check the reported issues)

Issues may represent bugs, concerns, or simply suggestions that other people have noticed or that want to express regarding a project. They also represent a great source of contribution ideas that you may use as inspiration.

问题可能代表其他人已经注意到或想要表达的关于项目的错误,担忧或简单建议。 它们也代表了很多可以用作启发的贡献思想来源。

Look at the issues of a project that you can to contribute to, and make an assessment whether you can contribute to them or not.

查看您可以贡献的项目问题,并评估您是否可以贡献他们。

Although some issues may seem very difficult at first, you should not be afraid to try fixing a bug, or implementing a new feature in that framework. You can also use it as a way for you to learn new things, expand your current limits and go out of your comfort zone.

尽管起初有些问题似乎很困难,但是您不应该害怕尝试修复错误或在该框架中实现新功能。 您还可以将其用作学习新事物,扩大当前限制并走出舒适区的一种方式。

You can also ask questions for more clarity about the issues, and contribute with your answers to other people’s questions.

您还可以提出问题,以使问题更清晰,并为他人的问题提供答案。

3.不要忽略小事 (3. Do not ignore small things)

You may suppose that famous open source projects have very few opportunities left to contribute to, so maybe you tend to give up on the idea about contributing.

您可能会认为著名的开源项目几乎没有贡献机会,因此您可能倾向于放弃有关贡献的想法。

Even though that’s not the case, there are some frequently neglected responsibilities that you can take when it comes to open source projects. Aside from code, projects also need writers to help with documentation, translators to convert locale files into other languages, and also designers to make interfaces more intuitive and attractive.

即使不是这种情况,在开源项目中您也可以承担一些经常被忽视的责任。 除代码外,项目还需要编写者提供文档帮助,翻译人员将语言环境文件转换为其他语言,还需要设计人员使界面更加直观和吸引人。

You do not have to write the whole documentation, or translate everything into another language. You can simply start something you believe is worth being included, and then also ask for help for the improvement, or simply push your minor changes and ask for feedback by project maintainers.

您不必编写整个文档,也不必将所有内容翻译成另一种语言。 您可以简单地开始您认为值得包括的内容,然后寻求帮助以进行改进,或者简单地进行小的更改并寻求项目维护者的反馈。

You can also contribute by writing tests, or fix the ones that are already failing, or create new issues about bugs, and also answer the questions that people have asked on existing issues.

您还可以通过编写测试来做出贡献,或者修复已经失败的测试,或者创建有关Bug的新问题,还可以回答人们对现有问题提出的问题。

There is also another indirect way that you can contribute to open source projects.

您还可以使用另一种间接方式为开源项目做出贡献。

That is by sending greeting letters to maintainers and thanking them for their time and the work that they are doing. Most of them contribute to open source on a volunteer basis, so thanking them can make them aware of the importance of their contributions. This way, you are making them feel better about their efforts, and also inspire them to continue with their contributions.

通过向维护者发送问候信,并感谢他们的时间和他们所做的工作。 他们中的大多数人都是在自愿的基础上为开源做出贡献的,因此感谢他们可以使他们意识到自己的贡献的重要性。 这样,您可以使他们对自己的工作感觉更好,并激励他们继续做出自己的贡献。

结论 (Conclusion)

Contributing to famous open source projects is something that anyone can do.

任何人都可以为著名的开源项目做贡献。

The key is to be patient, as it may take some time until you find something that you want to contribute. You should also have fun and enjoy the process. After all, this is why Linus Torvalds titled his book “Just for Fun”, in which he describes the story of how he created Linux.

关键是要有耐心,因为您可能需要一些时间才能找到自己想贡献的东西。 您还应该玩得开心,享受这一过程。 毕竟,这就是为什么Linus Torvalds将他的书命名为“ Just for Fun”的原因,其中他描述了他如何创建Linux的故事。

I am a Passionate Software Engineer, currently serving as a Team Lead Developer for a group of enthusiastic developers that specialize in developing web and mobile applications, mostly using Ruby on Rails and React JS.

我是一名热情的软件工程师,目前是一群热心的开发人员的团队负责人,这些开发人员专门开发Web和移动应用程序,主要使用Ruby on Rails和React JS。

I am an open source enthusiast and also a blogger.

我既是开源爱好者 ,也是博客作者 。

I am currently looking for a remote job. Please contact me with new opportunities.

我目前正在寻找远程工作。 请与我联系以获得新的机会。

翻译自: https://www.freecodecamp.org/news/why-you-should-contribute-to-projects-like-ruby-on-rails-and-react-e6af32a43440/

ruby on rails

相关文章:

MySQL加密算法

1.不可逆加密: PASSWORD(),ENCRYPT(,),MD5(),SHA5()。 2.可逆的加密算法: ENCODE(,) DECODE(,):加密解密字符串。该函数有两个参数:被加密或解密的字符串和作为加密或解密基础的密…

js回调函数和函数带参数的使用示例

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 //demo1 <html><head><meta charset"UTF-8"><script src"http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script></head>&…

mvc-3模型和数据(1)

MVC和命名空间 var User function(atts) {this.attribute atts || {}; } //和具体user相关的方法 User.prototype.destroy function() {}; //和具体user不相关的函数和变量 User.fetchRemove function() {}; var user new User({name:jinks}); user.destroy();构建对象关系…

初步了解:使用JavaScript进行表达式(De Do Do Do,De Da Da Da)

by Donavon West由Donavon West 初步了解&#xff1a;使用JavaScript进行表达式(De Do Do Do&#xff0c;De Da Da Da) (A first look: do expressions in JavaScript (De Do Do Do, De Da Da Da)) This article is not about about the The Police’s 1980 hit song from alb…

div 下 的img水平居中

设置text-align:center; 这个div必须要设置宽度&#xff1b; 如&#xff1a;{text-align:center; width:100%;}转载于:https://www.cnblogs.com/zzd0916/p/6626772.html

Understanding SOAP

Understanding SOAP转载于:https://www.cnblogs.com/daishuguang/p/4227983.html

js删除组数中的某一个元素(完整代码附效果图)

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; <view class"big-logos"> <imagebindtap"addimg"src../../../image/s.png></image> <blockwx:for"{{img_arr}}"wx:key"in…

c专家编程/c陷阱_如何避免常见的初学者陷阱并像专家一样开始编码

c专家编程/c陷阱by Dmitri Grabov德米特里格拉波夫(Dmitri Grabov) 如何避免常见的初学者陷阱并像专家一样开始编码 (How to avoid common beginner pitfalls and start coding like a pro) Learning to code is tough. We’ve all encountered cryptic errors and code break…

xmpp关于后台挂起的消息接收,后台消息推送,本地发送通知

想问下&#xff0c;在xmpp即时通讯的项目中&#xff0c;我程序如果挂起了&#xff0c;后台有消息过来&#xff0c;我这边的推送不过来&#xff0c;所以我的通知就会收不到消息&#xff0c;当我重新唤醒应用的时候&#xff0c;他才会接收到通知&#xff0c;消息就会推送过来&…

[冲昏头脑]IDEA中的maven项目中学习log4j的日志操作

第一&#xff0c;你要有log4j的对应的包&#xff0c;由于我用的maven&#xff0c;所以直接在pom.xml文件依赖下载则可&#xff0c;如你尚为有此包&#xff0c;请自行百度下载导入&#xff0c;或上http://www.mvnrepository.com/搜索。上如则是我的log4j的包的版本。好了&#x…

女神推荐, 卡片,广告图 ,点击查看更多

微信小程序开发交流qq群 581478349 承接微信小程序开发。扫码加微信。 正文&#xff1a; <view><view classtitle>女神推荐 </view> <image stylemargin-top:25rpx; classtab_img src{{img list_data.q1[1].image}}></image><view classv…

aws lambda_恐怕您正在考虑AWS Lambda的冷启动完全错误

aws lambdaby Yan Cui崔燕 恐怕您正在考虑AWS Lambda的冷启动完全错误 (I’m afraid you’re thinking about AWS Lambda cold starts all wrong) When I discuss AWS Lambda cold starts with folks in the context of API Gateway, I often get responses along the line of…

python tkinter窗口弹出置顶的方法

加上下面两句即可实现root窗口的置顶显示&#xff0c;可以用于某些程序的消息提示&#xff0c;能够弹出到桌面显示 root Tk() root.wm_attributes(-topmost,1) 转载于:https://www.cnblogs.com/shuchengxiang/p/6632140.html

用Quartus II Timequest Timing Analyzer进行时序分析 :实例讲解 (一)

一&#xff0c;概述 用Altera的话来讲&#xff0c;timequest timing analyzer是一个功能强大的&#xff0c;ASIC-style的时序分析工具。采用工业标准--SDC&#xff08;synopsys design contraints&#xff09;--的约束、分析和报告方法来验证你的设计是否满足时序设计的要求。在…

软件工程与软件测试基础知识_这是我在软件工程工作九个月中学到的知识

软件工程与软件测试基础知识I’ve been working for about nine months at Dexter as a software developer. I wrote a blog post about landing the job initially, as well as a technical post about a self positioning component I made in my first couple of months at…

[bzoj1064][Noi2008]假面舞会

题意:有n个人&#xff0c;每个人都有一个标号&#xff0c;每种标号的人只能看见下一个标号的人&#xff08;最后一种标号看见第一种&#xff09;&#xff0c;给定m个关系&#xff0c;求这个关系是否合法以及合法情况下最大和最小的方案数。$n\leqslant 10^{5},m\leqslant 10^{6…

js取一定范围内的随机整数

Math.floor(Math.random()*305 1); Math.random()*305 的作用是取0到305的随机数 加1 就是1到305的随机数, Math.floor是取整数, 所以最后的结果是0到305的随机整数 微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。

AE,按照属性值关系选择要素

if(axMapControl2.LayerCount<0) { MessageBox.Show("请加载图层后使用该功能","系统提示",MessageBoxButtons.OK,MessageBoxIcon.Warning); } else { ILayer pLayer axMapControl2.get_Layer(0); IFeatureLayer pFeatureLayer pLayer as IFeatureLay…

aws lambda使用_如何使用AWS Lambda和S3构建无服务器URL缩短器

aws lambda使用by Daniel Ireson丹尼尔埃里森(Daniel Ireson) 如何使用AWS Lambda和S3构建无服务器URL缩短器 (How to build a Serverless URL shortener using AWS Lambda and S3) Throughout this post we’ll be building a serverless URL shortener using Amazon Web Ser…

android -volley-请求数据

private List<gson.DataBean>arrGson;//请求的数据 //请求数据的方法 public void initData() { RequestQueue mQueue Volley.newRequestQueue(getApplicationContext()); String url "http://www.fashions88.com/you/HBooks88/GetBooks88Data…

[微信小程序]动画,从顶部掉花的效果(完整代码附效果图)

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; image{ width: 100rpx;height: 100rpx;position: absolute;top: -100rpx; } 如果对您有帮助&#xff0c;请关注我&#xff0c;欢迎加入微信小程序开发交流QQ群&#xff08;173683866&…

pl/sql developer连接远程数据库

本地不安装oracle client程序&#xff0c;直接使用pl/sql developer连接远程数据库 考虑到机子本身资源有限&#xff0c;一个client会占用很多资源&#xff0c;尝试使用不安装客户端的方式进行远程连接。 需要软件&#xff1a;instantclient-basic-win32-10.2.0.5.zip、pl/sql …

工厂用抽象类比接口_用简单的现实类比解释硬编码概念

工厂用抽象类比接口by Samer Buna通过Samer Buna 用简单的现实类比解释硬编码概念 (Hard Coding Concepts Explained with Simple Real-life Analogies) 如何向5岁的孩子解释诸如流&#xff0c;promise&#xff0c;lint和声明性编程之类的编码概念 (How to explain coding con…

[微信小程序]点击切换卡片动画效果

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 先上效果图, GIF: <!--pages/roll/roll.wxml--> <!-- 单身 --> <block wx:if"{{danshen}}"><view class"card_wrap"><view animatio…

redis学习之——Redis事务(transactions)

Redis事务&#xff1a;可以一次执行多个命令&#xff0c;本质是一组命令的集合。一个事务中的&#xff0c;所有命令都会序列化&#xff0c;按顺序地串行化执行而不会被其它命令插入&#xff0c;不许加塞。 常用命令&#xff1a;MULTI 开启事务 EXEC 提交事务、 DISCARD 放弃…

WordPress页面Page和文章Post的相互转换

1. 进入phpMyAdmin&#xff1b; 2. 进入WordPress对应的数据库&#xff1b; 3. 浏览wp_posts数据表&#xff1b; 4. 找到相应的 页面Page 并编辑&#xff08;找到相应的 文章Post 并编辑&#xff09;&#xff1b; 5. 修改 post_type 为 post&#xff08;page&#xff09;&#…

airbnb_我如何在一个晚上建立音乐工作室的Airbnb

airbnbby Mike Williams由Mike Williams 我如何在一个晚上建立音乐工作室的Airbnb (How I built the Airbnb of music studios in a single evening) Sometimes you come up with an idea that you just know has to be built. That was the case I came up with Studiotime, …

QT学习第8课:QT计算器界面实现

声明&#xff1a;此文章仅是个人在学习狄泰QT课程所做的笔记&#xff0c;文章中包含狄泰资料的&#xff0c;一切版权归狄泰软件所有&#xff01;   第8课是来做一个计算器界面&#xff0c;只是一个界面显示。不过也是挺兴奋的&#xff0c;以前一直对着黑框框&#xff0c;现在…

C# 实现对接电信交费易自动缴费 续(winio/winring0 自动填密码)

自动填密码大家可能都不莫生,最有名的应该是 按键精灵 只要是一个可以输入的地方都可以能过按键精灵来完成输入.我今天要讲的是使用 winio/winring0来完成类似的功能 如果要自动填充密码方式基本上有 消息级的模拟 和 驱动级的模拟, 消息级的模拟如 C# 直接使用 SendKeys 就可以…

[微信小程序]js动态改变数组对象列表中的样式

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文&#xff1a; 这里我用微信小程序商城开发中选择商品规格选择做示例: 先把效果图让大家看看, 默认情况下是这样的 当点击了规格11以后: 该商品规格的颜色变成红色,并且显示该规格商品的图片和…