MySQLdb
模块是 python 与 mysql 交互的较为底层的接口, 不过它依然是在更为底层的_mysql
模块之上又作了一层包装;_mysql
才是真正的直接面向 mysql 原生 C 接口的简单适配层, 而MySQLdb
则在_mysql
之上作了更多的关于类型转换等抽象包装;
考虑到MySQLdb
模块与一些 python ORM 框架的关系,MySQLdb
与 python 的关系可以类比为 jdbc 之于 java;
如果是复杂的系统, 我们肯定会选择 ORM 框架, 不过对于一些简单的小工具, 定时小任务等, 本身没什么复杂的数据库操作, 那就用 MySQLdb 最方便了;
本文基于MySQL-python 1.2.5
对 MySQLdb 作一些使用上的总结;
希尔的博客
兰之猗猗,扬扬其香。不采而佩,于兰何伤?
-
-
jcmd: jvm 管理的另类工具
曾经 oracle 向我们提供了一套 jvm 管理与诊断问题的 “工具全家桶”: jps, jstack, jmap, jstat, jhat, jinfo 等等, 我们针对不同的情景使用不同的工具, 解决特定的问题;
现在, oracle 在 jdk7 之后又为我们带来了一个全能的工具 jcmd; 它最重要的功能是启动 java flight recorder, 不过 oracle 在设计该命令的时候, “不小心” 为它附加上了一些其他功能, 从而将原本平静的水面搅起了波澜; -
saltstack cheat sheet
本文主要整理日常 saltstack 使用时的最常用的一些命令,以供快速查阅;
-
du / df 使用及其区别
本文主要是整理 磁盘使用量 相关的命令, 如 du, df 等;
接着, 一般性得总结这两个命令在实际工作中的应用;
然后再以 du, df 命令的区别为例, 讨论命令背后的逻辑, 工作中存在的问题, 最后引申出问题解决的工具: lsof; -
linux signals 总体认识
linux 的信号系统其实是一个非常重要的概念, 进程间通信的常用方法之一;
不过长期以来, 我们对 linux 信号的直观认识, 只有 kill (SIGTERM), ctrl + c (SIGINT) 和 kill -9 等进程终止信号; 而 linux 的信号系统中存在 64 种各司其职的信号, 适用于各种各样的场景; 很多信号在实际工作中有着妙用;
本文正是想对 linux 世界中林林总总的 signals 作一次梳理, 总结一些日常工作中频繁使用以及不太接触但十分有用的信号; -
top 命令与操作及其参数指标总结
排查系统性能问题时, 最尴尬的事情莫过于敲下 top 命令后, 看着不断跳动的界面, 愣是不知道接下来要怎么操作, 最后无奈得按下了一个 q;
所以我专门写作本文, 系统性得整理一下 top 命令所展示的内容与结构, 常见操作快捷键与技巧; 虽然在 top 界面里按 h 便能进入帮助界面, 但那种操作排版比较密集, 信息量太大, 没有直观性;
当然, 即使是这篇文章的内容, 我最好也熟记于心, 否则排查问题的时候还要查操作笔记, 也是件挺尴尬的事情; -
python 模块导入: 相关基础知识梳理
python 有一个关键字和 java 一样:
import
, 其功能也类似: 在代码中引入其他的依赖(模块)以使用;
不过, 不像 java 那么单纯, python 还要区分为 import module 和 import names 两大类; 作为一个 python 新手, 这些使用上的区别有时会令人感到迷惑;
python 包和 java 包在概念上也有类似之处, 不过 python 的 __init__.py 规范更讲究一些, java 的 package-info.java 重要性没有那么强, python 初学者在此也很容易栽跟头;
在使用了一段时间的 python 之后, 我突然发现, 关于模块引入相关的知识, 我还从来没有过一个系统性的整理; 故作此文以备将来查阅; -
http status code 典型问题总结
本人根据自身的工作经历, 以一个 java dev 的视角, 总结了一些 http status code 的常见问题, 原因及解决办法;
这些问题涉及到的系统或技术栈包括了 nginx, tomcat, spring(springMVC), elasticsearch 等等; -
jackson 注解 cheat sheet
本文是 JsonUtil 类 cheat sheet 的姊妹篇;
JsonUtil 类 cheat sheet 侧重于代码层面对 jackson API 的使用, 是一个 “宏观” 的行为: 其设置对全局皆有效; 而本文则着重讨论 javabean 各成员上 jackson 注解的使用, 是一个 “微观” 的行为: 通过注解的约定, 可以精细化控制具体的类, 字段及方法 的序列化 / 反序列化行为, 使 jackson 能够定制化得处理各个 javabean; -
jackson 常用配置选项梳理
jackson 有各种各样的配置选项 (Feature), 涵盖了包括 json 语法解析, 语句生成, 序列化 / 反序列化特征, 字段类型处理 等不同层面, 对初学者而言, 很容易造成困惑;
本文基于 jackson 2.8.x, 着手整理常用的 jackson 配置选项, 并给出一个便捷的工具类, 以友好的方式整合 jackson 的常用配置项;