本目录放置:面向程序员的开源代码库清单(含示例代码)。
为了方便查找,根据“编程语言”归类。(目前先整理两个编程语言,今后有空再补充其它语言)
(俺会抽空整理)
【编程随想】收藏的开源项目清单
License: Creative Commons Zero v1.0 Universal
[[写了个辅助提醒读README的vscode插件,欢迎大家star~~
v2ex.com/t/846561
https://github.com/digshare/rtf-readme](https://v2ex.com/t/846561)](https://v2ex.com/t/846561)
📈RainbowGPT现在包括一个强大的股票分析模块,集成各种技术,提供对股市的全面见解。
⚡RainbowGPT结合了AI Agent代理、GPT-4、GPT3.5、ChatGlm3、Qwen LLM、ChromaDB矢量数据库、Langchain知识库问答检索和谷歌搜索引擎。
json11也是一个非常不错的json解析库,使用了c++11语法
opensource 这个项目用来维护“俺收藏的各种开源项目的清单”。
如下几种情况,可以使用 GitHub 的 issues 功能,给俺提供反馈。
(issues 相当于简版的论坛,大伙儿可以利用它进行讨论)
x-crawl 是一个灵活的 Node.js 多功能爬虫库。灵活的使用方式和众多的功能可以帮助您快速、安全、稳定地爬取页面、接口以及文件。
如果你也喜欢 x-crawl ,可以给 x-crawl 存储库 点个 star 支持一下,感谢大家的支持!
GitHub:https://github.com/coder-hxl/x-crawl
以每天自动获取世界各地的经历和房间的一些照片为例:
// 1.导入模块 ES/CJS
import xCrawl from 'x-crawl'
// 2.创建一个爬虫实例
const myXCrawl = xCrawl({ maxRetry: 3, intervalTime: { max: 3000, min: 2000 } })
// 3.设置爬取任务
// 调用 startPolling API 开始轮询功能,每隔一天会调用回调函数
myXCrawl.startPolling({ d: 1 }, async (count, stopPolling) => {
// 调用 crawlPage API 来爬取页面
const res = await myXCrawl.crawlPage({
targets: [
'https://www.airbnb.cn/s/experiences',
'https://www.airbnb.cn/s/plus_homes'
],
viewport: { width: 1920, height: 1080 }
})
// 存放图片 URL 到 targets
const targets = []
const elSelectorMap = ['._fig15y', '._aov0j6']
for (const item of res) {
const { id } = item
const { page } = item.data
// 等待页面加载完成
await new Promise((r) => setTimeout(r, 300))
// 获取页面图片的 URL
const urls = await page!.$$eval(
`${elSelectorMap[id - 1]} img`,
(imgEls) => {
return imgEls.map((item) => item.src)
}
)
targets.push(...urls)
// 关闭页面
page.close()
}
// 调用 crawlFile API 爬取图片
await myXCrawl.crawlFile({ targets, storeDir: './upload' })
})
运行效果:
注意: 请勿随意爬取,爬取前可查看 robots.txt 协议。这里只是为了演示如何使用 x-crawl 。
项目名称:轻快图床
基于Koa2 + Vue3.x + Vite3.x + typescript开发的轻量级快捷图片管理系统、图床系统
项目地址:
项目简介 (100 字以内):
程序员日常就是写博客,当然写博客时就会涉及到在博文中插入图片,所以往往会使用图床来进行图片资源管理,市面上较流行的图床系统是PicGo
,是使用electron-vue
开发的桌面应用程序,每次换电脑或者重装系统后都需要重新下载安装并配置图床,比较麻烦。所以开发了这款轻快图片管理系统,是基于vue3.x + typescript + vite + koa + mysql开发的前后端分离图床系统,使用该系统可以不需要每次都配置图床。
项目截图 (6张以内):
Peter Corke 基于Matlab 开发了robot Toolbox(http://www.petercorke.com/Robotics_Toolbox.html)
与之对应的Python版 robotics-toolbox-python (https://code.google.com/p/robotics-toolbox-python/)
http://www.sympy.org/en/index.html
RT,python下的符号计算库。
c 写的,非常轻巧,就那么几个文件
官网不久前才从 sf 搬到了 github
http://www.pbrt.org/index.php#system
https://github.com/mmp/pbrt-v3
比较著名的光线追踪渲染软件 算是行业标准吧 虽然bug挺多
2.1.1 标准容器
std
队列:queue、deque(双端队列)
在线安装GitHub Desktop总是下载到7M左右失败,翻不翻墙都一样。
spserver也是一个非常不错的网络库,但是已经没有维护了
tinyxml以及新版的tinyxml2(也叫tinyxml++),也是xml解析库中的经典
里面的
# 以下是传统 Python 写法,冗长且速度较慢
a = range(10000000)
b = range(10000000)
c = []
for i in range(len(a)) :
c.append(a[i] + b[i])
更 Pythonic 的写法是
a = range(100)
b = range(100)
c = [sum(i) for i in zip(a, b)]
# c = [i+j for i, j in zip(a, b)]
Sodium is a new, easy-to-use software library for encryption, decryption, signatures, password hashing and more. It is a portable, cross-compilable, installable, packageable fork of NaCl, with a compatible API, and an extended API to improve usability even further.
Upstream: https://github.com/jedisct1/libsodium
License: ISC
(FYI, NaCl was placed in public domain)
Projects that using libsodium or its binding:
shadowsocks
dnscrypt-proxy
腾讯的RapidJSON据说也不错,自称世界上json解析速度最快的库
1.有一个叫做Eigen的库,提供了很多对矩阵运算的支持
2.在图形学的矩阵变换里,有一个叫glm的库也比较实用
C++开源库
网络库:HP Socket,含tcp\udp\http\https\websocket的实现
日志库:easylogging++
xml:rapidxml。注意,这个不是腾讯的rapidjson
界面库:duilib。国内的开源界面库,但是也基本没人维护了
还有一些其它的库,就不一一列举了,因为不了解。但是像google、facebook等国际知名公司,是有非常多的经典开源库的,大家可以上它们在github上的主页中找,有太多优秀的代码可以参考
鼎鼎大名的glog没有归并到日志库里面?
文中的log4cpp我用了一下,无法输出文件行号,这点挺蛋疼的。后来用了log4cplus,而且后者在github里的收藏数量要比前者高很多。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.