Mybatis 子查询 - mybatis select child object
最近有这样一个需求,查询符合条件的 3D 图纸包的信息以及该图纸包里包含的图纸的信息,这显然是查询一个对象的子属性,于是有了本文,本文将讲述 mybatis 子查询,即 return a list inside an object from mybatis.
2019-10-12 23:23:27
linux 全文搜索与删除
有时候,我们需要搜索一个目录下特定的字符,这很类似 idea 的搜索与替换,但前提是你有 idea,同时呢,还得把目录以项目的形式打开,当然,vs code 也有类似的功能。今天呢,我们要做的是,通过 linux 命令行搜索,优点是临时用用挺好,尤其是搜索系统文件的时候,我们开始吧。
2019-08-17 23:29:39
HttpServletRequest 获取参数、header、body
本文的初衷是 java 后端崩溃后,如何把入参传给 Sentry,从而更快速的定位和解决问题。入参包括:query string、form-data、body,还有 url、headers,当然考虑到分布式部署,还应该拿到当前的服务器 ip 以及端口,至于用户信息,header 里面一般包含了。
2019-07-18 10:10:23
分布式锁的 redis 实现
分布式锁最经典的例子应该是分布式的电商系统里对商品的库存进行加锁了,举个简单的例子,单机时代,我们可能就一台机器,这时候也可能需要锁,为啥呢,多线程啊,所以还是有锁,比如最简单的 synchronize 到了分布式系统,synchronize 已经不够用了。因为不只有一台机器啊,即使 服务器 A 加锁了,服务器 B 可能依旧跑进去了,比如两个人连接到了两台服务器 A、B,然后买同一件商品,即使有 synchronize 第一个人完全可以在 A 下单,第二个人在 B 下单,synchronize 只能保证当前进程,当有多个进程时,就废了。
2019-06-03 10:19:06
spring boot 发送邮件
我们在开发中总会遇到发送邮件或者发送短信验证码的事,本文讲述如果在 spring boot 项目里发送邮件,通过本文,你能了解到,在 spring boot 项目里如何优雅的发送邮件,并与现有的邮箱服务器,比如 163 集成。
2019-05-28 10:29:00
自建 sentry 并与 spring boot 集成
sentry 是开源的 crash 跟踪解决方案,支持超多语言,比如 nodejs(server + browser),java 后端,Android,ios 等等,基本称得上是全能的 crash 跟踪解决方案。本文主要讲述如何自建 sentry 并与 spring boot 集成。
2019-05-26 09:49:51
spring boot 拦截全局异常并通过 webhook 发送到钉钉机器人
当后端程序由于各种原因出错时,如果将错误信息直接抛给客户端,用户肯定会一脸懵逼,除非当时的用户是你们的开发,本文主要讲述如果拦截全局异常,不把异常抛给用户,同时,如果做过客户端,应该知道,Android 和 ios 都有第三方 crash 上报平台,如果能在出错后发消息到钉钉则很方便,本文主要解决这两件事。
2019-05-26 09:41:51
redsocks - 代理所有流量
在 Linux 平台,shadowsocks-qt5 并不强大,不能代理所有流量,我在搭建 Macaca 环境的时候,就遇到 selenium-standalone install 无法顺利完成的问题,即使设置了代理也无济于事,幸好我们还有 redsocks,它可以代理所有流量到指定端口。
2018-11-18 10:37:27
makepkg 速度优化
前不久在安装一个软件的时候发现需要 protobuf 3.6.1 而 Manjaro Linux 自带的是 3.6.0.1 但是找到了 PKGBUILD 文件,于是准备用 makepkg 命令编译并用 pacman -U 进行安装,结果却陷入了一场编译速度优化大战。
2018-10-06 11:42:52
grub 引导 linux iso
本文主要讲述如何给 grub 启动菜单添加 linux iso image 的启动项,以用于临时救急或者重装系统。主要提供一种通用的方式和针对 manjaro linux 的方式,我比较喜欢 manjaro linux,方便又稳定。
2018-08-27 10:56:44