Backend
Collection
日常收集记录(后端 server 开发或者数据库等相关知识工具)
Distributed systems
集群系统相关知识工具
Services discovery
RPC
Serialization Frameworks
- msgpack - 和 JSON 差不多。压缩版 JSON
- pickle - Python 自带。二进制序列号格式
- cbor - binary object, 能用的库不多
- bson - binary json , MongoDB 里用的就是 bson
- Json Lines - JSON 改良
- thrift - RPC 库里用的
- FlatBuffers - 为游戏开发设计。(应该是不做数据压缩,解析更快,但比较耗内存和带宽)
- parquet - Columnar storage for Hadoop workloads. (Binary)
- srsly - python 的库
- Java Object Serialization - JDK / JRE 自带
- ion - Amazone 开发
- npy - Python NumPy 自带
- Json LD - 改良版 JSON ,适合重复数据多
- gobs - golang 自带
- Boost.Serialization - Boost 的一个模块,只适合 c++ Boost.Serialization 1.8
- Others: Yaml; Toml; xml; Plist (MacOS 里用的那个)
Monitoring tool
Prometheus 系
- node_exporter - Exporter for machine metrics
- alertmanager - Prometheus Alertmanager
- ethtool golang - ethtool 的 golang 实现 Prometheus 内部调用
- proc fs - golang 实现的 proc fs 解析工具。 Prometheus 内部组件
Application Performance Monitoring
Misc
- sysstat - Performance monitoring tools for Linux
- Server Status Rust - Rust 实现的服务器监测
- uptime kuma - A fancy self-hosted monitoring tool
- btop - 改良版本 top
- netdata - Real-time performance monitoring 是 c / c++ 实现,也支持自己写 Collector 扩展。(比较适合做单机的时时检查用)
- nmon - 用 cli 也支持 csv 导出后的分析。适合单机检查、分析具体问题。
Database
数据库相关知识和工具
Key-Value Database
- Dragon Fly DB - 类 redis ,看统计比 redis 快,占内存少
Time series database
- GrepTimeDb - rust 实现的 TS DB
SQLite 系
- SQLite Docs
- SQLite Github mirror
- SQLite 源代码解析
- rqlite - Golang 封装 raft + SQLite 实现的分布式数据库
PostgreSQL 系
- patroni - python 实现 PG 集群配置工具 (依赖 ETCD )
DB tools
- dbeaver - 支持各种数据库的管理工具。基于 Java, JDBC 用 Eclipse 改的界面。社区版本免费。
C/C++
Java
- jodd - 各种工具库的独立实现,不一定最好但都比较小巧。
- byte-buddy - Runtime code generation
- oshi - 获取 os 或者 hardware 信息的跨平台封装 (通过解析 sysfs, procfs 或者解析命令行输出、也有用 JNI 调用或者 Windows 上 WMI)
golang
- zap - log library 特点是速度快,占用内存少
- viper - configuration solution for Go applications
- gorm - ORM library for Golang
- gin - HTTP web framework
- httprouter - HTTP request router
- Standard Go Project Layout - Standard Go Project Layout
- go-prompt - python-prompt-toolkit 的 golang 平替。tui library
- bubbletea - golang tui library
- cobra - command 解析库。类似 hugao 的命令行解析就用了这个实现。
- gnet - gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.
- ants - a goroutine pool library
Github Tools
- Open Source Software Insight - github 的一些统计
- giscus - 基于 github discussions 做的 BLOG 留言系统
- utteranc - 基于 github issue 做的 BLOG 留言系统
OS distribution
- AlmaLinux - CentOS 替代
- Clear os - 类似 Redhat, CentOS 不过适合 NAS 管理,有一些远程管理工具。
- scoop - Windows package management
Tutorials
- CS DIY - Computer science 自学目录
- µGo 语言实现(从头开发一个迷你 Go 语言编译器) - go 编译器学习
- Go 语言定制指南 - Go 语法树入门
- Go Optimization Guide - Common Performance Patterns & Practical Networking Patterns
Dev-Ops
Misc
- ddosify - Stress / Loading tests framework
- xxHash - 比 MD5 和 SHA1 快出很多的 hash 实现。用于计算内测数据的 hash 比较合适,用来做文件的摘要意义不大,因为瓶颈一般做 disk I/O 上。 xxHash Github;xxHash Golang 实现
- go-guerrilla - Mini SMTP server written in golang
- coreutils rust - unix core utils 的 rust 实现版本
- podman - daemonless container engine
- ttar - 文本文件打包工具
- vegeta - golang library HTTP API 压测工具