专栏首页AI研习社GitHub 标星 1.6w+项目 HelloGitHub,让开发更简单的开源启蒙手册!

GitHub 标星 1.6w+项目 HelloGitHub,让开发更简单的开源启蒙手册!

最近,一个 GitHub 标星 1.6w+的项目火了起来,它叫做 HelloGitHub。听名字不难猜到,这个项目源于 『Hello World』,寓意为 GitHub 初次接触者指南。

如果你恰好是一个编程新手,并纠结于该如何开始 GitHub 开源项目的学习与研究,这本手册就恰恰能很好解决这一难题,它的最大亮点就在于 GitHub 入门。

Hello!HelloGitHub

据 HelloGitHub 的创建者自述,他本科就读于计算机专业,目前是一名 Python 程序员。与很多开发新手类似的是,他与 GitHub 之间也是由起初的好奇与困惑、到了解再到之后开始上传自己的项目,逐渐由小白成了可以熟练运用这一工具的能人。

也正是因此,他将自己的摸索过程整理出来,希望能够让更多开发者通过 HelloGitHub 这一项目,更好的运用开源工具,提高自己的开发能力。

从最初在 GitHub 上面创建 HelloGitHub 开源项目;再到后期不断更新月刊;再到之后项目更加成熟后,作者编写了 Web 网站,界面更加友好。

当前,开发者既可以通过 GitHub 直接访问该项目,也可以直接访问 HelloGitHub 网站;两个访问平台上内容大致相同,主要分为了 3 个板块:

  • 18 个分类

在这一栏目中,作者将推荐的项目进行了分类,类别包括了:C 项目、C# 项目、C++项目、CSS 项目、Go 项目、Java 项目、JavaScript 项目、Kotlin 项目、Objective-C 项目、PHP 项目、Python 项目、Ruby 项目、Rust 项目、Swift 项目、开源书籍、机器学习、教程以及其它。

每个项目中,都涵盖了大量适合新手的开源项目和其对应地址,网站还设置了收藏功能,便于用户查找。

  • 44 期推荐更新

每月 28 号,专栏作者会将这个月收集的精彩项目,例如:流行项目、入门级项目、让生活变得更美好的工具、企业级项目等汇总为一篇文章,并发布为期刊。项目内容几乎涵盖了 18 个分类中的所有类别,推荐项目也会随当下开发者们的关注热度及项目性能体验多方面进行相应的考量,可以当做「新手程序员杂志」月刊进行阅读。

  • 个性推荐栏目

除了作者每月的更新之外,每个人也可以推荐自己喜欢的 GitHub 开源项目;当然也可以在这一 part 中,分享自己开发的项目。

有趣的 Github 项目列举

当我把这一项目推荐给身边的开发者朋友之后,他也给了我很多积极的反馈。他在这个项目中,发现了很多有趣实用的项目。在此,我选择了部分项目进行详细的分享与展示。

  • Wrk

现代 HTTP 基准测试(实现对一类测试对象的某项性能指标进行定量的和可对比的测试)工具。它集成了多线程设计与事件通知系统(如 epoll、kqueue)提升并发量,可以通过编写 Lua 脚本来进行扩展,例如 HTTP 请求的生成、响应处理、自定义报告。

这是很多开发者都曾经推荐过的 HTTP 性能测试工具,并且操作也非常简单。在开源地址中下载然后进入项目目录,再执行 make 编译,就能在当前目录中生成一个 wrk 可执行文件了。

Wrk 目前已有 22.8k 的星标数,地址为: https://github.com/wg/wrk

Wrk 使用示例

  • machine-learning-for-software-engineers

一个自上而下的学习路线,软件工程师的机器学习教程(中文版)。

项目作者的主要目标是希望找到一种以实践为主的学习方法,并为初学者抽象掉大多数的数学概念。项目中包含了:机器学习概论、机器学习方法、机器学习项目实践等内容,并整理了大量与机器学习相关的学习资料、视频与心得等,非常适合新手机器学习工程师研读。

该项目已获得 23k 的星标数,项目地址为: https://github.com/ZuzooVn/machine-learning-for-software-engineers

项目部分内容

  • Newtonsoft.Json

一款 .NET 平台中开源的 JSON 序列化和反序列化类库。它支持使用 Json.NET 的 JObject,JArray 和 JValue 对象创建,解析,查询和修改 JSON;使用类似 XPath 的语法查询 JSON;如果需要,Json.NET 支持在 XML 和 JSON 之间进行转换。

其性能可以实现比 DataContractJsonSerializer 快 50%,比 JavaScriptSerializer 快 250%。目前,Json.NET 的下载量和下载量均超过 1 亿,是 NuGet 上排名第一的库。

Newtonsoft.Json 的星标数为 7.4k,地址为: https://github.com/JamesNK/Newtonsoft.Json

性能比较图

  • Simhash

此项目用来对中文文档计算出对应的 simhash 值。simhash 是谷歌用来进行文本去重的算法(详见 simhash 算法原理及实现),现在广泛应用在文本处理中。

特征包含:使用 CppJieba 作为分词器和关键词抽取器、使用 jenkins 作为 hash 函数、hpp 风格(所有源码都是 .hpp 文件里面,方便使用)、项目副产品项目 simhash_server 提供简单的 simhash HTTP 服务。

项目地址为: https://github.com/yanyiwu/simhash

  • SQLAdvisor

美团开发维护的一个分析 SQL 索引索引优化建议的工具,目前已在内部广泛应用,该工具性能较为成熟、稳定。在数据库运维过程中,优化 SQL 是 DBA 团队的日常任务。例行 SQL 优化,不仅可以提升程序性能,还能够降低线上故障的概率。

