兴趣是最好的老师。 HelloGitHub 让您对编程产生兴趣。
简介HelloGitHub 在GitHub 上分享有趣的入门级开源项目。
我们有实战项目、入门教程、黑科技、开源书籍、各大厂商的开源项目等等,涵盖Python、Java、Go、C/C++、Swift等多种编程语言。在短时间内感受到开源的魅力,对编程产生兴趣!
本次内容如下| 每月28日更新
C 项目1. bare-metal-programming-guide:裸机编程指南。本教程解释了如何在不依赖IDE 的情况下开发微控制器。本内容首先介绍寄存器、向量表、启动代码、链接脚本等知识点,最后通过设备仪表板实现Web服务器。
2. sumatrapdf:免费且紧凑的开源PDF阅读器。它是一款体积小、内存消耗低、启动快的Windows PDF阅读工具,拥有您日常所需的所有功能,并且界面简洁优雅。
3. ZSWatch:自制开源智能手表。该项目是一款基于开源Zephyr的智能手表,具有240x240分辨率的IPS TFT圆形屏幕和三个按钮(上一页/下一页/进入)、计步器、血氧计和心率计。蓝牙等功能。
C# 项目4,carnac:显示键盘击键的工具。这是一个允许您在桌面上实时显示键盘操作记录的工具,主要用于录制演示应用程序和教程。适用于Windows 7及更高版本的操作系统。
5.downkyi:Bilibili的多功能视频下载工具。 Bilibili是一款简单易用的视频下载工具。它有一个简单的操作界面,非常容易使用。支持批量下载、音视频提取、去水印等功能。
6. SeeSharpSnake:使用C#创建一条小于8KB的贪婪蛇。该项目的重点不是教您如何用C# 编写贪吃蛇游戏,而是向您展示如何将编译后的C# 贪吃蛇程序从最初的65 MB 简化为可以独立运行的8 KB 应用程序。
# 构建4.7 MB 版本的gamedotnet public -r win-x64 -c Release /p:Mode=CoreRT# 构建4.3 MB 版本的gamedotnet public -r win-x64 -c Release /p:Mode=CoreRT-Moderate # 构建3.0 MB 版本的gamedotnet。 public -r win-x64 -c Release /p:Mode=CoreRT-High# 要构建1.2 MB 版本的gamedotnet,请运行public -r win-x64 -c Release /p:Mode=CoreRT-ReflectionFree#。构建10KB 版本的gamedotnet。 public -r win-x64 -c Release /p:Mode=CoreRT-NoRuntimeC++ 项目7. cpp-httplib:文件C++ HTTP/HTTPS 库。它是一个用C++11 编写的纯头文件、跨平台HTTP/HTTPS 服务器和客户端库,只需将httplib.h 文件引入代码中即可非常有用。
#define CPPHTTPLIB_OPENSSL_SUPPORT#include 'path/to/httplib.h'//HTTPShttplib:Client cli('hellogithub.com');auto res=cli.Get('/periodical');res-status;res-body;8. RISC-V 仿真器和汇编编辑器。该项目以图形方式说明了机器代码在不同微架构上运行的过程,可用于研究不同缓存设计对性能的影响等问题。
9. SFML:一个简单高效的C++多媒体库。它是一个可用于简化游戏和多媒体应用程序开发的C++库,其低入门门槛和生态性使其成为许多C++初学者在开始图形开发时的首选。
CSS 项目10,css:GitHub 开源设计系统。由GitHub 设计团队开源和维护的项目,包括GitHub 的界面设计原则、使用指南和即用型UI 组件。
Go Project 11, d2:一种用于将文本转换为图表的脚本语言。该项目是一种图表脚本语言,可将文本转换为图表。只要写出你想要的图表,就会生成相应的图像。
echo 'x - y' input.d2d2 -w input.d2 out.svg12, grpcurl:与cURL 类似,但用于gRPC。用于与gRPC 服务器交互的命令行工具。与gRPC版本的cURL类似,您可以轻松请求gRPC服务。
#安装brew install grpcurl#grpc.server.com:443 my.custom.server.Service/Method13,shifu:使用grpcurl的云原生物联网开发框架。它是一个生产级的物联网平台,允许您将物联网(IoT)设备封装到K8 上最小的可部署计算单元(pod)中,通过API 直接开放设备能力和数据,并支持从互联网进行应用程序开发东西的。会更容易。
cd shifu# 在集群上安装ShiFukubectl apply -f pkg/k8s/crd/install/shifu_install.yml14, writefreely:一起写,建立社区。它是一个用Go 编写的博客平台,允许您基于Markdown 创建极简的独立博客,以及建立博客公园等博客社区。
15. yao:用Go编写的应用程序引擎。通过该项目,您可以在短短几分钟内从头开始构建一个系统,适合开发接口服务、管理后台、数据可视化平台、自制低代码平台等。
Java 项目16,HummerRisk:云原生安全检测平台。该项目使用非侵入性方法来解决云原生环境中的安全和治理问题。支持主流公有云/私有云资源的安全检测、漏洞扫描、一键报告检索等功能。
17.HydraLab:开源智能移动云测试平台。基于Spring Boot+React构建的云测试服务,易于部署,支持测试设备在线管理、测试用例执行、测试结果可视化等功能。
18. neo4j:当今最流行的图数据库。它是使用Java和Scala语言开发的原生图数据库,并配有专有的查询语言Cypher,可以直观、高效地查询和处理数据之间的关系。
JavaScript 项目19,html2canvas:一个实现浏览器内屏幕截图的JavaScript 库。该项目允许您截取浏览器中整个网页或部分内容的屏幕截图。它的原理是读取DOM和样式并将当前页面渲染成画布图像。
html2canvas(document.querySelector('#capture')).then(canvas={ document.body.appendChild(canvas)}); 20. JavaScript 算法:学习如何从头开始构建前端算法系统。学习算法是任何前端进步所需的技能之一,而不仅仅是面试。本项目包含高级前端算法、常见面试题、手写源码等,帮助你构建完整的数据结构和算法知识体系。
21. pomotoroid:一个视觉上令人愉悦的番茄钟。这是一个用Vue编写的非常漂亮的番茄钟定时器,支持自定义时间、轮数、提示声音、桌面通知等功能。
22. satori:一个可以将HTML和CSS转换为SVG的库。 Vercel 团队开源的库,可从HTML 和CSS 代码生成SVG 图像。支持JSX语法,使用起来非常方便、流畅。
从'satori'const svg导入satori=等待satori(你好,世界
, { width: 600, height: 400, fonts: [ { name: 'Roboto', data: robotoArrayBuffer,weight: 400, style: 'normal', }, ], },) 23. Underscore:强大的JavaScript 函数库。该库提供了100 多个实用函数,包括常用的映射、过滤器、reduce 和调用,以及更专业的辅助函数,例如函数绑定、JavaScript 模板函数和快速索引创建,使JavaScript 的使用更加方便。编程中.
//countBy_.countBy([1, 2, 3, 4, 5], function(num) { return num % 2==0 'even': 'odd';}) //输出: {odd: 3, Even: 2 }Python 项目24. Bandit:用于查找Python 代码中常见安全问题的工具。该项目是PyCQA创建的Python代码检测工具。著名的isort 和flake8 都是PyCQA 开源的。
25. devguide:CPython 开发者指南。这份来自Python 官方网站的指南向您展示了如何为CPython 做出贡献,适合各个阶段的贡献者。
26. Django-Styleguide:Django使用姿势指南。这是一本Django 编码风格指南,汇集了我们一线团队多年的经验,我们希望它可以帮助您构建更好的Django 应用程序。
27. numpy-100:Numpy练习册。该项目包含100 个针对Numpy(Python 中常用的数据处理库)的练习和解决方案。
# np.sum ()Z=np.arange(10)np.add.reduce(Z)28 如何更快地对小数组求和:Python 的数据流编排平台。如果数据采集、清理和处理步骤被视为单独的任务,那么该项目可以将这些任务集成到工作流程中,并在Web 平台上部署、安排和监控它们的执行。
从完美导入流程中,task@taskdef Say_hello(): print('Hello, World! I'm HelloGitHub!')@flow('Prefect Flow'):def h_flow(): Say_hello()# 运行流程!h_flow ( ) # “Hello,World!我是HelloGitHub!Ruby 项目29. YouPlot:用Ruby 编写的命令行数据可视化工具。”该项目将数据转换为终端内的彩色图表,并支持条形图、直方图、箱线图和其他类型的图表。
Rust Project 30,ChatGPT:第三方ChatGPT 桌面应用程序。将ChatGPT 放在您的桌面上。它支持快捷键、斜杠命令、单词搜索、记录导出等实用功能,适用于macOS、Windows 和Linux 操作系统。
31. gitui:带界面的Git命令行工具。本项目为git提供了终端接口,让用户能够更加流畅的使用git。交互式操作提示无需记住众多git 命令。
Swift Project 32、vimac:使用键盘而不是鼠标的macOS 应用程序。这使得用户可以仅使用键盘来操作苹果电脑,并支持两种操作模式。
激活模式:将屏幕上的可点击位置映射到键盘按键。 滚动模式:使用HJKL键完成区域的滚动。 其他33. cdn-up-and-running:从头开始构建CDN 的教程。从创建单个后端服务开始,逐步扩展到多个节点、模拟延迟、可视化和可测试的CDN 服务,以便您可以了解CDN 在现实世界中的工作方式,我将继续这样做。学习本教程需要特定的编程基础,因为设计CDN 包括Nginx、Lua、Docker 和Grafana 等知识点。
34. Fluentui-emoji:一组可爱的表情符号。本项目是微软开源的一套精美可爱的emoji表情包。
35. k8s_PaaS:解释如何使用K8s部署一整套服务的教程。通过本教程,您将学习如何部署Kubernetes 集群,构建由Apollo、Jenkins、Prometheus 等服务组成的完整软件开发和部署平台。
36. pi-apps:最受欢迎的Raspberry Pi 应用商店。这是一个完全免费、开源的Raspberry Pi应用商店,易于安装和使用,拥有超过200个内置应用程序,并支持32位和64位Raspberry Pi操作系统。
# 下载git clone github.com/Botspot/pi-apps。安装~/pi-apps/install37。 smiley-sans:完全开源,精心打造的中文粗体。该字体名为“德一黑”,整个字体细而倾斜,细节处融入了受手绘艺术书法启发的特殊形状。支持常见的简体中文字符、拉丁字符、阿拉伯数字以及各种标点符号。
开源书籍38 的简化版本,essential-netty-in-action:《Netty 实战》。本书为《Netty in Action》简体中文版,将帮助你快速掌握Netty。
39、好友时间:《把时间当作朋友》。事情没必要着急。马比骆驼跑得快,但骆驼一生中行走的距离是马的两倍。
机器学习40,annotated_deep_learning_paper_implementations:深度学习论文实现的集合。这是神经网络和相关算法的PyTorch 实现的集合,代码中带有逐行注释。
41. Chinese-CLIP:OpenAI CLIP模型的中文预训练版本。该项目使用大规模中文数据(约2亿张图像和文本数据)进行训练,并提供多尺度的预训练模型和技术报告,让用户只需几行就可以创建中文图像,并可以完成文本特征提取。和加工。图像和文本检索。
import torch from PIL import Imageimport cn_clip.clip as Clipfrom cn_clip.clip import load_from_name, available_modelsprint('可用型号:', available_models()) # 可用型号: ['ViT-B-16', 'ViT-L-14', 'ViT -L-14-336', 'ViT-H-14', 'RN50']device='cuda' if torch.cuda.is_available() else 'cpu'model, preprocess=load_from_name('ViT-B- 16' , device=device, download_root='./')model.eval()image=preprocess(Image.open('examples/pokemon.jpeg')).unsqueeze(0).to(device)text=Clip. ['Squirtle', 'Bulbasaur', 'Charmander', 'Pikachu']).to(device)with torch.no_grad(): image_features=model.encode_image(image) text_features=model.encode_text(text ) # 特征量标准化,对下游任务使用归一化图像和文本特征image_features /=image_features.norm(dim=-1, keepdim=True) text_features /=text_features.norm(dim=-1 , keepdim=True) logits_per_image, logits_per_text=model. get_similarity(image, text) probs=logits_per_image.softmax(dim=-1).cpu().numpy()print('Label probs:', probs) # 图像和文本的匹配概率[[1.268734e-03 5.436878e- 02 6.795761e-04 9.436829e-01]] 42. KuiperInfer:从头开始创建深度学习推理框架的教程。逐步学习如何使用C++ 创建深度学习推理框架。项目整体风格和结构基于Caffe。通过本教程,初学者不仅可以了解深度学习框架背后的知识,还可以学习如何启动一个中型C++项目。
最后,感谢您的阅读。 如果喜欢本期内容,请点赞分享下一期再见~