Hold on just a little while longer…
目录
1. Golang
基础
- Go 程序是怎样跑起来的 | 码农桃花源
- 如何写出优雅的 Golang 代码 | Draveness.me
- 【必看】Go 语言学习笔记 | Zhongfox
- 【必看】年终盘点!2017年超有价值的 Golang 文章 | 鸟窝
- 今日头条Go建千亿级微服务的实践 | 36Kr
- Go 语言链接收藏 | Zhongfox
- 《学习 Go 语言》中文版
- The Little Go Book
- 【很多 Golang 的学习文章】| static.markbest.site
- go-algorithms | Github
- Golang 资料集 | Github
- Go 语言圣经 | GitBook
- Go 夜读
- Go 学习之路 | Github
- build-web-application-with-golang | Github
- Go Web 编程 - 上面教程的中文版 | LearnKu
- Writing Web Applications | golang.org
- Golang 社区文档 | LearnKu
- Go 语言入门资料 | 傅小黑
- 《Go 编程基础》视频教程 by 无闻 | Github
- 《Go 入门指南》- 《The Way to Go》中文版 by 无闻 | Github
- 如何客观评价 Go 语言?| Legendtkl
博客
- The Go Blog | golang.org
- Golang 中国
- Go 语言中文网
- Go 语言中文网博客
- Go Walker | 在线生成浏览 Go 项目 API 文档
- Go Programming Blog | Ardan Labs
- 面向信仰编程 | Draveness’s Blog
- RyuGou 的博客
- spf13
- Steve Francia | 也就是 spf13
- Unknwon 无闻 | Github
- Lunny Xiao | Github
- 风笑痴 | Lunny Xiao
- FuXiaoHei | Github
- FuXiaohei.Me | 傅小黑的自留地
- Tony Bai | 东软白明
- codeskyblue | Github
- TY·Loafer
- Bingo Huang
- 飞雪无情
- 鸟窝
- 码农桃花源 - 饶全成
- 码洞 - 掌阅钱文品
- Legendtkl(阿里云-陶克路)的博客、知乎专栏、微信公众号
legendtkl
- Go 中国 | 微信公众号
会议报告、PPT
- Go’s New Brand | The Go Blog
- Go 2018 Survey Results | The Go Blog
- Codewalks | golang.org
- Advanced Go Concurrency Patterns | Sameer Ajmani - Google
- GopherChina 2019 讲师 PPT | 百度网盘
- 第二届 GopherChina 2016 大会 | 傅小黑
- PPT shared by spf13 | SlideShare
- 演讲:Go, A Global Phenomenon (英语演讲) | spf13
- How To Contribute To Go | spf13
- Life, Liberty, And Golang | spf13
- What Should A Modern Practical Programming Language Look Like | spf13
- Go – On The Shoulders Of Giants | spf13
- State Of The Go Nation – Gophercon Brasil 2017 | spf13
- 用 Go 语言编程的利与弊 | InfoQ
- 再见,Python!你好,Go 语言 | InfoQ
初始化 make/new
字典 map
- 深入理解 Go - sync.Map 原理 | TY·Loafer
- 解剖 Go 语言 map 底层实现 | RyuGou
- 理解 Golang 哈希表 Map 的原理 | 码农桃花源
- 深度解密 Go 语言之 map | 码农桃花源
- 解剖 Go 语言 map 底层实现 | CSDN
- golang map源码详解 | 掘金
切片 Slice
- 深度解密 Go 语言之 Slice | 码农桃花源
- Go 语言 slice 的本质 - SliceHeader | 飞雪无情
- Go 数组和切片的内部实现原理 | RyuGou
- Go 判断数组中是否包含某个 item | 温欣爸比
字符串 string
- Package strings | Golang Docs
- golang讲解(go语言)标准库分析之strings(3)| 微度网络
- 谈 Golang 中的字符串和字节数组 | 真没什么逻辑
- golang strings 包方法 | Go 语言中文网
- golang strings 包的使用详解【还有很多其他包】 | CSDN
- golang 中 strings 包用法 | CSDN
- golang 没有 char类型,str[0] 类型讲解 | CSDN
- golang 使用 strings.Split 切割的注意 | CSDN
- Go 语言字符串高效拼接(一)| 飞雪无情
- Go 语言字符串高效拼接(二)| 飞雪无情
- Go 语言字符串高效拼接(三)| 飞雪无情
接口 interface
- 浅入浅出 Go 语言接口的原理 | Draveness
- Go 语言 interface 底层实现 | RyuGou
- 深度解密 Go 语言之关于 interface 的 10 个问题 | 码农桃花源
- 深入理解 Go 的 interface | Go 中国
- 深入理解 Go 的 interface | TY·Loafer
协程调度 goroutine
- Go 采用 goroutine 和 channel 实现工作池 | 格物
- 深入理解 Go - goroutine 的实现及调度器分析 | TY·Loafer
- 也谈 goroutine 调度器 | Tony Bai
- Go 调度器: M, P 和 G | 鸟窝
- go 语言之行— golang 核武器 goroutine 调度原理、channel 详解 | 掘金
- Golang 的 goroutine 是如何实现的?| 知乎
- goroutine 调度 | 开源中国
- Scheduling In Go : Part I - OS Scheduler | ArdanLabs
- Scheduling In Go : Part II - Go Scheduler | ArdanLabs
- Scheduling In Go : Part III - Concurrency | ArdanLabs
- 为什么能有上百万个 Goroutines,却只能有上千个 Java 线程?| InfoQ
- 详尽干货!从源码角度看 Golang 的调度 | Go 中国
- 深度揭秘 Go 语言之 scheduler | 码农桃花源
- 【图示】控制 Goroutine 的并发数量的方式 | 敬维
- 用 GODEBUG 看调度跟踪 | 煎鱼说
通道 channel
- 深入理解 go - channel 和 select 的原理 | TY·Loafer
- 深度揭秘 Go 语言之 channel | 码农桃花源
- 图解 Go 的 Channel 底层原理 | RyuGou
- Go 语言 Channel 实现原理精要 | 真没什么逻辑
- 浅谈 Go 语言 select 的实现原理 | 真没什么逻辑
- Golang 中 Channel 的使用 | 开源中国
- 深入理解 Go 语言之 Channel | Legendtkl
- Go 学习之 Channel 总结 | TY·Loafer
- Go 学习之 Channel 的一些模式 | TY·Loafer
并发 CSP
- Golang 并发编程与 Context | Draveness
- Go 并发编程小测验: 你能答对几道题?| 鸟窝
- go-concurrent-quiz | Github
- Gopher 2019 Go 并发编程的分享 | 鸟窝
- 从并发模型看 Go 的语言设计 | 腾讯技术工程
- Go 并发原理 | 贝壳产品技术
- Go 并发原理 | RyuGou
- Go 语言之并发 | 博客园
- Golang 非 CSP 并发模型外的其他并行方法总结 | RyuGou
- 图解 Go 并发编程 | Go 语言中文网
- 可视化学习 Go 并发编程 | Go 中国
- Golang 的并发实现 | 百家号
- Go 语言并发编程指南 | Gitbook
- GoLang 之协程、channel、select、同步锁 | CSDN
- Sync.Pool 浅析 | TY·Loafer
上下文 context
互斥锁 Mutex
网络 HTTP/HTTPS
排序 Sort
内嵌静态资源
原子操作 atomic
- Go 语言 atomic 原子操作 | Go 语言中文网
- Golang atomic 包的使用 | 简书
- golang语言中sync/atomic包的学习与使用 | 博客园
- go数据同步(sync与atomic包)| CSDN
- 【必看】golang 原子计数,互斥锁,耗时 | 博客园
输入输出 I/O
- Go 读取控制台输入 | Go 语言中文网
- Golang Printf、Sprintf 、Fprintf 格式化 | CSDN
- Golang 的交互模式进阶-读取用户的输入 | Go 语言中文网
- Go基础系列:读取标准输入 | 骏马金龙
- Golang 的交互模式进阶-读取用户的输入 | 博客园
- Go 字符串格式化 | Go 语言中文网
- Go 如何给屏幕打印信息加上颜色 | 温欣爸比
- Go 语言在 Linux 环境下输出彩色字符 | 博客园
内存分配
- 探索 Go 内存管理(分配) | 简书
- 简单易懂的 Go 内存分配原理解读 | 阿里云栖社区
- 图解 Go 语言的内存分配 | 码农桃花源
- 图解 Golang 的内存分配 | RyuGou
- Go 语言 - 内存管理 | 简书
- 深入理解 Go - 内存分配 | TY·Loafer
逃逸分析
所谓逃逸分析(Escape Analysis)是指编译器决定内存分配的位置,不需要程序员指定。在函数中申请一个新的对象:
- 如果分配在栈中,则函数执行结束时可自动将内存回收
- 如果分配在堆中,则函数执行结束可交给 GC 处理
参考文章:
垃圾回收 GC
- 深入理解 Go - 垃圾回收机制 | TY·Loafer
- 【必看】Go 垃圾回收原理 | 开源中国
- Go 语言 - 垃圾回收 GC | 简书
- Golang GC 算法 | Go 语言中文网
- 图解 Golang 的 GC 算法 | RyuGou
- 用 GODEBUG 看 GC | 我要煎鱼说
- 深入理解 Go - runtime.SetFinalizer 原理剖析 | TY·Loafer
- Golang 里一个有趣的小细节 - xlzd | 知乎
延迟调用 defer
- 理解 Go 语言 defer 关键字的原理 | 真没什么逻辑
- Golang 之轻松化解 defer 的温柔陷阱 | 码农桃花源
- Go 延迟函数 defer 详解 | 茶歇驿站
- 深入理解 Go 语言 defer | legendtkl
- 深入理解 Go - defer 的原理剖析 | TY·Loafer
错误处理
循环遍历 for range
位运算
整数
x
按位取反:-(x+1)
判断奇偶:i&0x1 == 1
- Go语言/golang/位操作/取反/异或/左移/右移 | 开源中国
- Golang 的位运算操作符的使用 | Go 语言中文网
- 按位取反运算解析 | CSDN
- 取反!和按位取反~的区别 | CSDN
- 位运算之左移右移运算详解 | cnblogs
网络编程
反射 reflection
- Golang 反射浅析 | LawTech’s Blog
- 深度解密 Go 语言之反射 | 码农桃花源
- Reflect 为什么慢 | Legendtkl
- 浅谈 Go 语言反射实现原理 | Draveness
语言陷阱
- 我为什么放弃 Go 语言 | CSDN
- Go 语言的那些坑 | RyuGou
- Go 语言的那些坑(二) | RyuGou
- Go 语言的那些坑(三)- Golang 错题集 | RyuGou
- 如何避开 Go 中的各种陷阱 | newton
- 【必看】Go的50度灰:Golang新开发者要注意的陷阱和常见错误 | 鸟窝
包管理
- Go Modules 不完全教程 | Golang 成神之路
- Go Modules 不完全教程 - Golang Inside | 知乎专栏
- Go Modules 使用教程 | SegmentFault
- Using Go Modules | The Go Blog
- 拜拜了,GOPATH君!新版本 Golang 的包管理入门教程 | 知乎
- Go module 机制下升级 major 版本号的实践 | TonyBai
- 微博@小弟调调的几篇教程
设计模式
- [译]Go开发中一些有用的模式 | 鸟窝
- 明白了,原来 Go Web 框架中的中间件都是这样实现的 | 鸟窝
- Go 语言的修饰器编程 | 酷壳 CoolShell
- Go Patterns - GitBook
- go-patterns - tmrts | Github
- 写扩展性好的代码:函数 | Legendtkl
微服务
- go-micro
- go-kit
- kite
- go-chassis
性能测试、调试
- 深度解密 Go 语言之 pprof | 码农桃花源
- Go 的调试工具: gdb vs dlv | TY·Loafer
- Golang程序调试工具介绍(gdb vs dlv) | lday
- go benchmark 实践与原理 | Go中国
- Golang 之 GDB 调试 | 胡伟煌
- 使用 pprof 比较两个时间点的内存占用 | 鸟窝
unsafe 指针
- Go unsafe Pointer | 飞雪无情
- Go 之 unsafe.Pointer && uintptr 类型 | 开源中国
- Go 语言 unsafe 的妙用 | Go 语言中文网
- 高效使用 Go 中的指针 | 简书
随机数
init 函数
每个包可以包含任意多个
init
函数,这些函数都会在程序执行开始的时候被调用。所有被编译器发现的init
函数都会安排在main
函数之前执行。init
函数用在设置包、初始化变量或其他要在程序运行前优先完成的引导工作。——《Go 语言实战》
iota
函数式编程
面试题
框架工具
Web
- Beego 原理探究 - 初章 | 技术原始积累
- Beego 原理探究 - 启动流程 | 技术原始积累
- Beego
- Beego 学习 | Zhongfox
- Gin
- Iris
- Echo
- Macaron
- tango
- Peach
- Go 语言 Web 框架 Tango 中的中间件应用级别 | 风笑痴
- 6 款最棒的 Go 语言 Web 框架简介 | Go 语言中文网
爬虫
静态建站
- Hugo - 静态建站 | Github
- Hugo: A Fast And Flexible Static Site Generator Built In GoLang | spf13
- Pugo
- gohttpserver - HTTP Static File Server | Github
PPT
数据库
配置管理
RPC
包管理
性能测试
- GoMock - Github
- cweill/gotests - Generate Go tests from your source code | Github
- 【译】Go 性能分析工具工具和手段 | 鸟窝
- 性能测试应该怎么做?| 酷壳 CoolShell
- Nitro - 性能分析| Github
- Nitro : A Quick And Simple Profiler For Golang | spf13
资源监控
- 跨平台系统监控库 - gopsutils | 紫川秀的博客
- gopsutil - psutil for golang | Github
- grmon - Command line monitoring for goroutines | Github
- fswatch - 文件变更监控,跨平台
命令行
- 如何使用 Golang 编写漂亮的命令行工具 | 紫川秀的博客
- cobra - spf13 | Github
- GoTTY:基于 Go 语言的 Linux 终端 Web 共享 | 知乎
- gotty | Share your terminal as a web application
- go-sh - 替代 os/exec 执行命令 | Github
- go-homedir - 替代 os/user,支持交叉编译 | Github
SSH
日志 log
- Package log
- glog - golang | Github
- pass-lager - go-chassis | Github
- log - lexkong | Github
- Logrus - sirupsen | Github
- Golang 日志之 logrus 的使用 | 紫川秀的博客
数据可视化
- go-echarts - The adorable charts library for Golang
- go-echarts | Github
- go-echarts 开源啦 - chenjiandongx | 知乎专栏
其他
- Now - a time toolkit for golang | Github
- taskino - 老钱的 Go 分布式任务调度框架 | Github
- Create A Real Time Chat App With Golang, Angular and websockets
- Go Walker - Go 项目 API 搜索 | Github
- Gogs - 自建 Git 服务 | Github
- fswatch - 监控文件变更,触发命令 | Github
- 使用 fswatch 工具进行 Golang 的热编译 | 开源中国
- com - Common Functions by 无闻 | Github
- Consul Guide - legendtkl | Github
- godag - legendtkl | Github
- bloomfilter - legendtkl | Github
- bitmap - legendtkl | Github
- gpool.v1 - legendtkl | Github
- 构建 Golang 程序最小 Docker 镜像 | 紫川秀的博客
2. Docker
容器网络
containerd
- dockerd、contaierd、containerd-shim、runC通信机制分析 | CSDN
- 谈谈docker,containerd,runc,docker-shim之间的关系 | CSDN
常见报错
相关文章
- 使用 docker-compose 一键部署 Gitlab | 民工哥技术之路
- 通过 seafile 搭建私有云存储平台 | cpper
- 使用 Docker+Seafile 搭建私有云存储 | DiskSing
3. Kubernetes
文章
- kubernetes 资源管理概述 | Cizixs
- 面向 Kubernetes 编程:Kubernetes 是下一代操作系统 | ServiceMesher
- 面向 Kubernetes 编程: Kubernetes 是下一代操作系统 | Github
- 腾讯云容器团队内部 Istio 专题分享 | ServiceMesher
K8s 架构
Pod
Service
etcd
- raft 一致性算法 | Cizixs
- raft一致性算法详解 | RyuGou
- 高可用分布式键值存储 etcd 的原理(一)| 真没什么逻辑
- 高可用分布式键值存储 etcd 的原理(二)| 真没什么逻辑
Ingress
4. 数据库
SQL
- 查询数据库,你还在 Select * 吗?| Python 网络爬虫与数据挖掘
- 图解 MySQL 内连接、外连接、左连接、右连接、全连接 | CSDN
- 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接 | 脚本之家
- SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接 | 博客园
MySQL
开发规范
索引
数据库引擎
- MyISAM 与 InnoDB 性能测试对比 | TY·Loafer
- 『浅入浅出』MySQL 和 InnoDB | 真没什么逻辑
- 『浅入深出』MySQL 中事务的实现 | Draveness.me
- 秒懂 InnoDB 的锁 | RyuGou
- MySQL FAQ 系列 — 新手必看:一步到位之InnoDB | 老叶茶馆
锁的优化
SQL 优化
Redis
Benchmark
分布式场景的数据一致性
5. TCP/IP
- 为什么 TCP 建立连接需要三次握手 | 面向信仰编程
- “三次握手,四次挥手”你真的懂吗?| 码农桃花源
- tcpdump 示例教程 | 鸟窝
- 感受一把面试官通过一道题目引出的关于 TCP 的 5 个连环炮!| 石杉的架构笔记
- TCP 的那些事儿(上)| 酷壳 CoolShell
- TCP 的那些事儿(下)| 酷壳 CoolShell
- TCP 是什么?面试时必须知道吗?| Gitchat
6. 数据结构
栈与队列
堆
哈希 Hash
二叉树相关
- 【必看】浅谈AVL树,红黑树,B树,B+树原理及应用(转)| 博客园
- 二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树 | CSDN
- 一组动画彻底理解二叉树遍历 | 五分钟学算法
- 学习二分搜索树 | 五分钟学算法
红黑树
哈夫曼树
图论
汇总
7. 算法
排序
快速幂
正则表达式
除法取模
最长回文子串
随机数生成器
Top K
KMP 字符串匹配
深度/广度优先遍历
蓄水池抽样算法
8. 操作系统
基本原理
- 用一个创业故事串起操作系统原理(一)| 刘超的通俗云计算
- 用一个创业故事串起操作系统原理(二)| 刘超的通俗云计算
- 用一个创业故事串起操作系统原理(三)| 刘超的通俗云计算
- 用一个创业故事串起操作系统原理(四)| 刘超的通俗云计算
- 用一个创业故事串起操作系统原理(五)| 刘超的通俗云计算
CPU
内存
- 什么是堆?什么是栈?他们之间有什么区别和联系? | 知乎
- 堆和栈的区别 | 简书
- 细说 Cache-L1/L2/L3/TLB | 知乎
- 什么是内存(一):存储器层次结构 - eleven_yw | 博客园
- 什么是内存(二):虚拟内存 - eleven_yw | 博客园
- 关于跨平台的一些认识 - eleven_yw | 博客园
浮点数
进程/线程
当多个线程访问某个方法时,不管你通过怎样的调用方式或者说这些线程如何交替的执行,我们在主程序中不需要去做任何的同步,这个类的结果行为都是我们设想的正确行为,那么我们就可以说这个类是线程安全的
孤儿/僵尸进程
I/O 模型
select、poll、epoll
- epoll 和 select | 软件架构设计 - 知乎专栏
- epoll 重要源码注释 - lijie | Github
- epoll 的本质是什么?| 开源中国
- 【必看】epoll使用详解(精髓)| 博客园
- 高并发网络编程之 epoll 详解 | CSDN
- 我读过的最好的 epoll 讲解 | CSDN
- 聊聊 IO 多路复用之 select、poll、epoll 详解 | 简书
- select、poll、epoll之间的区别总结 | 博客园
- IO多路复用之select、poll、epoll详解 | 博客园
- linux中的select和epoll模型 | 博客园
IPC
- Linux 下的进程间通信:共享存储 | Linux 中国
- Linux 下的进程间通信:使用管道和消息队列 | Linux 中国
- Linux 下的进程间通信:套接字和信号 | Linux 中国
- Linux 共享内存实现机制的详解 | 脚本之家
- 深刻理解 Linux 进程间通信(IPC)| IBM Developer
- 详解共享内存以及所有进程间通信的特点 | CSDN
共享内存
中断
9. 计算机网络
基础
OSI 七层模型
TCP
HTTP
RESTful
RPC
分布式
负载均衡
- 负载均衡(Load Balance)是集群技术(Cluster)的一种应用
- 负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力
- 目前最常见的负载均衡应用是 Web 负载均衡
- 常见的 Web 负载均衡技术包括:DNS 轮询、IP 负载均衡和 CDN
- 其中 IP 负载均衡可以使用硬件设备或软件方式来实现
- 关于负载均衡 | Zhongfox
- 实现负载均衡的几种方式 | CSDN
- Nginx 实现负载均衡的几种方式 | Markbest
- 除了负载均衡,Nginx 还可以做很多,限流、缓存、黑白名单等 | 民工哥技术之路
10. Linux
UNIX
设计哲学
Douglas McIlroy 认为的 UNIX 三条哲学:
- Write programs that do one thing and do it well.
- Write programs to work together.
- Write programs to handle text streams, because that is a universal interface.
KISS: Keep it simple, stupid
相关文章
- Linux 和 UNIX 的关系及区别 | C 语言中文网
- UNIX 40 年:UNIX 年鉴 | 酷壳 CoolShell
- UNIX 传奇(上篇)| 酷壳 CoolShell
- UNIX 传奇(下篇)| 酷壳 CoolShell
- UNIX 40 年:昨天,今天和明天 | 酷壳 CoolShell
C 编程
- Linux C 编程一站式学习
- wybuhui/c-language-with-latex - C 语言总结 | Github
- 如何写好 C main 函数 | Linux 中国
- 【整理】libc、glibc 和 glib 的关系 | 开源中国
- glibc,eglibc 和 glib的区别 | NieNet
- libc、glibc 和 glib 的关系 | CSDN
回调函数
- 回调函数(callback)是什么 | 知乎
- C 语言实现 Callback Function 例子 | Srefan
- C 语言中的回调函数(Callback Function)| CSDN
- C 语言回调函数 | cnblogs
shell/bash
- Linux 工具快速教程 | Linux Tools Quick Tutorials
- 这些必备的 Linux Shell 知识你都掌握了吗 | Linux 学习
- 如何理解 Linux shell中“2>&1”?| 编程珠玑
- Shell 十三问 | ChinaUnix
- bash-utils - wklken | Github
- 如何快速优雅的编写一个脚本程序?用这个!| GithubDaily
查找命令
- Linux下的五个查找命令,有什么区别?| Linux 学习
- Linux 下的文本查找技巧,你掌握了吗?| 编程珠玑
- Linux 中的文件查找技巧 | 编程珠玑
- find 命令高级用法 | 编程珠玑
- 如何查看 Linux 中文件打开情况?| 编程珠玑
常用的终端命令
- 学习 Linux 命令,看这篇 2w 多字的命令详解就够了 | Java3y
- Linux 常用命令 - 文本查看篇 | 编程珠玑
- Linux 常用命令 - 系统状态篇 | 编程珠玑
- Linux 常用命令 - 开发调试篇 | 编程珠玑
- Linux 常用命令 - 解压缩篇 | 编程珠玑
- ps 命令常见实用用法 | 编程珠玑
- ls 命令常见实用用法 | 编程珠玑
- 19 个强大、有趣、又好玩的 Linux 命令!| 民工哥技术之路
- screenFetch | Github
内核
内核编译
内核源码
- Linux Source Code | bootlin
- Linux 内核加载启动过程分析 | FlyFlyPeng
- 如何在 CentOS 7 中安装或升级最新的内核 | Linux 中国
- 性能杀手:“潜伏” 的 memset | CSDN
malloc
RCU
- Linux RCU 机制详解 (透彻)| CSDN
- Linux内核编程 - 可睡眠锁之 SRCU | CSDN
- Sleepable RCU | LWN.net
- Read-modify-write | Wikipedia
- Read-Copy Update,向无锁编程进发!| airekans
- Linux 2.6内核中新的锁机制 - RCU | IBM Developer
- Linux RCU 内核同步机制 | hyuuhit
- Linux 2.6 内核中新的锁机制 - RCU | IBM Developer
- 深入理解 Linux 的 RCU 机制 - 腾讯云技术社区 | 知乎
伙伴系统
内核调试
- kprobe
- jprobe
环境变量
系统调用
编译
I/O 模型
- Linux I/O 模型详解 | FlyFlyPeng
- Asynchronous I/O and event notification on linux
- 如何给女朋友解释什么是 Linux 的五种 I/O 模型? | 漫话编程
权限
开机启动流程
文件系统
调试工具
- 【干货】Linux 工具快速教程 | Linux Tools Quick Tutorial
- The Linux Perf Master | Ribose Yim
- 穷佐罗的 Linux 书 | GitBook
- 性能分析利器之 perf 浅析 - WalkerTalking
- 系统级性能分析工具 perf 的介绍与使用 - Arnold Lu | cnblogs
- 在 Linux 下做性能分析 3:perf | 知乎专栏 - 软件架构设计
- Linux 性能优化 9:KVM 环境 | 知乎专栏 - 软件架构设计
- 使用 gprof 对程序的性能分析(集合贴)| CSDN
- 使用 GNU profiler 来提高代码运行速度 | IBM Developer
- [译] tcpdump 示例教程 | 鸟窝
- 使用 truss、strace 或 ltrace 诊断软件的”疑难杂症” | IBM Developer
- 调试工具 ltrace strace ftrace 的使用 | JasonLe
- 使用 ltrace 跟踪库函数调用 | Liujingwen’s Blog
- [译] Linux 系统调用权威指南 | ARTHURCHIAO’S BLOG
- [译] strace 是如何工作的 | ARTHURCHIAO’S BLOG
- [译] ltrace 是如何工作的 | ARTHURCHIAO’S BLOG
- tcpdump/wireshark 抓包及分析 | ARTHURCHIAO’S BLOG
11. 值得关注的技术
- Ansible
- Chef
- Puppet
- Saltstack
- AWS Firecracker
- Kata Container
- Vagrant
12. 运维开发
Linux
- 不掉坑,不背锅!史上最全的服务器安全管理规范开源了 | 民工哥技术之路
- 运维工程师打怪升级进阶之路 V2.0 | 民工哥技术之路
- 精华文章汇总 | 民工哥技术之路
- 【必读】应该知道的 Linux 技巧 | 酷壳 CoolShell
- Linux Distribution Timeline | 酷壳 CoolShell
- sed 简明教程 | 酷壳 CoolShell
- awk 简明教程 | 酷壳 CoolShell
- Linux 流编辑器 sed 详解 | Linux 学习
Ansible
- ansible | Github
- Ansible Documentation
- Ansible 中文
权威指南 - 20 分钟玩转 Ansible 系列手册 | 民工哥技术之路
- Ansible 学习指北 | 简书
- 以 Chef 和 Ansible 为例快速入门服务器配置 | 高效开发运维
- ansible 小结(一)ansible 的安装 | 运维之路
- ansible 小结(二)ansible 架构 | 运维之路
DevOps
- DevOps 时代的软件过程改进探讨 | 腾讯云加社区
- DevOps 和 SRE | Log4D
- 架构之道 - 现代发布模式 | 波波微课
- 从技术雷达看 DevOps 十年 - DevOps 和持续交付 | ThoughtWorks 洞见
- 从技术雷达看 DevOps 的十年 – 基础设施即代码和云计算 | ThoughtWorks 洞见
中台
- 白话中台战略:中台是个什么鬼? | ThoughtWorks 洞见
- 白话中台战略 2:中台到底长啥样?| ThoughtWorks 洞见
- 白话中台战略 3:中台的定义 | ThoughtWorks 洞见
- 深入浅出话中台 | 高效开发运维
CI/CD
微服务架构
- 微服务架构 - 基础篇 | 方志朋
- 大规模微服务场景下的十大痛点问题定位与优化 | 云技术
- 唯品会容器环境与应用一键拉起——大规模微服务多环境部署管理实践 | InfoQ
- 微服务编排之道 | 普元
- 架构的本质是管理复杂性,微服务本身也是架构演化的结果 | 腾讯云+社区
一个系列:
蓝绿发布
金丝雀发布
Linux 常用监控命令
# 综合
top
htop
glances
dstat & sar
mpstat
# 性能分析
perf
# 进程
ps
pstree -p
pgrep
pkill
pidof
Ctrl+z & jobs & fg
# 网络
ip
ifconfig
dig
ping
traceroute
iftop
pingtop
nload
netstat
vnstat
slurm
scp
tcpdump
# 磁盘 I/O
iotop
iostat
# 虚拟机
virt-top
# 用户
w
whoami
# 运行时间
uptime
# 磁盘
du
df
lsblk
# 权限
chown
chmod
# 服务
systemctl list-unit-files
# 定位
find
locate
- Grafana | Github
- 28 个 UNIX/Linux 的命令行神器 | 酷壳 CoolShell
- CentOS 7 查看网络带宽使用情况 | 陈沙克日志
- 【必看】Linux 问题故障定位,看这一篇就够了 | 民工哥技术之路
- Load Average 的含义 | 博客园
- Linux 性能调优工具 perf 的使用 | cpper
- 10 个非常赞的 Linux 网络监控工具 | Python 网络爬虫与数据挖掘
13. 文章收藏
Github 学习资源
- StabilityGuide - 稳定性领域知识库 | Github
- 【必看】fullstack tutorial - 全栈开发指南
- 后端架构师图谱 | Github
- Java 生态圈汇总 | Github
Linux
- Linux nohup、&、 2>&1是什么?| CSDN
- 一分钟了解 nohup 和 & 的功效 | 架构师之路
- nohup 和 & 后台运行,进程查看及终止 | 博客园
- 深入理解 Linux 的 RCU 机制 | 腾讯云+社区
- 逼格高又实用的 Linux 命令,开发、运维一定要懂!| 民工哥技术之路
- How to use SSHFS to Mount Remote Directories over SSH | Linuxize
Java
云计算
- 云计算时代携程的网络架构变迁 | ArthurChiao’s Blog
- 企业云平台的昨天、今天和明天 | 世民谈云计算
- 十年再出发!阿里云智能总裁张建锋演讲全记录 | 阿里技术
- 网易云首席解决方案架构师刘超 - 网易容器云实践与云计算的那些坑 | MySlide
- 云计算的前世今生(上)| SegmentFault
- 云计算的前世今生(下)| SegmentFault
- IaaS,PaaS,SaaS 的区别 | 阮一峰的网络日志
云原生 CNCF
- 云原生时代,分布式系统设计必备知识图谱(内含22个知识点)| 阿里巴巴云原生
- 一文读懂分布式架构知识体系(内含超全核心知识大图)| 阿里巴巴云原生
- cncf/landscape - Cloud Native Landscape | Github
- CNCF Cloud Native Interactive Landscape
- CNCF × Alibaba 云原生技术公开课 | 阿里云大学
KVM 虚拟化
- Qemu,KVM,Virsh 傻傻的分不清 | 刘超的通俗云计算
- 我是虚拟机内核我困惑?!| 刘超的通俗云计算
- 我的虚拟机挂了!怎么把镜像里面的数据找回来?| 刘超的通俗云计算
- 虚拟化技术基础知识全面了解 | CSDN
- KVM 面试前总结 | CSDN
- KVM 虚拟化技术实践 | CSDN
- KVM halt-polling 机制分析 | SegmentFault
- virt-install xml 格式配置文件粗解 | 开源中国
QEMU
vGPU
Kubernetes
- 【好文】Kubernetes 如何打赢容器之战?| 阿里技术
- Kubernetes 与云原生 2018 年终总结及 2019 年展望 | Jimmy Song
- 【记得买书】未来架构——从服务化到云原生 | Jimmy Song
Service Mesh
- 敖小剑的博客
- Cizixs 的博客
- Qcon2017实录-Service Mesh:下一代微服务 | 简书
- 蚂蚁金服 Service Mesh 实践探索 | InfoQ
- 腾讯云 Zhongfox 的博客
- 关于 Service Mesh 和 Kubernetes 的最前沿思考 - 十问蚂蚁金服 | InfoQ
- 蚂蚁金服大规模微服务架构下的 Service Mesh 探索之路 | ServiceMesher
- 从蚂蚁金服实践入手,带你深入了解 Service Mesh | 技术文
- 【必看】我为啥不看好 ServiceMesh | 架构师杨波
Serverless
- 一图读懂无服务器云函数 | ServerlessCloudNative
- 周维跃:Severless 云函数架构精解(附视频回放)| 腾讯云加社区
- 四种软件架构:Serverless架构、微服务架构、分布式架构、单体架构 | 云技术
- 35 个平台、框架、数据库细说什么是 Serverless | 数人云
- 什么是Serverless(无服务器)架构?| Jimmy Song
- OpenFaaS 快速入门指南 | Jimmy Song
- Google 开源的 Serverless 平台 knative 简介 | ServiceMesher
- 【笔记】《由浅入深 SCF 无服务器云函数实践》| CSDN
- 热度 3 年猛增 20 倍,Serverless & 云开发的技术架构全解析 | InfoQ
Istio
CNCF
面经
- 【牛客】我的 C++ 后台/基础架构岗位学习路线 | 牛客
- 2019年蚂蚁金服、头条、拼多多的面试总结 | JavaGuide
- 网易游戏 SRE 虚拟化与云计算方向面试记录 | 牛客
- 头条一二三面(后台开发)| 牛客
- 字节跳动 基础架构部 暑假实习面经 | 牛客
- 腾讯技术面经-后台-云计算虚拟化部门 | 程序园
- 云计算开发腾讯提前批一面面经 | 牛客
- 腾讯技术面经-后台-云计算虚拟化部门 | CSDN
- 招银网络面试题总结 | 牛客
- 蚂蚁 Java 面经 | 牛客
- 字节跳动 后端开发实习生(日常实习) 一、二面凉经 | 牛客
- 腾讯后端笔试题 | 牛客
- 阿里云二面 | 牛客
- CyC2018 的面试经历 | InfoQ
- 腾讯后台面经大全 | 云栖社区
- 腾讯后台面经 | 牛客
- 腾讯云后台开发实习一面面经 | 知乎
- 字节跳动后台开发实习三面 | 牛客
- 头条面经 后台开发 | 牛客
- 头条/字节跳动 后端开发面经 | 牛客
- 字节跳动一面凉经 | 牛客
- 头条后台开发面经 | 牛客
- 2019 校招面经大汇总 | 牛客
- 今日头条/字节跳动 一、二面凉经(后端开发工程师)| 简书
- 腾讯后台开发一面 | 牛客
- Golang 的一些面试题汇总 | chasiny 的博客
- 给以后的同学攒点golang的面经 | 牛客
- 后端面试进阶指南 | Github
- 【干货】写在19年初的后端社招面试经历(两年经验): 蚂蚁 头条 PingCAP | Github
- 算法求职之路分享+个人教训 蚂蚁金服offer | 知乎
- 蚂蚁金服面试经历 | 应届生
- 秋招总结分享 | 牛客
- 记一次蚂蚁金服的面试经历 | 纯洁的微笑
- 拿到头条的实习offer来回馈一波面经 | 牛客
- 腾讯面经攒人品(后台开发1+2+3+4+hr面)| 牛客
- 腾讯 CSIG 微服务框架 Java 面经 | 牛客
笔试题
- 【机试题】2019华为优招机试题(附超详细解答)| CSDN
- 2019 年华为春招实习笔试题 | CSDN
- 2019年华为2020届寒假招聘实习生软件类编程题Java篇 | CSDN
- 2019华为实习笔试题——重排字符串 | CSDN
架构
Git
UML
其他
Python
- Python 教程
- python-parallel-programming-cookbook-cn | Github - laixintao
- Python 并行编程 - 中文版
- 数据分析 - 看过复联 4 的人都在谈什么 | Legendtkl
- Python 如何给屏幕打印信息加上颜色 | 温欣爸比
学习方法
读书
测试
14. 前端
Vue
Electron
- electron | Github
- awesome-electron | Github
- electron-quick-start | Github
- 用 JS 开发跨平台桌面应用,从原理到实践 | SegmentFault
- Electron 构建跨平台应用 Mac/Windows/Linux | 掘金
- Electron 构建跨平台应用 mac/windows/linux | Poetry’s Blog
- Electron 中文文档 | W3Cschool
- electron 入门心得 | 博客园
- electron-vue | Gitbook
- Get Started - electron-vue | Gitbook
- electron-quick-start | Github
- electron-sample-apps | Github
- electron-api-demos | Github
Ant Design
Element
Semantic UI
webpack
CSS
Mock API
15. C/C++
教程
关键字
内存管理
内存对齐
面试
相关文章
- C++ 避坑指南 | 腾讯技术工程
- C++ 的坑真的多吗?| 酷壳 CoolShell
- C 语言的演变史 | 酷壳 CoolShell
- C++ 虚函数表解析 | 酷壳 CoolShell
- 十个 C++ 隐藏特性 | DiskSing
16. 工具软件
Windows Installer
PDF 提取
格式转换
开源音乐播放器
下载工具
画图
- 有什么画 ER 关系比较好用的软件图?| 知乎
- ProcessOn
- draw.io
- mermaid 文档
- Mermaid Live Editor
- NaoTu/DesktopNaoTu - 百度脑图离线版 | Github
截图
- Snipaste
- FSCapture