学习资料
持续更新
目录
1 基础
- free programming books - 免费的编程书籍
- the book of secret knowledge
- cs self teaching
- Awesome README
- Roadmap
- Mathematics for Computer Science - 计算机科学中的数学
- What Every Programmer Should Know About Memory - 每个程序员都需要了解的内存知识
- Principles Wiki - 编程原则
- The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) - 每个程序员都要知道的 Unicode 编码知识
- Every Programmer Should Know - 每个程序员都要知道的知识
- stypleguides - google 的编码规范(包括 C++/Java/HTML/CSS 等等)
2 Docker
- Docker 从入门到实践 - Docker 入门推荐
- Docker 新手教程 - Docker 官方编写的新手教程
3 PHP
4 Go
4.1 基础
- Go Roadmap
- The Complete Guide to Learning Go
- Learning Cloud Native Go
- Essential Go
- Ultimate Go
- 跟煎鱼学 Go
- gophercises
- Gopher Academy Blog
- Go 语言原本
- awesome golang workshops
- gotraining
- Go语言高级编程
- Go面试题
- Go Cookbook
- Go后端程序员宝典
- Go编程时光
- Go高级教程
4.2 日志
- zerolog - 零内存分配日志库
4.3 Web
- REST Servers in Go - 用 go 写一个 REST 服务器,系列文章
- Developing a RESTful API with Go and Gin
- Go Web 开发
- Go Web 编程 - Go Web 编程,新加坡郑兆雄著,黄健宏译
- 无闻的 Go Web 教程
- Learn Web Programming in Go by Example - 通过示例学习 Go Web 编程
- GoAdmin - 快速搭建 Go 可视化面板
- gin-vue-admin - 基于gin+vue搭建的后台管理系统框架,集成jwt鉴权,权限管理,动态路由,分页封装,多点登录拦截,资源权限,上传下载,代码生成器,表单生成器等基础功能
- go-ldap-admin - 基于 Go+Vue 实现的 openLDAP 后台管理项目
- pocketbase - 开源 Go 后端,内置文件和用户管理
- gin - 最受欢迎的 go web 框架
- goyave - 优雅的 go REST API 框架
- iris - 最快的 go web 框架,支持 HTTP/2
- fasthttp - 高性能 HTTP 框架
- fiber - NodeJS express 框架的 go 版本
- chi - 轻量级的 go web 框架
- echo - 高性能,简洁的 go web 框架
- caddy - 快速,多平台 web 服务器,自带 HTTPS
- httprouter - 路由库
- web-frameworks - go web 框架的比较工具
- websocket - 快,充分测试,广泛使用的 WebSocket 库
- go-socket.io - go 语言 socket.io 库,实时应用框架
- A Million WebSockets and Go
- casnode - 开源 BSS 框架,基于 Go + React
- photoprism - 使用 Gin 编写的个人照片管理程序
- pgweb - 使用 Gin 编写的 PostgreSQL 数据库的跨平台客户端
- Gin Ecosystem - 由hhstore整理的 Gin 生态项目
- awesome gin - Gin 相关项目,涉及中间件/日志等
4.4 数据库和缓存
- ent - facebook 开源,数据库模型库
- gorm - 最流行的 orm 框架
- groupcache - 替代 memcached
- freecache - Go 缓存库,无 GC
- bigcache - GB 级数据缓存
- ristretto - 高性能内存 cache
- rosedb - 高性能 NoSQL 数据库
- gendry - 滴滴开源的 sql builder
- db - PostgreSQL/MySQL/CockroachDB/SQLite 的数据访问层
- migrate
4.5 网络和微服务
- frp - 反向代理
- chat - 即时聊天平台
- evio - 高性能网络库
- NSQ - 即时分布式消息平台
- gowebsocket - 分布式聊天(IM)系统
- gonet - 分布式服务器,基于内存 mmo
- kratos - 一个 Go 微服务框架
- kit - 早期的 go 微服务工具包
- go-micro - go 微服务框架
- kitex - 字节开源的 go RPC 框架,帮助构建微服务
- go-zero - 云原生 go 微服务框架
- mqant - 高性能分布式微服务框架
- cloudwego - 字节跳动开源的微服务框架
- asynq - 消息队列
- gim - Go IM服务器
- go-coffeeshop - 微服务demo
4.6 kit 教程
- Getting started with Go kit
- Microservices in Go using the Go kit
- Go + gRPC with Go Kit
- OpenCesus Go kit
4.7 实现原理和性能优化
- high performance go workshop - 如何分析和优化 Go 程序性能
- 深入理解channel:设计+源码
- Go GC 20问
- go.dev - Go 官方资源汇总
- Go AST - 在线查看 Go AST 语法树
- gopm - 国内维护的 Go 语言包管理器,有大量 Go 语言第三方包
- Go 好文推荐
- Using Go instead of bash for scripts - 使用 Go 代替 Bash 来编写项目中的脚本任务
- awesome-gc
- Golang 调度器
- 搞懂垃圾回收
4.8 实战
- gophercises - Go 实战
- high-performance-go
4.9 实用工具
- cli - 命令行应用工具
- chromedp
- GoFrame
- xid - 全局唯一 id 生成器
- Go 语言定制指南
- gomacro - REPL
- gokins - 轻量级、持续继承、持续交付的工具
- mage - 类似 make 的工具
- go-clean-template - 模板
5 C/C++
- cpp tutorial - cplusplus 教程
- modern-cpp-tutorial
- C++ Core Guidelines - 由 C++ 创始人 Bjarne Stroustrup 和巨佬 Herb Sutter 维护的 C++ 核心指南
- Google C++ Style Guide - Google C++ 编码规范
- JSON for Modern C++ - 现代 C++ 编写的 JSON 库
- Standard Template Library Programer’s Guide - 标准模板库编程指南
- jemalloc - 应用广泛的内存分配器库
- Optimizations That Aren’t(In a Multithreaded World) - 有些优化对多线程无效
- folly - facebook 开源的 C++ 程序库,包含多种功能(容器、压缩、并发等等)
- workflow - 搜狗开源的 C++ 并行计算和异步网络编程引擎
- googletest - Google C++ 测试框架
- abseil - Google 开源的 C++ 编程库
- Crafting Interpreters - 自己动手实现解释器
- Awesome CPP
- capnproto
- srpc - High performance, low latency, lightweight enterprise-level RPC system. Supports Baidu bRPC, Tencent tRPC, thrift protocols
- cpp-httplib - A C++ header-only HTTP/HTTPS server and client library
- coost - 类 boost 的轻量级 C++ 开发库
6 Lua
- argparse - 命令行参数解析库
7 Python
- 学习Python内置函数
- Full Stack Python - python全栈教程,从基础语法,到Web开发,到上线部署
- Python - 100天从新手到大师
- Python-for-Freshmen-2023
8 DB
- awesome database learning - pingcap 整理的数据库学习指南
8.1 kv
- memcached源码分析
- leveldb - Google 开源的高性能 key-value 存储库
- rocksdb - facebook 从 leveldb 演化的一个分支,做了很多优化
- scylladb
- tidb - 开源、云原生、分布式、MySQL 兼容的数据库
- tikv - 分布式 key-value 存储,是 tidb 的一个补充
- talent-plan - pingcap 出品的数据库教程,用 Go 实现一个分布式关系型数据库 TinySQL,用 Go 实现一个分布式key-value数据库,深入了解 TiDB 和 TiKV
- 三篇文章了解 TiDB 技术内幕 - TiDB 技术内幕
- Let’s Build a Simple Database - 自己动手实现一个数据库
- toydb - Rust 实现的分布式 SQL 数据库,一个学习项目
8.2 redis
- redis.io - redis 官方网站
- antirez - redis 作者 blog
- redis-memory-analyzer - redis 内存分析工具,可以识别模式键名,例如 user:* 占用多少内存
8.3 SQL
- SQLite - SQLite 架构
- MySQL Tutorial - MySQL 教程,从入门到精通,触发器/存储过程/视图/全文搜索等都有讲述,非常全面。还有各种语言的编程接口教程,PHP/NodeJS/JDBC/Python/Perl
- PostgreSQL Tutorial - PostgreSQL 教程,非常全面
9 Linux/UNIX
- UNIX 环境高级编程 - 配套网站
- make 官方文档
- linux command - linux命令搜索
- linux 编程接口 - 配套网站
- 跟我一起写 Makefile
- awk 官方文档
- sed 官方文档
- bash 官方文档
- bazel 构建工具
- Effective Shell
- pure bash bible
- explain shell
10 Network
- Beej’s Guide to Network Programming - 网络编程教程
- The C10K problem
- muduo - 陈硕开源的多线程 C++ 网络库
- muduo-tutorial - Tutorial of Muduo network library
- libuv - Cross-platform asynchronous I/O
- learn-libuv - About Learn uv for fun and profit, a self guided workshop to the library that powers Node.js
- libevent - Event notification library
- aceld/libevent - <Libevent深入浅出>
- Fast UNIX Servers
- scalable-networking.pdf
- Benchmarking BSD and Linux
- Jeff Darcy’s notes on really high performance servers
11 数据结构与算法
- hell-algorithm - 针对小白的算法训练
- labuladong的算法小抄 - leetcode 刷题指南
- algorithm base - 动画说算法
- leetcode-master - leetcode 刷题攻略,有书《代码随想录》
- projecteuler - 欧拉工程,数学与算法的结合
- 令狐冲的算法小抄 - 算法小抄
- leetcode go - 用 Go 刷 leetcode
- leetcode - 多种编程语言实现 Leetcode、《剑指offer》、《程序员面试金典》
- LeetCode - 实现和精讲
- 数据结构与算法(Golang实现)
- C++数据结构、算法与应用 -《数据结构、算法与应用 C++》配套网站
- Data Structure Visualizations - 数据结构可视化
- Algorithms for Competitive Programming - 算法竞赛
12 游戏开发
- skynet - 云风开源的游戏服务器框架
- skynet设计综述 - 云风博客,skynet 设计综述,了解 skynet 背后的设计
- pbc - 云风开发的 Google Protocol Buffers 的 C 语言库,支持 lua binding
- Manistein’s Blog - 很多解析 skynet 的文章
- skynet timer - skynet 定时器实现剖析
- BigWorld Engine - BigWorld 游戏引擎
- leaf - 游戏服务器框架
- antnet - 游戏服务器网络框架
- lockstepserver - 帧同步服务器
- goworld
- kbengine - A MMOG engine of server
- 游戏中的随机概率
- 游戏掉落概率
- BehaviorTree.CPP
- bevy - 数据驱动游戏服务器
- ebitengine - 超级简单的 2D 游戏库
- Game Off 2022
13 系统架构
14 Tutorial
- RealWorld exmaple apps - 真实项目示例
- ZetCode - Java/Python/C#等编程语言教程,电子书
- exercism - 编程语言教程
- docs4dev - 收集技术中文文档,Java/Spring全家桶/Linux/BigData等
- 码农周刊
- project based learning
- build your own x
- system design primer
- tech interview handbook
- 凤凰架构
- CS-Notes
- GitHub-Chinese-Top-Charts
- wechaty
15 Web
- Web-Dev-For-Beginners - 微软开发的 Web 开发者入门教程,24 节课
- freecodecamp - 完整的 Web 教程,从 HTML/CSS/JS 等基础知识,到 Bootstrap/jQuery 等库,再到 React 等框架,到后端 NodeJS,应有尽有 ⭐
- 前端工匠 - 前端原理剖析
- Learn CSS
- CSS 教程
- 30-Days-Of-JavaScript - 30 天学 JavaScript
- vuejs - Vue 官方网站
- 21 Vue.js Example Projects - 21 个 Vue 示例项目
- vue-chat - 基于 Vue+Vuex+webpack 的聊天示例
- vuepress - Vue 驱动的静态网站生成器
- fenix-bookstore-frontend - Fenix’s BookStore 前端工程
- vue-element-admin - Vue 管理页面
- font-awesome - 字体资源