编程知识网络
前言
此处收录我感兴趣的计算机、编程、Web 开发相关的知识。部分知识已经掌握,也有正在学习中的知识,余下的是尚未开始学习的。
基础知识
- 计算机硬件
- 操作系统
- 进程、线程
- 并发、锁
- 内存管理和调度
- I/O 原理
- 数据结构 & 算法
- 数据结构:字符串、数组、链表、二叉树、堆、栈、队列、哈希、图
- 算法:排序、查找、贪心、分治、动态规划、回溯
- 计算机网络
- ARP 协议
- IP 协议、ICMP 协议
- TCP 协议、UDP 协议
- DNS/HTTP/HTTPS 协议
- Session/Cookies
- 设计模式
- 创建型模式
- 结构型模式
- 行为型模式
- J2EE 模式
必备技能
- Git 版本控制
- GitHub
- Gitee
- 命令行操作
- 许可协议(License)
- 语义化版本
- SSH
- 字符编码
- SQL/NoSQL数据库
- 正则表达式
- Markdown
- 编程开发工具
- 编辑器
- VS Code
- Notepad++
- IDE
- Intellij IDEA(Java)
- Intellij PyCharm(Python)
- Intellij WebStorm
- Visual Studio(CPP、CSharp)
- Eclipse
- 其他
- Jupyter Notebook
- Anaconda
- Maven
- Node.js
- 编辑器
Python
- Python 语言
- 基础部分(自带类、自带函数)
- 语法糖
- 常用自带库
- Python 解释器
- 并发、多线程、异步
- Python 三剑客
- Numpy
- Pandas
- Matplotlib
- Jupyter
- Python Web 开发
- Python 网络编程
- Socket
- TCP Server
- B/S 开发
- WSGI
- Response
- Flask
- Flask 基础
- 模板
- 表单
- 数据库
- Django
- Django 基础
- 模板
- 接口
- ORM
- Python 网络编程
- Python 爬虫
- urllib3
- Requests
- selenium
Java
- Java语言
- 语言基础
- JVM
- 并发、多线程
- Java 后端
- Java Spring 家族
- 中间件
- 缓存(Redis)
- 消息队列
- RPC 框架
- 数据库框架
- ORM 层框架
- 连接池
- 分库分表
- 搜索引擎
- 分布式/微服务
- 服务发现/注册
- 网关
- 服务调用(负载均衡)
- 熔断/降级
- 配置中心
- 分布式事务
- 任务调度
- 链路追踪和监控
- 日志分析和监控
- 虚拟化/容器化
CPP
- 基本语法
前端开发
- 互联网
- 互联网原理
- 浏览器原理
- DNS 原理
- 域名
- 服务器
- HTML
- 基础语法
- 语义化 HTML
- 表单
- SEO
- CSS
- 基础语法
- 设计布局
- 浮动、…
- 响应式设计
- JavaScript
- 基本语法和基本代码结构
- DOM 操作
- Fetch API/Ajax
- ES6+
- 了解相关概念
- 版本控制系统
- Web 安全知识
- HTTPS
- CSP
- CORS
- OWASP
- 包管理工具
- npm
- yarn
- CSS 架构
- CSS预处理器
- 构建工具
- 任务执行器
- npm scripts
- 模块打包工具
- Webpack
- Rollup
- Parcel
- Vite
- Lint工具与格式化工具
- ESLint
- Prettier
- 任务执行器
- 框架
- vue.js
- VueX
- react
- Redux
- MobX
- angular
- RxJS
- NgRx
- vue.js
- 现代 CSS
- Styled Components
- CSS Modules
- Styled JSX
- Emotio
- Web 组件
- CSS 框架
- 不含 JS
- Bootstrap
- Materialize CSS
- Bulma
- 基于 JS
- Reactstrap
- Material UI
- Tailwind CSS
- Chakra UI
- 不含 JS
- 测试
- Jest
- react-testing-library
- Cypress
- Enzyme
- 类型检查
- TypeScript
- 渐进式 Web 应用
- 服务端渲染(Server-Side Rendering,SSR)
- React.js
- Next.js
- Angular
- Universal
- vue.js
- Nuxt.js
- React.js
- GraphQL
- Apollo
- Relay Modern
- 静态网站生成工具
- Next.js
- GatsbyJS
- Hugo
- …
- 移动应用程序
- React Native
- 桌面应用程序
- Electron
后端开发
- 互联网
- 基础前端知识
- 通用技能
- 终端
- 操作系统
- 任务管理器
- 线程、并发
- 基本终端命令
- 内存管理
- 进程通讯
- I/O 管理
- POSIX 基础
- 网络
- 编程语言
- Java
- Python
- Go
- 版本控制系统
- SQL
- NoSQL
- ORM
- ACID
- 事务
- N+1 问题
- 数据库规范化
- 索引
- API
- REST
- JSON
- SOAP
- gRPC
- 授权认证
- OAuth
- Cookies
- Basic Authentication
- Token Authentication
- JWT
- OpenAPI 规范与 Swagger
- 缓存
- CDN
- 服务端
- Redis
- Memcached
- 客户端
- Web 安全知识
- 测试
- 集成测试
- 单元测试
- 功能测试
- CI/CD
- 设计与开发原则
- GOF 设计模式
- 架构模式
- 单体式应用程序
- 微服务
- SOA
- CQRS 与事件溯源
- Serverless
- SOLID
- KISS
- YAGNI
- DRY
- 搜索引擎
- Elasticsearch
- Solr
- 消息队列
- RabbitMQ
- Kafka
- 容器化/虚拟化
- Docker
- GraphQL
- Apollo
- Relay Modern
- 图数据库
- WebSockets
- Web 服务器
- Nginx
- Apache
- Caddy
- MS IIS
- 规模建设
- 缓解策略
- 迁移策略
- 横向/纵向扩展
- 可观察性
DevOps
- 编程语言
- Java
- Python
- Go
- 操作系统
- 套接字
- 虚拟化
- 文件系统
- 启动管理
- 服务管理
- 管理服务器
- 操作系统
- Linux
- Ubuntu
- CentOS
- RHEL
- Unix
- FreeBSD
- Windows
- Linux
- 终端操作
- 终端复用
- tmux
- Screen
- Bash 脚本
- Vim/Nano/PowerShell/Emacs
- 文本操作工具
- 进程监控
- 网络
- 系统性能
- gcc/make 编译应用
- 其他
- 终端复用
- 操作系统
- 网络、安全与协议
- 电子邮件
- HTTP
- HTTPS
- FTP
- SSL
- TLS
- SSH
- 端口转发
- 网络配置
- 反向代理
- 正向代理
- 缓存服务器
- 负载均衡器
- 防火墙
- Web 服务器
- Nginx
- ISS
- Apache
- Tomcat
- Caddy
- 学习基础设施即代码
- 容器
- Docker
- LXC
- 配置管理
- Ansible
- Salt
- Chef
- Puppet
- 容器编排
- Kubernetes
- Mesos
- Docker Swarm
- Nomad
- 基础设施管理
- Terraform
- CloudFormation
- Pulumi
- 服务网络
- Istio
- Consul
- Envoy
- Linkerd
- 容器
- 持续集成/设计(CI/CD)工具
- Gitlab CI
- GitHub Actions
- Jenkins
- Circle CI
- 监控软件和基础设施
- 基础设施监控
- Prometheus
- Grafana
- 应用监控
- Jaeger
- New Relic
- 日志管理
- Elastic Stack
- 基础设施监控
- 云服务提供商
- AWS
- Alibaba Cloud
- Google Cloud
- Digital Ocean
- 云设计模式
机器学习
- 机器学习历史
- 传统方法
- 人工神经网络
- 经典模型
- 数据集制作
- 模型搭建与训练
- 模型优化
- 部署
- 框架
- Tensorflow
- PyTorch
- Keras
- 方向
- 回归
- NLP
- 图像
- 音频
- 遗传算法
- 强化学习