《代码整洁之道》 --- 写出优雅的代码 变量名原则一:名副其实 变量名和函数名或类名,一定要让人知道它是干什么用的。如果一个变量,需要注释来补充,则不是一个好的变量名。 12// 如果代码中到处出现d,则会让人十分困惑int d ; // count time in days 减少代码的模糊度 12345678910111213public List<int[]> getThem(){ Lis 2021-10-31 笔记
开发中遇到的一些问题 git回滚 –hard 直接回滚到那个版本提交完的时候 –soft 回到那个版本,但此时更新的操作,仍在缓存区 –mixed 回到那个版本,更新的操作在工作区,还没add golang m1 编译的问题1234bartonhuang@BARTONHUANG-MB3 MVPPayCustomerServer % go build# github.com/shirou/gops 2021-10-07 笔记
浅谈数据库的锁(二) 前言 今天这篇文章,讲的主要是下面两个内容:(1)gap lock 和 next - key lock (2)锁,到底是锁的是什么东西? 并且想要解决几个令人困惑的问题 在主键,唯一键,普通索引,以及非索引字段加锁,究竟锁住来了什么东西? 不同的查询条件,锁住什么东西? 条件中的等值不存在,锁住什么? 2021-10-06 数据库 MySQL
结合内核态和线程结构谈谈 --- 为什么线程切换比进程快? 前言 看过之前两篇文章,应该都大致了解了两件事情。 在Linux系统里面,进程线程几乎没有区别,没有为线程设置额外的调度算法,数据结构 进程/线程调度其实经历这几个阶段 进程A —> 陷入到内核态,内核进程A 内核进程A —> 进程调度器 —> 内核进程B 内核进程B —> 进程B 既然如此必然经过页表,跟栈的切换 之后,我思 2021-10-04 Operate System