- 博客(68)
- 资源 (5)
- 收藏
- 关注
原创 MySQL json字段 全值(全字符串)查询
巨人的肩膀mysql支持原生json使用说明背景:t表有个json类型的字段f,需查询出:f字段值为 ‘{“id”:1}’ 的数据结论需用cast转换入参为json:select * from t where f = cast('{"id":1}' as json);准备环境表结构create table t(id int auto_increment primary key,name varchar(10),f json);初始化数据insert into t(n
2022-02-22 17:11:10
1747
原创 多个远程Git仓库代码及版本同步
巨人的肩膀:How to keep two Git repositories in sync需求项目代码存在多个远程Git仓库里(例如:Github、Gitlab、Gitee),需确保不同远程仓库代码版本一致。初次搭建仅需3步!以后同步只需1步!操作步骤1、检出源仓中的项目# 到代码缓存目录cd ~/code-syncgit clone --mirror https://github.com/jack/my-project.git2、增加第二个远程仓库Gitcd my-project
2021-07-31 08:34:55
1766
原创 ES nested 数组元素增删改查
巨人的肩膀Update API | Elasticsearch Reference [7.11] | ElasticElasticsearch: remove/update field inside nested objectES中使用nested类型的内嵌对象需求对nested(数组)进行操作:增加元素删除元素更新某个元素的值查询包含有指定特性(如id)的缓存环境Docker中启动的ES、Kibana,版本号均为:7.8.1,搭建教程操作方便起见,咱们使用分组(Group
2021-03-18 11:23:07
4316
原创 Docker运行Elasticsearch和Kibana
巨人的肩膀docker安装es和kibana——非常简单Connect Kibana with Elasticsearch ContainerInstall Elasticsearch with Dockeredit版本:7.8.1命令# ES和Kibana网络桥接docker network create network-elas# esdocker run -it -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "d
2021-03-15 14:10:33
245
原创 Go 中文字符串 len()返回错误
s := "x张三"size := len(s)//7// 应使用 utf8.RuneCountInString(s)size = utf8.RuneCountInString(s)//3
2021-01-26 11:33:03
939
原创 Chrome “您的连接不是私密连接的方法” 解决办法
参考资料解决chrome提示您的连接不是私密连接的方法Troubleshooting Certificate Errors in Web Browsers现象:Chrome提示内容如图所示:解决办法1、[亲测有效]Mac OS:打开 终端(控制台),输入一下内容并回车,即可打开Chrome,此时访问原先页面将不会出现前面的拦截提示:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --test-type --ig
2021-01-25 14:27:03
4051
2
原创 Docker Elasticsearch 报错:no Elasticsearch node available
报错信息panic: no active connection found: no Elasticsearch node available资源ES版本号:7.2.1原因参见在docker中运行elasticsearch时go程序无法连接到节点解决方案在创建es的client时,指定禁用Sniff即可import ( "fmt" "github.com/olivere/elastic/v7")var client *elastic.Clientfunc Init() { u
2021-01-22 18:39:08
3546
原创 Go gin Get请求参数 支持数组
思路:用string接收,然后通过反序列化成数组即可。controller/service:// str: [1,2]int8Slice := utils.ParamInt8Slice(str)// str: ["a@gmail.com", "b@gmail.com"]stringSlice := utils.ParamStringSlice(str)utils:func ParamInt8Slice(str string) []int8 { res := make([]int8, 0)
2021-01-20 11:28:34
7284
2
原创 Mac安装clang-format
巨人的肩膀:GoLand文件格式化配置操作步骤:1、更新homebrew资源brew update2、安装clang-formatbrew install clang-format# 安装成功后,可通过此命令知道clang-format路径,后面需要用到:which clang-format3、配置GolandArguments填的内容:-style="{BasedOnStyle: Google, IndentWidth: 4, ColumnLimit: 0, AlignCon
2021-01-13 17:31:05
6312
1
原创 go json标签(tag)
go中json序列化使用标签来进行拓展:1、忽略空值:type Person struct { Id int64 `json:"id, omitempty"`}2、忽略字段(不论是否为空值):type Person struct { Id int64 `json:"-"`}3、指定数据类型:type Person struct { Id int64 `json:"id,string"`}...
2020-12-24 10:27:31
2244
原创 读书也是风雅乐事
读书也是风雅乐事□鲁先圣我十分钦佩杨绛先生关于读书的观点:读书好比串门儿——隐身的串门儿。要参见钦佩的老师或拜谒有名的学者,不必事前打招呼求见,也不怕搅扰主人。翻开书面就闯进大门,翻过几页就登堂入室;而且可以经常去,时刻去,如果不得要领,可以不辞而别或者另请高明,和他对质。把读书看成了拜师访友,是那种没有任何功利的读书,优雅而闲适。如果我们真的能够像杨绛那样去看待读书,把读书当做是去拜访高人名流,那读书就存粹是一件风雅乐事了。苏格拉底对于读书另有高论。他声称,一册好书,能够引诱他走遍全世界。他是为求
2020-11-23 09:11:41
287
原创 go reflect.Value获取原始值
go reflect.Value获取原始值type Person struct { Name string}func main() { p := Person{ Name: "James", } // 获取反射 refPerson := reflect.ValueOf(p) // 获取通过反射获取原始值 fmt.Println(refPerson.Interface())}
2020-11-06 14:40:49
1739
原创 一种介于Push与Pull之间的模式
Push与Pull使用过消息中间件的同学,对于push与pull模式应该了然于胸。为了做个铺垫,在此将两者的对比图粘贴出来:图片出处:[转] 消息系统该Push/Pull模式分析简言之,就是:push模式:有数据变动时,由 服务器 主动向 客户端 发送消息pull 模式:客户端向服务器发送拉取请求,服务器将变动的数据返回给客户端,也可能没有变动的数据介于Push与Pull模式之间的“新模式”Google Chubby 是一款分布式锁服务,GFS、Big Table等大型系统均使用其解决
2020-09-06 15:30:33
415
原创 线程池RejectedExecutionHandler从FutureTask获取原始任务对象(Runnable、Thread等)
需求线程池拒绝策略中,需要将拒绝的任务进行特殊处理(如:任务处理状态标记为失败),故需获取到原始任务对象(称为oriWork)。拒绝策略回调中传参Runnable r为FutureTask对象(无法将该对象强转为oriWork类型),该对象的callable字段存储了oriWork,只是该对象被Executors的内部类RunnableAdapter封装着。思路通过反射先获取FutureTask.callable字段,然后通过反射获取Executors$RunnableAdapter中包装的原始任务
2020-08-11 11:06:17
1328
1
原创 Nginx—windows环境 开启目录浏览 且于浏览器中显示.log后缀的文件内容
需求在windows环境,将指定目录(此处为:D:\data\deploy\logs)使用nginx“代理”显示,并在选中.log后缀的文件时,在浏览器中显示该文件内容。您可根据自身需求进行修改,如目录、后缀等。Nginx 配置:# 务必确保:location为/location / { root D:\data\deploy\logs; # 切记:该目录下不能有index.html,否则将只显示该html的内容 #index index.html; autoind
2020-07-24 15:26:00
1448
原创 Jenkins—在windows环境搭建Jenkins环境 并构建部署到本地Tomcat中
巨人的肩膀Jenkins「第一节」-win10环境tomcat部署高版本Jenkins关闭跨站请求伪造保护(CSRF)场景需要在Windows台式机上搭建Jenkins环境,构建并部署项目到本地tomcat。因该台式机放在公司局域网内,为了方便研发和测试人员构建,需要在该台式机上搭建Nginx并对jenkins进行反向代理。需要预先完成的操作为了方便看官,特将相关资源在百度云分享:链接:https://pan.baidu.com/s/1swd45m7V7f-O8NHFvK3QNw提取码:1
2020-07-22 18:13:16
2265
原创 线程池—ScheduledThreadPoolExecutor 存在OOM问题
原因ScheduledThreadPoolExecutor继承自ThreadPoolExecutor,而前者构造方法调用的是后者的构造方法,而且maximumPoolSize值为Integer.MAX_VALUE,这会导致缓冲队列中存在过多任务对象没有被处理并回收内存。demo@Testpublic void main() { int coreThreadCount = 1; ThreadFactory threadFactory = new ThreadFactoryBuilde
2020-07-16 18:29:58
3414
原创 Nginx开启压缩 提高静态资源获取速度
巨人的肩膀Nginx gzip 压缩Nginx启用Gzip压缩js无效的原因Nginx不自动压缩css和js文件解决方案具体操作确定nginx配置文件路径:输入:nginx -t结果:nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is success
2020-07-15 11:04:18
1291
原创 在Spring Filter中抛出异常的一种办法
先说办法,如果看官觉得合适再往下看原理吧解决办法步骤:1、创建一个专门抛出Filter中异常的Controller及接口方法,例如该接口地址为:/filter/login_auth_fail@RequestMapping("/filter")@RestControllerpublic class FilterController { @RequestMapping("/login_a...
2020-03-06 17:14:01
2959
4
原创 集合Stream流操作工具类
前言Java1.8发布的流操作支持Lambda表达式,省去for、foreach等架子,有效提升编码效率。但重复的拼装出相同的流操作表达式,又出现了原先for、foreach存在的架子问题,故而,本文将给出一些笔者日常工作中经常使用到的流操作工具方法,希望能减少不必要的重复代码,将宝贵的时间精力放在功能、产品、生活上。代码StreamUtils:package com.sqlu.too...
2020-01-06 19:09:44
1227
原创 POI操作工具类
前言经常有需求导出excel表格,本文将搭建excel的简单模型,并使用POI实现一些常用的功能。工具地址:Github地址看下效果示例代码:package com.sqlu.learn.excel;import com.sqlu.learn.tools.excel.poi.PoiUtil;import com.sqlu.learn.tools.excel.pojo.*;im...
2020-01-03 17:14:33
965
原创 SpringBoot 接口返回值类型转换报错 No converter found for return value of type
SpringBoot 接口返回值类型转换报错 No converter found for return value of type参考资料:No converter found for return value of type: class java.util.LinkedHashMap解决方法:/** * @author stonelu * @date 2019-09-27 18:1...
2019-10-29 15:04:42
742
原创 一次正式环境服务器CPU持续99%问题跟踪与解决
巨人的肩膀:Java线上应用故障排查之一:高CPU占用【转】事件回顾现象:从服务器控制台查看(未添加报警机制),发现服务器CPU持续8小时一直处于99%的使用状态处理:先查看当前哪些进程占用资源较高:进程按占用资源递减排序:输入top,然后输入p发现PID为8164的java进程占用CPU达到99.8%查看PID进程中耗时的线程:ps -mp PID -o THR...
2019-07-05 14:49:04
1527
原创 OpenCV定位二维码的三个定位点
效果:依赖:需要OpenCV的运行环境,Windows直接通过exe安装即可,Mac有些繁琐,Linux需要通过源码进行本地编译。具体参见其他资料,此处不再赘述。<dependency> <groupId>org.opencv</groupId> <artifactId>opencv</artifactId>...
2019-06-27 14:54:57
3115
3
原创 Java原生窗体(JFrame/JPanel)显示图片(支持OpenCV)
为便于比对OpenCV处理前后图片效果,需要将原始图片、处理后的图片、OpenCV矩阵图像显示出来。借鉴于网上的资料,在此处给出满足上述需求的工具类。支持:拖拽自适应图片大小,通过文件路径、Mat、Image显示图片参考资料:https://stackoverflow.com/questions/13871307/jframe-not-showing-a-picturehttps:...
2019-04-30 17:46:59
4256
原创 Docker之——安装
Docker之——安装注意因版本支持原因,墙裂建议使用CentOS 7及以上版本安装 或 其他OS的兼容版本,否则会出现很多意想不到的问题。详情参见官网。如果是低版本CentOS,可以参照这篇文章尝试升级。//TODO你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本...
2019-02-10 15:54:50
298
原创 CAS之——自定义改造
CAS之——自定义改造本文总结一些CAS集成过程中的自定义改造需求与实现,持续更新,也欢迎各位前辈提出意见与建议。环境CAS服务端:cas-4.0.0,下载部署参见此篇文章cas客户端:引用第三方jar包项目:JDK1.8、Spring Boot结构pom.xml:添加第三方jar包即可:Main.java:增加@EnableCasClient()注解即可W...
2018-12-30 13:07:34
2130
原创 maven构建报错:无效的目标发行版: 1.x
报错信息:Fatal error compiling: 无效的目标发行版: 1.x -> [Help 1]原因:根据网上资料检查了一遍:确实已经安装jdk,且版本正确,cmd中也能查看到jdk版本信息,maven也正常安装了。换了个jdk包,好使了!!!!!! ,可能是之前的jdk包不正确。点击此下载正确的jdk1.8包...
2018-11-17 15:36:21
898
原创 James3之——Docker部署
WhyDocker容器技术极大地简化了软件的交付于部署,更多的优势在此便不再赘述了。利用Docker的volume技术可以部署多套相同配置的James邮件服务,加上域名映射即可完成负载功能(邮件相关数据需存于数据库中)。由于aliyun禁止25端口对外访问,无奈只能到墙外搭个James邮件发送服务器,然频繁被墙(T﹏T),有了Docker后只要将备份的配置文件上传到服务器然后做个volum...
2018-10-22 00:32:55
2069
原创 CentOS6.x升级到7
资料:Centos 6.x 升级到 7 CentOS 6.5升级至CentOS 7 centos6.x如何更新 风险:系统:ssh、yum不可用,需按文末步骤安装数据:从实验来看,不会清空 /opt、/home、/var 目录下的用户数据,部分应用(如Jenkins)会自动更新版本 详细步骤:1、查看当前CentOS版本cat /etc/redhat-r...
2018-10-21 21:37:44
25948
3
原创 Springboot集成Mybatis报找不到mapper
报错:nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 前缀包名.dao.AppMapper.list 原因:网上有其他原因点,下面是这次遇到的原因:maven打包时,没有将application.yml或properties、...
2018-10-15 17:42:41
3949
原创 James3之——安装与配置
Why?James-3.1.0 较于 2.3 功能更加完善,详情参见官网: https://github.com/apache/james-project/#apache-james-project 拥抱Docker,可以将数据卷挂载到Host上,还可集成ElasticSearch或Lucene(基于Guice): https://github.com/apache/james-proj...
2018-10-03 15:13:39
8021
24
原创 James之——集成TLS/SSL
Why?1、阿里云将SMTP的25端口封了2、为了数据安全,详情参见SSL/TLS说明 What?为了防止垃圾邮件泛滥成灾,国内外大部分服务器提供商均默认禁止25端口对外访问(以下简称:禁止25端口),阿里云默认禁止25端口,但可以从25端口接收外部发来的数据。 How?1、解决思路:有个曲线救国的办法:购买一台允许通过25端口对外发送数据的服务器,重...
2018-09-17 10:34:03
1198
原创 James之——使用log4j输出新加类的日志
Why? 新加的类,默认是不输出日志的,即便是在控制台输出,也不太方便后面的问题跟踪。What? 本文介绍如果使用log4j输出新加的类产生的日志。How?1、添加Log4j的jar包和配置文件: 在项目lib下添加log4j的jar包,在根路径下添加:log4j.properties 配置文件,因启动脚本中有如下的传参: 故可以用 ${phoenix.home}/apps...
2018-07-08 09:29:26
578
原创 James之——添加自定义服务
Why? 通过POP3可以获取到james中指定用户收取到的所有邮件,但没有提供获取邮件发送状态、最近联系人功能。鉴于两者在服务端功能上相似,此文取简单的做一下介绍:获取最近联系人功能。 当然,可以在这上面进行更多的拓展,获取邮件的发送状态便是一个不错的功能,以后有时间再详细介绍下。What? 可以站在巨人的肩膀上快速开发这个功能。其实james已经封装好了一套“流程”,添加几个...
2018-07-07 22:44:44
560
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人