访问量: 399 次浏览
招聘人员在招聘技术人才时往往会看重活跃的 Github 帐户, 这使得对开源项目的贡献成为在开始技术职业生涯时获得优势的绝对必要条件。 除了练习软件开发外, 还可以将开源项目添加到投资组合中。 然而仍然存在一个问题,几乎每个人, 包括谷歌、Facebook、Twitter 和微软等巨头都在 GitHub 上托管其开源项目, 不过通常可能很难梳理这些无穷无尽的开源项目。 本文列举了大家可以参与的 10 个开源项目, 其中一些是众所周知的, 而另一些只是有趣的开源项目,可以用来练习和实践。


数据自动化、模型跟踪和再培训以及性能监控都是利用 TensorFlow 平台完成的。 它是由 Google Brain 团队创建的, 目前约有15万名贡献者。 由于其适应性的优势, 在项目中使用该模型的开发人员表示非常喜欢。
用户可以利用 GitHub 存储库在云或移动设备上方便地进行构建。 许多基于计算机视觉的应用, 包括分割、语音识别和图像分类,都使用该算法。

几乎所有的社交媒体平台, 包括 Facebook、Twitter 和 Pinterest, 都使用 Reaction Native。 该框架让程序员可以完全访问 Native UI 控件, 同时允许为其平台创建 Native 应用程序。 通过使用该框架, 用户可以创建原生的 JavaScript 应用程序。 此外,它还简化了基于组件的复杂用户界面的构建, 并支持在整个项目中快速复制本地更改。
GitHub 社区已有超过 100K star, 贡献者数量还在不断增长。 平台上的声明性视图使开发人员可以轻松理解和更改它们。 GitHub 社区被开发人员用来交流、合作,并为程序做出贡献, 使其成为 JavaScript 程序员的流行选择。

Ansible 由 RedHat 于2016年创立。 设置相对简单且缺乏学习曲线, 不过也获得了更多的兴趣和关注。
由于 Ansible 不需要任何代理软件或其他安全基础设施, 所以安装起来很简单。 Ansible 是一个用于自动化、系统管理和 DevOps 的尖端工具, 但它也是开发人员日常使用的有用工具。 Ansible 不需要任何编程经验, 能够一次配置整个机器网络。 由于其简单性, 它不断地获得更新。
DALL-E 凭借人工智能软件席卷了世界, 该软件允许用户创建动画、文本、视频和图形, 只需点击一个按钮就可以制作出来。
自4月份发布测试版以来, DALL-E 2(最新更新)一直被誉为最复杂的人工智能图像生成器之一, 特别是在生成照片级真实感图像方面。 DALL-E 2 通常更令人信服, 尽管它仍然存在一些其他人工智能图像生成器所具有的一系列问题。
由于 DALL-E 在 GitHub 上发布了源代码, 文字到图像模型的可能性从未如此巨大。 GitHub 拥有1700个分支, 首先在 DALL-E 上输入单词, 了解机器学习模型如何“思考”, 从而了解它们的运作方式。
谷歌创建了K8来帮助开发人员管理所有平台上的集装化应用程序。 它旨在提供更好的方法来控制各种基础设施中连接和分散的部件和服务。 在谷歌使用其内部容器集群管理器 Borg 和 Omega 运行生产工作负载十多年后, Kubernetes 于2014年发布。
自动化系统有助于应用程序的开发、扩展和管理。 在云计算中大规模部署容器化应用的事实标准是 Kubernetes。 它是谷歌创建的最受欢迎的信息库之一, 在 GitHub 上有超过7万颗星。 云原生计算基金会托管容器打包服务(CNCF)行业先行者K8。
Kubernetes 管理的服务现在由最大的公共云平台提供, 如 AWS、Google Cloud、Azure、IBM Cloud 和 Oracle Cloud。

Jenkins 是一个基于 Java 的 DevOps 工具, 用于持续集成、持续交付、持续部署(CI、CD)自动化, 用于实施 CI、CD 工作流。
通过实时自动测试和报告较大代码库中的孤立更改, 管道可以更容易地将各种代码分支组合成单个主分支。 同时还构建软件, 自动测试其构建, 为部署(交付)准备代码库, 并最终将代码部署到云服务器, 还可以快速找到代码库中的错误。 Jenkins 有许多商业变体可供选择。
它是一个简单的框架, 可用于创建、测试和部署应用程序, 并提供为任何语言量身定做的持续集成和交付环境。 Jenkins 还有助于查找模型错误和执行静态代码分析。 在这台服务器的帮助下, 程序员可以执行并自动化乏味和重复的任务, 同时专注于创造机器无法创造的东西。
在 GitHub上,Jenkins 有6,500个分支, 被大量软件公司所使用。 它的广泛使用是因其擅长创建和发布软件组件。

Ffltter 是 GitHub 上扩展最快的开源社区之一, 它是谷歌的软件开发工具包(SDK), 允许使用一个用户界面工具包和一个代码库创建应用程序。 Ffltter 开发的应用程序据说能产生美观和有效的终端用户体验, 并与网络、PC 和移动平台兼容。
Skia 和针对 Android 和 Chrome POWER 的硬件加速2D图形库。 构建过程还利用了分层体系结构, 这使开发人员能够轻松地将文本、图形、视频和动画内容添加为覆盖层, 而无需更改源代码。 它同时支持 iOS 和 Android, 为开发人员提供了亟需的灵活性。
Flutter Github 页面拥有超过10万颗星, 深受用户和贡献者的喜爱。 存储库中的开源项目在专业化和难度方面面临各种挑战。 这个有用的页面是 GitHub 最受欢迎的社区之一。
从表面上看,Tinode 即时通讯服务器类似于 Telegram 或 WhatsApp。 它是为了取代 XMPP 或 Jabber 而设计的, 完全由 Go 支持。 拥有超过9600颗星和1500个分支, 正在成为专门为移动用户构建的开源聊天工具。 客户端可以访问活跃的 GitHub 社区, 并可以在云或自托管之间进行选择。
可扩展消息传递和在线状态协议(XMPP,原名 Jabber)是一种开放式通信协议, 用于即时消息传递(IM)、在线状态信息和联系人列表维护。 Tinode 即时通讯服务器的目标是为联合即时通讯建立一个尖端的、开放的、以移动为重点的平台。此外,Tinode 即时通讯服务器的目标是开发一个去中心化的即时通讯平台, 鉴于最近的隐私争议, 政府很难追踪和阻止这一平台。 Tinode 目前提供的语言有英语、汉语、韩语、俄语和西班牙语。
Airtable 的免费开源替代品是 NocoDB。 它可以从任何 MySQL、PostgreSQL、SQL Server、SQLite 或 MariaDB 数据库中生成智能电子表格。 创建 NocoDB 的目的是为世界各地的数字企业提供一个强大的开源和无代码的数据库接口, 它的主要目标是让强大的计算工具更广泛地可用。 为了存储电子表格视图和外部数据库的元数据, NocoDB 需要一个数据库。 这些项目通常由开发人员在他们的工作中使用, 以促进和简化该过程。
任何试图在任何软件公司获得软件开发工程师职位的人, 包括科技巨头亚马逊、Facebook、谷歌和微软等, 都可以从这所 Coding Interview University (编码面试大学)中受益。 对于打算成为软件工程师的自学网络开发人员来说, 这是一个长久的学习计划。
除了教育资源外, 这个学习库还提供日常日程安排、如何撰写简历、找到最佳工作机会和面试问题等建议, 帮助人们做好面试准备等。