程序员里面开源

展望技术世界是令人兴奋的。 它有很多运动部件,似乎您越深入挖掘它,它越深入,然后它就一直是乌龟 。 因此,技术也势不可挡。 如果您热衷于加入并帮助塑造现代世界的运作方式,那么从哪里开始呢? 第一步是什么? 第二十步是什么?

首先要了解的是开源是开放的。 这看起来似乎很明显,但是“开放源代码”一词在如今变得如此频繁,以至于有时人们会忘记这仅仅是一种文化现象的描述,而不是《财富》 500强公司的名字。 与其他工作或小组不同,您无需面试或填写注册表或注册表格即可成为开源程序员。 要成为一名开源程序员,您要做的就是编写程序 ,然后共享您的代码,理想情况下,要保证代码无论使用方式如何都保持开放。

而已。 您是一名开源程序员!

您现在有了目的地,但是物流呢?

技能树

您玩过RPG游戏吗? 在这些游戏中,存在线性“技能树”的概念。 玩游戏时,您将获得基础技能以“升级”并获得新技能,您可以使用这些新技能来获取新技能并再次“升级”。 等等。

成为一名程序员有点像增加您的技能树。 您掌握了一些基本技能,直到他们成为天生时才进行练习,然后获得了新技能,依此类推,然后您沿着所选的技能树前进。

您会发现您会遇到不止一个技能树。 开源有很多切入点,很多人都有自己独特的优势,才能和兴趣。 但是,某些可定义的技能有助于成为一名出色的程序员,而开发它们是成功参与开源项目的重要组成部分。

脚本编写

像Linux或BSD这样的POSIX系统的最大优点之一是,每次使用计算机时,您都有机会练习一些编程。 如果您不知道从哪里开始编程,那就从工作方式开始。 查找您每天执行的重复性任务,并开始使它们自动化。 此步骤可以很简单,例如转换或重新调整一批照片的大小,检查电子邮件,甚至只是一键启动每天使用的五个应用程序。 无论执行什么任务,都要花一些时间为自己自动化。

如果您可以从终端执行某些操作,则可以编写脚本。 学习bashtsch ,让系统脚本成为编写代码和系统工作方式的入门。

系统管理员

从这一点出发,您可以继续成为程序员,也可以完全过渡到另一种技能树:系统管理的技能树。 这两个职业有一些重叠(一个好的系统管理员应该有一点编程经验,并且应该准备使用Python,Perl或类似的语言来开发独特的解决方案),但是程序员是一个每天用代码进行构建的人,天。

程序员

开源是学习编程技能的好方法。 您可以查看他人的代码,借鉴思想和技术,从他们的错误中学习,对自己的代码进行批评,并且如果您使用Linux或BSD,那么整个堆栈对您都是开放的-只要您能看到,一切由您自己承担。

无论如何,这就是旅行手册所说的。 现实情况是,您可能不会开始深入研究项目的源代码,而突然意识到您不小心学会了编写代码,从而走到了另一端。 编程是艰苦的工作。 如果不是,那么每个人都会这样做。

幸运的是,编程是逻辑性和结构化的,因此它是在自身之上构建的。 您可能不会沉迷于编程,但是对它的投入越多,您就越了解它。

了解如何控制和自动化计算机是一回事,但是了解如何编写其他人希望自动化的内容是您跨入编程领域的重点。

多种语言

所有编程语言都旨在做同样的事情:让计算机进行计算。 选择一种是您想做的事情,所针对行业中常用的语言(如果有)以及给定可用的材料和学习风格后最能理解的语言。

通过一点点研究,您可以很好地了解语言的复杂性,然后根据自己的舒适程度决定尝试哪种方法。

选择语言的另一种方法是查看目标,找出其他人是否在朝着同一方向努力,然后查看他们在使用什么。 如果您的目标是开发桌面工具,则可以学习C和Vala之一,或学习C ++。

然而,到最后,不要被所有可用的选择所淹没。 语言可以很好地堆叠。 一旦您对一种编程语言的学习足够好,可以在需要完成某项工作时重新使用它,就会发现学习另一种编程语言要容易得多。 毕竟,“语言”只是一组语法和规则。 如果学习一个,那么在同一个理论上叠加新规则是很不容易的。

主要目标是学习语言。 选择一个对您有意义的文件,或者一个对您最有吸引力的文件,或者您的朋友正在使用的文件,或者对您的文档最了解的文件,但是请集中精力进行学习。

打开Whazzit?

无论您是刚刚开始学习编程还是只是成为开放源码的老专家,在首先进入这个勇敢的新世界之前,您都需要了解什么使开源成为“开源”。

声称软件是开源的,是一些软件供应商所采用的最新营销方法。 不幸的是,一些供应商只是表示他们已经发布了公共API,或者接受(“开放”)用户的建议。 “开放”一词没有注册商标,没有委员会来决定如何或何时使用该词。 但是,由已故的Debian Linux的Ian Murdock共同创立的开放源代码计划 ( Open Source Initiative) 定义了开放源代码的含义(“允许自由使用,修改和共享软件的许可证”),并正式批准和跟踪被视为真正的许可证。 “打开。”

将其中一个许可证应用于您的代码,您就是一个开源程序员。 恭喜你!

社区

询问任何开源爱好者,他们都会告诉您关于开放软件的最重要的事情是人员。 没有积极的贡献者,软件就会停滞不前。 计算机需要用户,错误报告者,设计师和程序员。

如果您想加入或培养全球开源社区,即使您不是一个人,也需要成为该社区的一部分。 这通常包括订阅邮件列表,加入IRC频道或跳至论坛,并从图腾柱的底部开始。 任何成熟的社区已经存在了很长的时间,可以看到潜在的成员来去去去,所以您必须了解,当您准备改变他们的世界时,在他们全部同意您的总体计划之前,您必须证明自己不是三个月后,当网络另一端闪闪发光的东西吸引您的目光时,它就会消失。 如果您渴望大事,请做好长途旅行的准备。

如果您只是伸出援手,那也是可以接受的。 我本人已向项目提交了一些小补丁,有时项目负责人认为这些补丁很好,而其他时候却拒绝了。 如果被拒绝的补丁对我很重要,那么我会为自己和客户维护补丁,否则我会继续前进。

这是过程的一部分。

这些社区在哪里存在? 这取决于项目。 一些项目有专门的社区经理,他们可以将每个人聚集在公共场所,让每个人都能看到。 其他项目围绕论坛形成,使用邮件列表甚至问题跟踪器。 寻找社区,您将找到它们。

同样重要的是,请看一下代码! 他们称其为“开放源代码”是有原因的,因此请务必查找代码并进行窥视。 即使它仍然超出您的全面理解水平,也可以使您了解软件项目的组织方式以及他们可能需要帮助的地方。 代码如何组织? 代码中是否有注释? 风格一致是否整齐? 查看文档,特别是README,LICENSE或COPYING文件。

不要低估遵循开放代码承诺的重要性。 这就是您参与其中的原因,因此请从各个角度批判性地研究它,以了解您可以从中学到什么以及如何做出贡献。

找到最好的社区与约会非常相似,但特别是就像在《 土拨鼠日》中约会一样。 这需要时间,并且前几次尝试可能会失败。 您在此过程中花费的时间越多,您就越会感到déjàvu。 最终,尽管您对自己和自己的兴趣了解得足够多,找到了其他人的正确组合,然后定居在某个地方。 有耐心,让它自然发生。

动作>单词

成为一名开源程序员是关于代码(开源的“源”部分)的,而想法只是一角钱。 说的是产量。 您需要向您证明自己在做什么,愿意弄脏您的手,花时间在项目上,并可以通过编译后的内容来支持您的想法。

当然,要有效地做到这一点,您应该在项目本身上做功课,包括学习项目如何选择接收提交的内容以及哪些分支是稳定的和正在发展的分支。

要开始使用:

  • 熟悉项目及其开发文化,并尊重它。
  • 编写补丁程序,错误修复程序或所需的小型功能,然后提交。
  • 如果您的工作被拒绝,不要气disc。 您不会被个人拒绝,您的工作得到了评估,开发团队也致电给您。
  • 如果您的工作被接受,但您的工作变得面目全非,不要灰心。
  • 冲洗,重复并尝试新的更大的更改。

开源没有排行榜。 有些网站试图使它们看起来像是存在这种东西,但没有一个。 参与,贡献,增加想法,增加提交的隐匿性,那么您做对了。

发展

最终,在任何环境中进行编程总是与个人发展有关。 无论您是寻找解决问题的新方法,寻找优化代码的新方法,学习新语言还是学习如何更好地与他人打交道,您都永远不会停止增长。 您开发的越多,项目就越受益。

个人和专业的增长是榜单上的最后一个增长,但它实际上贯穿了整个过程。 成为一名开源程序员并不像获得政府工作。 这是一个过程。 您学习,分享,不断学习,分心并编写《人生游戏》实施方案,并且学到更多。

这个过程就是开源的意义:从各个方面讲发展的自由。 因此,找到您的技能树,选择您的超级能力,支付您的会费,升级并参与进来。

翻译自: https://opensource.com/article/17/1/how-get-started-open-source-programmer

程序员里面开源

