社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

HelloGitHub 开源月刊(第 55 期):终端“百战天虫”,来战?

HelloGitHub • 4 年前 • 557 次点击  

兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!

简介

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

这是一个面向编程新手热爱编程对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目让生活变得更美好的工具书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。

  • 会编程的可以贡献代码
  • 不会编程的可以反馈使用这些工具中的 Bug
  • 帮着宣传你觉得优秀的项目
  • Star 项目⭐️

在浏览、参与这些项目的过程中,你将学习到更多编程知识提高编程技巧找到编程的乐趣

🎉 最后 HelloGitHub 这个项目就诞生了 🎉


以下为本期内容|每个月 28 号发布最新一期|点击查看往期内容

C 项目

1、htop:交互式进程查看工具,可代替 top 命令。用了这库后,我基本不用 top 命令了

长按识别二维码,可直达项目


C# 项目

2、ToolGood.Words:一款高性能非法词、敏感词检测库。还支持繁体简体互换、获取拼音首字母、获取拼音字母、拼音模糊搜索等功能

string s = "中国|国人|zg人";
string test = "我是中国人";

StringSearch iwords = new StringSearch();
iwords.SetKeywords(s.Split('|'));

var b = iwords.ContainsAny(test);
Assert.AreEqual(true, b);

var f = iwords.FindFirst(test);
Assert.AreEqual("中国", f);

var all = iwords.FindAll(test);
Assert.AreEqual("中国", all[0]);
Assert.AreEqual("国人", all[1]);
Assert.AreEqual(2, all.Count);

var str = iwords.Replace(test, '*');
Assert.AreEqual("我是***", str);

长按识别二维码,可直达项目


C++ 项目

3、workflow:搜狗开源的 C++ 服务器引擎。支撑搜狗几乎所有后端 C++ 在线服务,包括所有搜索服务、云输入法、广告等,每日处理超百亿请求。这是一个设计轻盈优雅的企业级程序引擎,可以满足大多数 C++ 后端开发需求

长按识别二维码,可直达项目


CSS 项目

4、flexboxfroggy:一个帮助学习 CSS flexbox 知识的在线游戏。游戏一共 24 关,通俗易懂的解释了 flex 布局。适合初学者,并且支持中文,可以在 settings 中选择语言。在线试玩

长按识别二维码,可直达项目


Go 项目

5、go-diagrams:用 Go 语言画架构图的工具。想画架构图不知道用什么工具?会 Go 的小伙伴可以试试这个库,通过编写 Go 代码来绘制架构图,接口使用方便,但文档太简单了。示例代码:

d, err := diagram.New(diagram.Filename("app"), diagram.Label("App"), diagram.Direction("LR"))
if err != nil {
    log.Fatal(err)
}

dns := gcp.Network.Dns(diagram.NodeLabel("DNS"))
lb := gcp.Network.LoadBalancing(diagram.NodeLabel("NLB"))
cache := gcp.Database.Memorystore(diagram.NodeLabel("Cache"))
db := gcp.Database.Sql(diagram.NodeLabel("Database"))

dc := diagram.NewGroup("GCP")
dc.NewGroup("services").
    Label("Service Layer").
    Add(
        gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 1")),
        gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 2")),
        gcp.Compute.ComputeEngine(diagram.NodeLabel("Server 3")),
    ).
    ConnectAllFrom(lb.ID(), diagram.Forward()).
    ConnectAllTo(cache.ID(), diagram.Forward())

dc.NewGroup("data").Label("Data Layer").Add(cache, db).Connect(cache, db)

d.Connect(dns, lb, diagram.Forward()).Group(dc)

if err := d.Render(); err != nil {
    log.Fatal(err)
}

长按识别二维码,可直达项目


6、gorched:Go 语言写的终端游戏 Scorched Earth。它让我想起了“百战天虫”这款游戏,有同龄人吗?一起来回味下

长按识别二维码,可直达项目


7、ali:能够实时展示分析的压力测试工具。现在压测工具有很多,这款的亮点在于可以在终端实时展示压测过程的曲线。一条命令搞定启动:ali 地址

长按识别二维码,可直达项目


8、ferry:基于 Gin + Vue + Element UI 前后端分离的工单系统。该系统是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等功能, 帮助减少跨部门之间的沟通,提升工作效率与工作质量,减少不必要的工作量与人为出错率

