程序员的开源月刊《HelloGitHub》第61期

程序员的开源月刊《HelloGitHub》第61期,第1张

概述兴趣是最好的老师,HelloGitHub让你对编程感兴趣!简介分享GitHub上有趣、入门级的开源项目。内容包括:有趣、入门级的开源项目、开源书籍、实战项目、企业级项目等,让你在短时间内感受到开源的魅力,对开源和编程产生兴趣!以下为本期内容|每个月28号更新C项目1、acwj:教你

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!

简介

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

内容包括:有趣、入门级的开源项目、开源书籍、实战项目、企业级项目等,让你在短时间内感受到开源的魅力,对开源和编程产生兴趣!


以下为本期内容|每个月 28 号更新

C 项目

1、acwj:教你写 C 语言编译器的实战教程。教程注重实战循序渐进,一步步教你如何用 C 语言写一个可以自己编译自己(自举)、能够在真正的硬件上运行的 C 语言编译器

2、zstd:快速、无损的数据压缩算法 Zstandard 的实现。Zstd 的压缩比接近 lzma、lzham 和 ppmx,并且比 lza 或 bzip2 性能更好。在相似的压缩比情况下,它解压缩的速度比其他的算法都要快。很多知名项目和游戏都有这个算法的身影,示例代码:

static voID compress_orDIE(const char* fname, const char* oname){    size_t fSize;    voID* const fBuff = mallocAndLoadfile_orDIE(fname, &fSize);    size_t const cBuffSize = ZSTD_compressBound(fSize);    voID* const cBuff = malloc_orDIE(cBuffSize);    /* Compress.     * If you are doing many compressions, you may want to reuse the context.     * See the multiple_simple_compression.c example.     */    size_t const cSize = ZSTD_compress(cBuff, cBuffSize, fBuff, fSize, 1);    CHECK_ZSTD(cSize);    savefile_orDIE(oname, cBuff, cSize);    /* success */    printf("%25s : %6u -> %7u - %s \n", fname, (unsigned)fSize, (unsigned)cSize, oname);    free(fBuff);    free(cBuff);}

C# 项目

3、ravendb:一款快速、可靠的开源 Nosql 数据库

4、Files:一个全新的文件管理器。采用 Fluent Design 和 windows 平台最新的 API 实现,简约但不简单

Go 项目

5、jql:用 Go 写的 JsON 数据查询工具。该工具安装方便,语法简单容易上手,实用示例代码很多比如:

# 查询 test.Json 文件中,所有国家的名称cat test.Json | jql '(elem "countrIEs" (elem (keys) (elem "name")))'[  "Poland",  "United States",  "Germany"]

6、chanify:基于 Go 实现的向 iOS 设备推送消息的服务。手机上安装好配套的 iOS 应用,然后以 Docker 的方式部署完服务,就可以通过一条命令推送指定消息到 APP 上,是不是很方便吖

# 发送文本消息$ curl --form-string "text=hello" "http://<address>:<port>/v1/sender/<token>"# 发送文本文件$ cat message.txt | curl -H "Content-Type: text/plain" --data-binary @- "http://<address>:<port>/v1/sender/<token>"

7、algorithm-pattern:LeetCode 刷题集合项目。项目从 Go 语言入门讲起,总结了一套刷题模板和解题套路,示例代码为 Go 语言

8、imaging:Go 语言的图像处理库。支持:调整大小、旋转、剪切、亮度调整等功能,示例代码:

// 调整dstimage128 := imaging.Resize(srcImage, 128, 128, imaging.lanczos)// 锐化dstimage := imaging.Sharpen(srcImage, 0.5)

9、ebiten:Go 语言的 2D 游戏引擎库。通过它可以轻松地用 Go 语言制作出支持多平台的 2D 游戏,项目中还包含很多示例代码,帮助你快速上手

Java 项目

10、flink-recommandSystem-demo:一个基于 Flink 实现的商品实时推荐系统。可以通过这个项目了解和学习推荐系统的设计和流程,该系统是通过 Flink 处理日志和统计商品热度,将处理好的数据放入 Redis 缓存。然后再将画像标签和实时记录放入 HBase。在用户请求获取推荐时,根据用户画像生成商品热度榜,并结合协同过滤和标签两个推荐模块,返回最终生成的商品推荐列表

11、OpenRefine:一款用于清理数据的桌面工具。通过可视化的方式分析、整理数据,支持 windows、linux、Mac *** 作系统。拥有查询、过滤、去重、分析等功能,可以把杂乱的数据变成“整洁”的电子表格,还能够将结果导出成多种格式的文件。不会编程和 sql 的小伙伴们,也可以轻松分析海量数据啦!

12、jacoco:Java 代码测试覆盖率库

13、kooder:一个开源的代码搜索服务。为包括 GitLab、Gitea 的代码托管系统提供源码、仓库、Issue 的搜索服务

JavaScript 项目

14、taro:一款 Web 轻量级的 3D 游戏引擎。底层基于 three.Js 和 cannon-es 支持 3D 刚体物理引擎

15、kutt:免费开源的短链接服务。服务基于 Node.Js+Express+React 实现,支持管理链接、自定义短链接、设置链接密码、访问统计等功能

16、nav:一个支持 SEO 的静态导航网站。不依赖后端的纯前端项目开箱即用,简单清爽

17、drawio:一款简洁强大的绘图工具。免费开源可以自行部署也可以在线使用,功能上直追 Microsoft Visio。支持流程图、序列图、网络拓扑图、甘特图、思维导图、模型图等,还能导出多种格式类型比如 png、svg、pdf、HTML 和 VSDX 格式(Microsoft Visio 图形格式)

18、npkill:快速查找和轻松删除 node_modules 文件夹的工具。还在为 node_modules 占了很多磁盘空间而烦恼吗?还在手动找用不到的 node_modules 目录吗?快来试试 npkill 吧!轻松地删除 node_modules 目录

PHP 项目

19、question2answer:采用 PHP+MysqL 实现的免费开源的问答平台。基本上问答平台该有的功能它都有,那么问题来了是做个知乎还是 Stack Overflow 呢?

支持回答投票、评论、最佳回答、关注和关闭问题完备的用户和权限管理多语言支持搜索时的相似问题匹配等等

Python 项目

20、tomato-clock:Python 写的命令行番茄工作法定时器。代码仅有 100 多行,不依赖其它第三方库

          总结       

以上是内存溢出为你收集整理的程序员的开源月刊《HelloGitHub》第61期全部内容,希望文章能够帮你解决程序员的开源月刊《HelloGitHub》第61期所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232346.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)