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

简介

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

https://github.com/521xueweihan/HelloGitHub

这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!


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

C 项目

1、hashcat:一款强大的密码恢复工具。破解速度超快支持多种算法,适用于 Linux、macOS 和 Windows 操作系统

安装:brew install hashcat
常用参数:
-a  指定破解模式:“-a 0”字典攻击,“-a 1” 组合攻击;“-a 3”掩码攻击
-m  指定要破解的 hash 类型:默认为 MD5
--force 忽略破解过程中的警告常用破解模式:
0:Straight(字典破解)
1:Combination(组合破解)
3:Brute-force(掩码暴力破解)
6:Hybrid Wordlist + Mask(字典+掩码破解)
7:Hybrid Mask + Wordlist(掩码+字典破解)常用掩码设置:
l:纯小写字母 abcdefghijklmnopqrstuvwxyz
u:纯大写字母 ABCDEFGHIJKLMNOPQRSTUVWXYZ
d:纯数字 0123456789举例:破解 8 位数字密码
hashcat -a 3 -m 0 --force 0D7002A70CCDE8BF4BA2A4A5572A85E9(密码md5字符串) ?l?l?l?l?l?l?l?l?l?l?l(11 位密码的掩码)

地址:https://github.com/hashcat/hashcat

2、reptyr:能够把旧终端运行中的程序,迁移到新终端窗口的实用工具

地址:https://github.com/nelhage/reptyr

C# 项目

3、Monitorian:轻松调节多个显示器亮度的 Windows 桌面工具。操作界面支持中文,使用时显示器需要开启 DDC/CI

地址:https://github.com/emoacht/Monitorian

4、PluginCore:适用于 ASP.NET Core 的轻量级插件框架。开箱即用自带插件管理 Web 界面

public void ConfigureServices(IServiceCollection services)
{// ...// 1. Add PluginCoreservices.AddPluginCore();
}public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{// ...// 2. Use PluginCoreapp.UsePluginCore();
}

地址:https://github.com/yiyungent/PluginCore

C++ 项目

5、cocoyaxi:在 C++ 上实现类似 Go goroutine 的库。它实现了协程同步事件、协程锁、协程池、channel、waitgroup,内存占用少实测 1000 万协程占用 2.8G 内存

#include "co/co.h"DEF_main(argc, argv) {co::Chan<int> ch;go([ch]() { /* capture by value, rather than reference */ch << 7;});int v = 0;ch >> v;LOG << "v: " << v;return 0;
}

地址:https://github.com/idealvin/cocoyaxi

CSS 项目

6、log:浏览器 console.log  风格的 CSS 库

地址:https://github.com/adamschwartz/log

Go 项目

7、hh-lol-prophet:英雄联盟对局先知工具。免费合法不封号,原理是基于 LOL 客户端接口获取用户数据,实现开局前对玩家信息分析和打分

地址:https://github.com/real-web-world/hh-lol-prophet

8、gota:Go 语言的数据处理库。该库提供了类似 Python 语言 Pandas 库的功能,以及 Series 和 DataFrames 的数据结构,支持用列的方式高效地处理数据

type User struct {Name     stringAge      intAccuracy float64
}
users := []User{{"Aram", 17, 0.2},{"Juan", 18, 0.8},{"Ana", 22, 0.5},
}
df := dataframe.LoadStructs(users)
fmt.Println(df)// Output:
// [3x3] DataFrame
//
//     Name     Age   Accuracy
//  0: Aram     17    0.200000
//  1: Juan     18    0.800000
//  2: Ana      22    0.500000
//     <string> <int> <float>

地址:https://github.com/go-gota/gota

9、illustrated-tls:图解 TLS 连接。用在线交互的方式讲解 TLS 的全过程,从建立 TLS 1.2 客户端发送 ping 再到接收 pong,详细到每一个字节

地址:https://github.com/syncsynchalt/illustrated-tls

10、gse:Go 的高性能多语言分词库。它是结巴分词的 Go 语言实现,支持中文和接入 ES 等功能

text  = "《复仇者联盟3:无限战争》是全片使用IMAX摄影机拍摄制作的的科幻片."
// use DAG and HMM
hmm := seg.Cut(text, true)
fmt.Println("cut use hmm: ", hmm)
// cut use hmm:  [《复仇者联盟3:无限战争》 是 全片 使用 imax 摄影机 拍摄 制作 的 的 科幻片 .]

