- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 Mysql 高级特性与调优学习整理
WAL 技术 Write Ahead Log 先写日志,再写磁盘 crash-safe 有了redo log,InnoDB就可以保证即使数据库发生异常重启,之前提交的记录都不会丢失 bin log vs redo log redo log是InnoDB引擎特有的;binlog是MySQL的Server层实现的,所有引擎都可以使用。 redo log是物理日志,记录的是“在某个数据页上做了什么修改”;binlog是逻辑日志,记录的是这个语句的原始逻辑,比如“给ID=2这一行的c字段加1 ”。 redo lo
2021-04-09 09:25:23
158
原创 解密HTTP 协议
HTTP 协议 无论说用 webservice 还是做 rest 框架,都离不开 http 协议。 什么是协议: 双方都遵守的标准。 HTTP 是一种不保存状态,即无状态(stateless)协议 HTTP 协议工作流程 GET POST 请求 请求行 头信息 主体信息(可以没有):需要content-type进行描述 请求行 请求方法:GET,POST,HEAD(一般仅需要状态码),PUT,DELETE,TRACE(获取服务器获取到的URL),OPTIONS(探测支持的方法) 请求路径:URL
2021-04-09 09:19:57
521
原创 Django 缓存框架浅析 + 内存分析
Django 缓存框架浅析 + 内存分析 动态网站存在一个基本权衡是——它们是动态的。每次用户请求一个页面,web 服务器需要提供各种各样的计算——从数据库查询到模板渲染再到业务逻辑——最后生成页面呈现给用户。从处理开销的角度来看,这比读取文件的开销要高得多。 缓存是将一些需要经过大量计算的结果存储在一个指定区域中,避免再次访问时的重复计算(处理好缓存的失效时机,否则会破坏数据的实时性)。通俗的讲,缓存就是用空间换取时间的一种策略方案。 使用缓存(这里主要指后端缓存)有以下主要优势: 提升接口响应速度
2021-04-09 09:08:34
631
原创 初探 Django 事务
初探 Django 事务 数据库事务(简称:事务)是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。试想下面这个例子: 当A需要在商店中购买商品,需花费100元,A通过手机扫码完成支付,涉及到金额的变化如下: 该人账户减少100元 商店账户增加100元 如果这两步不能同时在系统上完成,则有可能出现两种异常情况: 该人账户余额没有减少,商店账户增加100元 该人账户减少100元,商店账户没有增加。 无论是哪一种,对于金融行业来说,都是无法容忍的。如果支付宝频繁出现此
2021-04-09 09:05:37
288
原创 【已解决】Django 去重分组时去重无效
前些日子在开发业务的一个模块时,有一个需求:需要根据key去重后group by 部门名称进行总数的计算,首次代码是这么编写的,因为只有当天的数据,所以接口验证没什么问题: objs = TestPlanOverdueDetail.objects.filter( create_time__lte=datetime.datetime.strptime(get_work_month_date(month)[1], "%Y-%m-%d"), create_time__gte=datetime.da
2021-04-09 08:57:26
960
原创 Django rest-framework 用户登录认证源码剖析
Django rest-framework 用户登录认证源码剖析CBVAPIView VS View封装 requestAuthenticatorsPerform_authentication全局配置局部配置认证类总结 Django 是一个开放源代码的 Web 应用框架,由Python写成。作为 Python 最热门的后台框架之一,Django 平台上也涌现了很多优秀的基于它开发的框架。而 Django rest-framework,则是其中最为流行的框架。大家都知道它基于 Django 实现的一个 RES
2021-03-18 19:57:57
482
原创 Java 学习记录 - OOP 入门
面向对象编程 以类的方式组织代码,以对象的方式组织数据。 核心思路: 封装 多态 继承 一、方法 public boolean func (int a, int b){ return a == b; } 1.1 修饰符 public private protected static final 1.2 分类 静态方法 非静态方法 静态方法不能调用非静态方法 二、类和对象 类是一个抽象的,对象是具体的。 2.1 构造器 使用 new 关键字,会调用类的构造器进行初始化。 当一个类未定义任
2020-12-29 21:22:09
115
原创 Java 学习记录 - 基本语法
Java 基本语法 一、注释 Java 注释分为三种: 单行注释 多行注释 JavaDoc // 这是单行注释 /* 这是多行注释 */ /** * Java Doc * @author shijie */ 二、标识符 标识符时大小写敏感的 三、数据类型 Java 是强类型语言。所有变量必须是先定义类型、初始化之后才能使用 Java 的数据类型分为: 基本数据类型 引用数据类型 基本类型分为: 整型:byte(1b),short(2b),int(4b),long(8b) 浮点类型:f
2020-12-28 21:15:22
94
原创 【实践】ATX Weditor 获取 Android UI 空间元素属性,远程操作 Android机器,自动生成 Uiautomator2 代码片段
目录介绍安装启动主界面参考 介绍 最近在开发自动化测试 Android工具的时候,接触到一个强大的工具 – Weditor,此工具可以通过界面化轻松的进行机器操作,提供辅助编写脚本,查看组件信息,调试代码等功能。 以下是官方提供的示例图片 安装 使用 weditor 需要依赖python模块 uiautomator2 和 facebook-wda。前者是使用 python 对 uiautomator 进行了一次封装,使得测试开发工程师可以通过 python 语言对 Android machine 进
2020-12-03 15:18:23
1287
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人