Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
img
 
 
res
 
 
 
 
 
 

README.md

Python 100 Pratice

Python 100 天从新手到大师个人学习笔记与实践。

课程�自于 骆昊 �师的 Python - 100天从新手到大师。

现从 2019.05.19 开始为期 100 天的课程学习之旅,将在本仓库记录学习笔记与练习题。

课程列表

Day01~15 - Python语言基础

✅ Day01 - �识Python

学习笔记:Day01 学习笔记

  • Python简介 - Python的历å?² / Python的优缺点 / Python的应用领域
  • æ?­å»ºç¼–程环境 - Windows环境 / Linux环境 / MacOS环境
  • 从终端è¿?行Python程åº? - DOS命令 / Hello, world / print函数 / è¿?行程åº?
  • 使用IDLE - 交互å¼?环境(REPL) / 编写多行代ç ? / è¿?行程åº? / 退出IDLE
  • 注释 - 注释的作用 / å?•行注释 / 多行注释

✅ Day02 - 语言元素

学习笔记:Day02 学习笔记

  • 程åº?和进制 - 指令和程åº? / 冯诺ä¾?曼机 / 二进制和å??进制 / 八进制和å??六进制
  • å?˜é‡?和类型 - å?˜é‡?的命å?? / å?˜é‡?的使用 / input函数 / 检查å?˜é‡?类型 / 类型转æ?¢
  • 数字和字符串 - æ•´æ•° / 浮点数 / å¤?æ•° / 字符串 / 字符串基本æ“?作 / 字符编ç ?
  • è¿?算符 - æ•°å­¦è¿?算符 / 赋值è¿?算符 / 比较è¿?算符 / 逻辑è¿?算符 / 身份è¿?算符 / è¿?算符的优先级
  • 应用案例 - å?Žæ°?温度转æ?¢æˆ?æ‘„æ°?温度 / 输入圆的å?Šå¾„计算周长和é?¢ç§¯ / 输入年份判断是å?¦æ˜¯é—°å¹´
  • å¤?习冯诺ä¾?曼机

✅ Day03 - 分支结构

学习笔记:Day03 学习笔记

  • 分支结构的应用场景 - æ?¡ä»¶ / 缩进 / 代ç ?å?— / æµ?程图
  • if语å?¥ - 简å?•çš„if / if-else结构 / if-elif-else结构 / 嵌套的if
  • 应用案例 - 用户身份验è¯? / 英制å?•ä½?与公制å?•ä½?互æ?¢ / 掷骰å­?决定å?šä»€ä¹ˆ / 百分制æˆ?绩转等级制 / 分段函数求值 / 输入三æ?¡è¾¹çš„长度如果能构æˆ?三角形就计算周长和é?¢ç§¯

✅ Day04 - 循环结构