地址:https://github.com/go-ego/gse

Java 项目

11、LSPosed:运行于 Android 操作系统的钩子框架。支持 Android 8-12 系统,能够拦截几乎所有 Java 函数的调用,从而可被用来修改 Android 系统和软件的功能

地址:https://github.com/LSPosed/LSPosed

12、supertokens-core:开源的身份验证方案。为你的应用轻松增加登录、会话管理等功能,支持自行搭建服务。可用作 Auth0 的开源替代品

地址:https://github.com/supertokens/supertokens-core

JavaScript 项目

13、charts:简单、零依赖、响应式的 SVG 图表库

const data = {labels: ["12am-3am", "3am-6pm", "6am-9am", "9am-12am","12pm-3pm", "3pm-6pm", "6pm-9pm", "9am-12am"],datasets: [{name: "Some Data", chartType: "bar",values: [25, 40, 30, 35, 8, 52, 17, -4]},...
]}const chart = new frappe.Chart("#chart",
{   // or a DOM element,// new Chart() in case of ES6 module with above usagetitle: "My Awesome Chart",data: data,type: 'axis-mixed', // or 'bar', 'line', 'scatter', 'pie', 'percentage'height: 250,colors: ['#7cd6fd', '#743ee2']
})

地址:https://github.com/frappe/charts

14、lax.js:用于滚动时创建平滑和好看动画的库。简单轻量仅 4KB 大小,但功能齐全且灵活

<!-- JS -->
<script>window.onload = function () {lax.init()// Add a driver that we use to control our animationslax.addDriver('scrollY', function () {return window.scrollY})// Add animation bindings to elementslax.addElements('.selector', {scrollY: {translateX: [["elInY", "elCenterY", "elOutY"],[0, 'screenWidth/2', 'screenWidth'],]}})}
</script><!-- HTML -->
<div class="selector">Hello</div>

地址:https://github.com/alexfoxy/lax.js

15、chameleon:一端所见即多端所见。适应不同环境的跨端整体解决方案,支持 Web、小程序、快应用 等平台

地址:https://github.com/didi/chameleon

16、reveal.js:一款 HTML 演示框架。让你摆脱传统死板的 PPT 制作方法,可以方便地使用 HTML、Markdown 语言制作 PPT

地址:https://github.com/hakimel/reveal.js

17、tinykeys:极小的键盘事件监听库

import tinykeys from "tinykeys"tinykeys(window, {"Shift+D": () => {alert("The 'Shift' and 'd' keys were pressed at the same time")},"y e e t": () => {alert("The keys 'y', 'e', 'e', and 't' were pressed in order")},"$mod+KeyD": () => {alert("Either 'Control+d' or 'Meta+d' were pressed")},
})

地址:https://github.com/jamiebuilds/tinykeys

Kotlin 项目

18、compose-tetris:基于 Jetpack Compose 的俄罗斯方块游戏

地址:https://github.com/vitaviva/compose-tetris

Objective-C 项目

19、HBDNavigationBar:自定义 UINavigationBar 的组件,用于各种状态之间平滑切换

地址:https://github.com/listenzz/HBDNavigationBar

Python 项目

20、saleor:用 Python 开发的电商平台。采用 Django+GraphQL API+React 构建,功能丰富支持移动端、订单、商品、用户管理等

地址:https://github.com/saleor/saleor

21、pokete:运行在终端里的口袋妖怪类游戏。虽然游戏图像采用简单的 ASCII 码构建,但商店、小精灵、对战等功能一应俱全

运行方法:
# pip install scrap_engine
$ git clone https://github.com/lxgr-linux/pokete.git
$ ./pokete/pokete.py

地址:https://github.com/lxgr-linux/pokete

22、tiptop:炫酷的命令行系统监控工具

安装:pip install tiptop
运行:tiptop

地址:https://github.com/nschloe/tiptop

23、rembg:简单实用的删除图像背景/抠图工具

from rembg import remove
from PIL import Imageinput_path = 'input.png'
output_path = 'output.png'input = Image.open(input_path)
output = remove(input)
output.save(output_path)

地址:https://github.com/danielgatis/rembg

24、textdistance:计算文本距离的常用算法库。包含计算文本相似度、多样性、编辑距离、压缩等多种算法,所有算法均采用 Python 实现,容易理解调用方便

import textdistance
textdistance.hamming.normalized_similarity('test', 'text')
# 相似度为 0.75

地址:https://github.com/life4/textdistance

Swift 项目

25、OnlySwitch:免费开源的 macOS 状态栏一键设置工具。可以轻松对系统功能进行设置,如隐藏桌面图标、清理 Xcode 缓存、一键隐藏刘海儿、进入夜览模式等数十种功能

地址:https://github.com/jacklandrin/OnlySwitch

其它

26、english-words:大型英语单词文本。它是基于 WordNet 英语词汇数据库整理的文本文件,可用于英语自动提示、自动搜索等功能

地址:https://github.com/dwyl/english-words

27、design-patterns-for-humans:人人都能看懂的设计模式教程

地址:https://github.com/kamranahmedse/design-patterns-for-humans

28、Learn-Vim:学习 Vim 的指南。该教程不是“大而全的百科全书”,它着重介绍了 Vim 中最常用的功能,让你可以快速熟悉和使用 Vim

地址:https://github.com/iggredible/Learn-Vim

29、electerm:一款支持 SSH/SFTP 的终端工具。支持中文和 Windows、Linux、macOS 操作系统

地址:https://github.com/electerm/electerm

30、ElectronBot:自制桌面级小机器人。它具备 USB 通信显示画面功能以及 6 个自由度,支持手势识别和人体关键点检测。这里有配套的全部开发资料和 SDK,让你也可以制作出一个这样有趣的机器人

地址:https://github.com/peng-zhihui/ElectronBot

31、blog_os:用 Rust 从零开发一个操作系统的教程。保姆级教程!从空文件夹开始,一步步搭建开发环境,通过原理描述、代码示例讲解操作系统背后的原理。硬要说缺点的话就是教程是英文的,但是配上代码示例读起来不是很费劲

地址:https://github.com/phil-opp/blog_os

开源书籍

32、Deep-Learning-with-TensorFlow-book:《TensorFlow 深度学习》

地址:https://github.com/dragen1860/Deep-Learning-with-TensorFlow-book

33、microfrontends:《微前端的那些事儿》 将 Web 应用由单一的单体应用,转变为多个小型前端应用聚合为一的应用

地址:https://github.com/phodal/microfrontends

机器学习

34、deep-learning-for-image-processing:深度学习在图像处理方面的教程。该项目配以视频的方式介绍知识点和搭建方法,对应的 PTT 在 course_ppt 目录下

地址:https://github.com/WZMIAOMIAO/deep-learning-for-image-processing

35、awesome-automl-papers:汇集了自动机器学习(AutoML)相关的论文、文章、教程等资源的项目

地址:https://github.com/hibayesian/awesome-automl-papers

36、jina:一款易用的神经搜索框架。神经搜索是指用非结构化数据,搜索非结构化数据。Jina 简化了神经搜索系统的搭建流程,使开发者可以快速构建以图搜图、以文字搜图、问答机器人、照片去重、海量标签分类等应用

from docarray import Document, DocumentArray
from jina import Executor, Flow, requests
class PreprocImg(Executor):@requestsasync def foo(self, docs: DocumentArray, **kwargs):for d in docs:(d.load_uri_to_image_tensor(200, 200)  # load.set_image_tensor_normalization()  # normalize color.set_image_tensor_channel_axis(-1, 0)  # switch color axis for the PyTorch model later)

地址:https://github.com/jina-ai/jina

最后

以上就是本期的所有内容,还没看过瘾?点击阅读往期内容。

找开源项目就用: HelloGitHub 小程序,如果安装或运行开源项目遇到问题,就看这篇文章吧!

如果您觉得本期内容还不错的话 求赞、求分享,您的支持会让 HelloGitHub 变得更好!❤️

《HelloGitHub》第 72 期相关推荐

  1. 音视频技术开发周刊 72期

    『音视频技术开发周刊』由LiveVideoStack团队出品,专注在音视频技术领域,纵览相关技术领域的干货和新闻投稿,每周一期.点击『阅读原文』,浏览第72期内容,祝您阅读愉快. 架构 RTSP协议 ...

  2. 【第72期】游戏策划:回复@小凡重返毕业前1年,想做什么?

    我是酱油,这是第72期文章. 在上一期的文章里,网友@小凡留言 酱油君,明年毕业就要入职策划了,如果时光倒流,你在这个时候最想做些什么呢? 如果时光倒流,我会在宿舍里开发游戏. 当年我以为这很难,其实 ...

  3. 软件测试周刊(第72期):所谓学问,学学问问,就学会了嘛。最怕你不愿去学,不肯去问。

    编辑:一口锅.静怡.小淑子.哲宇.夏至.CC.Silvery 今天是 2022年05月20日,欢迎来到第 72 期!这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布. 本期看点:百度的小程 ...

  4. 开源大数据周刊-第72期

    摘要: 资讯: <新一代人工智能发展规划>启动实施 公布首批开放创新平台 科技部于11月15日在北京召开了<新一代人工智能发展规划>暨重大科技项目启动会.本次会议紧紧围绕新一代 ...

  5. 科技爱好者周刊:第 72 期

    这里记录每周值得分享的科技内容,周五发布. 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐你的项目. 封面照片:昆山火车站,2018 刊首语 最近,美国一家 ...

  6. 极客日报第 72 期:特斯拉在无人墓地感应到行人;Maxell 再诉苹果侵权;小米造车尚未到正式立项阶段;华为与奔驰展开合作 HMS for Car 登陆 S 级轿车

    文章目录 一.互联网快讯 二.程序员专属 三.Github 每日精选 四.CSDN 社区优质博文精选 一.互联网快讯 1.华为与奔驰展开合作 HMS for Car 登陆 S 级轿车 1 月 21 日 ...

  7. 每日思考第 72 期:帮助你做预测做判断的心智模型

    每日思考专栏每周日更新,本期覆盖 20210329~20210404. 本期分享我这周的所思所想所见所闻. 210329:四种人格 著名心理学家阿德勒把人分为四种人格,统治型,依赖型,回避型,社会利益 ...

  8. graphicsmagick 获取图片质量_第 72 期 水稻图片素材

    图片格式及大小:基本上是jpg格式,大部分是3840 ✖ 2160 像素以上大小及少数8K大小 获取方式:请查看图片结尾下的网盘链接,获取提取码,然后进行下载 点击放大图片,长按保存直接保存图片不是高 ...

  9. 计算机英语朗读音频,新课标小学英语阅读精选(MP3+中英字幕) 第72期:电脑

    Computers 电脑 Many people know what a computer is 许多人知道电脑是什么吗 and what it can do. 以及它能做什么. The comput ...

最新文章

  1. 网关拓扑结构与功能设计归纳
  2. c语言将0到1十等分放入数组,C语言课程设题计目汇总.doc
  3. [转帖]迎战AMD 7nm 64核EPYC 英特尔至强也玩起了胶水以及性价比
  4. 数据库迁移mysql到sqlserver_数据库迁移(sqlserver至mysql)
  5. Office文档在线预览接口服务器
  6. 教大家查看、使用Untiy内部库和方法
  7. 逃逸分析、栈上分配、标量替换、同步消除、锁消除
  8. html文章标题加粗,织梦去除推荐文章标题加粗标签的方法
  9. 虚拟同步发电机技术(VSG)综述解读和研发思考
  10. 音视频中的语音信号处理技术
  11. Nebula Graph介绍和SpringBoot环境连接和查询
  12. 微客侠:解决微信内直接打开淘宝链接
  13. 国家药品监督管理局药品审评中心—重点功能介绍
  14. Digispark ATTINY85 Arduino IDE 开发
  15. ANN(人工神经网络)基础知识
  16. 天猫双十一狂抢优惠券?机智的程序猿这么玩
  17. 20家“国家新型数据中心”简介
  18. C语言中exit(0)和_exit(0)
  19. Java编程思想——复用类
  20. 认知科学与广义进化论

热门文章

  1. python菜_1. 开胃菜 — Python tutorial 3.6.3 documentation
  2. mac关机变慢的解决办法
  3. 农村乡镇做什么小生意好点
  4. 青铜修炼手册:Axure实现水波纹效果
  5. 根据日期判断星期几(使用基姆拉尔森计算公式)
  6. MySQL大数据迁移备份
  7. 不要再吹水地球人听不懂的技术,咱来点干货
  8. win7 安装.Net framework 4.0出现 安装不成功,错误代码0x80240037 的解决方法
  9. 【PS小贴士】项目计划成本——内部作业
  10. Java中utf-8占几个字节