21

《HelloGitHub》第 21 期 - 削微寒

 6 years ago
source link: https://www.cnblogs.com/xueweihan/p/8134040.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

元旦快乐!

《HelloGitHub》第 21 期

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

759200-20171228094639066-1996559203.jpg

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

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

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

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

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


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

1、kcp:纯算法实现的快速可靠协议。能以比 TCP 浪费 10%-20% 的带宽为代价,换取平均延迟降低 30%-40%,且最大延迟降低 3 倍的传输效果

C++ 项目

2、OpenCC:中文简繁转化开源项目,在线尝试

  • 严格区分 “一简对多繁” 和 “一简对多异”
  • 完全兼容异体字,可以实现动态替换
  • 严格审校一简对多繁词条,原则为 “能分则不合”
  • 支持异体字和地区习惯用词转换,如 “裏” “裡”、“鼠標” “滑鼠”
  • 词库和函数库完全分离,可以自由修改、导入、扩展
  • 支持 C++、Python、PHP、Java、Ruby、Node.js 等
  • 兼容 Windows、Linux、Mac 平台

3、mattermost-server:采用 Go 语言开发的团队通讯服务项目,可用于自行搭建服务。为团队带来跨 PC 和移动设备的消息收发、文件分享,搜索等功能的通讯服务平台

759200-20171228094316972-1333013044.png

Java 项目

4、android-material-design-icon-generator-plugin:IntelliJ/Android Studio 生成、设计 icon 的插件,安装简单使用方便。如下图所示:

759200-20171228094344613-1763632247.gif

5、Blade:轻量级、高效、简洁优雅的 Java Web 框架,致力于为个人开发者更快捷地开发 Web 应用提供便利。详尽的中文文档入门视频。示例代码:

public static void main(String[] args) {
    Blade.me().get("/", (req, res) -> {
        res.text("Hello Blade");
    }).start();
}

6、canal:MySQL 数据库 binlog 的增量订阅、消费组件。模拟 MySQL salve 方式,实现 MySQL 的主从同步,同时加入了增量日志解析等功能。MySQL 原始主备机制,示意图如下:

759200-20171228094359050-1691779644.jpg

7、RxGalleryFinal:Android 图片、视频文件选择器,支持多选、单选、拍摄和裁剪等

8、grain:极简的、组件式的 RPC 框架,灵活且适合学习。包含系统通用多线程模型与消息通讯、多对多关系的分布式锁、基于系统通用多线程模型的 Websocket 框架、支持行级锁的多线程锁等组件

759200-20171228094412035-1098415053.png

JavaScript 项目

9、numeric-keyboard:手机数字键盘,包含一个纯键盘 UI 和输入框套件。有纯 JavaScript、React、Vue 三个版本

759200-20171228094420956-1327286704.png

10、git-point:基于 React Native 开发的非官方开源 GitHub 客户端,功能丰富包含查看项目和用户信息、接收通知、管理
Issues 和 PR。支持 Android、iOS,选择对应的客户端下载使用

759200-20171228094430175-1814735163.png

11、wepy:微信官方的开源项目,该项目是为了让小程序支持组件化开发的框架,特征如下:

  • 类 Vue 开发风格
  • 支持自定义组件开发
  • 支持引入 NPM 包

12、webster:一款可以抓取网页中 AJAX 异步内容的分布式爬虫框架

759200-20171228094439206-973450537.png

13、anyupload:该项目是一款上传插件,使用方便、简单。支持多文件上传、上传速率动态控制、真实进度监控 kb/s、分块生成 MD5、分块上传、MD5 校验、暂停、取消等功能。在线体验

759200-20171228094448331-1182552423.png

Kotlin 项目

14、github-profile-summary:GitHub 账号数据可视化服务,很新颖地增加了 star 后可见(回复可见)😄

759200-20171228094459597-1967633703.png

Python 项目

15、thefuck:在 Linux 命令行中,当你输入的命令有错误后,直接输入 fuck 就可以自动执行修复后的命令,效果图如下:

759200-20171228094508675-1237470637.gif

16、youtube-dl:强大的视频下载工具,支持几百个国内外主流视频网站。正如名字一样,最初是为了下载 youtube 上的视频而开发的。如果有国外服务器的朋友,可以充分利用这个工具,下载 youtube 上的视频,速度不要太爽。下面介绍安装、下载视频等命令:

# 1. 安装命令:sudo pip install youtube-dl
Installing collected packages: youtube-dl
Successfully installed youtube-dl-2017.12.14

# 2. 查看 URL 支持格式:youtube-dl --list-formats URL
format code  extension  resolution note
134          mp4        450x360    DASH video  449k , avc1.4d4015, 25fps, video only
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
36           3gp        300x240    small , mp4v.20.3, mp4a.40.2
18           mp4        450x360    medium , avc1.42001E, mp4a.40.2@ 96k
43           webm       640x360    medium , vp8.0, vorbis@128k (best)

# 3. 选择格式下载视频:youtube-dl -f 18 URL (18为mp4 450x360格式)
[youtube:playlist] Downloading playlist PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP - add --no-playlist to just download video JyLducMVYVg
[youtube:playlist] PLF90USSyuoYzPhhFG7XFBRn63Zvs--lNP: Downloading webpage
[download] Downloading playlist: 情满四合院完整版
[youtube:playlist] playlist 情满四合院完整版: Downloading 42 videos
[download] Downloading video 1 of 42
...

# 4. 下载完成后,最后使用 https://github.com/houtianze/bypy 库把下载的视频同步到百度网盘上

17、jieba:强大的 Python 分词库,拿来直接用就好。示例代码如下:

# encoding=utf-8
import jieba

seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list))  # 全模式

seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list))  # 精确模式

seg_list = jieba.cut("他来到了网易杭研大厦")  # 默认是精确模式
print(", ".join(seg_list))

seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")  # 搜索引擎模式
print(", ".join(seg_list))

【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学

【精确模式】: 我/ 来到/ 北京/ 清华大学

【新词识别】:他, 来到, 了, 网易, 杭研, 大厦    (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)

【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造

18、pydu:该库将平时常用的数据结构和工具都收录其中,可供日常开发的使用,同时方便学习与借鉴,丰富的文档能帮助新手更好的理解和使用它。这些实用的模块都是来自于开源项目和贡献者们的智慧,快来加入到这个项目中,让它变得更加实用和丰富

19、vscode:Visual Studio Code 是微软出品的支持多平台的开源编辑器,体积小、功能丰富、性能强大、扩展性很强。我是用着挺爽,写些代码片段、文章、文档开箱即用。个人感觉编写中型项目、代码调试的话还是 IDE 更方便些,总之推荐下载和使用。下载地址

759200-20171228094527613-2004933717.png

20、hello-comic:程序员有关的漫画的集合,希望有更多的人可以加入该项目分享有意思程序员漫画

21、android-training-course-in-chinese:Android 官方培训课程中文版,在线阅读

22、go-advices:Go 建议中文版

23、git-flight-rules:Git 飞行规则,所谓飞行规则就是特定场景的非常详细的标准处理流程。该项目记录了使用 Git 过程中,如果遇到问题的解决办法和步骤,中文

24、coding-interview-university:一套完整的学习手册,项目发起者是为了让自己通过 Google 的面试而制定的计划。最后,他去了 Amazon。感谢 掘金翻译的中文版

25、pydata-notebook:《利用Python进行数据分析 2017 第二版》中文翻译笔记


换种方式阅读

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK