HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。欢迎大家:

  • 贡献代码
  • 宣传你觉得优秀的项目
  • Star 项目️

本月刊是每月 28 号更新,再见月刊就是年后了。在这里提前祝大家:新年快乐!

下面便是第 58 期的内容啦,希望大家喜欢


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

C# 项目

1、EverythingToolbar:把搜索和启动应用等功能整合到 Windows taskbar 的工具。效果如下图:

C++ 项目

2、ChordNova:一款开源免费的和弦生成工具。我不懂乐理,但单从这个软件的界面就感受到了专业,因为有很多乐理的名词

Go 项目

3、containers-the-hard-way:用 Go 实现迷你 Docker,包含 dokcer 核心功能的开源项目。该项目仅用 Linux 系统接口实现了类似容器的功能,这些能够帮助你更好地了解容器的工作方式。如果你想更深入地理解容器,就参考本项目写一个迷你 Docker 吧

4、vegeta:基于 Go 语言的 HTTP 压测工具。目前市面上的压测工具已经很多了,但是今天推荐的这款惊艳到我点是下面这条命令执行后的效果(vegeta+jaggr+jplot),让我们一起来感受下吧

echo 'GET http://localhost:8080' | \
vegeta attack -rate 5000 -duration 10m | vegeta encode | \
jaggr @count=rps \
hist\[100,200,300,400,500\]:code \
p25,p50,p95:latency \
sum:bytes_in \
sum:bytes_out | \
jplot rps+code.hist.100+code.hist.200+code.hist.300+code.hist.400+code.hist.500 \
latency.p95+latency.p50+latency.p25 \
bytes_in.sum+bytes_out.sum

5、delve:一款 Go 语言的调试工具。如果你还在像我一样用 fmt.Println 调试 go 的代码,就试试这个工具吧。万星的开源项目可不是开玩笑的,它上手简单并且支持多种方式调用,助你快速找到 Bug

6、rqlite:用 Go 实现的基于 SQLite 轻量级、分布式关系数据库。如果你对分布式数据库的原理及实现感兴趣的话,这个项目真的是你入门这方面的不二之选,这个项目用 SQLite 作为存储引擎,让你可以把更多的精力放在理解分布式的知识上,尝试阅读下这个项目的文档,相信你会对它感兴趣的。设计图如下:

Java 项目

7、JustAuth:帮你搞定第三方登陆的 Java 开源组件。使用简单、接入方便,帮你随心所欲地接入第三方登陆,让登陆变得简单。目前已经支持十多个平台,还在持续扩充中

8、java-design-patterns:设计模式 Java 的最佳实践,出自开源社区大佬们之手。做为有梦想和追求的 Java 程序员,当然需要会一些设计模式啦。这个项目虽然是英文的但是先看代码和图,尝试理解含义那么英文描述也就能猜的八九不离十了。不要让英语作为你不努力的借口,努力变强吧!在线阅读

9、apollo:携程开源的分布式配置中心。开箱即用理念发挥到极致,比如:服务器部分基于 Spring Boot 和 Spring Cloud 开发,运行方便无需额外的 Tomcat 应用容器。并且具备配置修改后即时生效、规范的权限、流程治理等特性,适用于微服务配置管理场景

10、Logi-KafkaManager:功能强大的 Kafka 集群监控和运维管理平台。强大到我一度以为它是付费的,如果你的公司用 Kafka 的话,可以试试主导把这个项目在公司内部用起来,那你离升职和加薪就不远了

11、Anki-Android:高效学习神器 Anki 安卓客户端。Anki 是一个帮助学习的记忆卡片软件,卡片正面是问题背面是答案,然后根据记忆公式帮你复习和记牢。下载地址 如果下载后不会用的话,本文点赞过 100 我出一份小白教程给大家上手这个神器

JavaScript 项目

12、cloudbase-framework:腾讯开源的云原生一体化部署工具。一键将项目部署上云,不限制框架和语言

