下拉刷新
目录

《HelloGitHub》第 24

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目,每月 28 号更新一期。 这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。

提示:点击 可以按照对应「分类」查看月刊。
C 项目
Star 3.8kFork 1.2kWatch 245

nginx-1.9.2 源码通读分析注释,带详尽函数中文分析注释以及相关函数流程调用注释

Go 项目
2.lux
Star 2wFork 2.4kWatch 346

Go 编写的快速、简单、干净的视频下载程序。支持哔哩哔哩、YouTube 视频网站

$ annie -c cookies.txt https://www.bilibili.com/video/av20203945/ Site: 哔哩哔哩 bilibili.com Title: 【2018拜年祭单品】相遇day by day Type: video Stream: [default] ------------------- Quality: 高清 1080P60 Size: 220.65 MiB (231363071 Bytes) # download with: annie -f default "URL" 16.03 MiB / 220.65 MiB [==>----------------------------] 7.26% 9.65 MiB/s 19s
Star 2.6kFork 309Watch 98

Go 知识图谱

Java 项目
Star 360Fork 52Watch 8

仿今日头条点赞喷射表情动画

SuperLike
Star 1.5kFork 165Watch 46

Android 页面在打开后需要在 UI 初始化完成后才能发起网络请求,以免网络请求返回后展示到 UI 时出现错误。但这种串行的做法导致页面的整个初始化时间变长。使用该工具可以在打开页面之前预加载数据,然后在页面 UI 初始化完成后提取预加载好的数据进行展示,从而缩短页面初始化时间,提升用户体验。示例代码如下:

// 开启预加载任务 int preLoaderId = PreLoader.preLoad(new Loader()); Intent intent = new Intent(this, PreLoadBeforeLaunchActivity.class); intent.putExtra("preLoaderId", preLoaderId); startActivity(intent); // 预加载任务:模拟网络接口请求获取数据 class Loader implements DataLoader<String> { @Override public String loadData() { //此方法在线程池中运行,无需再开子线程去加载数据 try { Thread.sleep(600); } catch (InterruptedException ignored) { } return "data from network server"; } } // 在Activity(或Fragment)中UI初始化完成后开始监听预加载数据 PreLoader.listenData(preLoaderId, new Listener()); // 数据加载完成后,会调用DataListener.onDataArrived(...)来处理加载后的数据 class Listener implements DataListener<String> { @Override public void onDataArrived(String data) { //此方法在主线程中运行,无需使用Handler切换线程运行 Toast.makeText(activity, data, Toast.LENGTH_SHORT).show(); } }
JavaScript 项目
Star 10.5wFork 1.1wWatch 2.6k

精选可以在 30秒 或更短的时间内理解的实用 JavaScript 代码片段集合

30-seconds-of-code
Star 2wFork 2.1kWatch 602

小程序的前端框架。框架基于 Vue.js 核心,修改了 Vue.js 的 runtime 和 compiler 实现。使其可以运行在小程序环境中,为小程序开发引入了整套 Vue.js 开发体验。5 分钟上手视频

  • 彻底的组件化开发能力:提高代码复用性
  • 完整的 Vue.js 开发体验
  • 方便的 Vuex 数据管理方案:方便构建复杂应用
  • 快捷的 webpack 构建机制:自定义构建策略、开发阶段 hotReload
  • 支持使用 npm 外部依赖
  • 使用 Vue.js 命令行工具 vue-cli 快速初始化项目
  • H5 代码转换编译成小程序目标代码的能力
Star 1.8kFork 456Watch 111

Chrome 音乐实验室是一个网站,让学习音乐变得更加简单、好玩。完全基于Web端,国内可直接访问、老少皆宜、支持多种乐器,圆你一个音乐梦

chrome-music-lab
Star 6.2kFork 804Watch 236

《Node.js 调试指南》作者整理了使用 Node.js 开发这几年的调试经验和思路

Objective-C 项目
Star 1.3wFork 2.4kWatch 417

Mac 版微信小助手,支持自动回复、消息防撤回、远程控制、微信多开、会话置底、免认证登录、通知快捷回复等功能

WeChatPlugin-MacOS
Star 1.6kFork 163Watch 32

通过使用 LSAnimator(Objective-C)或者 CoreAnimator(Swift)可以用少量的代码实现复杂而又易于维护的动画,并且弥补了 JHChainableAnimations 的致命缺陷。详细描述

LSAnimator
PHP 项目
Star 3.6kFork 780Watch 135

一套开源办公套件,适用于企业、团队搭建自己的 类似 Google 企业应用套件、微软 Office365 的企业协同办公平台。在线演示

Python 项目
Star 5.2kFork 940Watch 212

使用 Scrapy+Redis 实现的高可用分布式 IP 代理池,为大型分布式爬虫提供高可用低延迟的代理 IP 资源。

from client.py_cli import ProxyFetcher args = dict(host='127.0.0.1', port=6379, password='123456', db=0) # 这里`zhihu`的意思是,去和`zhihu`相关的代理ip校验队列中获取ip # 这么做的原因是同一个代理IP对不同网站代理效果不同 fetcher = ProxyFetcher('zhihu', strategy='greedy', redis_args=args) # 获取一个可用代理 print(fetcher.get_proxy()) # 获取可用代理列表 print(fetcher.get_proxies()) # or print(fetcher.pool)

以知乎为目标抓取网站,该代理IP池的实际性能测试结果如下:

haipproxy
Star 595Fork 146Watch 17

基于 Pyqt4 的电影天堂电影搜索工具,再也不用忍受各种广告和点击跳转了

MovieHeavens
Star 5.4kFork 1.6kWatch 281

基于搜狗微信搜索的微信公众号爬虫库,极易上手。示例代码:

import wechatsogou ws_api = wechatsogou.WechatSogouAPI() ws_api.get_gzh_info('微信名称')
Swift 项目
16.iina
Star 3.2wFork 2.4kWatch 533

Mac 下开源多媒体播放器,支持多国语言、高逼格 UI。安装:brew cask install iina

iina
其它
Star 2kFork 150Watch 85

介绍程序员如何申请到澳洲工作

Star 3.6wFork 5.3kWatch 773

与典型的软件工程师面试不同,前端面试对算法的重视比较低。面试会更多考查错综复杂的前端知识,像 HTML、CSS、JavaScript 等等。这个项目整理了这些问题,并给出了答案以及参考连接。中文版

19.blog
Star 2.7kFork 323Watch 292

蚂蚁数据体验技术团队的博客

Star 15.9wFork 5wWatch 5.4k

该项目整理了技术面试中需要掌握的基础知识,包含了网络、操作系统、算法、数据库、Java、分布式等

机器学习
Star 957Fork 170Watch 55

英雄联盟的机器学习项目,规模不大,适合研究一些 CV 和 ML 的算法应用

DeepLeague
Star 3.8kFork 478Watch 180

TensorFlow Docs 是由掘金翻译计划实时维护的 TensorFlow 官方文档中文版,维护者为全球各大公司开发人员和各著名高校研究者及学生

Star 3.4wFork 1.1wWatch 1.7k

ApacheCN 制作的《机器学习实战》。配套视频:编码能力强,建议观看《机器学习实战 - 教学版》。 编码能力弱,建议观看《机器学习实战 - 讨论版》

目录
  • C 项目
  • Go 项目
  • Java 项目
  • JavaScript 项目
  • Objective-C 项目
  • PHP 项目
  • Python 项目
  • Swift 项目
  • 其它
  • 机器学习