程序员里面开源_如何以开源程序员的身份开始相关推荐

  1. 程序员微信头像_这才是程序员的内心独白

    在互联网公司的各个职业当中,程序员可以算是最善于自黑的群体之一了.自称"码畜",管工作叫"搬砖",最常见开"头发少"这种玩笑,还经常调侃自己 ...

  2. 微软拥抱开源_如何拥抱开源劳动力

    微软拥抱开源 企业在使用开源软件的过程中吸取了重要的教训:他们可以从自己的员工名单中受益. 现在,企业开始认识到开源课程不仅适用于软件开发,而且还在寻找新的方法来寻找人才. 正如德勤最近出版的< ...

  3. java程序员的名言_收集53个程序员励志名言

    1.要么做第一个,要么做最好的一个. 2.信念和目标,必须永远洋溢在程序员内心. 3.最累的时候,家人是你最好的归宿. 4.C程序员永远不会灭亡.他们只是cast成了void. 5.真正的程序员认为自 ...

  4. 浅谈对程序员的认识_浅谈关于程序员的本质

    很多人认为计算机变得如此智能,所以在不久的未来将不再需要程序员.另外一些人认为程序员是天才,他们在电脑前能不断地解决复杂的数学难题.甚至不少程序员对他们是做什么的都没有清晰的概念.Computers ...

  5. 微信小程序零基础入门_第二章 小程序框架_逻辑层

    第二章 小程序框架_逻辑层 2.1 逻辑层 小程序开发框架的逻辑层是基于JavaScript进行编写和实现的.在开发过程中写的所有代码,最终都被整合成一份JavaScript,在小程序启动的时候开始执 ...

  6. 小程序动画从头开始_渐进式Web应用程序102:从头开始构建渐进式Web应用程序

    小程序动画从头开始 We learnt about what is a Progressive Web App (PWA) in part 1. In this part, we are going ...

  7. 小程序 mathjs渲染公式_自己开发小程序的成本公式

    小程序开发成本公式 小程序的开发价格可谓是高低差别巨大,其实这是根据小程序的难易程度来决定的,可以说开发价格从5000-50万元都是有的.下面我们主要来介绍一下自己开发一款小程序需要多少钱呢.因为自己 ...

  8. 小程序采用mvvm设计模式_滴滴重磅开源跨平台统一 MVVM 框架 Chameleon

    近日,滴滴在 GitHub 上开源了跨端解决方案 Chameleon,简写 CML,中文名卡梅龙:中文意思变色龙,意味着就像变色龙一样能适应不同环境的跨端整体解决方案,具有易用.开发快.高性能等特点. ...

  9. 小程序video至于底部_一个18岁程序员的自学成长旅程 | 掘金年度征文

    大家好,我是Q1,00后,上星期(12.17)才满的18岁,但年龄并不能证明什么, 2019已经接近尾声了,这次主要想分享下我的编程旅途,还有学习方法以及收获, 感谢平台给了我这次机会. 起点 起点从 ...

最新文章

  1. c语言怎样定义函数举例,c语言怎样定义函数?
  2. Matlab/Simulink ROS
  3. python哪里下载import包-【Python包】模块和包导入详解(import)
  4. JavaWeb-Spring中注解大全与详解
  5. 学习笔记(20):Python网络编程并发编程-互斥锁与join的区别
  6. bitherj java_比太钱包为什么从 Bitcoinj 切换到了 Bitherj ?比太钱包从 Bitcoinj 切换到了 Bitherj原因是什么?...
  7. oracle 19602,Oracle CPU Costing
  8. idea 读取md文件卡死
  9. C语言栈括号匹配算法
  10. LintCode 介绍
  11. c语言自行车租赁系统,winform 自行车租赁系统(含数据库)
  12. spring源码解析大体流程
  13. 技术方案|高精密划片机
  14. Bandizip Archiver for mac(便捷解压缩软件)
  15. 烟台有线电视频率与节目表
  16. 前端初级学习阶段(3)
  17. Java中的函数(方法)
  18. 2022-2028全球轴承润滑油行业调研及趋势分析报告
  19. 最新!2020中国高校毕业生薪资排行出炉!
  20. 微信会员卡系统如何助力服装店提升业绩(下)

热门文章

  1. python数据分析框架
  2. nginx一键安装脚本
  3. 不同浏览器input file样式不一样
  4. GNS3(eNSP)和VMWare搭建网络学习环境
  5. C#类、接口、虚方法和抽象方法
  6. MySQL 管理猿利器: MySQL ODBC for iPhone!
  7. 程序员的算法课(15)-分治法获取文件中出现频次最高100词
  8. ElasticSearch破解x-pack 6.0+和更新许可证(License)
  9. kotlin mysql数据库_在kotlin中使用mysql行级锁
  10. Java小白版聊天室1.0版本