Python - 基础
- 背景讨论与 Python 环境部署
- 计算机基础: 计算机基础知识总结
- Python 环境部署: Python 的版本选择与安装细节 | 环境变量的配置 | 后缀名显示方法 | Visual Studio Code Python 环境部署 | 交互模式下启动 Python 项目 | Ubuntu 系统安装和 Python 开发环境配置 | CentOS 系统 Python 环境搭建 | Jupyter Notebook 的安装和使用
- 笔记与博客: 码云初识 | Markdown 常用语法 | 技术博客制作 | 思维导图 | 排 bug 技巧
- Python 基本语法
- Python 中的数据类型: 变量、常量和注释 | 整型、字符串和布尔值 | 字符串的格式化 | 字符串方法详解 | f-strings 详解 | 整型数据详述和进制转换 | 列表 | 元组 | 字典 | 集合 | Python 中表示 False 的方法 | 基础数据类型补充和总结
- 流程控制和基本运算:用户交互语句 | 索引和切片 | 流程控制语句 | while 循环 | 运算符 | for 循环 | 解构 | 推导式 | 运算符优先级
- 函数: 函数 | 函数的名称空间 | 函数名的第一类对象及使用 | 函数嵌套 | 迭代器和生成器 | 匿名函数 | 闭包 | 装饰器 | 递归
- 模块: 模块 | time 和 datetime 模块 | random 模块 | os 和 sys 模块 | 序列化 json 和 pickle | hashlib 模块 | collections 模块 | re 模块和正则表达式 | logging 模块和日志 | 包
- 内置函数 BIF: range | 文件操作 | 基础内置函数 | 高阶内置函数
- 其他 Python 相关知识
- 编码: 编码初识 | 二次编码
- Python 运行机制: Python 中的驻留机制:小数据池和代码块 | 深浅拷贝 | 循环删除的坑 | 语法分析和词法分析
- 代码编写规范: 软件开发规范 | Python 2 和 Python 3 的区别
- 实用脚本: 使用 Python 统计中文字符的数量 | 递归获取目录中所有文件
Python - 进阶
- 面向对象
- 并发编程
- 网络编程
- Socket:
- RPC 的原理和简单使用
- UI
- VTK: 编译安装VTK
数据库
- MySQL
- 数据库基本概念: 数据库的基本概念和 Windows 下安装 MySQL | MySQL 客户端命令
- MySQL 语法: 数据库、数据表和数据的基本操作 | MySQL 中的数据类型 | MySQL 表的完整性约束
- Python 操作 MySQL: mysqlclient 安装
- MySQL 8: MySQL 8.0 的安装和配置 | Ubuntu 系统配置 MySQL8 主从复制
- MySQL 客户端工具: mycli 的安装和使用
- Redis
Django
- Django 基础
- HTTP 和 Web 框架相关概念: HTTP 协议 | 动手搭建 Web 框架深入了解 Web 框架的本质
- Django 的基本用法: Django 初识 | Django 视图 view | Django 模板 template | Django URL 路由 | Django 模型 model 数据库 ORM 单表操作 | Django ORM 多表增删改查 | ORM 执行原生 SQL 语句 | ORM 事务和锁 | Django 使用 ajax 和通过 csrf 认证的三种方式 | Django 通过 form 表单和 ajax 上传文件 | JsonResponse | Django 操作 Cookie 和 session | Django 中间件和请求的生命周期 | Django 的表单 form 组件 | Django ModelForm 模型表单组件
- Django 其他使用技巧: Django 外部脚本调用 models 数据库 | 解决 Django 自定义用户模型之前就已经数据迁移的 BUG | 解决 Django 项目中启动多进程报错的问题
- Django REST Framework
- 概述: 前后端分离相关概念 | DRF 环境安装与配置
- 序列化器 Serializer: 序列化器 Serializer | 模型类序列化器 ModelSerializer | 序列化 | 反序列化
- 视图: 请求与响应 | 基本视图类 APIView | 通用视图类 GenericAPIView | 5 个视图扩展类 ModelMixin | GenericAPIView 的视图子类 | 视图集 ViewSet
- 路由: 路由 Router
- DRF 的其他组件: 认证 Authentication 和权限 Permission | 限流 Throttling 和过滤 Filtering | 排序 Ordering 和分页 Pagination | 异常处理 Exceptions | 自动生成接口文档
Web 前端
- 前端基础
- HTML: HTML 基础
- CSS: CSS 引入方式和 CSS 选择器 | CSS 样式基础
- JavaScript: JavaScript 的使用和基本数据类型 | JavaScript 基本语法 | JavaScript 操作 BOM 和 DOM 对象 | JavaScript 的事件冒泡和事件委托 | js 的本地存储 | js 小脚本集合
- jQuery: jQuery 基础和选择器 | jQuery 操作 DOM | jQuery 操作 Cookie
- Bootstrap:
- 其他前端工具: SweetAlert 弹窗工具
- Vue
- 背景知识: JavaScript ES 6 简单常用语法 | PyCharm 配置 Vue 开发环境
- Vue 基础知识: vue.js 的快速入门使用 | Vue 指令系统的常用指令 | Vue 对象提供的属性功能 | 通过 axios 实现数据请求 | JSON | ajax 和同源策略 | Vue 的组件化开发 | Vue Router 的使用 | Vue 单文件组件的使用 | 在组件中使用 axios 获取数据 | Vue 客户端项目搭建
- 移动端
- uni-app: uni-app 基本使用
Git
- Git 基本语法 | GitHub 代码管理仓库 | rebase 变基 | Git 配合 Beyond Compare 来解决冲突 | Git 多人协作开发 | 给开源项目贡献代码 | Git 配置文件详解 | Git 远程仓库免密登陆 | Git 忽略文件 .gitignore | GitHub 做任务管理相关 Issues 和 Wiki
测试自动化
- 测试工具
- selenium 模块: selenium 模块的安装和配置 | selenium 的基本操作
Linux
- Linux 基础
- 基础知识和系统安装: 服务器与 Linux 基础知识 | 虚拟机安装 CentOS | 远程连接 CentOS | IP 和端口 | 目录和路径 | dns 域名解析
- Linux 操作命令: vim 的基本使用 | Linux 基本的文件增删改查命令 | Linux 常用命令 | 编译安装 Python 3 并部署简单 django 项目 | Linux 的软件包管理工具 yum | 解压缩包安装 JDK | Linux 磁盘挂载
- nginx 的安装和使用: Linux 软件安装流程 - nginx 的安装 | nginx 介绍 | nginx 虚拟主机功能 | nginx 的多虚拟主机配置 | nginx 的访问日志功能 | nginx 的错误页面优化功能 | nginx 的反向代理功能 | nginx 负载均衡配置 | crm 项目部署 | Nginx 快速入门 | Django 项目的部署 | 使用 Certbot 自动申请和续期泛域名证书
- 分布式: MySQL 分布式存储 | ZooKeeper 分布式调度 | LVS + keepalived 实现负载均衡 | Redis 分布式缓存
- Docker: Docker 初识和安装 | docker 的镜像和容器 | docker 的网络 | docker 的持久化存储和数据共享 | docker Compose 多容器部署 | Docker 部署 GitLab | Docker 部署 MySQL 5.7 | Docker 安装 Redis | 使用 Watchtower 自动更新 Docker 镜像和容器 | Docker 安装 Gogs | Docker 安装 Resilio Sync | Docker 安装 Aria2
- Linux 工具: 安装和配置 Samba
- Python 和 pip: Python 的虚拟环境 | 导出导入 Python 依赖 | pip 更换为国内源
爬虫
- 爬虫基础
- 环境搭建和爬虫概述: Anaconda 开发环境的搭建和 Jupyter 的基本使用 | 爬虫概述 | HTTPS 简要介绍
- requests 模块: requests 模块应对 UA 策略和爬取动态网页 | 数据解析(正则、bs4 和 xpath) | requests 高级用法之获取 Cookie、使用代理和识别验证码 | 异步爬虫 | JS 解密和混淆破解
- selenium 模块: selenium 模块的基本使用 | 12306 模拟登录和余票检测
- scrapy 框架: scrapy 框架的基本用法 | scrapy 高级用法 | CrawlSpider 的基本使用 | selenium 在 scrapy 中的使用 | 分布式 | 增量式
- 爬虫工具: 百度 AI 的基本用法 | 使用 Fiddle 实现移动端数据的爬取
数据分析
- 数据分析基础
- 数据分析概述: 数据分析基本概念
- NumPy: NumPy 的基本使用
- Pandas: Pandas 的基础操作 | DataFrame 基础操作巩固 - 股票分析 | 基于 Pandas 的数据清洗 | DataFrame 的级联与合并操作 | 人口分析案例 | Pandas 高级操作 | 2012 美国大选献金项目数据分析
- Matplotlib: Matplotlib 绘图基础
- seaborn: seaborn 基本用法
- 综合: 用户消费行为分析案例
数据结构和算法
- 数据结构
- 数据结构和算法概述 | Python 数据结构性能分析 | 栈 | 队列 | 顺序表和链表
- 算法
机器学习
- 机器学习基础
- 背景和理论: 机器学习概述 | 特征工程 | sklearn 的数据集 | 机器学习基础
- 机器学习算法: K-近邻算法和交叉验证 | 线性回归和回归算法的评价指标 | 多项式回归和过拟合与欠拟合的处理 | 朴素贝叶斯算法 | 逻辑斯蒂回归 | 分类模型的评价指标 | 神经网络范式
- NLP自然语言处理【黑马程序员】
- 背景和理论: 自然语言处理入门 | 云服务器使用入门 | HMM与CRF
- Pytorch 基础: Pytorch 基本使用 | Pytorch 中的 autograd 自动求导 | 使用 Pytorch 构建神经网络 | 使用 Pytorch 构建分类器
- 数据准备: 文本预处理 | 新闻主题分类任务
- RNN: 认识RNN模型 | RNN经典案例
- Transformer: Transformer背景介绍 | Transformer架构解析 | Transformer经典案例
综合项目
- 客户关系管理系统 CRM
- 简易自动测试平台
- 荏苒资讯:
- 环境部署和项目搭建: 项目开发基础概念和需求分析 | 荏苒资讯项目环境部署 | 荏苒资讯后端项目搭建 | 荏苒资讯前端项目搭建 | 通过 CORS 解决跨域问题
- 登录和注册: 用户登陆认证 | Xadmin 的安装、配置和使用 | 用户的注册认证 | 使用 Celery 完成异步任务 | 荏苒资讯首页配置 | 荏苒资讯 QQ 第三方登录实现
- 文章模块: Docker 介绍和基本使用 | FastDFS 分布式文件存储系统 | 荏苒资讯的文章模块开发 | 荏苒资讯的文章编辑器开发 | 荏苒资讯专题部分开发 | 荏苒资讯文章详情页开发 | 荏苒资讯文章打赏功能开发
- Feed 流文章推送系统: Feed 流系统概述 | Django 操作阿里云表格存储 Tablestore | 荏苒资讯用户关注功能 | 荏苒资讯 Feed 流系统文章推送
个人博客
- 使用 Markdown + Hexo 搭建个人博客: 使用 Markdown + Hexo 搭建个人博客系列简介 | Hexo 的安装 | Hexo 的基本使用 | Hexo 的配置 | Hexo Next 主题的安装 | 鼠标点击的爱心效果 | Hexo 配置 sitemap 和 RSS
实用工具
学习实践笔记
- 读书笔记:
- 李永乐老师视频: 双蛋问题的 Python 递归解决
- 杂记: 使用 Django 搭建静态文件分发服务器 | 腾讯云环境配置 | hexo 使用笔记 | 部署 HTTPS 网站 | 把当前 Ubuntu 系统做成 ISO 镜像
官方文档翻译
- Python 官方文档
- PEP 文档: PEP 8 – Python代码格式规则 | PEP 20 – Python 之禅
- 其他官方文档: Python 新式类继承关系的 C3 算法(Python 2.3 的方法解析顺序,MRO)
- 第三方包官方文档:
- Django REST Framework 官方教程: 快速入门 | 教程 1: 序列化 Serialization | 教程 2:请求 Request 和响应 Response | 教程 3:类视图 Class-based View | 教程 4:认证 Authentication 和权限 Permission | 教程 5:关系 Relationships 和超链接 API Hyperlinked APIs
- supervisor 官方文档: Supervisor 的安装 | 运行 Supervisor | Supervisor 的配置文件 | Supervisor 的子进程
- raspberry-gpio-python 模块使用实例: 安装 | 基础使用 | 输入 | 输出 | PWM(脉宽调制) | 查看 GPIO 通道的功能 | 控制 LED 和开关
- 实用工具官方文档
- Typora: Typora官方Markdown教程
树莓派
- 树莓派基本使用
- 操作系统相关: SD 卡的格式化
Bug 宝典
- Python Bug 宝典: 小经验小技巧 | AttributeError | FileNotFoundError | KeyError | NameError | RecursionError | RuntimeError | StopIteration | SyntaxError | TypeError | UnboundLocalError | ValueError | ImportError
- Django Bug 宝典: InternalError
- MySQL Bug 宝典: ASCII
- JavaScript Bug 宝典: 小经验小技巧 | Uncaught SyntaxError | TypeError
- Linux Bug 宝典: 小经验小技巧 | touch | mkdir | yum | mkdir | bash
- Vue Bug 宝典: 小经验小技巧 | NetworkError | VueWarn | TypeError | Uncaught Error