编程知识网络

前言

此处收录我感兴趣的计算机、编程、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 爬虫
    • urllib3
    • Requests
    • selenium

Java

  • Java语言
    • 语言基础
    • JVM
    • 并发、多线程
  • Java 后端
    • Java Spring 家族
    • 中间件
      • 缓存(Redis)
      • 消息队列
      • RPC 框架
    • 数据库框架
      • ORM 层框架
      • 连接池
      • 分库分表
    • 搜索引擎
    • 分布式/微服务
      • 服务发现/注册
      • 网关
      • 服务调用(负载均衡)
      • 熔断/降级
      • 配置中心
      • 分布式事务
      • 任务调度
      • 链路追踪和监控
      • 日志分析和监控
    • 虚拟化/容器化

CPP

  • 基本语法

前端开发

参考 Web 开发工程师之路线图

  • 互联网
    • 互联网原理
    • 浏览器原理
    • 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
  • 现代 CSS
    • Styled Components
    • CSS Modules
    • Styled JSX
    • Emotio
  • Web 组件
  • CSS 框架
    • 不含 JS
      • Bootstrap
      • Materialize CSS
      • Bulma
    • 基于 JS
      • Reactstrap
      • Material UI
      • Tailwind CSS
      • Chakra UI
  • 测试
    • Jest
    • react-testing-library
    • Cypress
    • Enzyme
  • 类型检查
    • TypeScript
  • 渐进式 Web 应用
  • 服务端渲染(Server-Side Rendering,SSR)
    • React.js
      • Next.js
    • Angular
      • Universal
    • vue.js
      • Nuxt.js
  • GraphQL
    • Apollo
    • Relay Modern
  • 静态网站生成工具
    • Next.js
    • GatsbyJS
    • Hugo
  • 移动应用程序
    • React Native
  • 桌面应用程序
    • Electron

后端开发

参考 Web 开发工程师之路线图

  • 互联网
  • 基础前端知识
  • 通用技能
    • 终端
    • 操作系统
    • 任务管理器
    • 线程、并发
    • 基本终端命令
    • 内存管理
    • 进程通讯
    • 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

参考 Web 开发工程师之路线图

  • 编程语言
    • Java
    • Python
    • Go
  • 操作系统
    • 套接字
    • 虚拟化
    • 文件系统
    • 启动管理
    • 服务管理
  • 管理服务器
    • 操作系统
      • Linux
        • Ubuntu
        • CentOS
        • RHEL
      • Unix
        • FreeBSD
      • Windows
    • 终端操作
      • 终端复用
        • 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
    • 图像
    • 音频
    • 遗传算法
    • 强化学习

You may also like...

发表回复

您的电子邮箱地址不会被公开。