《HelloGitHub》第 35 期
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目,每月 28 号更新一期。这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。
免费开源的 IdentityServer4 与 Asp.Net Core Identity 管理器。IdentityServer4 官方的管理器是收费的,该项目很好的替代了官方管理器,可以方便的管理使用 IdentityServer4 所搭建的认证服务器
免费、新颖的无损图像格式。压缩比方面优于 PNG、lossless WebP、lossless BPG、lossless JPEG2000 等格式
该项目演示了如何用 Go 编写一个可以提供超过一百万个 websockets 连接、运行内存小于 1GB 的服务器。setup.sh 是用来创建 websocket 客户端的,destroy.sh 则用来销毁客户端
终端 Docker 管理工具,自带一个终端界面。使用该工具可以方便的通过界面管理 docker 不用再记那些命令。安装命令:
# Homebrew $ brew tap skanehira/docui $ brew install docui # go get $ go get -d github.com/skanehira/docui $ cd $GOPATH/src/github.com/skanehira/docui $ GO111MODULE=on go install
Golang 代码生成对应的 echarts 可视化图表。实例代码:
// example.go package main import ( "log" "math/rand" "os" "time" "github.com/chenjiandongx/go-echarts/charts" ) var nameItems = []string{"衬衫", "牛仔裤", "运动裤", "袜子", "冲锋衣", "羊毛衫"} var seed = rand.NewSource(time.Now().UnixNano()) func randInt() []int { cnt := len(nameItems) r := make([]int, 0) for i := 0; i < cnt; i++ { r = append(r, int(seed.Int63()) % 50) } return r } func main() { bar := charts.NewBar() bar.SetGlobalOptions(charts.TitleOpts{Title: "Bar-示例图"}, charts.ToolboxOpts{Show: true}) bar.AddXAxis(nameItems). AddYAxis("商家A", randInt()). AddYAxis("商家B", randInt()) f, err := os.Create("bar.html") if err != nil { log.Println(err) } bar.Render(f) }
快速开发 API 服务的框架。为简单的增删改查、复杂的查询、简单的事务操作提供了完全自动化的 API。大部分 HTTP 请求后端再也不用写接口了,也不用写文档了,适合中小型前后端分离的项目
Java 博客系统。在层出不穷的博客系统中,很难看到使用 Java 编写的简洁优雅的博客系统。该项目还具备着轻快且功能强大的特点,这些特性使它从众多 Java 博客系统脱颖而出。安装命令:
# 安装 Halo $ yum install -y wget && wget -O halo-cli.sh https://git.io/fxHqp && bash halo-cli.sh -i # 更新 Halo $ bash halo-cli.sh -u
基于 SparkSQL 实现了一套即席查询服务,具有如下特性:
- 优雅的交互方式,支持多种 datasource/sink、多数据源混算
- Spark 常驻服务,基于 zookeeper 的引擎自动发现
- 多 session 模式实现并行查询
- 等等
Spring Boot 教程
Ant Design 的 Vue 实现,该项目已经得到 Ant Design 官方认可
免费开源功能齐全的下载工具。技术展采用 Vue + VueX + Element,不仅界面简洁大方而且支持下载 BT、磁力链等资源。如果你受够了下载限速、弹框广告等,就快来 Motrix 享受“纯”下载的平静吧!技术栈适合学习桌面应用开发
- 支持 Windows、Linux、macOS
- 最高支持 10 个任务同时下载
- 单任务最高支持 64 线程下载
- 设置上传/下载限速
- 移除任务时可同时删除相关文件
- 等等
体积小、易于使用、支持各种编程语言的语法高亮插件。该项目原理是通过正则过滤关键字,然后进行高亮。代码:
// JS关键字判断 Rainbow.extend('javascript', [ /** * matches $. or $( */ { name: 'selector', pattern: /\$(?=\.|\()/g }, { name: 'support', pattern: /\b(window|document)\b/g } ...
还原、探索微信 APP 的项目。通过该项目借鉴、学习微信客户端开发的相关设计与技术,也可以学到如何分析一个第三方 APP 的方法
基于 asyncio 和 aiohttp 的 Python3 异步爬虫框架。它具有容易上手、非阻塞、扩展性强等特点,实例代码:
from ruia import TextField, Item, Spider class HackerNewsItem(Item): target_item = TextField(css_select='tr.athing') title = TextField(css_select='a.storylink') class HackerNewsSpider(Spider): start_urls = ['https://news.ycombinator.com/news?p=1'] async def parse(self, response): async for item in HackerNewsItem.get_items(html=response.html): yield item if __name__ == '__main__': HackerNewsSpider.start()
使用 Python+Vue 实现的开源运维平台,前后端分离方便二次开发。该项目基于 Docker 镜像发布部署,方便安装和升级。支持运维常见功能:主机管理、任务计划管理、发布部署、监控告警等
世界计算机名校的深度学习、强化学习、机器学习、计算机视觉、自然语言处理等方面的公开课
OpenAI 发布的 15 亿参数量通用语言模型 GPT-2,迄今最大模型!展示了一种构建语言处理系统的潜在方式,即根据自然发生的演示学习执行任务。实例代码:
export PYTHONIOENCODING=UTF-8 python3 src/generate_unconditional_samples.py | tee samples python3 src/generate_unconditional_samples.py --top_k 40 --temperature 0.7 | tee samples python3 src/interactive_conditional_samples.py --top_k 40
适用于多种人类语言的 Stanford NLP 官方 Python 库。包含用于运行 CoNLL 2018 共享任务的最新完全神经管道以及访问 Java Stanford CoreNLP 服务器的软件包。实例代码:
import stanfordnlp stanfordnlp.download('en') # This downloads the English models for the neural pipeline nlp = stanfordnlp.Pipeline() # This sets up a default neural pipeline in English doc = nlp("Barack Obama was born in Hawaii. He was elected president in 2008.") doc.sentences[0].print_dependencies()
易学易用的 Tensorflow 教程
支持 Android、iOS、Web、Desktop 的 GitHub 管理通知客户端。能够帮你方便地接收、查看、管理 GitHub 消息、动态等
浸淫渗透攻击的老鸟所写,内容一线深入浅出,主要是 Windows 系统场景。对于初中级安全从业人员、乙方安全测试、甲方安全自检、网络安全爱好者等提高都有很大的帮助
免费、开放、持续更新的编程竞赛相关知识教程。包含竞赛的基础知识、常见题型、解题思路以及常用工具等内容,帮助大家更快速、深入地学习编程竞赛相关知识
该仓库收录中国科学技术大学众多课程资源。包括电子版教材、参考书、讲义、试卷、学习心得、习题解答等。以计算机学院课程为主,也包含公选课、自由选修等其他课程。
《C/C++ 面向 WebAssembly 编程》,在线阅读
(英文)深入探讨 JavaScript 语言核心机制的书籍,适用于深入学习 JS。该书已出版,但在线阅读免费
- C# 项目
- C++ 项目
- Go 项目
- Java 项目
- JavaScript 项目
- Objective-C 项目
- Python 项目
- 人工智能
- 其它
- 开源书籍