长按识别二维码,可直达项目


Java 项目

9、retrofit-spring-boot-starter:一个适用于 Spring Boot 项目的轻量级 HTTP Web 框架。使用简单方便,支持接口化的方式发送 HTTP 请求。底层使用 Retrofit 实现,并支持了诸多功能特性增强,极大简化开发

/**
* 定义接口
**/

@RetrofitClient(baseUrl = "${test.baseUrl}")
public interface HttpApi {

    @GET("person")
    Result getPerson(@Query("id") Long id);
}

/**
* 注入使用
**/

@Service
public class TestService {
    @Autowired
    private HttpApi httpApi;

    public void test() {
        // 通过httpApi发起http请求
    }
}

长按识别二维码,可直达项目


10、jmeter:Apache 开源的压力测试工具。提供 GUI 操作界面就是可以点点点操作,也可以写脚本提高测试的自动化,它还不局限于 Web 测试,支持更多压力测试场景。我身边 97% 从事测试相关工作的人都用过它,要不要来看看它的源码?纯 Java 实现

长按识别二维码,可直达项目


11、mybatis-plus:一款好用的 Java 操作数据库框架。MyBatis 增强工具包,提供了一些高效、实用、快捷的功能,使用它可以有效地节省您的开发时间。比如切换数据源,只需修改配置文件

List userList = userMapper.selectList(
        new QueryWrapper()
                .lambda()
                .ge(User::getAge, 18)
);

长按识别二维码,可直达项目


12、BilibiliTask:哔哩哔哩定时自动完成任务项目。该项目借助 GitHub Action 自动完成:每日任务、投币、直播签到等,还可以把运行结果推送到微信,是一个解决重复劳动的有趣项目。按照项目首页的教程,花点时间就能配置好,一劳永逸

长按识别二维码,可直达项目


JavaScript 项目

13、zooming:纯 JS 实现支持移动端的图像缩放库

长按识别二维码,可直达项目


14、AnotherRedisDesktopManager:一款支持多语言、多平台的 redis 桌面管理工具。对比目前其它同类型工具,它拥有更丰富的功能、更高的稳定性和性能,支持集群等功能

长按识别二维码,可直达项目


15、beeplay:让你可以用 JS 写一首“歌”的库。在线尝试,实例代码:

var beeplay = require('beeplay')

beeplay()
  .play(null2)
  .play('D#5'1/4).play('E5'1/4).play('F#5'1/2)
  .play('B5'1/2).play('D#5'1/4).play('E5' 1/4)
  .play('F#5'1/4).play('B5'1/4).play('C#6'1/4).play('D#6'1/4)
  .play('C#6'1/4).play('A#5'1/4).play('B5'1/2)
  .play('F#5'1/2).play('D#5'1/4).play('E5'1/4)
  .play('F#5'1/2).play('B5'1/2)
  .play('C#6'1/4).play('A#5'1/4).play('B5'1/4).play('C#6'1/4)
  .play('E6'1/4).play('D#6'1/4).play('E6'1/4).play('C#6'1/4);

长按识别二维码,可直达项目


16、vant:由有赞前端团队开源的移动端组件库。目前官方提供了 Vue 版本和微信小程序版本,并由社区团队维护 React 版本。有完善的中英文文档和示例,60+ 高质量组件,90%+ 单元测试覆盖率,持续维护 4 年以上

长按识别二维码,可直达项目


17、Bilibili-Evolved:哔哩哔哩增强浏览器插件。安装插件后可支持:下载视频、删除广告、夜间模式等

长按识别二维码,可直达项目


Python 项目

18、asciinema:终端记录工具。忘记录屏软件吧,纯文本的录制终端操作的工具。安装简单、使用方便,且生成的记录文件极小,但需要配合 JS 文件播放

长按识别二维码,可直达项目


19、playwright-python:微软开源的浏览器自动化工具,可以用 Python 语言操作浏览器啦。支持 Linux、macOS、Windows 系统下的   Chromium、Firefox 和 WebKit 浏览器

长按识别二维码,可直达项目


