Spring Boot 中自定义 MessageConverter

背景 Spring MVC 自带比较强大的消息格式转化能力,它内部默认支持将接口返回值根据请求 header 中的 Accept 字段的值将结果转化为 纯文本、xml、json 等格式。 但是现在 web 开发和前端交互的过程中基本只会用到 json 格式,在默认配置下,浏览器直接访问接口时,由于浏览器请求 header 中会默认加上 Accept: text/html,ap...

2019-03-01 ,  阅读全文
Spring Boot 中 MyBatis 自定义 TypeHandler

有了 Spring-Boot 全家桶之后,很多配置都不用写 xml 了,MyBatis 我也比较喜欢通过纯注解方式实现所有功能,感觉方便很多,所以这篇文章里不涉及任何的 xml 配置。 应用配置中增加 type-handlers-package 配置项 mybatis.type-handlers-package=com.xxx.handlers 写具体的实现类 自定义的 TypeHandler 类可以继承 BaseType...

2019-02-20 ,  阅读全文
人生中对自己产生重要影响的几句话的感悟记录

"你到底是粗心大意还是确实没有掌握"——初中念书时成绩基本都是年级第一,有一次可能是数学还是哪一科有题目做错时我把原因归结为粗心大意,当时做语文老师的班主任就对我说了这句话,于是我仔细思考了下发现好像这个知识点我真的没有深入理解才会做错。这句话对我的影响十分深远,一直到现在每当我有事情做得不够...

2018-10-31 ,  阅读全文
使用 fork 和 pull request 参与维护开源项目代码

与原项目代码保持同步 我们 fork 出的项目 clone 到本地之后,需要在本地项目的 remote 源中添加原项目的地址。 注意将 project-git-path 替换为实际路径,其中 upstream 是上游源的命名,这个命名可以自定义,不过和默认的 remote 源叫 origin 一样,这个 upstream 也是约定俗称的命名。 git remote add upstream <proj...

2018-10-29 ,  阅读全文
从谈恋爱的角度理解各种 IO 模型

首先,本文把女孩子的爱慕看作在恋爱关系中的资源,那么就可以把男孩子看作应用程序,女孩子看作系统内核,这是文章的大前提。 同步阻塞 IO 男孩子追求某个女孩子,并且专注于这个女孩子,在追到手或者失败前不会对其他女孩子有任何行动,这就是同步阻塞 IO。 同步非阻塞 IO 男孩子表白了某个女孩子,但是没有去追求她,等...

2018-10-28 ,  阅读全文
CentOS 6 安装 swoole4 记录

首先需要将 gcc 的版本升级到 4.8,参考 CentOS yum安装或者升级GCC到4.8。 具体步骤如下: # 下载源并进行 yum 安装 wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++ # 替换系统默认软链至...

2018-10-10 ,  阅读全文
手机 https 抓包折腾记

目前常用的抓包软件一般是 Fiddler 和 Charles,个人感觉 Charles 的用户体验比 Fiddler 好不少,不过 Charles 是收费的。 这两个软件抓 https 的教程网上有很多,可以参考如下几篇: fiddler抓包HTTPS请求 Charles 4.2.1 HTTPS抓包 Mac下用Charles實現Android http和https抓包 简而言之,一般这个过程主要就是两步...

2018-08-02 ,  阅读全文
从 IO 到协程

这篇文章是为了准备内部的技术分享,将 ppt 的内容进行了一定的整理,作为演讲的基础。 确定这个分享内容是周末看到一篇讲 异步、并发、协程 相关的文章,想到平时的工作中虽然经常和这些概念打交道,但是却没有真正地对每个相关的概念都理解得很透彻,便决定自己整理一遍。 Unix 体系架构 首先说到 IO,就不得不先说一说...

2018-07-26 ,  阅读全文
使用 ShareMouse 实现 Mac、Windows 共享键鼠记录

在多台电脑间共享键鼠相对来说是个比较小众的需求,所以这方面的软件数量并不很多,其中最为有名的要数 Synergy 了。Synergy 貌似最初是开源免费的,现在收费好像也逐渐提高了,不过它是一次性买断终身使用权的,其实也算比较实惠了。 之前用过一段时间 Synergy,整体来说体验也算还可以,但是长期使用时还是发现存在一些问...

2018-07-23 ,  阅读全文
laravel5.6 + vue2 开发单页应用坑点记录

node-sass 在 windows 上的编译问题 node-sass 在 windows 上遇到的问题蛮多,如果顺利的话可以通过 npm rebuild node-sass --force 解决,但是重新编译的过程中可能会报 python executable file not found 类似的问题,然后提示通过设置 python 环境变量解决。但奇怪的是报错里面写的 python 可执行文件路径命名是正确的,...

2018-06-24 ,  阅读全文