13、newbee-mall-vue3-app:基于 Vue 3.0 技术栈的电商网站前端开源项目。它麻雀虽小五脏俱全,包含模块:首页、类型分类、搜索、地址管理、登录注册等等,该有的基本上都有涉及到。对新手友好,在熟悉 Vue 3.x 的朋友也可以来看看

14、X6:AntV 旗下的图编辑引擎。提供了开箱即用的交互组件和简单易用的节点定制能力,从而能够快速完成流程图、DAG 图、ER 图等图应用。示例代码:

import { Graph } from '@antv/x6';

const graph = new Graph({
container: document.getElementById('container'),
width: 800,
height: 600,
background: {
color: '#fffbe6', // 设置画布背景颜色
},
grid: {
size: 10, // 网格大小 10px
visible: true, // 渲染网格背景
},
});

15、hearthstone-battlegrounds-tools:暴雪炉石传说游戏的记牌插件。不懂编程的小伙伴拿去用就好了,支持 Windows 和 macOS 系统。开发者的话,这是一整套完整的 Electronjs 开发流程,从多个渲染进程的管理、不同平台的差异化处理、版本的控制与发布等方面都做了细致的封装,学起来吧。功能上她还具有以下特性:

  • 当天战绩统计,历史战绩查询
  • 统计你所使用过的英雄,自动计算每个英雄的平均排名、选择率
  • 选择英雄时展示可选英雄的大数据选择率、平均排名等
  • 对局信息记录,记录对局过的对手阵容
  • ️ 一键拔线(可怕)
  • 等等

16、Multiavatar:生成人物头像的 JS 库。支持随机生成一个好看、独特、多文化的头像

PHP 项目

17、mochat:一套开源的企业微信开发框架和管理系统。基于 PHP 开发的前后端分离、功能强大的企业微信管理平台

18、easy-sms:短信发送 PHP 组件。特点:

  • 支持目前市面多家服务商
  • 一套写法兼容所有平台
  • 简单配置即可灵活增减服务商
  • 内置多种服务商轮询策略、支持自定义轮询策略
  • 等等
use Overtrue\EasySms\EasySms;

$config = [
// HTTP 请求的超时时间(秒)
'timeout' => 5.0, // 默认发送配置
'default' => [
// 网关调用策略,默认:顺序调用
'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class, // 默认可用的发送网关
'gateways' => [
'yunpian', 'aliyun',
],
],
// 可用的网关配置
'gateways' => [
'errorlog' => [
'file' => '/tmp/easy-sms.log',
],
'yunpian' => [
'api_key' => '824f0ff2f71cab52936axxxxxxxxxx',
],
'aliyun' => [
'access_key_id' => '',
'access_key_secret' => '',
'sign_name' => '',
],
//...
],
]; $easySms = new EasySms($config); $easySms->send(13188888888, [
'content' => '您的验证码为: 6379',
'template' => 'SMS_001',
'data' => [
'code' => 6379
],
]);

Python 项目

19、Zappa:Python 无服务框架,功能即服务(serverless)。你知道 serverless 是什么吗?不懂的老铁扣 1

