网站新增了 Web 服务器排行榜、数据库排行榜javascript
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!html
分享 GitHub 上有趣、入门级的开源项目。前端
这是一个面向编程新手、热爱编程、对开源社区感兴趣 人群的月刊,月刊的内容包括:各类编程语言的项目、让生活变得更美好的工具、书籍、学习笔记、教程等,这些开源项目大多都是很是容易上手,并且很是 Cool。主要是但愿你们能动手用起来,加入到开源社区中。java
在浏览、参与这些项目的过程当中,你将学习到更多编程知识、提升编程技巧、找到编程的乐趣。python
🎉 最后 HelloGitHub 这个项目就诞生了 🎉react
如下为本期内容|每月 28 号发布最新一期|点击查看往期内容linux
一、obs-studio:由 OBS 项目维护的免费开源流媒体和录制程序。该程序支持 Windows 七、macOS 10.十、Ubuntu 14.04 操做系统。可用于直播和屏幕录制,下载地址git
二、Algorithms_C:各类基础算法、数据结构的 C 语言实现。这个TheAlgorithms 开源组织的项目包含基础算法的各类编程语言的示例代码github
三、CppCon2018:CppCon 2018 幻灯片和资料web
四、wxpay:Go 的微信支付 SDK。微信系的 SDK,填补 Go 在微信支付开发界的空白。支持刷卡支付、统一下单、查询订单、撤销订单、关闭订单等。示例代码以下:
// 建立支付帐户 account1 := wxpay.NewAccount("appid", "mchid", "apiKey", false) account2 := wxpay.NewAccount("appid", "mchid", "apiKey", false) // 新建微信支付客户端 client := wxpay.NewClient(account1) // 设置证书 account.SetCertData("证书地址") // 设置支付帐户 client.setAccount(account2) // 设置http请求超时时间 client.SetHttpConnectTimeoutMs(2000) // 设置http读取信息流超时时间 client.SetHttpReadTimeoutMs(1000) // 更改签名类型 client.SetSignType(HMACSHA256)
五、thunder:Facebook GraphQL 协议的 Go 语言版本。相比以前的其它 GraphQL 库,经过反射结构体的 tag 能够自动生成 schema 给前端,更加便于开发。示例代码:
// Friend is a small struct representing a person. type Friend struct { FirstName string Last string `graphql:"lastName"` // use a custom name Added time.Date `graphql:"-"` // don't expose over graphql } // FullName builds a friend's full name. func (f *Friend) FullName() string { return fmt.Sprintf("%s %s", f.FirstName, f.Last) } // registerFriend registers custom resolvers on the Friend type. // // Note: registerFriend wouldn't be necessary if the type only // had the default struct field resolvers above. func registerFriend(schema *schemabuilder.Schema) { object := schema.Object("Friend", Friend{}) // fullName is a computed field on the Friend{} object. object.FieldFunc("fullName", Friend.FullName) }
六、wechat-go:微信网页版 API 的 Go 实现。支持模拟微信网页版的登陆、联系人、消息收发、机器人回复等功能。示例代码片断:
func main() { // 建立session, 一个session对应一个机器人 // 二维码显示在终端上 session, err := wxweb.CreateSession(nil, nil, wxweb.TERMINAL_MODE) if err != nil { logs.Error(err) return } // 注册插件, 全部插件默认是开启的 faceplusplus.Register(session) replier.Register(session) switcher.Register(session) gifer.Register(session) // 你也能够本身选择关闭插件里的handler(消息处理器) session.HandlerRegister.DisableByName("faceplusplus") // 登陆并接收消息 if err := session.LoginAndServe(false); err != nil { logs.Error("session exit, %s", err) } }
七、gitea:一个极易安装、运行快速、安装简单、使用体验良好的自建 Git 服务。采用 Go 做为后端语言,支持 Linux、 macOS、Windows 等,在线Demo。安装步骤以下:
$ git clone https://github.com/go-gitea/gitea $ cd gitea $ TAGS="bindata" make generate all $ ./gitea web
八、XChart:用于绘制数据的轻量级 Java 库。示例代码:
double[] xData = new double[] { 0.0, 1.0, 2.0 }; double[] yData = new double[] { 2.0, 1.0, 0.0 }; // Create Chart XYChart chart = QuickChart.getChart("Sample Chart", "X", "Y", "y(x)", xData, yData); // Show it new SwingWrapper(chart).displayChart(); // Save it BitmapEncoder.saveBitmap(chart, "./Sample_Chart", BitmapFormat.PNG); // or save it in high-res BitmapEncoder.saveBitmapWithDPI(chart, "./Sample_Chart_300_DPI", BitmapFormat.PNG, 300);
九、AndroidAutoSize:学习成本极低的 Android 屏幕适配方案,已被知名 APP 用于线上产品
十、MyPerf4J:一个针对高并发、低延迟应用设计的高性能 Java 性能监控和统计工具。特性:
十一、chrome-plugin-demo:Chrome 插件开发完整教程,可用来学习插件开发
十二、TypeScript-React-Starter:由 Microsoft 建立,该项目详细介绍了如何使用 TS 基于 create-react-app 建立 React 项目模版的步骤。TS 出现使得 JS 具备了强类型语言的严谨性,而且还保留了JS的灵活。React 是目前超火的前端框架,二者的结合很是值得学习
1三、d3:D3 的全称是(Data-Driven Documents),该库提供了各类简单易用的函数,大大简化了 JavaScript 操做数据的难度。该库的使用是数据可视化必须掌握的技术,入门教程,示例 demo
1四、33-js-concepts:该项目介绍了每一个 Javascript 开发者应该知道的 33 个概念。列举了 Javascript 中很是常见的 33 个概念,对于深刻了解 Javascript 语言有很大的帮助。中文阅读
1五、awslogs:一个简单的命令行工具,用于在本地查询 Amazon CloudWatch 日志,强大的支持多实例日志汇总查看。简单的查看命令:awslogs get /var/logs/syslog ALL -s1d
1六、CUP:CUP 基础库是百度开源的 Python 语言基础库,致力将 DEV 从涉及底层操做、Util 操做类解放出来,使其更关注构建 service 上层业务逻辑。
目前已涵盖了构建一个服务的各个方面,你们能够从基础库的代码结构、wiki、doc 中进行简单了解。
cup |-- cache.py module 缓存相关模块 ( Memory cache related module ) |-- decorators.py module python 修饰符,好比 @Singleton 单例模式 (Decorators of python) |-- err.py module 异常 exception 类, Exception classes for CUP |-- __init__.py module 默认__init__.py, Default __init__.py |-- log.py module 打印日志类,CUP 的打印日志比较简洁、规范,设置统1、简单(cup logging module) |-- mail.py module 发送邮件 ( CUP Email module (send emails)) |-- net package 网络相关操做( Network operations, such as net handler parameter tuning ) |-- oper.py module 一些混杂操做(Mixin operations) |-- platforms.py module 跨平台、平台相关操做函数(Cross-platform operations) |-- res package 资源获取、实时用量统计等,全部在 /prco 可得到的系统资源、进程、设备等信息 ( Resource usage queries (in /proc)、Prcoess query、etc ) |-- shell package 命令 Shell 操做 pakcage ( Shell Operations、cross-hosts execution ) |-- services package 构建服务支持的类(好比心跳、线程池 based 执行器等等) Heartbeat、Threadpool based executors、file service、etc |-- thirdp package 第三方依赖纯 Py 模块( Third-party modules:pexpect、httplib2 ) |-- timeplus.py module 时间相关的模块(Time related module) |-- unittest.py module 单元测试支持模块( Unittest、assert、noseClass ) |-- util package 线程池、可打断线程、语义丰富的配置文件支持( ThreadPool、Interruptable-Thread、Rich configuration、etc ) |-- version.py module 内部版本文件,CUP Version
1七、supervisor:Python 开发的一个 C/S 服务,是 Linux/Unix 系统下的一个进程管理工具,不支持 Windows 系统。它能够很方便的监听、启动、中止、重启一个或多个进程。用 Supervisor 管理的进程,当一个进程意外被杀死,supervisort 监听到进程死后,会自动将它从新启动,很方便的作到进程自动恢复的功能,提升系统、服务的稳定性,多用于生产环境
1八、gifski-app:Gifski这个开源程序能够将一系列图片或一段视频转化为高质量的gif,高质量是这个程序最大的特点,下面咱们将从使用与评价两个方面来介绍这个程序。Gifski实际上适用于windows,mac以及linux三个平台,惟一不一样的是,mac平台上的gifski内置了视频分帧工具,所以能够直接把视频拖入程序窗口便可生成gif,而其它平台上则只能使用第三方程序分帧后才能处理,而且要在命令行中运行
1九、zh-google-styleguide:Google 开源项目风格指南 (中文版)
20、README:该项目介绍了 GFM 的语法和示例展现。GitHub 的 Markdown 语法在标准的语法基础上作了扩充,称之为 GitHub Flavored Markdown,简称 GFM。友好的 README 是项目的第一印象,这点很重要
2一、puppeteer-api-zh_CN:Puppeteer 中文文档(与官方保持同步)
2二、quick-SQL-cheatsheet:SQL 速查表,中文查阅
2三、awesome-algorithm:Leetcode 题解及经典算法实现,实现语言包含 Python、Java、C++、JS
2四、nndl:《神经网络与深度学习》该课程主要介绍神经网络与深度学习中的基础知识、主要模型(卷积神经网络、递归神经网络等)以及在计算机视觉、天然语言处理等领域的应用。在线阅读
2五、pwc:深度学习、机器学习论文集合(英文)
若是你发现了好玩、有意义的开源项目 点击这里 分享你以为有意思的项目。
欢迎转载,请注明出处和做者,同时保留声明。