Postgres citext类型忽略大小写查询时遇到的坑
最近项目里有个需求是模糊查询某个字段时需要忽略大小写,一开始的实现很简单,用pg自带的LOWER函数,WHERE LOWER(name) LIKE LOWER(’%’ || #{query.name} || ‘%’)
但随着要修改的sql越来越多,这种方式容易遗漏,于是就想办法能不能在列上做一些事情,一劳永逸。
最近项目里有个需求是模糊查询某个字段时需要忽略大小写,一开始的实现很简单,用pg自带的LOWER函数,WHERE LOWER(name) LIKE LOWER(’%’ || #{query.name} || ‘%’)
但随着要修改的sql越来越多,这种方式容易遗漏,于是就想办法能不能在列上做一些事情,一劳永逸。
我们目前现有的SpringBoot项目所有日志都是用logback框架打印,发送到datadog上,目前发现一个问题是默认的logback打印的日志在datadog上非常不美观,类似下面这种
最近在开发一个ffmpeg生成短视频的程序,程序里需要对接Google drive,当程序生成视频成功后,需要把视频上传到drive。在Google的文档里上传总共有3个API,分别是
single upload
multiple upload
resumable upload
在JPA中,我们是通过@id
和@GeneratedValue
来指定id主键生成策略的,比如:
1 | @Id |
最近在小红书看到一位博主吐槽自己的高德地图收藏无法编辑,也无法查看,一点击收藏地点就会自动取消收藏,这可能是高德地图的bug,同时也让我有了一个想法,就是把高德地图的收藏地点全部同步到Notion中,有几个好处:
最近在做图片拼接视频的项目时,需要实现一个功能:在每张图片中间加滑入滑出的过渡效果。ffmpeg有一个xfade的filter,支持slideleft/slideright等过渡效果(在这可以看到所有过渡效果的动图)。
最近一个项目,需要用ffmpeg对视频进行抽帧,大概是每隔几秒提取一张图片。这个命令非常简单:ffmpeg -i input.mp4 -vf fps=1/3 %04d.png
。但是有一个额外需求是,需要知道每张图片在视频中的时间,而上面的命令提取的图片文件名是单调递增的数字,所以我们需要对上面的命令做一些改造,改造后的命令如下:ffmpeg -i input.mp4 -vf fps=1,select='not(mod(t,3))' -vsync 0 -frame_pts 1 %d.jpg
这个命令的意思就是首先以每秒一张的帧数提取图片,然后当当前时间能被3整除时才进行提取,达到了3秒提取一张图片的效果,后面的-frame_pts 1开启了写入当前帧时间到文件名的功能。
去年冬季哈尔滨的出圈,让我也想去哈尔滨感受一下东北的风光和人情。可惜哈尔滨冬天的温度有点劝退我了,正好今年51劳动节有5天假期,凑上5天年假,决定用10天时间打卡东三省。虽然没有冬季的冰雪皑皑,也能感受一下东北的春天。总体行程如下:
5.2从上海出发到哈尔滨,玩到5.5。
5.5从哈尔滨出发到吉林延边,玩到5.7。
5.7从从延边出发到沈阳,玩到5.10号。
5.11从哈尔滨返回上海。
本来想加上长白天的行程,担心有点赶,就下次再去吧。
在使用ffmpeg给图片拼接的视频加放大动画时,出现一个很奇怪的问题,如果指定放大的位置点在中心,画面中的图片会在放大的同时来回抖动,好像网络卡了的感觉,如下面的动图:
最近在开发一个图片生成短视频的程序,最开始的需求就是需要把视频拼接成图片,每个图片有一定播放时长,这个命令非常简单,通过使用ffmpeg的concat demuxer就可以了。首先创建如下txt文件