加入收藏 | 设为首页 | 会员中心 | 我要投稿 阿坝站长网 (https://www.0837zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

IT基础架构该如何升级?

发布时间:2021-02-11 10:49:59 所属栏目:动态 来源:互联网
导读:Dryad Networks正在部署物联网技术,以帮助防止森林大火造成破坏。 仅今年这一年,加州就发生了持续的森林大火,创下了一年内烧毁大部分土地的不良记录,切尔诺贝利禁区的森林大火,以及澳大利亚的另一场森林大火仅举几例。 每个事件都给环境、社会和经济造

Dryad Networks正在部署物联网技术,以帮助防止森林大火造成破坏。

仅今年这一年,加州就发生了持续的森林大火,创下了一年内烧毁大部分土地的不良记录,切尔诺贝利禁区的森林大火,以及澳大利亚的另一场森林大火——仅举几例。

每个事件都给环境、社会和经济造成了毁灭性影响。7月份的一份报告估计,仅在澳大利亚的森林大火中就有大约30亿只动物丧生,这一数字很可能还在增加。

此外,数万人也因森林大火而流离失所,估计每年的经济损失超过1000亿美元。
 

这就是开源实际意义的基本概述。了解这一切后,很明显,最终用户不会注意到开源软件和非开源软件之间的任何区别,除了前者更有可能是免费的。

参与开源的人员以及原因‍

很多人此刻都会想到这个问题。我们知道了这些软件是完全免费的,最初做这个项目的开发者似乎并没有得到任何报酬。那么为什么会有人愿意把宝贵的时间投入到这件事上呢?还有,我在这篇文章开头提到的机遇有哪些呢?

首先开源“付费”,而且报酬很高。人们通过开源赚钱的方式有很多种,但在我进一步谈论金钱之前,我想指出一些其他的益处,这些益处比金钱更为重要:

  • 知识、经验:当然,能够不断从工作中获取新的知识总是有帮助的,但远不止如此。在我个人看来,对于一个初学者,获得经验比较好的方式便是参与开源。人们会寻找实习机会,或者仅仅是简单的付费项目,而这些项目大部分都在公司名下,他们希望从你身上获得价值。

以笔者自身为例,虽然我参加过的每一次实习都有非常支持我的经理和学长,但参与其中一个依旧不是一件容易的事情。你会与大量的求职者竞争,竞争对手中很有可能出现有几个月甚至几年工作经验的“老手”。

真正参与一个现实世界的项目变得很困难,而开源为此提供了优秀的平台。在这个平台上,无论你投入多少工作,你始终是有价值的。压力会比实习要小得多,而且学习经验会好得多。正因为如此,这是获得更多的经验并参与更多的真实世界项目的最有效的方法。

  • 价值:在这个领域工作最重要的因素之一,你得到的价值将是惊人的。这些价值可以来自公司、个人、这些项目的所有者以及各种编程社区,拥有一个好的开源档案终归是一个很大的优势。
  • 专业网络:对于这件事情我经验颇丰。在网上做项目时,你会和很多人合作,合作包括大量的交流。交流过程中,我们形成了很多专业的联系。在我活跃的LinkedIn联系人中,有来自伦敦和阿姆斯特丹的人,你永远无法设想什么时候你的专业网络会给你带来怎样的帮助。
  • 机会:这一点与第二点密切相关。具体来说,是来自公司的价值。包括谷歌这样的行业领袖在内,很多公司都非常关注开源,他们最负盛名的项目之一GSoC(Google Summer of Code)就完全基于开源。只有拥有一个好的开源档案,并且参与的项目也是开源的,这样才能够进入公司,而这说明了目前这个领域在行业中的重要性。

GSoC并不是唯一,还有数百个有声望的实习岗位在招收具有良好开源技能的人。Outreachy、MLH、Linux Foundation只是一些例子,窥一斑而知全豹,这些公司对开源的依赖直接反映了它的价值。

当然,你会得到报酬,认为开源无法带来收入的想法是完全错误的。当你达到一定的水平,你就很有可能会从各种来源(实习,赞助商,公司付费)中获得大量的收入。许多人都十分努力地建立系统,以确保人们不会因为系统无法提供资金而不愿参与开源。就连我刚才提到的实习,他们付给实习生的工资都非常高,例如,Outreachy 3个月的津贴为6000美元。

我该如何开始呢?‍

这也曾是我困惑的问题,并且一直怀疑我所遵循的方式,直到我参与了第一个项目。答案就是:你只需要遵循你能想到的最直截了当的方法。然而,我们是否应该在知道如何做之前,了解所需的技能什么?

不需要。直到现在,无论我说什么,都会让人觉得你需要擅长编程才能参与项目。当然,这是因为软件是由代码组成的。但是问题在于,软件不仅仅是由代码组成的。一个单一的软件投放到市场会有许多方面:设计、内容、使用文档,甚至报告错误都是软件的重要组成部分。这些都需要编码吗?不。你只需要做你已经擅长的事情,并积极参与到需要你的项目中。仅此而已。

不过,在这里忽略编程是非常不公平的。一般来说,你并不需要学习一些新的技能。但作为一个程序员,参与开源确实有一些要求。

  • Git:Git是处理软件的常规方式。它并不是一种软件制作语言,只是一种检查代码的助力工具。利用Git的强大功能,人们可以在代码中创建检查点或创建分支,这意味着在保持先前版本完好无损的同时处理代码,以确保在需要时可以恢复原状。

本质上,Git是软件的版本控制系统,它并不是针对开发软件,而是对于在开发软件过程中与其他人合作来说,是极其重要的。此外,由于在参与开源时协作是最重要的,Git也变得同样重要。

  • Github:Github是所有开源托管发生的网站,它不是唯一的网站,但无疑是行业领袖。这基本上是Git的用户界面版本,当紧密集成时,它就成为了完全承载协作的资源。因此,它在工作流程中和Git一样重要。
  • 编程语言:参与一个软件,到最后,所有的东西都只是代码。因此,显而易见,了解代码所用的语言是至关重要的。

要求仅此而已。对于大多数程序员,他们已经知道一些编程语言,所以需要的新技能就是Git和Github。好消息是:学习它们非常容易,一两天即可掌握天。在YouTube上找一个好的教程,就可以开始了。

整个过程中唯一困难的部分是找到一个可以参与的软件。作为初学者,你可能需要一些时间来找到一个真正需要掌握的技能集(当然是在编程语言方面),而比较好的办法就是不断寻找。你可以手动完成,或者可以在Github上寻找与“good-first-issue”标签有问题的代码库,那一定会带你步入正途。

接下来呢?只需在系统上复制代码,进行想要的更改,然后将代码放回网站。如何做到呢?这就是Git和Github的用武之地。当你学会了它们,做这些步骤就轻而易举了。恭喜你,你已经参与了第一次开源,现在是一个开源开发者了!

为什么每天有4000万人在“免费”做2800万个项目?希望本文帮你找到了答案,也希望你会成为其中一员。

(编辑:阿坝站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读