《HelloGitHub》第 30 期

公告

截止到第 30 期,贡献者 终于到达 3 位数—— 100 位。谢谢各位的支持和贡献,想要加入的小伙伴,快来推荐项目吧!

《HelloGitHub》第 30 期

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

简介

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

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

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

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

🎉 最后 HelloGitHub 这个项目就诞生了 🎉


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

C++ 项目

1、2048.cpp:C++ 写的终端 2048 游戏

CSS 项目

2、github-corners:在你的网站右上角挂上章鱼猫。效果如下:

Go 项目

3、frp:一个可用于内网穿透的高性能的反向代理应用,支持 tcp、udp、http、https 协议。有时想要让其他人(外网)通过域名访问或者测试我们在本地搭建的 web 服务,但是由于本地机器没有公网 IP,无法将域名解析到本地的机器,通过 frp 就可以实现这一功能。例如:微信公众号开发、slack bot 开发等,中文文档

4、nes:Golang 写的 NES 模拟器。现在可能已经没人玩 NES 游戏了,不过可以了解下怎么写模拟器、如何用 Go 模拟 CPU 和 GPU

1. 安装 
go get github.com/fogleman/nes

2. 运行
nes [rom文件的路径]

5、filebrowser:自带文件浏览器的网盘服务。支持功能:文件浏览、文件生成分享链接、批量上传、文件夹创建等服务、用户系统。安装步骤如下:

  1. 安装:docker pull filebrowser/filebrowser
  2. 配置:配置文件在 /etc/config.json,数据库在 /etc/database.db
  3. 启动
    docker run \ -v /path/to/sites/root:/srv \ -v /path/to/config.json:/config.json \ -v /path/to/database.db:/database.db \ -p 80:80 \ filebrowser/filebrowser
  4. 访问:然后访问 http://localhost 即可,默认是 80 端口,改端口的话修改 config.json 文件

Java 项目

6、cicada:基于 Netty4 实现的快速、轻量级 Web 框架。没有过多的依赖,核心 jar 包仅 30KB。一行代码即可启动 HTTP 服务,支持灵活的传参方式。中文文档,示例代码:

public class MainStart {
    public static void main(String[] args) throws InterruptedException {
        CicadaServer.start(MainStart.class,"/cicada-example") ;
    }
}

JavaScript 项目

7、legoflow:内置最前沿的 WebPack4、Babel7、Gulp4 的构建工具,无需安装复杂的系统环境,更轻、更强、开箱即用的前端工作流客户端

8、v-uploader:基于 Vue2 简洁易用、可批量、拖拽的文件上传插件。该作者 GitHub 仓库 还有很多使用 Vue 开发的组件,想学习编写 Vue 组件的同学可以前去学习、借鉴。文档及示例,支持功能:

  • 单文件上传模式带图片预览框
  • 单文件上传模式预览框模式支持关闭、自定义尺寸、自定义默认展示图片等定制化功能
  • 批量上传模式支持图片预览、文件拖拽
  • 健全的上传文件限制,文件类型、文件尺寸、自定义校验等

9、ice:让前端开发简单而友好,海量可复用物料,配套桌面工具极速构建前端应用。模板比较多,样式易于定制,物料的概念很好。可用来极速构建中后台应用,官网

10、thejsway:JavaScript 教程(英文),该教程对新手友好、全面。从编程基础到前端、后端 Web 开发。该教程采用 ES2015 语法编写,还有良好的编程习惯指导。使用 ESLint 、Pretties 工具,并遵循 AirBnb 风格指南。每章都有练习,使得获得的技能付诸于事件。最后的一个实战项目将指导你创建新闻 Web 应用

Objective-C 项目

11、iOS-InterviewQuestion-collection:iOS 开发者在面试过程中,常见的一些面试题,建议尽量弄懂了原理,并且多实践。

Python 项目

12、termtosvg:Python 写的终端记录器。通过命令 termtosvg 运行该工具,然后在终端执行你要展示的命令,最终输入 exit 命令结束录制,本地会生成一份 SVG 动画,可用于分享、展示终端操作。效果如下:

13、cx-extractor-python:这是一个对网页正文进行抽取的工具。 cx-extractor 算法的 python 版本,改进了原有算法,使其支持中英文,对新闻类网页正文抽取效果较好。示例代码:

from crawler.cx_extractor_Python import  cx_extractor_Python
cx = cx_extractor_Python()
test_html = cx.getHtml('http://news.163.com/16/0101/10/BC84MRHS00014AED.html')
content = cx.filter_tags(test_html)
s = cx.getText(content)
print(s)

Swift 项目

14、FileHider-for-mac:一款将你的文件夹、文件隐藏起来的小工具。适用于 macOS X 10.10 及以后的版本

其它

15、weekly:前端精读。前端界的好文精读,每周更新

16、DDFE-blog:滴滴前端技术分享

17、Algorithm_Interview_Notes-Chinese:算法、深度学习、NLP 面试笔记

18、chinese-xinhua:中华新华字典数据库。包括歇后语,成语,词语,汉字

19、HowToBeAProgrammer:成为一名好的程序员是困难的,将一个想法变为现实,最困难的地方在于与你的同事和顾客相处。编程能力很重要,但在好的程序员看来。相比构建一个让各种各样客户都满意的软件系统,纯粹的编程真的只是小孩子的玩意。在这篇文章里,我尝试尽可能简洁地总结那些当我 21 岁时,希望别人告诉我的事。中文版

机器学习

20、100-Days-Of-ML-Code:《机器学习 100天》中文版


换种方式阅读

声明

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

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