《HelloGitHub》第 19 期

1,056 阅读6分钟

兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!

简介

分享 GitHub 上有趣、入门级的开源项目。

这是一个面向编程新手热爱编程对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目让生活变得更美好的工具书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。

  • 会编程的可以贡献代码
  • 不会编程的可以反馈使用这些工具中的 Bug
  • 帮着宣传你觉得优秀的项目
  • Star 项目 :star:

在浏览、参与这些项目的过程中,你将学习到更多编程知识提高编程技巧找到编程的乐趣

:tada: 最后 HelloGitHub 这个项目就诞生了 :tada:


以下为本期内容|每个月 28 号发布最新一期|点击查看往期内容

Go 项目

1、ctop:实现了类 top 命令展示效果的 docker 容器监控工具

Java 项目

2、MVPArt:一个新的 MVP 架构,此框架旨在解决传统 MVP 类和接口太多、并且 Presenter 和 View 通过接口通信过于繁琐、重用 Presenter 代价太大等问题。架构图如下:

3、p3c:阿里云栖大会发布的 Java 代码规约扫描插件,支持多种 IDE。代码规范对于编程来说是非常重要的,随着代码量的增多会更加意识到其重要性。赶快拿去使用吧,阿里巴巴 Java 开发手册

4、HanLP:汉语处理包,目标是普及自然语言处理在生产环境中的应用。特点:功能完善、性能高效、架构清晰、语料时新、可自定义

JavaScript 项目

5、wxapp-market:小程序营销组件,使用简单、方式齐全。包含示例代码,玩法多样

  • 大转盘
  • 刮刮乐
  • 老虎机
  • 水果机
  • ...

6、SelectMenu:基于 jQuery 1.x 库的多样化的下拉菜单插件,源码具有中文注释,对于学习 jQuery 插件有帮助。示例代码如下:

var data = [
    {id:1 ,name:'Chicago Bulls',desc:'芝加哥公牛'},
    {id:2 ,name:'Cleveland Cavaliers',desc:'克里夫兰骑士'},
    {id:3 ,name:'Detroit Pistons',desc:'底特律活塞'},
    {id:4 ,name:'Indiana Pacers',desc:'印第安纳步行者'}
];
//initialize selectmenu
$('#btnDemo').selectMenu({
    showField : 'desc',
    keyField : 'id',
    data : data
});

7、project-guidelines:JavaScript 项目规范,中文

8、emoji:方便快速查找获取 emoji 表情、名称,并且可以复制到任何文本中,另外支持中文搜索 :100: 网站地址

9、H5:这是作者的个人项目,功能是可视化编辑、生成手机 H5 页面的单页应用 WebApp。该项目是一个全栈项目,具有前后端完整服务。并且项目结构清晰。后端服务具有控制器,模型,路由,前端服务具有组件,并且使用 Vuex 做状态管理,麻雀虽小五脏俱全

10、micro-note:目前的前端圈使用最多的莫过于 Vue 以及 React,而 Angular 使用相比前两个就会少一点,而 Angular 也因为过于强大,导致学习曲线陡峭涉及概念繁多等问题。该项目(徽记)是基于 Angular4 以及 Typescript 开发,项目中都是 Angular4 基础使用,适合新手入门、学习、动手实践

Kotlin 项目

11、kotlin-examples:JetBrains 开源的 Kotlin 语言 Web 示例项目

Objective-C 项目

12、BulletAnalyzer:斗鱼弹幕分析工具,功能包含:语义近似度合并、CG/CA 图表数据绘制、Socket 链接数

PHP 项目

13、Biny:腾讯开源的一款高性能的超轻量级PHP框架,用于快速开发现代 Web 应用程序。代码简洁优雅,对应用层,数据层,模板渲染层的封装简单易懂,能够快速上手使用,文档齐全。高性能,框架响应时间在 1ms 以内,单机 qps 轻松上3000。

  • 支持跨库连表,条件复合筛选,查询PK缓存等
  • 同步异步请求分离,类的自动化加载管理
  • 支持Form表单验证,支持事件触发机制
  • 支持浏览器端调试,快速定位程序问题和性能瓶颈
  • 具有sql防注入,html自动防xss等特性

Python 项目

14、binlog2sql:从 MySQL binlog 解析出你要的 SQL。根据不同选项,提供如下功能

  • 数据快速回滚,闪回原理与实践
  • 主从切换后新 master 丢数据的修复
  • 从 binlog 生成标准SQL,带来的衍生功能

15、pandas-tutorial:这套 pandas 教程包含从初级到进阶的内容,适合初学者和希望进阶建立知识体系的数据科学从业者阅读。作者还在持续更新高级内容,你值得拥有

16、pysheeet:Python 速查表,在线阅读

17、robobrowser:提供多种模拟操作网页的库,比如获得网页内容、访问链接、点击按钮、填充并提交表单、上传文件。使用简单、API 友好。适用于想要通过脚本流程化操作,某些未提供这些操作接口的场景,示例代码如下:

# 上传文件
from robobrowser import RoboBrowser

# Browse to a page with an upload form
browser = RoboBrowser()
browser.open('http://cgi-lib.berkeley.edu/ex/fup.html')

# Find the form
upload_form = browser.get_form()
upload_form                     # <RoboForm upfile=, note=>

# Choose a file to upload
upload_form['upfile']           # <robobrowser.forms.fields.FileInput...>
upload_form['upfile'].value = open('path/to/file.txt', 'r')

# Submit
browser.submit(upload_form)

18、ItChat:开源的微信个人号SDK,提供了丰富的功能。从而使得 Python 调用微信、发送消息、传输文件等操作只需要编写极少的代码,示例代码如下:

import itchat

itchat.auto_login()

itchat.send('Hello, filehelper', toUserName='filehelper')

其它

19、Amazing-Windows-Apps:该项目收录了众多 Windows 绝妙的项目、工具。这些软件都是经过测试,安全、免费、好用,在线阅读

20、remote-working:收集整理国内远程工作相关的项目

21、ios-dev-flow:iOS 开发流程,记录了 iOS 程序上架需要的方方面面

22、Awesome_APIs:第三方 API 集合,包含:国内、国外、官方、非官方

23、chinese-poetry:中华古典文集数据集,以 json 文件方式存储。爬取过程及分析

开源书籍

24、kubernetes-handbook:Kubernetes 中文指南/实践手册,在线阅读

25、op_practice_book:《运维实践指南》

26、microservices-from-design-to-deployment-chinese:《微服务:从设计到部署》中文版,在线阅读


换种方式阅读

声明

如果你发现了好玩、有意义的开源项目 点击这里 分享你觉得有意思的项目。

欢迎转载,请注明出处和作者,同时保留声明。