20、wagtail:目前最强大的开源 Django CMS(内容管理系统)之一。我很少用“最”这个字眼,节省时间就聊聊它惊艳到我的点吧。首先该项目更新、迭代活跃,其次项目首页提到的功能都是免费的,没有付费解锁的骚操作。wagtail 专注于内容管理,不束缚前端实现。有趣的 StreamField 技术让你的内容变得灵活且不失结构,竟然还支持 A/B 测试,最后 Google、NASA 他们都在用这个项目

长按识别二维码,可直达项目


21、redis-memory-analyzer:Redis 实时内存分析工具。我比较好奇它是怎么实时获取 redis 中 key 的情况和信息,就看了下源码 scanner.py 文件。发现是采用 scan_iter 方法,控制扫描 key 返回的量。然后通过 yield 减少内存占用量,最后再加上 register_script 方法调用 Lua 脚本或pipeline 方法提高获取 key 信息的效率。分析后感觉这个工具可适用在数据量较大的情况,实时性要求在秒或者分钟级的场景下

长按识别二维码,可直达项目


22、practical-python:大佬 David Beazley 开源的 Python 免费入门级教程。他是《Python Cookbook 第三版》、《Python 参考手册》的作者,教程经过实际的教学实践、包含课后练习题。在线学习,教程目录如下:

长按识别二维码,可直达项目


Swift 项目

23、stats:macOS 菜单栏上的监控工具。支持 CPU、GPU、内存、网络等监控和多语言

长按识别二维码,可直达项目


其它

24、ZY-Player:免费无广告、高颜值+多平台的桌面视频资源播放器。功能如下:

  • 全平台支持 Windows、Mac、Linux
  • 视频源支持自定义, 支持导入/导出
  • 播放历史, 自动跳转历史进度
  • 支持精简模式, 摸鱼划水
  • 显示豆瓣评分

长按识别二维码,可直达项目


25、keysim:键盘配色预览工具。“定制”这个操作一听就很贵,下单之前先这个工具先看看效果吧,避免浪费钱。在线尝试

长按识别二维码,可直达项目


26、tabler-icons:一组免费开源的图标。目前共有 850+ 个图标,我觉得都挺好看的,您觉得呢?

长按识别二维码,可直达项目


27、socialify:一键自动生成 GitHub 仓库头图。很多 GitHub 开源项目的作者不会用 PS,想要制作一张项目推广图就很困难,Socialify 就是帮你解决这个头疼的问题。在线尝试

长按识别二维码,可直达项目


开源书籍

28、Mastering_Go_ZH_CN:《Mastering Go》的中文翻译版《玩转 Go》。在线阅读

长按识别二维码,可直达项目


29、A-Philosophy-of-Software-Design-zh:《软件设计的哲学》中文翻译。在线阅读

长按识别二维码,可直达项目


机器学习

30、video-object-removal:通过 Pytorch 实现绘制一个边界框,即可删除视频中要删除的对象。下图是演示操作,框中红色是抹掉的部分,删除前后的效果对比图可进到项目首页查看

长按识别二维码,可直达项目


31、mlflow:一个简化机器学习开发的平台,支持跟踪实验、代码打包、部署模型等。它提供了一套轻量级的 API,可与目前主流机器学习 TensorFlow、PyTorch、XGBoost 等库轻松整合

# 安装:$ pip install mlflow
# 启动:$ mlflow ui
# 示例代码
import mlflow
mlflow.keras.autolog()
# other keras code
...

长按识别二维码,可直达项目


32、snownlp:一个 Python 写的自然语言处理库。使用简单、功能强大,支持中文分词、词性标注、情感分析等

from snownlp import SnowNLP

s = SnowNLP(u'这个东西真心很赞')
s.words         # [u'这个', u'东西', u'真心',
                #  u'很', u'赞']
s.tags          # [(u'这个', u'r'), (u'东西', u'n'),
                #  (u'真心', u'd'), (u'很', u'd'),
                #  (u'赞', u'Vg')]
s.sentiments    # 0.9769663402895832 positive的概率

长按识别二维码,可直达项目

最后

如果你发现了 GitHub 上有趣的项目,欢迎在 HelloGitHub 项目提 issues 告诉我们。



关注公众号第一时间收到最新内容



“分享”让本文被更多人看到,“阅读原文”获取更好的阅读体验,可直达项目


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/74765
 
557 次点击