《HelloGitHub》第 48 期
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目,每月 28 号更新一期。这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。
元气贪吃蛇游戏。作者受到元气骑士的启发,基于贪吃蛇进行一些玩法上的创新。该项目适用于 C 语言初学者、第一次尝试使用跨平台图形库的同学,参考本项目就可以写出一个可玩性高的游戏,收获满满成就感
一个跨平台、简单易用的非阻塞 IO 事件循环库。用它可以快速的编写 HTTP 客户端/服务端,可提供高性能的 httpd 服务。项目模块划分清晰,代码可读性高,快去看下源代码吧。示例代码:
#include "HttpServer.h" int http_api_echo(HttpRequest* req, HttpResponse* res) { res->body = req->body; return 0; } int main() { HttpService service; service.base_url = "/v1/api"; service.AddApi("/echo", HTTP_POST, http_api_echo); http_server_t server; server.port = 8080; server.service = &service; http_server_run(&server); return 0; }
开源的多线程 socket 扫描 IP 端口的程序。目前仅支持 Windows 系统,代码简单可作为初学者学习项目
命令: myscan -p Port1[,Port2,Port3...] [-t Thread](default 10) [-d] (DEBUG) StartIp EndIp 例子: myscan -p 80 192.168.1.1 192.168.1.254 myscan -p 21,22,23,80,443,8080 -t 256 192.168.1.1 192.168.1.254
一个使用 C++ 17 开发的终端模拟器。可在 Windows、Linux 和 MacOS 三大平台使用,支持字体连字 Font Ligatures(例如 Fira Code 字体)、GPU 加速渲染、背景模糊(Win10、KDE)、256 色、True Color 和配色主题
一款开源的、针对海量特征向量的相似性搜索引擎。相比 Faiss 和 SPTAG 这样的算子库,Milvus 提供完整的向量数据更新,索引与查询框架。Milvus 利用 GPU 进行索引加速与查询加速,能大幅提高单机性能。部署使用简单,降低了 AI 应用落地的难度
Go 语言刷 LeetCode。在线阅读
展示当前系统运行了哪些 Go 程序的工具,同时支持深入分析的参数
# 展示当前运行的所有 Go 程序 $ gops 983 980 uplink-soecks go1.9 /usr/local/bin/uplink-soecks 52697 52695 gops go1.10 /Users/jbd/bin/gops 4132 4130 foops * go1.9 /Users/jbd/bin/foops 51130 51128 gocode go1.9.2 /Users/jbd/bin/gocode # 某一个 Go 程序的详细信息 $ gops <pid> parent PID: 5985 threads: 27 memory usage: 0.199% cpu usage: 0.139% username: jbd cmd+args: /Applications/Splice.app/Contents/Resources/Splice Helper.app/Contents/MacOS/Splice Helper -pid 5985 local/remote: 127.0.0.1:56765 <-> :0 (LISTEN) local/remote: 127.0.0.1:56765 <-> 127.0.0.1:50955 (ESTABLISHED) local/remote: 100.76.175.164:52353 <-> 54.241.191.232:443 (ESTABLISHED)
分布式易扩展的可视化 DAG 工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用
一套面向常规统计图表,以数据驱动的高交互可视化图形语法,具有高度的易用性和扩展性。使用 G2,你可以无需关注图表各种繁琐的实现细节,一条语句即可使用 Canvas 或 SVG 构建出各种各样的可交互的统计图表。G2 是整个蚂蚁金服 AntV 可视化解决方案中的一个环节,主要针对在高交互、高扩展的二维统计图表
使用简单方便,轻松实现异步请求的 HTTP 客户端(Python 3.8+)。示例代码:
>>> import httpx # 同步 >>> r = httpx.get('https://www.example.org/') >>> r <Response [200 OK]> >>> r.status_code # 异步 >>> async with httpx.AsyncClient() as client: >>> r = await client.get('https://www.example.org/') >>> r <Response [200 OK]>
Python 有趣、实用的代码示例集合。包含:Python 基础、小技巧、坑、文件操作、机器学习、绘图等,代码如下:
# pyecharts 绘制水球图示例 from pyecharts import options as opts from pyecharts.charts import Liquid, Page from pyecharts.globals import SymbolType def liquid() -> Liquid: c = ( Liquid() .add("lq", [0.67, 0.30, 0.15]) .set_global_opts(title_opts=opts.TitleOpts(title="Liquid")) ) return c liquid().render('./img/liquid.html')
Keras 官方出品基于 Keras 的 AutoML 系统。支持 CPU 和 GPU 训练,傻瓜式 API,3 行代码就能训练一个模型。目前支持的任务:图像分类、图像回归、文本分类、结构化数据分类等。将人从手工选择超参数中解放出来,快速开发原型,官方口号“所有人都能使用机器学习”,官网
# 安装命令 pip install autokeras import autokeras as ak clf = ak.ImageClassifier() clf.fit(x_train, y_train) results = clf.predict(x_test)
该项目汇集了浏览器鲜为人知的一些功能
解 LeetCode 题目集合。号称“手撕 LeetCode 题目”,虽然之前推荐过不少解题集合,但是这次我还是没忍住。该项目讲究思路指南,解题思路描述清晰,真香啊
一个 Git 命令可视化学习项目。能够生动形象的帮助开发人员理解、学习 Git 命令,通过一系列刺激的关卡挑战,逐步深入的学习 Git 的强大功能。在线尝试
采用追问形式的后端面试问题总结。提问然后追问是面试常见模式,更加贴近真实面试
- C 项目
- C++ 项目
- CSS 项目
- Go 项目
- Java 项目
- JavaScript 项目
- Python 项目
- Ruby 项目
- 人工智能
- 其它