《HelloGitHub》第 22 期

2018/01/29 13:06
阅读数 102

公告

年前最后一期,下次就是年后了,老时间 每月的 28 号,年后见~

《HelloGitHub》第 22 期

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

简介

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

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

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

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

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


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

C++ 项目

1、albert:Linux 平台下类似于 Mac Alfred 效率神器。支持开机自启动、自定义快捷键等功能

Go 项目

2、rainbond好雨开源的生产级无服务器 PaaS。用于为云原生应用的整个交付流程提供生产级支持,包括基础设施管理、容器化改造、微服务架构转型、DevOps 工作流落地、混合云多云管理等

Java 项目

3、awesome-java-leetcodeLeetCode 上面主要收集了各大 IT 公司的笔试面试题。该项目为 LeetCode Java 语言的题解集合

4、GSYVideoPlayer:Android 视频播放器。支持弹幕、滤镜、水印、截图、边播边缓存、重力旋转与手动旋转的同步等多种功能

5、FloatWindow:Andorid 任意界面悬浮窗组件,功能丰富,使用简单。特性如下:

  • 支持拖动、自动贴边等动画
  • 内部自动进行权限申请操作
  • 应用退到后台时,悬浮窗会自动隐藏
  • 等等

6、anychat:纯净的 WebSocket 聊天插件。服务器绝对控制权的推送机制,合理的线程设计,在线 Demo。功能如下:

  • 对接任何身份系统
  • 个人聊天、群聊天
  • 查看聊天记录
  • 离线消息推送
  • 支持嵌入式,通过 iframe 即可进行嵌入
  • 等等

JavaScript 项目

7、webpack-component-loader:在不借助框架的情况下,实现 Web component 的标准。该项目对于理解组件化的概念很有帮助

8、handsontable:强大的开源 HTML5 表格处理工具,适用于中后台的很多业务场景。API 方便、扩展性好、可操作性强,与Execl 等表格处理程序兼容好。并支持非常丰富的操作,如数据绑定、验证、排序及强大的上下文菜单。示例代码如下:

var data = [
  ["", "Tesla", "Volvo", "Toyota", "Honda"],
  ["2017", 10, 11, 12, 13],
  ["2018", 20, 11, 14, 13],
  ["2019", 30, 15, 12, 13]
];

var container = document.getElementById('example');
var hot = new Handsontable(container, {
  data: data,
  rowHeaders: true,
  colHeaders: true,
  filters: true,
  dropdownMenu: true
});

9、learnVue:该项目记录了染陌学习 Vue.js 源码的过程中的心得、收获。以及对于Vue 框架周边库的个人见解。可以帮助开发人员深入地理解 Vue.js 源码

Python 项目

10、shell-functools:把函数式的编程带入 shell,从而让很多事情变得简单。通过 Python 的高阶函数和内置模块 os.path 与命令的管道结合,达到了强大、高效的功效。相比于单纯的命令实现更加的直观和容易理解,示例代码如下:

示例 1
# ls 查看当前目录下的文件
> ls 
document.txt
folder
image.jpg

# 通过 map abspath 展示这些文件的绝对路径
> ls | map abspath
/tmp/demo/document.txt
/tmp/demo/folder
/tmp/demo/image.jpg

示例 2
# find 命令找到的文件和目录
> find
.
./folder
./folder/me.jpg
./folder/subdirectory
./folder/subdirectory/song.mp3
./document.txt
./image.jpg

# 把找到的结果中的文件,重命名在末尾追加 .bak (备份文件)
> find | filter is_file | map basename | map append ".bak"
me.jpg.bak
song.mp3.bak
document.txt.bak
image.jpg.bak

11、tqdm:强大、快速、易扩展的 Python 进度条库。我想通过下面的示例代码和效果展示图,你会跑去给这个项目来个 Star 的

from tqdm import tqdm
for i in tqdm(range(10000)):
    pass
# 输出结果:
# 76%|████████████████████████████         | 7568/10000 [00:33<00:10, 229.00it/s]

其它

12、koa-guide:Node.js Web 框架,Koa 的中文文档

13、API-Security-Checklist:开发安全的 API 所需要核对的清单,中文

14、http2-explained:这是一篇详细讲解 HTTP/2(RFC 7540)的文档,主要内容包括该协议的背景、思想、协议本身的内容、对一些现有实现的探讨与对协议未来的展望。中文

15、document-style-guide:《中文技术文档的写作规范》


换种方式阅读

声明

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

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

本文同步分享在 博客"削微寒的程序员之路"(CNBlog)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部