大雁小鱼的博客

Talk is cheap,show me your code please.

Jackson反序列化的坑

Jackson反序列化时,会根据带get的方法去掉get后首字母小写来确定参数,所以,如果某个get函数没有参数,则请使用@JsonIgnore来避免它序列化,否则会出现错误 Jackson需要类提供空构造函数,才能反序列化,否则会出错,这一点貌似和DDD中的不变量冲突 Jackson在反序列化时不支持对枚举的非构造函数中参数的设置,比...

一些有趣的问题

2016的阶乘(2016!)末尾第一个非零数字是几?

如何开始阅读mysql源码

为什么要阅读MYSQL源码 之前看过许多的的MYSQL书籍,但无论怎么看,总觉得都只是书上看看,我无法判断书上说的是否正确,我无法自己作出判断,所有的知识都是书上说什么,我就记住什么,没有一点自己的主见,所以我打算阅读源码,因为源码面前,了无秘密。 但各位都知道,阅读源码是一件需要长期坚持的事情,所以我打算把自己阅读源码获得得经验知识写成博客,以鼓励自己。 资料 阅读源码,自然需要...

实践课:不停机迁库

目标 本次实践课的课程目标如下 目标:通过实践操作,掌握MYSQL不停机迁库的原理和操作方法。实践出真知啊,一定要动手实践才能真正掌握。 环境 操作系统 kali MySQL 8.0 操作流程大纲 源码安装MYSQL8.0 启动2个MYSQL实例,并创建用户表 用Python编写导入大量用户信息(约10万条记录)的脚本 编写一个SpringBoot应用程序,开发一个HT...

运行2个mysql实例

问题 在一台机器上源码安装了MYSQL8.0,如果我们想启动2个MYSQL实例,该怎么做呢? 前提 本博客的前提条件是你源码安装了MYSQL 8.0,具体安装步骤参考: 操作步骤 生成2个目录 mkdir -p /root/mysql1/data /root/mysql2/data 切换到源码安装目录 cd ${MYSQL_INSTALL_PA...

源码安装mysql8.0

前言 本博客记录源码安装MySQL8.0的过程,请注意,我的机器环境是kali,使用的包管理工具命令是apt-get(kali如何安装,请参考:https://luyuanwan.github.io/2018/11/02/Kali安装教程/) 官网源码安装MYSQL8.0 请参考:https://dev.mysql.com/doc/refman/8.0/en/source-installa...

证:世界不存在

证:世界不存在。各位看官,先不着急喷,等看完在喷也来得及呀! 我证的方法比较独特,需要从一个思想实验说起,另外我需要说明的一点是:我的方法是否正确,是既无法证明,也无法证伪的。 思想实验:苹果的颜色 在一间房间里有一张桌子,桌上放着一只苹果。这只苹果有一个特性:当你观察这只苹果的时候,它是红色的,当你不观察的时候它会变成绿色。 实验的任务是:有一名研究员去研究苹果的颜色,研究完后告诉大...

程序复杂度

程序的复杂性共分2种 第一种是根本的复杂性。比如一个算法,很抽象,很不直观,算法模型背离人的直觉认知,运算过程不容易可视化表达,因此不好理解。这种复杂性存在的根本原因是数学模型本身的抽象,是很难根除的。 第二种是过程的复杂性,简单地说,就是技术都是现成的、成熟的,要实现的功能是简单的,但是实现的代码写得太糟糕、不易维护,改动一点容易牵动其他看似不相关的地方,从而使得改动项目变得很艰难,这...

吉祥物

Somebody says: 台上本来就是吉祥物,真正代码贡献者哪有时间到处做PPT走穴站台,这个总架构师那个缔造者早就不熟悉各种细节和问题了,还怕真懂细节的瞎说大实话。

Fastjson序列化问题总结

fastjson是阿里巴巴出品的一个JSON序列化和反序列化工具。在使用的过程中,我发现它有以下几个特点,在此记录一下。 特性 1、快 2、如果是is98这样的变量,不会序列化 3、如果变量是null,不会序列化 4、反序列化要求类具有空参构造函数