SQLAdvisor 项目则基于 MySQL 原生态词法解析,结合分析 SQL 中的条件,聚合条件,多表加入关系给出索引优化建议。它支持支持常见的 SQL(Insert/Delete/Update/Select),支持多表 Join 并自动逻辑选定驱动表,同时也支持支持聚合条件 Order by 和 Group by。

该项目获得了 4k+的星标,开源地址为: https://github.com/Meituan-Dianping/SQLAdvisor

SQLAdvisor 架构流程图

  • beijing_bus

适用于 Python 的「北京实时公交」代码。相对于基础工具,这是一款拥有具体功能较为成熟的应用型项目。这一项目向我们展示了实时公交系统开发的原理。这一贴合生活的开发内容难度适中且富有趣味,非常适合新手进行摸索与学习。

项目地址为: https://github.com/wong2/beijing_bus

代码示例界面

  • Python-goose

文章提取器,goose 可以获取任何新闻文章或文章类型的网页。不仅是提取文章的主体,它可以还提取所有元数据和最有可能的图像候选者,例如:文章的主要图片、文章中嵌入的电影、元描述、元标记等。

该项目已获得 3.5k 的星标数,项目地址为: https://github.com/grangier/python-goose

使用界面

更多实用功能

目前,HelloGitHub 网站每个月有超过 10w 的访问量。随着用户的增多,网站的功能也有了更新,增加了:搜索、公告栏、RSS、语言排行榜、数据库排行榜、服务器排行榜、API 接口服务等功能。其中部分内容详情如下——

  • 编程语言月报

该栏目整理了最新的 TIOBE 编程语言排行榜,并发布了 TOP 50 榜单。通过编程语言排名、流行度等数据的了解,可以帮助我们更好的预测这个不断变化地时代下,编程的未来发展方向。

Top 10 编程语言排名走势图

  • Web server 月报

为关注关注服务器流行动态的开发者们,提供最新 Netcraft 服务器流行度报告。其中,Netcraft 公司官网每月发布的调研数据报告——Web Server Survey 系列,已成为当今人们了解全球网站的服务器市场份额、排名情况的主要参考依据,时常被诸如华尔街杂志、英国 BBC、Slashdot 等知名媒体引用。

2019 年 11 月 Web 服务器排行榜——活跃网站的排名

  • 数据库月报

提供了最新 DB-Engines 数据库排行榜,便于关注数据库流行动态的开发者了解相关资讯。

DB-Engines 排名是按人气排名数据库管理系统,涵盖 340 多个系统。排名标准包括搜索系统名称时搜索引擎结果的数量、Google 趋势、 Stack Overflow 网站、LinkedIn、Twitter 等社交网络中的提及的情况,综合比较、排名。

往期 DB-Engines 排名数据

更多详情查看,相关地址整理如下

HelloGitHub 项目地址: https://github.com/521xueweihan/HelloGitHub HelloGitHub 网页: https://hellogithub.com/ 排行榜月报快捷查看地址: https://hellogithub.com/report/db-engines/?url=/periodical/category/C%20%E9%A1%B9%E7%9B%AE/

本文分享自微信公众号 - AI研习社(okweiwu),作者:杨鲤萍

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据科学管理可比建摩天大楼难,敏捷心态正在摧毁团队!

    对于外行来说,「Jira」只是一个项目管理工具,在科技公司中几乎无处不在。它最初是为管理软件开发项目而构建的,后来自然而然地被应用到数据科学项目中。我想说,尽管...

    AI研习社
  • 谷歌公布GSoC 2020 暑期代码项目名单,200个开源项目30个新增

    谷歌(Google)本周宣布了进入GSoC 2020的200个开源项目。谷歌的GSoC(Google Summer of Code,暑期代码计划)已经走到第16...

    AI研习社
  • 推荐三个 Udacity 无人驾驶纳米项目的感知项目

    本文为 AI 研习社编译的技术博客,原标题 Perception Projects from the Self-Driving Car Nanodegree P...

    AI研习社
  • SAP PS-项目管理模块入门介绍

    项目管理具有以下特性: 复杂、唯一、风险;与用户或管理层达成明确的目标; 强调时间,成本和能力的限制;满足一定的质量要求;通常项目的实施对公司具有战略性的意...

    用户5495712
  • 2013年年终总结

    今天是2014年01月21日,农历腊月二十一,还有四天就能回家了,说句实话,年终总结到现在才写,有点名副其实,单位的年终总结表彰大会昨天都完事了,呵呵~~~

    lzugis
  • 2018-08-25 如何熟悉一个新项目如何熟悉一个新项目

    很多新人进入一家新公司后,最头疼的就是如何快速了解公司的业务和项目架构。或者说不要求快速,给你足够的时间,也很难在庞大的业务中整理出思绪。当然,如果你碰到一个特...

    Albert陈凯
  • 你的GitHub爆款项目,面试官可能问都不问

    雄心勃勃的数据科学家是如何得到高薪职位的?其实人们对此有很大的误解,认为这和做过的项目有关。

    机器之心
  • day48_项目管理学习笔记

    黑泽君
  • 七个开源的 Spring Boot 前后端分离项目,一定要收藏!

    原文链接:https://blog.csdn.net/u012702547/article/details/10097...

    ccf19881030
  • 关于女神SQLite的疑惑(1)

    1. 答:对于这个问题,简短的回答是:任何一个被声明为 INTEGER PRIMARY KEY 的域都将是自动递增的。

    用户2617681

扫码关注云+社区

领取腾讯云代金券