Go 包管理相关

虽然在公司实习的时候绝大多都是在写 Go,但是没有深入了解过 Go 项目管理的相关知识,所以总结梳理下。

阅读更多

个人Ubuntu使用指南

什么是Ubuntu?Linux隶属于GNU,遵循GPL,Debian是Linux众多主要发行版中的一个,而Ubuntu是Debian在桌面领域的一个改版系统,更多细节请前往这里

阅读更多

MySQL系列(七)——count()探究

计算一个表的行数SQL语句select count(*) from t ,随着系统中记录数越来越多,这条语句执行得也会越来越慢。此篇旨在说明count(*)语句到底是怎样实现的,以及MySQL为什么会这么实现。如果应用中有这种频繁变更并需要统计表行数的需求,业务设计上可以怎么做。

阅读更多

详解 LVM

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现,LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

阅读更多

Linux 系统内存问题

这是上一篇内容的延伸,通过对一些内存问题以及性能分析工具的梳理,总结分析内存问题的思路和优化策略。

阅读更多

MySQL系列(五)——事务隔离

当数据库上有多个事务同时执行的时候,就可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantom read)的问题,为了解决这些问题,就有了“隔离级别”的概念。

阅读更多

MySQL系列(四)——log(日志)

与查询流程不一样的是,更新流程还涉及两个重要的日志模块:redo log(重做日志)和 binlog(归档日志),redo log记录这个页 “做了什么改动”。binlog有两种模式,statement格式的话是记sql语句,row格式会记录行的内容,记两条,更新前和更新后都有。

阅读更多