那些年与八阿哥作斗争的日子
IMplementist
为有趣的生活。
展开
-
记一次重构
前提 在刚进实验室没多久的时候,就被要求每天写日报,日报写完后要发给一个当周值周的同学。经过观察我发现:值周的同学每天晚上都要比其他人晚走半个小时以上,因为有的人拖着很晚才交,值周的同学还要把每个人的日报汇总成PDF文件,然后发一封邮件给所有学生,还要抄送给老师。 那么,需求就很明显了: ①自动收取日报; ②自动汇总成PDF文件; ③自动编辑最终的邮件,添加②的产出为附件;...原创 2018-09-17 15:28:47 · 524 阅读 · 0 评论 -
记一个Emoji造成的数据库插入异常
前提 这次仍然是在我的日报系统上遇到的异常崩溃,关于日报系统的简要说明请参阅《记一次重构》. 异常信息 Incorrect string value: ‘\xF0\x9F\x8C\xB8’ for column ‘Content’ at row 49 就是说在第49行的Content这一列插入了不正确的字符串值\xF0\x9F\x8C\xB8。 问题所在 这个问题倒是很好查,看来很多人都遇到过...原创 2018-11-30 18:36:52 · 650 阅读 · 0 评论 -
记一个由多线程并发引发的异常
章节索引前提任务工厂使用场景示例任务发生了覆盖解决方案后记1.为什么不给每个线程都创建一个工厂?2. 只要在build函数的参数里传入任务,不需要ThreadLocal也能实现需要? 前提 这篇博文解决的是上次重构我的日报系统时遗留下的问题,关于日报系统的简要说明请参阅《记一次重构》. 任务工厂 根据需求,我需要创建一个任务工厂类,用来给定时线程构建任务: public class TaskF...原创 2019-02-22 17:18:04 · 567 阅读 · 0 评论