
工作资料
bohu83
微信:bohu83
展开
-
postman 调用webservice
postman 调用webservice接口设置参数原创 2023-03-15 12:09:51 · 2916 阅读 · 0 评论 -
一种前缀匹配的工具类
再看消息的代码,有这样业务场景:对于一个主题subject,想看有哪些group订阅了。而对于消费者来说,订阅的时候就是需要支持前缀匹配的,比如XXX.order.pay,支持订阅XXX.order 就能获取消息。起到了startwith的作用。类似的,看下这个jar的,ConcurrentReversedRadixTree。如果不借助于三方,Java自己有么有类似的组件?基数树与字典树的区别在于基数树将单词压缩了, 节点变得更少,解决了字典树高度问题。而不是以为的字典树。起到了endwith的作用。原创 2022-08-19 16:46:20 · 296 阅读 · 0 评论 -
git push 报错413 Request Entity Too Large
问题:有个工程打了tar包。要push到git 提交报错了git pushCounting objects: 6, done.Delta compression using up to 4 threads.Compressing objects: 100% (6/6), done.Writing objects: 100% (6/6), 40.96 MiB | 30.52 MiB/s, done.Total 6 (delta 1), reused 0 (delta 0)error: R原创 2022-05-19 14:30:30 · 1687 阅读 · 0 评论 -
mac 安装brew
快速安装/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed会提示选择镜像。我选择的是1 中科大后面各种进度,但是提示报错了Error:homebrew-core is a shallow clone.homebrew-cask is a shallow clone.按照提示的方法试试: git -C /usr/local/Homeb原创 2022-04-12 16:36:10 · 4672 阅读 · 0 评论 -
反作弊反思二
负责反作弊的同学离职了,反思下为啥会做这块费力不讨好?1做一件事,要衡量下投入产出的情况 对于反作弊这件事上来说,得综合考虑,卡的很严,流程很琐碎,每一步都严苛,可能伤及正常业务,要是不管放纵也不行。尤其是对上级领导的期望,不是2人就能做好的,是个持久战。怎么评价产出是个困难的事。不然老板会说怎么做了大半年还是拦不住啊? 我觉得这是个大前提。就是有个预期,投入多大资源达成啥效果。2. 方向 先说下背景不是大厂,不是专业风控团队,那种跟钱有关的信贷一类或者电商肯定会重视这块,我...原创 2021-07-22 19:44:30 · 221 阅读 · 0 评论 -
mac 下google chrome 占用磁盘大
本来mac 低配磁盘120G,系统就占用 了50G快一半了,这个Chrome 占用太大了。得清理下。1. 尝试去吧历史记录清理掉,保存的cookie 图片哪些删掉。 几十M不起作用。网上看了下是历史版本的原因。从“访达” ,应用程序中,找到Chrome,右键显示包内容 。这里没法截图。Versions下面会发现很多的文件夹,保留最近两个,其他的历史的都删除。删完之后,就不会报警磁盘快满了。...原创 2021-06-18 10:26:15 · 8250 阅读 · 0 评论 -
手残删除idea 的mven 包
可怜的mac 低配版,磁盘经常报警。所以经常需要清理删除,这不手残进入了idea的目录,删除了maven 包。导致的结果就是maven用不了。连buildtools下面的maven选项都没了。所以wang's原创 2021-06-08 09:39:04 · 1126 阅读 · 0 评论 -
mac 安装Jupyter Notebook
一 序 今天听课,发现老师开始穿插讲python函数了,上来就是打开Jupyter.这本地还没有呢,先安装一个。二 安装优先推荐使用:Anaconda 安装,之前遇到过Python安装个东西,半天装不了的情况。我先看下,打开终端命令:which python3/Library/Frameworks/Python.framework/Versions/3.6/bin/python3我试试通过pip3 安装pip3 install jupyter结果就是一顿下载:...原创 2021-02-01 00:08:29 · 1797 阅读 · 0 评论 -
MAC WIFI卡死无响应
电脑用了1年多之后,尤其是在睡眠之后再进去 ,容易出现WiFi无响应,一直转圈圈。重启能解决,但是太麻烦了。上网找了命令。sudo killall airportd再终端执行,输入密码之后就可以杀掉,自动重连WiFi了。...原创 2021-01-19 13:41:21 · 1642 阅读 · 0 评论 -
与黄牛、号贩子斗争的思考
一 背景 稀缺的资源,就有人背后从中牟利,从火车票到演唱会,医疗资源也是如此,三甲大医院的专家号尤其难挂。只不过随着网上预约挂号的升级,传统的黄牛也从窗口排队改成了网上抢票。 为了更加公平,压缩网上黄牛的存在空间,所以需要不断的升级。二 想到的点 传统的常见的验证码或者滑动窗口,只能应对下初级,专业的黄牛这个拦不住,这一点从12306就能看出来,曾经高难度的图片验证码也已经被大幅减少了,因为普通用户答题的时间比机器要长。毕竟黄牛靠这个吃饭嘛。 要看全链路的分析,从设备...原创 2020-10-28 23:06:36 · 397 阅读 · 1 评论 -
关于业务限流的思考
一起到限流,可能会理解想到漏桶算法、令牌桶算法。常见开源的也有guava 跟阿里开源的Sentinel但是这些都是通用的。如果是基于业务的限流,那就不一定适合。新的业务场景:比如Sentinel 只是QPS跟线程数两种模式。如果我要分钟级的比如一个用户一分钟20次。还不到一秒一次呢。虽然它也支持热门参数,还是qps的模式。 针对用户ID,或者IP的限流规则是灵活多变的。 而且对于有依赖关系的不支持,比如要访问B接口,先要要访问A接口。(因为有些黑产要绕过你的校验) 有些刷单的校验:用户ID原创 2020-09-22 23:57:57 · 1029 阅读 · 0 评论 -
境外IP判断一种实现方案
一 需求 如果业务有需求,判断IP是否来自境外。 有一些方案: 1 使用第三方的接口:比如IP138或者提供IP解析的云厂商等。 优点: 接口简单,不关注实现。 缺点:付费。 我看收费每月5元。2 自己实现。 你可以搜一下,大概率会搜到官方IP段的一个方案。相关知识:RIR (Regional Internet Registry)地区性 Internet 注册机构,负责将IP地址块分配给ISP的多家国际组织之一。RIR现全球有5大RI...原创 2020-07-03 18:53:11 · 3770 阅读 · 0 评论 -
jackson 解析json报错:Cannot deserialize instance of `java.lang.String` out of START_OBJECT token
一问题Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_OBJECT tokenat [Source: (String)"{"code":500,"data":null,"errorInfo":{"code":500,"data":null,"date":159281089663...原创 2020-06-22 20:22:21 · 39485 阅读 · 3 评论 -
记录一次springboot工程调用webservice
一序 随着技术的发展,之前的webservice已经被rpc跟restful json替代了。因为业务需要,调用第三方的webservice接口。网上一搜,基本上都是10年前的文章了。而且好多人是遇到了问题,不知道怎么解决。因为问题多样,仅供参考。 说这个话题暴露年龄了,网上看java调用的框架无非是:axis、axis2、cxf、xFire等,做服务端与客户端都行,我们要做的事客户端,所以尽量少去引用一堆jar.二 问题 401 想尝试使用httpClient来调用,帖子很多...原创 2020-06-13 19:33:07 · 1463 阅读 · 0 评论 -
mybatis 使用JSON扩展字段
一 序 工作中,使用mybatis做dao操作,会常遇到bean对象里面不是基本属性,而是一个对象。这种情况下通常有两种办法:二 使用String就是字段使用string,数据库表使用vachar ,再大使用文本。看业务转换方式放在外面,就是使用josn转换。三 使用自定义的handler: 参见官网:https://mybatis.org/mybatis-3/...原创 2020-04-21 13:51:58 · 1535 阅读 · 0 评论 -
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `
一 问题:Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.XX.Info` (no Creators, like default construct, exist): cannot deserialize from Objec...原创 2020-03-20 10:10:50 · 13515 阅读 · 0 评论 -
git基于commit创建分支
正常的创建分支参见:git基于远程master创建新分支今天拉下来master,忘了拉分支,直接就改了commit了,然后push的时候失败才发现。git statusOn branch masterYour branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local c...原创 2020-01-03 18:54:00 · 4884 阅读 · 0 评论 -
spring 学习笔记:一些注解
一 背景:随着SpringBoot的流行,我们现在更多采用基于注解式的配置从而替换掉了基于XML的配置,整理下,备用:二 注解: 依赖:BeanFactory ,提供了getbean的方法,有按类型( by type)获取 Bean 的,也有按 名称( by name)获取 Bean 的。默认是isSingleton 方法。就是只取出一个,如果是isPrototype 方法,则...原创 2019-12-24 19:52:11 · 199 阅读 · 0 评论 -
git基于远程master创建新分支
原来在到家的时候,CI、CD工具已经集成好了,个人没有权限直接创建分支。只能根据需求去创建。这样手动创建分支的命令长时间不用就忘了。现在整理下:git clone http://XX.gitCD 到对应刚拉取的文件夹$git status会提示 On branch master1创建分支:$git checkout -b aaa会提示:Switched to a ...原创 2019-12-18 21:02:43 · 3551 阅读 · 0 评论 -
异常JsonMappingException: out of START_ARRAY token
1 问题调用新的HTTP接口,返回数据解析的时候,报异常:Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of com.XXX out of START_ARRAY token二 分析看下数据的json数据,是个数组。原来的是统一封装成resp...原创 2019-11-14 21:22:33 · 12014 阅读 · 0 评论 -
springboot SpringApplication类初始化过程学习
一 背景:springboot 是目前项目采用的框架,之前没有使用过,快速看下入口:这是一个标准的Java应用程序的入口方法,可以直接启动。@SpringBootApplicationpublic class XXApplication { public static void main(String[] args) { SpringApplication.run(Sear...原创 2019-11-10 23:42:20 · 574 阅读 · 0 评论 -
linux df -i 100%处理
问题: 运营反馈某节点的树莓派起不来了。看了下磁盘空间:df -h还有有的。总体使用了45%。再看df -iFilesystem Inodes IUsed IFree IUse% Mounted on/dev/root 957712 957712 0 100% /devtmpfs 117385 332 117053 ...原创 2019-11-06 17:57:41 · 2861 阅读 · 0 评论 -
HIVE 报表的日期相关
背景: 月初需要给财务出报表,大部分使用hive在BI平台跑的,结果会导出Excel。知识点: 1. 分区 1、在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。2、分区表指的是在创建表时指定的partition的分区空间。3、如果需要创建有分区的表,需要...原创 2019-05-30 17:23:30 · 684 阅读 · 0 评论 -
一些不常用的日期处理函数
因为统计需要 需要在日表(YYYY-MM-DD hh:mm:ss)这种2019-08-16 18:22:31以及月表(YYYYMM) .需要根据传入指定月份,获取该月的开始时间、结束时间。以及按月统计日表等。//根据传入日期计算改月最后一天:格式23:59:59 public static Date getlastDayDateOfMonth(final Da...原创 2019-08-16 19:12:27 · 259 阅读 · 0 评论 -
关于图片的Exif信息
一 问题听到小伙伴说有关审核图片的接口经常超时的时候,正好看了下这块代码。主要是从cdn取几张图片,校验创建时间。这块逻辑是用下载图片读流的方式处理。受制于网络及图片文件,自然性能快不了。二 优化 本文不展开图片的反作弊,只简单介绍下图片的创建时间识别。我们只是为了获取图片的拍摄时间做初步判断,而不是图片内容本身。所以有没有办法只获取图片信息而不去下载图片就好了。答案是有...原创 2019-08-21 23:30:11 · 4609 阅读 · 1 评论 -
awk 替换反斜杠
随手一记: 需求,替换日志文本中输出JSON的“/”例如:接口的订单完成消息为:mq={\aaa\:59987155,\obbbe\:0,\order\:19095cccine\:1,\cityid\:18,\ccccc\:2,\sid\:0} - [trace=]单一行可以用sub,如果每一行替换用gsub.通常的字符串替换简单,如把AAA替换为ABCawk '{ g...原创 2019-09-11 15:55:40 · 2088 阅读 · 0 评论 -
Unsupported major.minor version 51.0(jdk版本错误)
问题还是环境问题,新接手项目苦逼啊,没有新同学入坑手册更苦。本地配置了maven,用了版本3.25.因为听说这里的jdk比较旧,还有1.6的,新版本的maven3.3以上的需要jdk1.7.本地配置好了,测试下版本。,那么在myeclipse执行maven就报错了。java.lang.UnsupportedClassVersionError: org/apach原创 2016-06-24 20:31:24 · 528 阅读 · 0 评论 -
awk 入门介绍
一 序 为了提高线上排查问题的能力,对于日志的查找分析是有要求的。所以作为Linux的常用命令,awk 少不了。所以本篇也接着这个机会,整理下awk的入门知识。 awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已...原创 2019-01-09 22:08:48 · 336 阅读 · 0 评论 -
git 合并master到分支
1 克隆配置库到本地git clone 【git url】 【本地路径】2 切换到开发分支git checkout 【开发分支】3 合并master到开发分支git merge --no-ff master4 将合并后代码推送到远程库git push origin 【开发分支】5 打合并后标签git tag -a 【mergetagname】 -m "creat...原创 2018-12-29 21:53:13 · 3943 阅读 · 0 评论 -
git 强制覆盖本地代码
一 问题 公司的ssh配置出问题了,只能走HTTPS,ssh的pull 跟push 都提示失败$ git pullssh: connect to host ***.com port 22: Connection timed outfatal: Could not read from remote repository.Please make sure you have the c...原创 2018-12-07 10:51:57 · 3162 阅读 · 0 评论 -
dubbo如何平滑重启
一 背景: 业务server对外提供dubbo接口,每次升级重启部署都不平滑,因为停止脚本是stop.sh包含了kill -9,所以就是直接报错了。二参照公司wiki: 1升级jar: com.purpleframework.dubbox dubbox-core 2.0原来是dubbox,现在升级为公司自有dubbo版本:升原创 2016-12-06 20:51:03 · 10786 阅读 · 0 评论 -
利用Profile构建不同环境的部署包
一概述开发测试环境多,我头一次看这项目的时候一脸懵逼,这么多环境啊。每种环境都有各自的配置参数,比如:数据库连接、远程调用的ws地址等等。如果每个环境build前手动修改这些参数,那就太麻烦了。还是以前的小项目简单,上线前改好打个包就行了。还是习惯ant那种方式。好吧,话说maven也提供了profile这种方式更好的解决。二配置:要在pom.xml配置不同的环境变量。如下所示:原创 2016-07-01 13:54:19 · 723 阅读 · 0 评论 -
maven jar包冲突: cannot be cast to ch.qos.logback.classic.LoggerContext
问题: 折腾半天环境,终于能跑起来,可以我加了两个maven包之后,又起不来不了。报错如下:ClassCastException: org.slf4j.impl.Log4jLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext看日志,提示是:SLF4J: Class path原创 2016-07-01 10:18:14 · 31260 阅读 · 2 评论 -
ElasticSearch关闭重启命令
一概述:今天在干活的时候,别的组童鞋跑来了,说线上的es有问题。一个节点挂了。哎,一堆乱事,偏偏线上出问题了,这不重要,重要的是我对es一点不懂。昨晚上好多老司机通宵上线今天不来了,只好靠度娘了。二重启:2.1 查看节点监控页面:IP:9200/_plugin/head/挂掉的节点打不开,换个正常的节点可以。说一下,有人从线上导数据才发现的问题,改系统用的人少,计划以后原创 2016-07-22 18:28:12 · 19624 阅读 · 2 评论 -
spring mvc @InitBinder
概述:在看代码的时候,发现有段代码用了这个注解@InitBinder。百度一下,原来是为了解决页面上提交的时间控件转换的问题。字符串和Javabean中的日期类型的属性自动转换, 而springMVC默认不支持这个格式的转换,所以必须要手动配置, 自定义数据类型的绑定才能实现这个功能。比较简单的可以直接应用springMVC的注解@initbinder和spring自带的WebDa原创 2016-06-27 20:19:06 · 714 阅读 · 0 评论 -
elasticsearch class file for java.lang.AutoCloseable not found
问题:还是环境问题,体制不好害死人。新人入坑工程导入问题:[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compi原创 2016-06-26 14:36:06 · 3373 阅读 · 0 评论 -
myeclipse2016导入maven工程配置文件提示dubbo报错解决
问题:新机器安装了开发环境,导入工程后提示报错。没有标准手册,大家也是各自用各自工具不统一。环境问题最折腾人了,关键是大家都很忙,没人顾的上你,所以还得自己解决。小小记录一下。在导入maven工程的时候,报出如下错误: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declarat原创 2016-06-24 20:18:35 · 4599 阅读 · 0 评论 -
SecureCRT 使用pem
新给了开发环境机器。但是证书给了个pem格式。别人用蜗牛那个工具可以直接使用,我是老版本的securecrt用不了,懒得换工具了,那就转换一下证书吧。随便找一台Linux机器,登陆进去,把pem文件传上去。生成公密钥 .pub 文件。使用公密钥时,SecureCRT会询问私密钥或者.pem文件ssh-keygen -e -f key.pem >> key.pem.pub原创 2016-05-05 10:58:30 · 20843 阅读 · 0 评论 -
读阿里许令波老师晋升评审有感
看到许老师在朋友圈发的给P7评审当评委的总结,虽然我不是阿里的也是有所感触。简单列一下:1 .所做事情有成果或者可预期的结果。我理解就是有产出,尤其是对于部门或者公司有重要作用的项目。2.对于项目中技术掌握的深度,清楚方案选型的原因及优缺点对比,以及竞品分析,对于解决问题的因果关系考虑清楚。两个方面吧:一是自己对于项目的思考,技术选型如何满足现有需求,又要考虑面向未来的平滑过渡原创 2016-05-26 11:30:53 · 8817 阅读 · 0 评论 -
spring与mybatis整合
本文属于工作杂记,临时存放,待整理。实际项目中应用是在applicationContext.xml中配置,为了显示清晰:拆分出专门的spring配置, <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">原创 2016-04-17 08:40:17 · 467 阅读 · 0 评论