学习笔记:[Day04 学习笔记](/day04/i

  • 循环结构的应用场景 - æ?¡ä»¶ / 缩进 / 代ç ?å?— / æµ?程图
  • while循环 - 基本结构 / break语å?¥ / continue语å?¥
  • for循环 - 基本结构 / range类型 / 循环中的分支结构 / 嵌套的循环 / æ??å‰?结æ?Ÿç¨‹åº?
  • 应用案例 - 1~100求和 / 判断素数 / 猜数字游æˆ? / 打å?°ä¹?ä¹?表 / 打å?°ä¸‰è§’形图案 / 猴å­?å?ƒæ¡ƒ / 百钱百鸡(???好åƒ?没有看到 猴å­?å?ƒæ¡ƒ / 百钱百鸡)

✅ Day05 - 总结和练习

学习笔记:Day05 学习笔记

  • 基础练习 - 水仙花数 / 完美数 / 五人分鱼 / Fibonacci数列 / 回文素数
  • 综å?ˆç»ƒä¹  - Craps赌å?𿏏æˆ?

✅ Day06 - 函数和模�的使用

学习笔记:Day06 学习笔记

  • 函数的作用 - 代ç ?çš„å??味é?“ / 用函数å°?装功能模å?—
  • 定义函数 - def语å?¥ / 函数å?? / å?‚数列表 / return语å?¥ / 调用自定义函数
  • 调用函数 - Python内置函数 / 导入模å?—和函数
  • 函数的å?‚æ•° - 默认å?‚æ•° / å?¯å?˜å?‚æ•° / 关键字å?‚æ•° / 命å??关键字å?‚æ•°
  • 函数的返回值 - 没有返回值 / 返回å?•个值 / 返回多个值
  • 作用域问题 - 局部作用域 / 嵌套作用域 / 全局作用域 / 内置作用域 / 和作用域相关的关键字
  • 用模å?—管ç?†å‡½æ•° - 模å?—的概念 / 用自定义模å?—管ç?†å‡½æ•° / 命å??冲çª?的时候会怎样(å?Œä¸€ä¸ªæ¨¡å?—å’Œä¸?å?Œçš„æ¨¡å?—)

✅ Day07 - 字符串和常用数�结构

学习笔记:Day07 学习笔记

  • 字符串的使用 - 计算长度 / 下标è¿?ç®— / 切片 / 常用方法
  • 列表基本用法 - 定义列表 / 用下表访问元素 / 下标越界 / 添加元素 / 删除元素 / 修改元素 / 切片 / 循环é??历
  • 列表常用æ“?作 - 连接 / å¤?制(å¤?制元素和å¤?制数组) / 长度 / 排åº? / 倒转 / 查找
  • 生æˆ?列表 - 使用range创建数字列表 / 生æˆ?表达å¼? / 生æˆ?器
  • 元组的使用 - 定义元组 / 使用元组中的值 / 修改元组å?˜é‡? / 元组和列表转æ?¢
  • 集å?ˆåŸºæœ¬ç”¨æ³• - 集å?ˆå’Œåˆ—表的区别 / 创建集å?ˆ / 添加元素 / 删除元素 / 清空
  • 集å?ˆå¸¸ç”¨æ“?作 - 交集 / 并集 / 差集 / 对称差 / å­?集 / 超集
  • 字典的基本用法 - 字典的特点 / 创建字典 / 添加元素 / 删除元素 / å?–值 / 清空
  • 字典常用æ“?作 - keys()方法 / values()方法 / items()方法 / setdefault()方法
  • 基础练习 - 跑马ç?¯æ•ˆæžœ / 列表找最大元素 / 统计考试æˆ?绩的平å?‡åˆ† / Fibonacci数列 / æ?¨è¾‰ä¸‰è§’
  • 综å?ˆæ¡ˆä¾‹ - å?Œè‰²ç?ƒé€‰å?· / 井字棋

✅ Day08 - ��对象编程基础

学习笔记:Day08 学习笔记

  • 类和对象 - 什么是类 / 什么是对象 / é?¢å?‘对象其他相关概念
  • 定义类 - 基本结构 / 属性和方法 / 构造器 / æž?构器 / __str__方法
  • 使用对象 - 创建对象 / 给对象å?‘消æ?¯
  • é?¢å?‘对象的四大支柱 - 抽象 / å°?装 / 继承 / 多æ€?
  • 基础练习 - 定义学生类 / 定义时钟类 / 定义图形类 / 定义汽车类

✅ Day09 - ��对象进阶

学习笔记:Day09 学习笔记

  • 属性 - 类属性 / 实例属性 / 属性访问器 / 属性修改器 / 属性删除器 / 使用__slots__
  • 类中的方法 - 实例方法 / 类方法 / é?™æ€?方法
  • è¿?算符é‡?è½½ - __add__ / __sub__ / __or__ /__getitem__ / __setitem__ / __len__ / __repr__ / __gt__ / __lt__ / __le__ / __ge__ / __eq__ / __ne__ / __contains__
  • ç±»(的对象)之间的关系 - å…³è?” / 继承 / ä¾?èµ–
  • 继承和多æ€? - 什么是继承 / 继承的语法 / 调用父类方法 / 方法é‡?写 / 类型判定 / 多é‡?继承 / è?±å½¢ç»§æ‰¿(钻石继承)å’ŒC3算法
  • 综å?ˆæ¡ˆä¾‹
    • 工资结算系统
    • 图书自动折扣系统
    • 自定义分数类

Day10 - 图形用户界�和游�开�

  • 使用tkinterå¼€å?‘GUI
  • 使用pygame三方库开å?‘游æˆ?应用
  • “大ç?ƒå?ƒå°?ç?ƒâ€?游æˆ?

✅ Day11 - 文件和异常

学习笔记:Day11 学习笔记

  • 读文件 - 读å?–整个文件 / é€?行读å?– / 文件路径
  • 写文件 - 覆盖写入 / 追加写入 / 文本文件 / 二进制文件
  • 异常处ç?† - 异常机制的é‡?è¦?性 / try-except代ç ?å?— / else代ç ?å?— / finally代ç ?å?— / 内置异常类型 / 异常栈 / raise语å?¥
  • æ•°æ?®æŒ?久化 - CSV文件概述 / csv模å?—的应用 / JSONæ•°æ?®æ ¼å¼? / json模å?—的应用
  • 综å?ˆæ¡ˆä¾‹ - æ­Œè¯?è§£æž?

✅ Day12 - 字符串和正则表达�

学习笔记:Day12 学习笔记

  • 字符串高级æ“?作 - 转义字符 \ 原始字符串 \ 多行字符串 \ inå’Œ not inè¿?算符 \ is开头的方法 \ joinå’Œsplit方法 \ strip相关方法 \ pyperclip模å?— \ ä¸?å?˜å­—符串和å?¯å?˜å­—符串 \ StringIO的使用
  • 正则表达å¼?入门 - 正则表达å¼?的作用 \ 元字符 \ 转义 \ é‡?è¯? \ 分组 \ 零宽断言 \贪婪匹é…?与惰性匹é…?懒惰 \ 使用re模å?—实现正则表达å¼?æ“?作(匹é…?ã€?æ?œç´¢ã€?替æ?¢ã€?æ?•获)
  • 使用正则表达å¼? - re模å?— \ compile函数 \ groupå’Œgroups方法 \ match方法 \ search方法 \ findallå’Œfinditer方法 \ subå’Œsubn方法 \ split方法
  • 应用案例 - 使用正则表达å¼?验è¯?输入的字符串

✅ Day13 - 进程和线程

学习笔记:Day13 学习笔记

  • 进程和线程的概念 - 什么是进程 / 什么是线程 / 多线程的应用场景
  • 使用进程 - fork函数 / multiprocessing模å?— / 进程池 / 进程间通信
  • 使用线程 - thread模å?— / threading模å?— / Threadç±» / Lockç±» / Conditionç±» / 线程池

✅ Day14-A - 网络编程入门

学习笔记:Day14-A 学习笔记

  • 计算机网络基础 - 计算机网络å?‘展å?² / “TCP-IPâ€?模型 / IP地å?€ / 端å?£ / å??è®® / 其他相关概念
  • 网络应用架构 - “客户端-æœ?务器â€?æž¶æž„ / “æµ?览器-æœ?务器â€?æž¶æž„
  • Python网络编程 - 套接字的概念 / socket模å?— / socket函数 / 创建TCPæœ?务器 / 创建TCP客户端 / 创建UDPæœ?务器 / 创建UDP客户端 / SocketServer模å?—

Day14-B - 网络应用开�

  • 访问网络API
    • 网络API概述
    • 访问URL
    • requests模å?—
    • è§£æž?JSONæ ¼å¼?æ•°æ?®
  • 文件传输
    • FTPå??è®®
    • ftplib模å?—
    • 交互å¼?FTP应用
  • 电å­?邮件
    • SMTPå??è®®
    • POP3å??è®®
    • IMAPå??è®®
    • smtplib模å?—
    • poplib模å?—
    • imaplib模å?—
  • 短信æœ?务
    • twilio模å?—
    • 国内的短信æœ?务

Day15 - 图�和文档处�

  • 用Pillow处ç?†å›¾ç‰‡ - 图片读写 / 图片å?ˆæˆ? / 几何å?˜æ?¢ / 色彩转æ?¢ / 滤镜效果
  • 读写Word文档 - 文本内容的处ç?† / 段è?½ / 页眉和页脚 / æ ·å¼?的处ç?†
  • 读写Excel文件 - xlrd模å?— / xlwt模å?—
  • 生æˆ?PDF文件 - pypdf2模å?— / reportlab模å?—

Day16~Day20 - Python语言进阶

  • 常用数æ?®ç»“æž„
  • 函数的高级用法 - “一等公民â€? / 高阶函数 / Lambda函数 / 作用域和闭包 / 装饰器
  • é?¢å?‘对象高级知识 - “三大支柱â€? / 类与类之间的关系 / 垃圾回收 / 魔术属性和方法 / æ··å…¥ / 元类 / é?¢å?‘对象设计原则 / GoF设计模å¼?
  • 迭代器和生æˆ?器 - 相关魔术方法 / 创建生æˆ?器的两ç§?æ–¹å¼? /
  • å¹¶å?‘和异步编程 - 多线程 / 多进程 / 异步IO / asyncå’Œawait

Day21~30 - Web�端入门

  • 用HTML标签承载页é?¢å†…容
  • 用CSS渲染页é?¢
  • 用JavaScript处ç?†äº¤äº’å¼?行为
  • jQuery入门和æ??高
  • Vue.js入门
  • Element的使用
  • Bootstrap的使用

Day31~35 - 玩转Linux�作系统

  • æ“?作系统å?‘展å?²å’ŒLinux概述
  • Linux基础命令
  • Linux中的实用程åº?
  • Linux的文件系统
  • Vim编辑器的应用
  • 环境å?˜é‡?å’ŒShell编程
  • 软件的安装和æœ?务的é…?ç½®
  • 网络访问和管ç?†
  • 其他相关内容

Day36~40 - 数�库基础和进阶

  • 关系型数æ?®åº“MySQL
    • 关系型数æ?®åº“概述
    • MySQL的安装和使用
    • SQL的使用
      • DDL - æ•°æ?®å®šä¹‰è¯­è¨€ - create / drop / alter
      • DML - æ•°æ?®æ“?作语言 - insert / delete / update / select
      • DCL - æ•°æ?®æŽ§åˆ¶è¯­è¨€ - grant / revoke
    • 相关知识
      • 范å¼?ç?†è®º - 设计二维表的指导æ€?想
      • æ•°æ?®å®Œæ•´æ€§
      • æ•°æ?®ä¸€è‡´æ€§
    • 在Python中æ“?作MySQL
  • NoSQL入门
    • NoSQL概述
    • Redis概述
    • Mongo概述

Day41~55 - 实战Django

Day41 - 快速上手

  • Web应用工作原ç?†å’ŒHTTPå??è®®
  • Django框架概述
  • 5分钟快速上手
  • 使用视图模æ?¿

Day42 - 深入模型

  • 关系型数æ?®åº“é…?ç½®
  • 管ç?†å?Žå?°çš„使用
  • 使用ORM完æˆ?对模型的CRUDæ“?作
  • Django模型最佳实践
  • 模型定义å?‚考

Day43 - ��资�和Ajax请求

  • 加载é?™æ€?资æº?
  • 用Ajax请求获å?–æ•°æ?®

Day44 - 表�的应用

Day45 - Cookieå’ŒSession

Day46 - 中间件的应用

Day47 - 日志和缓存

Day48 - 文件上传和富文本编辑

Day49 - 文件下载和报表

Day50 - RESTful架构和DRF入门

Day51 - RESTful架构和DRF进阶

Day52 - 使用缓存

Day53 - 短信和邮件

Day54 - 异步任务和定时任务

Day55 - �元测试和项目上线

  • 项目开å?‘æµ?程和相关工具
  • 生æˆ?é?žHTML内容
  • 项目部署和测试
  • 项目性能åˆ?步调优
  • Web应用安全ä¿?护

Day56~60 - 实战Flask

Day56 - Flask入门

Day57 - 模�的使用

Day58 - 表�的处�

Day59 - 数�库�作

Day60 - 项目实战

Day61~65 - 实战Tornado

Day61 - 预备知识

  • å¹¶å?‘编程
  • I/O模å¼?和事件驱动

Day62 - Tornado入门

  • Tornado概述
  • 5分钟上手Tornado
  • 路由解æž?
  • 请求处ç?†å™¨

Day63 - 异步化

  • aiomysqlå’Œaioredis的使用

Day64 - WebSocket的应用

  • WebSocket简介
  • WebSocketæœ?务器端编程
  • WebSocket客户端编程
  • 项目:Webè?Šå¤©å®¤

Day65 - 项目实战

  • å‰?å?Žç«¯åˆ†ç¦»å¼€å?‘和接å?£æ–‡æ¡£çš„æ’°å†™
  • 使用Vue.js实现å‰?端渲染
  • 使用ECharts实现报表功能
  • 使用WebSocket实现推é€?æœ?务

Day66~75 - 爬虫开�

Day66 - 网络爬虫和相关工具

Day67 - 数�采集和解�

Day68 - 存储数�

Day69 - 并�下载

Day70 - 解�动�内容

Day71 - 表�交互和验��处�

Day72 - Scrapy入门

Day73 - Scrapy高级应用

Day74 - Scrapy分布�实现

Day75 - 爬虫项目实战

Day76~90 - 数�处�和机器学习

Day76 - 机器学习基础

Day77 - Pandas的应用

Day78 - NumPy和SciPy的应用

Day79 - Matplotlib和数��视化

Day80 - k最近邻(KNN)分类

Day81 - 决策树

Day82 - ��斯分类

Day83 - 支���机(SVM)

Day84 - K-�值�类

Day85 - 回归分�

Day86 - 大数�分�入门

Day87 - 大数�分�进阶

Day88 - Tensorflow入门

Day89 - Tensorflow实战

Day90 - 推è??系统

Day91~100 - 团队项目开�

第91天:团队开�和项目选题

  1. 软件过程模型

    • ç»?典过程模型(瀑布模型)

      • å?¯è¡Œæ€§åˆ†æž?(研究å?šè¿˜æ˜¯ä¸?å?šï¼‰ï¼Œè¾“出《å?¯è¡Œæ€§åˆ†æž?报告》。
      • 需求分æž?(研究å?šä»€ä¹ˆï¼‰ï¼Œè¾“出《需求规格说明书》和产å“?界é?¢åŽŸåž‹å›¾ã€‚
      • 概è¦?设计和详细设计,输出概念模型图ã€?物ç?†æ¨¡åž‹å›¾ã€?类图ã€?æ—¶åº?图等。
      • ç¼–ç ? / 测试。
      • 上线 / 维护。
    • æ•?æ?·å¼€å?‘(Scrum)- 产å“?所有者ã€?Scrum Masterã€?ç ”å?‘人员 - Sprint

      • 产å“?çš„Backlog(用户故事ã€?产å“?原型)。
      • 计划会议(评估和预算)。
      • 日常开å?‘(站立会议ã€?番茄工作法ã€?结对编程ã€?测试先行ã€?代ç ?é‡?构……)。
      • ä¿®å¤?bug(问题æ??è¿°ã€?é‡?现步骤ã€?测试人员ã€?被指派人)。
      • 评审会议(Showcase)。
      • 回顾会议(当å‰?周期å?šå¾—好和ä¸?好的地方)。

      补充:��软件开�宣言

      • 个体和互动 高于 æµ?程和工具
      • 工作的软件 高于 详尽的文档
      • 客户å?ˆä½œ 高于 å?ˆå?Œè°ˆåˆ¤
      • å“?应å?˜åŒ– 高于 é?µå¾ªè®¡åˆ’

    角色:产�所有者(决定�什么,能对需求��的人)�团队负责人(解决��问题,专注如何更好的工作,�蔽外部对开�团队的影�)�开�团队(项目执行人员,具体指开�人员和测试人员)。

    准备工作:商业案例和资金����憧憬��始产�需求��始�布计划�入股�组建团队。

    ��团队通常人数为8-10人。

    工作�估算:将开�任务�化,包括原型�Logo设计�UI设计��端开�等,尽�把�个工作分解到最�任务�,最�任务�标准为工作时间�能超过两天,然�估算总体项目时间。把�个任务都贴在白�上�,白�上分三部分:to do(待完�)�in progress(进行中)和done(已完�)。

  2. 项目团队组建

    • 团队的构æˆ?和角色

      说明:谢谢付祥英女士绘制了下�这张精美的公�组织架构图。

      company_architecture

    • 编程规范和代ç ?审查(flake8ã€?pylint)

    • Python中的一些“惯例â€?(请å?‚考《Python惯例-如何编写Pythonic的代ç ?》)

    • å½±å“?代ç ?å?¯è¯»æ€§çš„原因:

      • 代ç ?注释太少或者没有注释
      • 代ç ?ç ´å??了语言的最佳实践
      • å??模å¼?编程(æ„?大利é?¢ä»£ç ?ã€?å¤?制-é»?贴编程ã€?自负编程ã€?……)
  3. 团队开�工具介�

    请�考《团队项目开�》。

项目选题和�解业务
  1. 选题范围设定

    • CMS(用户端):新闻è?šå?ˆç½‘ç«™ã€?问答/分享社区ã€?影评/书评网站等。

    • MIS(用户端+管ç?†ç«¯ï¼‰ï¼šKMSã€?KPI考核系统ã€?HRSã€?CRM系统ã€?供应链系统ã€?仓储管ç?†ç³»ç»Ÿç­‰ã€‚

    • Appå?Žå?°ï¼ˆç®¡ç?†ç«¯+æ•°æ?®æŽ¥å?£ï¼‰ï¼šäºŒæ‰‹äº¤æ˜“ç±»ã€?报刊æ?‚å¿—ç±»ã€?å°?众电商类ã€?新闻资讯类ã€?旅游类ã€?社交类ã€?阅读类等。

    • 其他类型:自身行业背景和工作ç»?验ã€?业务容易ç?†è§£å’ŒæŠŠæŽ§ã€‚

  2. 需求�解�模�划分和任务分�

    • 需求ç?†è§£ï¼šå¤´è„‘风暴和竞å“?分æž?。
    • 模å?—划分:画æ€?维导图(XMind),æ¯?个模å?—是一个æž?节点,æ¯?个具体的功能是一个å?¶èŠ‚ç‚¹ï¼ˆç”¨åŠ¨è¯?表述),需è¦?ç¡®ä¿?æ¯?个å?¶èŠ‚ç‚¹æ— æ³•å†?生出新节点,确定æ¯?个å?¶å­?节点的é‡?è¦?性ã€?优先级和工作é‡?。
    • 任务分é…?:由项目负责人根æ?®ä¸Šé?¢çš„æŒ‡æ ‡ä¸ºæ¯?个团队æˆ?员分é…?任务。

  3. 制定项目进度表(�日更新)

    模� 功能 人员 状� 完� 工时 计划开始 实际开始 计划结� 实际结� 备注
    评论 添加评论 王大锤 正在进行 50% 4 2018/8/7 2018/8/7
    删除评论 王大锤 等待 0% 2 2018/8/7 2018/8/7
    查看评论 白元芳 正在进行 20% 4 2018/8/7 2018/8/7 需�进行代�审查
    评论投票 白元芳 等待 0% 4 2018/8/8 2018/8/8

第92天:数�库设计和OOAD

概念模型和正�工程
  1. UML(统一建模语言)的类图

    uml

  2. 通过模型创建表(正�工程)

    python manage.py makemigrations app
    python manage.py migrate
物ç?†æ¨¡åž‹å’Œå??å?‘工程
  1. PowerDesigner

  2. 通过数æ?®è¡¨åˆ›å»ºæ¨¡åž‹ï¼ˆå??å?‘工程)

    python manage.py inspectdb > app/models.py

第93-98天:使用Django开�项目

说明:具体内容请�考《Django知识点概述》

项目开�中的公共问题
  1. 数�库的�置(多数�库�主从�制�数�库路由)
  2. 缓存的�置(分区缓存�键设置�超时设置�主从�制�故障��(哨兵))
  3. 日志的�置
  4. 分�和调试(Django-Debug-ToolBar)
  5. 好用的Python模�(日期计算�图�处��数�加密�三方API)
REST API设计
  1. RESTfulæž¶æž„
  2. API接�文档的撰写(《网络API接�设计》)
  3. django-REST-framework的应用
项目中的�点难点剖�
  1. 使用缓存缓解数�库压力 - Redis
  2. 使用消�队列�解耦�和削峰 - Celery + RabbitMQ

第99-100天:测试和部署

�元测试
  1. 测试的�类
  2. 编写�元测试(unittest�pytest�nose2�tox�ddt�……)
  3. 测试覆盖率(coverage)
项目部署

说明:请�考《项目部署上线指�》。

  1. 部署�的准备工作
    • 关键设置(SECRET_KEY / DEBUG / ALLOWED_HOSTS / 缓存 / æ•°æ?®åº“)
    • HTTPS / CSRF_COOKIE_SECUR / SESSION_COOKIE_SECURE
    • 日志相关é…?ç½®
  2. Linux常用命令回顾
  3. Linux常用�务的安装和�置
  4. uWSGI/Gunicorn和Nginx的使用
    • Gunicornå’ŒuWSGI的比较
      • 对于ä¸?需è¦?大é‡?定制化的简å?•应用程åº?,Gunicorn是一个ä¸?错的选择,uWSGI的学习曲线比Gunicornè¦?陡峭得多,Gunicorn的默认å?‚数就已ç»?能够适应大多数应用程åº?。
      • uWSGI支æŒ?异构部署。
      • 由于Nginx本身支æŒ?uWSGI,在线上一般都将Nginxå’ŒuWSGIæ?†ç»‘在一起部署,而且uWSGI属于功能é½?全且高度定制的WSGI中间件。
      • 在性能上,Gunicornå’ŒuWSGI其实表现相当。
  5. 虚拟化技术(Docker)
性能测试

说明:具体内容请�考《Django知识点概述》。

  1. AB的使用
  2. SQLslap的使用
  3. sysbench的使用
自动化测试
  1. 使用Shell和Python进行自动化测试
  2. 使用Selenium实现自动化测试
    • Selenium IDE
    • Selenium WebDriver
    • Selenium Remote Control
  3. 测试工具Robot Framework介�
项目性能调优
  1. 数�库性能调优 - 请�考《MySQL相关知识》

    • 软硬件优化

    • SQL优化

    • 架构优化

      • 分表分库

      • 主从å¤?制,读写分离

      • 集群架构

  2. Web�务器性能优化

    • Nginxè´Ÿè½½å?‡è¡¡é…?ç½®

    • Keepalived实现高å?¯ç”¨

  3. 代�性能调优

    • 多线程
    • 异步化
  4. ��资�访问优化

    • 云存储
    • CDN

About

😼 Python 100 天从新手到大师进击练习

Topics

Resources

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.