头图

大家好,这里是的Github精彩项目分享周刊,我是每周都在搬砖的蛮三刀酱

我会从Github热门趋势榜里选出 高质量、有趣,牛B 的开源项目进行分享。

榜单取自实时Github Trending排行榜Top50,也欢迎评论推荐作品。

1. a-picture-is-worth-a-1000-words:一图胜千言

项目介绍

这个项目非常有意思,作者试图用涂鸦来介绍软件开发一些常用的概念和工具,这个仓库名叫a-picture-is-worth-a-1000-words,顾名思义作者力求精简在一张图把一个东西讲清楚。(真的只有一张图啊喂)

作者生活在美国夏威夷檀香山,看来平常也是个艺术家了。

目前主要有三个类别的知识图解:

  • Algorithms 算法:包括哈希表,链表等
  • Web Development for Beginners Web应用开发
  • Machine Learning for Beginners 机器学习

作者还在不断更新中。

项目展示

比如作者画的算法中二叉平衡树:

Web开发中的HTML:

机器学习中的回归算法:

一句话点评

蛮三刀酱:画的很可爱,很精致!作者也很可爱,不过一张图的信息量实在有限,加上目前讲到的知识也不全,真要系统性学习,还得看系统性的教程。

2. Mindustry:开源代码的塔防游戏

项目介绍

一款开源的塔防游戏,采用Java编写。

Mindustry 是一款混合塔防沙盒工厂游戏。 创建精心设计的传送带供应链,将弹药送入您的炮塔,生产用于建筑的材料,并保护您的建筑物免受敌人的攻击。 功能包括地图编辑器、24 张内置地图、跨平台多人游戏和大型 PvP 单位战斗。

重点是:该游戏登陆了多平台,包括Windows,Linux,安卓等,并可以在Steam商店,安卓应用市场等下载。在 Steam 上购买这款游戏可以获得成就、无缝多人游戏和地图浏览/工坊支持等功能。

作者提供了每个平台的源码编译和调试方式,你可以修改源代码,发布属于你自己的定制化游戏。

<img src="https://tva1.sinaimg.cn/large/008i3skNly1guswy7h47gj60u00ubqbq02.jpg" alt="image-20210909194939665" style="zoom:50%;" />

演示

网友做了一段介绍游戏15个小技巧的视频,可以一览游戏机制。

https://www.youtube.com/watch...

一句话点评

蛮三刀酱:像素风的游戏是我的大爱。话说,很少有游戏会用Java来写,毕竟Java并不是天生用来干这个的。不过这款游戏不仅开源,并且质量很高,还登陆了Steam。

3. gitleaks:扫描Git仓库泄露的密码

项目介绍

Gitleaks 可以检测你的 git 仓库中的很多涉及隐私的代码,如不小心写死的密码、api 密钥和token等,帮助你保护隐私,防止泄露。

支持:

  • 扫描你的commit
  • 扫描本地文件夹和文件
  • 使用Github Action来执行,这样每次能自动扫描新的泄露数据

Gitleaks 可以使用 Homebrew、Docker 或 Go 安装,也可以直接在你的 repo 中作为钩子(pre-commit hook)实现。

项目演示

官网做了一个演示视频

https://www.youtube.com/watch...

一句话点评

蛮三刀酱:我们都有过在不熟悉Git的情况下,或者不小心提交一些账号密码的代码到公网仓库,这个工具可以很好的扫描甚至拦截你的提交,防止隐私泄露。它做的很完善,你甚至可以放在本机也可以在Github Action里使用。

4. genshin_auto_fish:原神自动钓鱼AI

项目介绍

原神自动钓鱼AI由YOLOX, DQN两部分模型组成。使用迁移学习,半监督学习进行训练。 模型也包含一些使用opencv等传统数字图像处理方法实现的不可学习部分。游戏适用于原神PC版本。

其中YOLOX用于鱼的定位和类型的识别以及鱼竿落点的定位。DQN用于自适应控制钓鱼过程的点击,让力度落在最佳区域内。

项目演示

B站有作者官方的演示视频:

https://www.bilibili.com/vide...

一句话点评

蛮三刀酱:我只能说,玩原神的各个都是大佬!为啥我没咋沉迷原神呢,肯定是我还没有成为大佬。

5. the-art-of-command-line:命令行的艺术

项目介绍

作为后端工程师,日常开发中熟悉一些常用的Linux命令,非常重要。不过如果不是专业的云工程师或者网络工程师,很多时候你的Linux水平也止步于会用些常用命令而已(没错,说的就是我自己),如何能够在Linux使用上更进一步?我觉得这个仓库就蛮合适的,并且还会精简的列出很多你可能不知道的小工具,来实现一些非常常见的操作。

例如以下这段:

  • 在当前目录下通过文件名查找一个文件,使用类似于这样的命令:find . -iname '*something*'。在所有路径下通过文件名查找文件,使用 locate something (但注意到 updatedb 可能没有对最近新建的文件建立索引,所以你可能无法定位到这些未被索引的文件)。
  • 使用 ag 在源代码或数据文件里检索(grep -r 同样可以做到,但相比之下 ag 更加先进)。
  • 将 HTML 转为文本:lynx -dump -stdin
  • Markdown,HTML,以及所有文档格式之间的转换,试试 pandoc
  • 当你要处理棘手的 XML 时候,xmlstarlet 算是上古时代流传下来的神器。
  • 使用 jq 处理 JSON。
  • 使用 shyaml 处理 YAML。
  • 要处理 Excel 或 CSV 文件的话,csvkit 提供了 in2csvcsvcutcsvjoincsvgrep 等方便易用的工具。
  • 当你要处理 Amazon S3 相关的工作的时候,s3cmd 是一个很方便的工具而 s4cmd 的效率更高。Amazon 官方提供的 aws 以及 saws 是其他 AWS 相关工作的基础,值得学习。

一句话点评

蛮三刀酱:精简,实用,这才是CookBook应该有的形态。

结尾

Github精彩项目分享是我新开的一个系列,也是一个全新的尝试,我想把内容尽量提炼和压缩,保证文章的趣味性,并且通俗易懂。

也请大家多多提意见,我会不断地改进。

我是目前在阿里搬砖的工程师蛮三刀酱。

持续的创作离不开你的点赞和转发分享!


蛮三刀酱
52 声望8 粉丝