发布时间:2023-11-10
浏览次数:0
兴趣是最好的老师,让你对编程产生兴趣!
介绍
分享有趣的入门级开源项目。
这里有实战项目、入门教程、黑科技、开源书籍、各大厂商开源项目等,涵盖多种编程语言,Java、Go、C/C++、Swift...让你感受魅力短时间内实现开源。 对编程产生兴趣!
以下为本期内容|每月28日更新
C项目
1.:超轻量级C/C++日志库。 占用资源较少,适合物联网、微控制器等项目。 其功能简单易用,并且可以通过插件扩展功能。 特征:
地址:
2.:用C语言从头实现的软件渲染器。 仅使用几千行C代码而不使用图形API,它实现了一组类似的基本图形功能,以及游戏开发中使用的实时渲染技术,例如阴影、切线空间法线贴图、基于物理的材质本项目包含丰富的数学计算推导过程的注释和描述,可以帮助理解和学习GPU的基本工作原理、基础渲染知识和着色器原理。
地址:
3.:轻量级多平台、多架构CPU仿真器框架。 基于QEMU开发的CPU模拟器大多用于逆向工程和执行恶意代码。 特征:
地址:
C# 项目
4. Bili.Uwp:非官方桌面应用程序。 基于UWP框架开发的客户端简单易用,界面干净,适用于10/11桌面系统和Xbox。
地址:
C++项目
5.:强大的国际象棋引擎。 在众多国际象棋引擎评级排行榜上名列前茅,棋艺基本优于职业棋手。 不仅可以玩游戏,还支持棋局分析和棋技评估,帮助棋迷提高棋艺。 虽然这是一个无法单独运行的引擎,但社区提供了丰富的 GUI 软件可以下载和使用,甚至可以用来解释国际象棋比赛。
地址:
6. annoy:近似最近邻搜索的算法库。 近似最近邻(ANN)方法是指解决最近邻搜索问题的一系列近似算法,多用于内容推荐、搜索等场景。 本项目是一个封装好的C++/Annoy算法库。 Annoy是使用以树为数据结构的ANN算法来实现的。 它通过随机投影创建二叉树来构建索引,以提高查询效率。 它采用优先队列和“森林”查询方法来提高准确性,实现海量数据下的实时搜索。
from annoy import AnnoyIndex
import random
f = 40 # Length of item vector that will be indexed
t = AnnoyIndex(f, 'angular')
for i in range(1000):
v = [random.gauss(0, 1) for z in range(f)]
t.add_item(i, v)
t.build(10) # 10 trees
t.save('test.ann')
# ...
u = AnnoyIndex(f, 'angular')
u.load('test.ann') # super fast, will just mmap the file
print(u.get_nns_by_item(0, 1000)) # will find the 1000 nearest neighbors
地址:
7. xbmc:功能强大且免费的媒体中心软件。 它是一个媒体播放器软件,但又是一个家庭媒体娱乐中心。 它不仅支持本地视频播放,还可以安装各种插件并播放网络存储设备(NAS)、投屏、直播、电视、播客等来源。 它可以运行在Linux、macOS、、iOS等设备上。 界面支持中文,更多功能等你探索。
地址:
8.-CPP:易于使用的轻量级C/C++集成开发环境。 Red Panda C++ 是一款专为编程新手和学生设计的 IDE,它开箱即用,无需复杂的安装和配置过程。 支持开发所需的C/C++程序自动完成、语法高亮、编译、运行、调试等功能。 不仅如此,它还集成了ege、海龟画等学习库,以及测试题集和OJ功能,让程序员新手轻松学习和使用。
地址:
CSS项目
9.-主题-:专注于阅读的博客园皮肤。 博客园是一个支持自定义皮肤的博客平台。 本项目是一个开源博客园皮肤。 该文档有详细的安装步骤。 阅读后您将能够立即使用它。 虽然皮肤会拖慢博客的访问速度,但是简单又漂亮的皮肤效果值得一试。
地址:
围棋项目
10.bk-cmdb:腾讯开源的配置平台。 企业级资产和应用配置管理平台,具有主机管理、组织架构管理、通用权限管理、操作审计等功能。 这个项目的代码审查非常严格。 这样既保证了项目的代码质量,又提高了代码的可读性。 建议阅读源码。
地址:
11.:开源云原生监控系统。 支持多种部署方式,是集数据采集、监控报警、可视化于一体的企业级监控平台。 借助高性能时序库,可以满足数亿条时间线的采集、存储和报警分析场景。 该项目已在数千家公司部署,并在各种生产环境中进行了测试。
地址:
12.:简单易用的家庭云系统。 只需一键安装在NAS、 Pi等各种家庭智能设备上sketch中文用户手册,让您随时随地管理个人数据和设备。
地址:
13. ddns-go:简单易用的DDNS工具。 众所周知,域名解析中的域名对应的是固定的IP,但本机的IP一般是动态的,因此无法完成域名解析实现公网访问。 动态DNS(DDNS)技术用于解决动态IP的域名解析问题。 本项目可以自动获取你本地的公网IP并自动更新到域名服务商,从而实现本地机器的公网访问。
地址:
14. colly:可能是最知名的Go爬虫框架。 它有友好的API和丰富的代码示例,让您可以在短时间内上手。 性能方面,单核可以达到1K请求/秒。 它还可以轻松管理请求方式、间隔和最大并发数。 它强大而优雅。
func main() {
c := colly.NewCollector()
// Find and visit all links
c.OnHTML("a[href]", func(e *colly.HTMLElement) {
e.Request.Visit(e.Attr("href"))
})
c.OnRequest(func(r *colly.Request) {
fmt.Println("Visiting", r.URL)
})
c.Visit("https://go-colly.org/")
}
地址:
Java项目
15.:从文本描述生成UML图的工具。 该项目可以基于简单的文本描述绘制UML图,支持序列图、用例图、序列图等。此外,还支持架构图、甘特图、思维导图、实体关系图等非UML图,支持在线、命令行、桌面应用等多种使用方式,您可以根据情况进行选择。
java -jar plantuml.jar 文本文件
将得到一个同名的 png 文件
地址:
16. doris:高性能分析数据库。 基于MPP架构的高性能、实时分析数据库,在海量数据、高并发场景下表现尤为出色。 目前在很多知名公司都有使用,可以用来构建用户分析、日志检索分析、用户画像等应用。
地址:
项目
17.koodo-:高级电子书阅读工具。 该阅读器支持EPUB、PDF、漫画等多种常见文本格式。 它具有清爽的界面和丰富的功能。 具有自定义字体、添加注释、书签、单词翻译、导入书籍、数据同步等功能。 提供macOS和Linux客户端,同时支持网页版在线使用。
地址:
18. video.js:流行的 HTML5 视频播放器。 一款开箱即用的 Web 视频播放器,支持 HTML5 视频和流媒体格式,迄今为止已被超过 450,000 个网站使用。
地址:
19. vue-idle-game:闲置放置游戏。 一款用 Vue.js 编写的在线 RPG 游戏。 装备完全随机,完全靠打磨。 如果没有任务,就刷吧。
地址:
20.:一个易于扩展的无代码开发平台。 该项目允许您在几分钟内构建协作和内部管理系统,而无需编写代码,只需单击和拖动即可。 该项目仍处于开发的早期阶段,不应在生产环境中使用。
地址:
21.van-blog:实用的一站式个人博客系统。 一个简洁优雅的博客系统,追求极致的响应速度和博客体验。 前后端均响应式,支持一键部署。 前端是静态页面,支持增量渲染,按需构建更新页面。 拒绝花哨的功能,专注于个人博客场景。
地址:
项目
22、Unciv:一款类似《文明》的单机策略手游。 一款只有6M的回合制策略游戏,玩家可以在游戏中模拟创建一个帝国文明,相当于开源版的《文明》安卓手游。 游戏画面虽然是像素风格,但是并不影响游戏体验。 游戏支持中文,内容丰富,可玩性很强。
地址:
项目
23. dooit:命令行待办事项工具。 一款操作简单编写的交互式命令行待办事项工具,支持快捷键和鼠标,界面精美,可自定义主题和图标。
地址:
24.:用于创建模型的演示界面。 这是一个用于构建机器学习和数据科学演示的库。 它包含各种输入和显示组件,并且非常易于使用。 您只需几行代码即可创建一个演示机器学习模型的 Web 界面。
import gradio as gr
def sketch_recognition(img):
pass# Implement your sketch recognition model here...
gr.Interface(fn=sketch_recognition, inputs="sketchpad", outputs="label").launch()
地址:
25.label-:开源数据标注工具。 支持音频、文本、图像、视频、时间序列等多种类型数据的标注和标注工具。
# 安装
pip install -U label-studio
# 运行
label-studio
地址:
26.-:自建纯搜索服务。 这是一个注重保护用户隐私的元搜索引擎。 它会在过滤掉广告后返回搜索结果,并且不会跟踪或存储 IP。 支持部署简单快捷,适合注重隐私的用户。
地址:
27、nas-tools:NAS媒体库资源自动组织工具。 一款NAS媒体库工具,支持资源检索和订阅、媒体库组织和通知服务。 这是一个以爱为动力的项目。 你可以不爱它,但请不要伤害它。
地址:
28.:使用操作tmux的库。 通过此项目,您可以使用代码自动控制 tmux 应用程序的会话、窗口和窗格。
import libtmux
server = libtmux.Server()
server.list_sessions()
# [Session($3 foo), Session($1 libtmux)]
地址:
Rust 项目
29. .rs:Rust 编程语言备忘单。 这里不仅有Rust的基本语法,还有执行顺序的详细说明以及编写时需要注意的注意事项。 如果您认为这还不够,该项目还包括示例代码(EX)、书籍(BK)、标准库(STD)和其他 Rust 相关材料。
地址:
30. py-spy:使用top方法分析程序性能的工具。 一款程序性能分析工具sketch中文用户手册,可以让您直观地看到程序中每个函数所花费的时间,而无需重新启动程序或修改代码。
# 安装
pip install py-spy
# record 命令将配置文件记录到文件中,可用来生成火焰图
py-spy record -o profile.svg --pid 进程ID
# top 命令实时展示函数花费时间
py-spy top --pid 进程ID
# dump 命令显示每个 Python 线程的当前调用堆栈
py-spy dump --pid 进程ID
地址:
31.:Rust 语言的 HTTP 客户端。 HTTP客户端采用纯Rust编写,易于使用,支持异步,并且API友好。
use std::collections::HashMap;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let resp = reqwest::blocking::get("https://httpbin.org/ip")?
.json::String, String>>()?;
println!("{:#?}", resp);
Ok(())
}
地址:
斯威夫特项目
32.:一个非常灵活的iOS消息传递库。 用Swift编写的消息组件可以灵活地在屏幕的顶部、底部和中央显示消息。 它还提供了几个漂亮的布局和主题,开箱即用非常方便。
// 例化一个消息视图
let view = MessageView.viewFromNib(layout: .cardView)
// 带有警告样式的主题消息元素
view.configureTheme(.warning)
// 增加阴影
view.configureDropShadow()
// 设置消息标题、正文和图标
let iconText = ["", "", "", ""].randomElement()!
view.configureContent(title: "Warning", body: "Consider yourself warned.", iconText: iconText)
// 增加卡片周围的外部边距
view.layoutMarginAdditions = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
// 显示消息
SwiftMessages.show(view: view)
地址:
33.:用于控制macOS外接显示器的工具。 macOS多显示器控制工具,您可以通过菜单栏或使用快捷键轻松控制外接显示器的音量、亮度和对比度。
地址:
其他
34.sql---list:关于SQL注入的知识集合。 该项目解释了什么是 SQL 注入和一些常见示例,以及如何发现、利用和预防各种 SQL 注入漏洞。
地址:
35.-:从入职到面试的系统设计。 教程从基础协议开始,介绍常用数据库、消息队列等服务,最后以访谈和实际案例分析结束。 内容循序渐进,图文并茂。 非常推荐大家学习。
地址:
36. all-:识别非代码贡献者的工具。 这是一个可以使用命令将贡献者添加到项目主页进行显示和识别的机器人。
地址:
37.:macOS系统下载工具。 通过脚本直接下载macOS系统文件,可用于创建macOS安装镜像。
地址:
38.:自动同步应用程序设置的工具。 一款可以帮助您快速备份和同步 macOS 和 Linux 上的应用程序配置文件的工具,包括 Zsh、Vim 和 MySQL 等各种开发相关的应用程序。 它还支持Zsh、Vim、Git等丰富的同步方式。
# 安装
brew install mackup
# 备份
mackup backup
# 恢复
mackup restore
地址:
开源书籍
39. inese:《C++》的汉译版。 一本教你如何编写正确、高效、可维护的 C++ 代码的书。 本项目为中文翻译版本(已完成)。
地址:
40. babel-:Babel 用户手册。 内容分为两部分:关于如何安装和配置 Babel 的“用户手册”和关于如何为 Babel 创建插件的“插件手册”。
地址:
机器学习
41.:开源目标检测工具箱。 基于目标检测开源工具箱,支持R-CNN、Mask R-CNN等主流算法。
地址:
42.:自建服务。 它采用该模型并构建了自己的AI编码辅助服务。 支持插件接入,使用非常方便。
地址:
终于
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码