摘要:初衷 首先adb这里就不多做介绍了,因为工作中经常会用到adb(譬如:安装、卸载、截图、查包名、打日志等常用功能) 为了提高工作效率,同时避免重复输入adb命令,就准备写一个工具,把常用的一些adb命令封装在一起方便使用 刚开始就是一个简单的cmd黑窗口形式,由于界面太丑实在没有食欲,就又用pyqt 阅读全文
posted @ 2020-06-30 15:29 者諹 阅读(267) 评论(2) 推荐(1) 编辑
摘要:摘自网易的‘NetEase-手游兼容性测试’ 阅读全文
posted @ 2020-04-01 14:32 者諹 阅读(61) 评论(0) 推荐(0) 编辑
摘要:一、版本开发基本方案 时间跨度:每周一个迭代版本 所以需要将开发计划切割成以周为单位,并且每个迭代需要有可验收内容 [√] 便于把控开发进度,并通过每周的开发速度来评估进度风险; [√] 将整体切割成块,方便根据每个开发同学的有效时间,对计划进行合理排期; [√] 定期验收,便于及时优化和解决bug 阅读全文
posted @ 2020-02-25 11:02 者諹 阅读(61) 评论(0) 推荐(0) 编辑
摘要:在 "第 3 篇文章" 讲事务隔离级别的时候提到过,如果是可重复读隔离级别,事务 T 启动的时候会创建一个视图 read view,之后事务 T 执行期间,即使有其他事务修改了数据,事务 T 看到的仍然跟在启动时看到的一样。也就是说,一个在可重复读隔离级别下执行的事务,好像与世无争,不受外界影响。 阅读全文
posted @ 2020-01-19 14:24 者諹 阅读(115) 评论(0) 推荐(0) 编辑
摘要:MySQL 的行锁是在引擎层由各个引擎自己实现的。但并不是所有的引擎都支持行锁,比如 MyISAM 引擎就不支持行锁。不支持行锁意味着并发控制只能使用表锁,对于这种引擎的表,同一张表上任何时刻只能有一个更新在执行,这就会影响到业务并发度。InnoDB 是支持行锁的,这也是 MyISAM 被 Inno 阅读全文
posted @ 2020-01-18 16:23 者諹 阅读(163) 评论(0) 推荐(0) 编辑
摘要:本篇聊聊 MySQL 的锁。数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则的重要数据结构。 根据加锁的范围,MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类 。本篇文章,分享全局锁和表级锁。 这里 阅读全文
posted @ 2020-01-18 16:22 者諹 阅读(129) 评论(0) 推荐(0) 编辑
摘要:在开始这篇文章之前,我们先来看一下这个问题: 在下面这个表 T 中,如果我执行 select from T where k between 3 and 5,需要执行几次树的搜索操作,会扫描多少行? 下面是这个表的初始化语句。 图 1 InnoDB 的索引组织结构 现在,我们一起来看看这条 SQL 查 阅读全文
posted @ 2020-01-18 16:18 者諹 阅读(203) 评论(0) 推荐(0) 编辑
摘要:提到数据库索引,我想你并不陌生,在日常工作中会经常接触到。比如某一个 SQL 查询比较慢,分析完原因之后,你可能就会说“给某个字段加个索引吧”之类的解决方案。但到底什么是索引,索引又是如何工作的呢?今天就让我们一起来聊聊这个话题吧。 数据库索引的内容比较多,我分成了上下两篇文章。索引是数据库系统里面 阅读全文
posted @ 2020-01-18 16:17 者諹 阅读(114) 评论(0) 推荐(0) 编辑
摘要:提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转 100 块钱,而此时你的银行卡只有 100 块钱。 转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做减法之前,你这 阅读全文
posted @ 2020-01-18 16:15 者諹 阅读(120) 评论(0) 推荐(0) 编辑
摘要:前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又是怎样的呢? 之前你可能经常听 DBA 同事说,MySQL 可以恢复到半个月内任意一秒 阅读全文
posted @ 2020-01-18 16:13 者諹 阅读(142) 评论(0) 推荐(0) 编辑