每月一更的《HelloGitHub》第 58 期,来啦!的更多相关文章

  1. 【算法•日更•第五十四期】知识扫盲:什么是operator?

    ▎前言 这个东西和迭代器长的很像,但是比迭代器常见的多. 今天就来浅谈operator. ▎定义 operator是C#.C++和pascal的关键字,它和运算符一起使用,表示一个运算符函数,理解时应 ...

  2. 【算法•日更•第三十九期】迭代加深搜索:洛谷SP7579 YOKOF - Power Calculus 题解

    废话不多说,直接上题: SP7579 YOKOF - Power Calculus 题意翻译 (略过没有营养的题干) 题目大意: 给出正整数n,若只能使用乘法或除法,输出使x经过运算(自己乘或除自己, ...

  3. 【算法•日更•第三十五期】FF算法优化:EK算法

    ▎写在前面 FF算法传送门 之前我们已经学过了FF算法(全称Ford-Fulkerson算法)来找最大流,但是这种算法仍有诸多不对的地方. 其实这种算法存在着严重的效率的问题,请看下面的图: 以这个图 ...

  4. 「NGK每日快讯」12.31日NGK第58期官方快讯!

  5. 《HelloGitHub月刊》第01期

    <HelloGitHub月刊> 因为现在这个项目只有我自己做,只敢叫"月刊",希望有志同道合者,快点加入到这个项目中来!同时,如果您有更好的建议或者意见,欢迎联系我.联 ...

  6. 《HelloGitHub月刊》第 01 期

    <HelloGitHub月刊> 因为现在这个项目只有我自己做,只敢叫"月刊",希望有志同道合者,快点加入到这个项目中来!同时,如果您有更好的建议或者意见,欢迎联系我.联 ...

  7. 家里蹲大学数学杂志 Charleton University Mathematics Journal 官方目录[共七卷493期,6055页]

    家里蹲大学数学杂志[官方网站]从由赣南师范大学张祖锦老师于2010年创刊;每年一卷, 自己有空则出版, 没空则搁置, 所以一卷有多期.本杂志至2016年12月31日共7卷493期, 6055页.既然做 ...

  8. HelloGithub

    <HelloGithub月刊>第一期   <HelloGithub月刊> 因为现在这个项目只有我自己做,只敢叫“月刊”,希望有志同道合者,快点加入到这个项目中来!同时,如果您有 ...

  9. 在 GitHub 学习,成长为自己想要的样子|HelloGitHub 访谈

    万事开头难,我们经过长期的策划和筹备,终于推出了 HelloGitHub 采访系列「开源项目作者的访谈」.这是一个采访个人开源项目作者的栏目,内容侧重于开源项目作者与开源的故事. 我们深知想要做好一个 ...

随机推荐

  1. 高可用K8S构建3master+3node+keepalived+haproxy

    视频地址:https://www.bilibili.com/video/BV1w4411y7Go?p=66 所需安装包在视频评论区 安装准备 系统: CentOS-7-x86_64-Minimal-1 ...

  2. 前台js获取url传递参数(后台Request.QueryString接收)

    方法 封装 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^ ...

  3. 关于 Softmax 回归的反向传播求导数过程

    对于 \(Softmax\) 回归的正向传播非常简单,就是对于一个输入 \(X\) 对每一个输入标量 \(x_i\) 进行加权求和得到 \(Z\) 然后对其做概率归一化. Softmax 示意图 下面 ...

  4. k8s重器之Service

    Service是k8s的核心,通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并将请求进行负载分发到各个容器应用上. 目录: Service定义详解 Service基本 ...

  5. [leetcode299] 299. Bulls and Cows

    public String getHint(String secret, String guess) { /* 判断bull 是通过比较两个字符串的每一位,每次相同就删除该字符出现的次数,因为后边的 ...

  6. ROS代码经验系列-- tf进行位置查询变换

    include文件: #include "tf/transform_broadcaster.h" #include "tf/transform_listener.h&qu ...

  7. git 只提交部分文件 拉取pull远程仓库

    正常的团队开发中,在提交代码push之前要先pull拉取远程仓库的代码.而拉取pull操作需要先commit修改的文件才能成功. 那么问题来了,当我只想push提交部分代码的时候,同样需要pull拉取 ...

  8. 高效扩展工具让 VS Code 如虎添翼

    Codelf 变量命名神器 Star:10688 https://github.com/unbug/codelf 新建项目,变量,类,方法,接口都需要命名,一个好的命名可以一眼看出这个地方的功能,Co ...

  9. volatile实现原理--为什么实现了可见性却不能保证原子性

    本篇文章我们来解决一个问题  这也是面试面的比较多的问题,进阶阶段(高级)一般都会问到. volatile变量怎么保证可见性  为什么在并发情况下无法保证原子性? 比较懒了  摘了一段JVM原理的片段 ...

  10. Redis的内存淘汰

    Redis占用内存大小 我们知道Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用Redis的时候可以配置Redis能使用的最大的内存大小. 1.通过配置文件配置 ...