跳至内容

frp - 内网穿透神器 - A fast reverse proxy

使用 frp 有很长一段时间了,但是一直没有写这方面的文章,每次重新配置都需要读官方的文档,略显吃力。从很长一段的文档里提取最核心的内容,显得并不那么容易。本文将讲述我是如何使用 frp 实现内网穿透,即在家里 ssh 公司的电脑以及 公司电脑上的 web 服务公开给大家使用。 frp 是我所见过的内网穿透解决方案里我最喜欢的一个,功能足够强大,可以 穿透 ssh 和 web,并支持 kcp 协议。github 地址是 https://github.com/fatedier/frp ,拥有将近 30K star,足见其实力吧。下面回归主题,使用 frp 穿透 ssh 和 web 服务。

更多 →

2019-11-15 23:15:11

druid-spring-boot-starter 填坑

此处说的坑并不是指 druid 或者 druid-spring-boot-starter 有多少坑,而是网上的文章有点 out,按照其集成,你会遇到一堆坑。坑,特指这个!主要有监控界面不显示,登录,以及解决 mysql 重启后的异常问题。

更多 →

2019-11-14 23:00:02

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