研发之路
xwhfcenter
这个作者很懒,什么都没留下…
展开
-
Log4j2的简要使用
刚好这周的一项任务是把Druid平台的Log4j2的xml配置文件翻译成properties,原因是xml格式的配置文件看着不舒服 在网上查了下资料,Log4j进入2.x版本后,一开始就抛弃了properties格式的配置文件,到2.4版本的时候才又重新支持,猜测是Log4j1.x时代养成了用户的习惯,不好改了,所以发觉这任务还有点意义 本文写作的时候Log4j2已经发布到2.8.2的版原创 2017-04-17 16:17:28 · 4348 阅读 · 1 评论 -
根据IP判断地理位置
根据IP判断地理位置 首先,当然是要有IP数据库,指明某一段IP代表哪个地方,本文采用的是txt格式的数据文件 IP数据库中的IP全部转换成了Long型,并且经过排序,这是为了方便二分查找 初始化操作: 载入IP数据文件将数据文件按行读入内存,IP数据文件的格式如下: 起始IP 结束IP 国家 省 市 区 未知 运营商 10000000 20原创 2017-04-24 18:31:03 · 1562 阅读 · 0 评论 -
用Storm处理实时日志
之前写过一篇用MapReduce清洗数据,比起MR,在工作中更早使用了Storm进行实时的日志清理Storm的输入和输出相当灵活,我处理的主要输入流都是Kafka,输出流有Kafka和Scribe原创 2017-04-25 18:18:46 · 3139 阅读 · 0 评论 -
服务端实现分页效果的几种思路
对于通过列表展示的数据来说,分页是一个不择不扣的需求,毕竟人类肉眼目所能及的极限摆在那里 如果把分页交给前端搞了话,那么就需要一次性把数据全量查出来,交给前端,浏览器能Hold住多大的数据,会吃掉多少内存,都是一个需要衡量的问题分页的效果分页的页面效果如下图所示,效果取自Ant Design Pro从图中可以看出分页UI的几种交互动作: 点击指定页数显示该页数据点击上一页显示上一页数据原创 2017-12-12 20:58:00 · 3816 阅读 · 0 评论 -
Chips交互操作和集合论
产品的PRD画的原型图有这么一种操作,网上搜了半天不知道叫什么名字,后来在AngularJS Material的DEMO上找到了这种交互方式,分类在Chips下,中文的意思大概是木屑,纸片之类的,就姑且叫做Chips交互原创 2017-12-14 19:50:57 · 401 阅读 · 0 评论 -
如何用Docker部署Spring Boot,随手再搭一个Kong作为API网关
虽然文章的标题只是信手拈来,但是把这个小环境跑通,委实是费了一大番周折啊,不管是Docker还是API网关Kong,对自己来说还是稍显陌生,不过这么多年来,对自己培养最大的收获,是解决问题的思路和方法,所以一点点的把问题分解之后,再一项项的攻克。整个的思路流程大概是这样的:微服务需要连接数据库,需要安装MySQL利用Docker安装MySQL,调试微服务为微服务收敛出一个API网关,...原创 2019-08-02 16:52:52 · 2244 阅读 · 0 评论 -
如何用Swagger生成API文档
随着前后端分离的态势越演越烈,API文档是后端和前端交互(撕逼)的神器,古人通常在“纸上”写就一篇篇的API八股。随着自动化时代的来临,有了Swagger这样自动生成API文档的工具存在,后端的开发哥哥就再也不用挥汗如雨地书写API文档了。关于Swagger的介绍网上已经数不胜数了,所以再班门弄斧的介绍就有点无聊了,所以这里还是直接介绍一下快速实践的流程,至于更高级的玩法,就交给列为看官自行...原创 2019-07-31 14:45:32 · 1758 阅读 · 0 评论 -
通过Hive JDBC提交的查询, 如何获取其在Yarn上的Application ID
数据平台上需要封装Hive查询,只提供API给业务方使用,代码中通过Hive JDBC完成将查询语句向Hive提交,等待执行完成,结果解析的功能.用户提交查询之后意识到查询语句错误(非语法错误),不想等待错误的语句执行完成后再次提交. 由于用户没有yarn client的权限,kill task的操作也需要通过API提供,因此在提交查询语句时需要获取其在Yarn上的Application I...原创 2019-07-22 17:13:36 · 7078 阅读 · 8 评论 -
如何在CRUD时自动完成枚举和数值的类型转换
在设计业务数据库的时候,为了减少存储,通常会将一些可列举值的字段,设置成数字(tinyint)型,比如应用的角色(学生、教师),性别(男,女)等在Java代码中,使用枚举类型(enum)来声明这些数据域,这就涉及到了一个转换的过程: 插入数据时把枚举类型转换数字,而读取数据时把数字转换成枚举类型最简单的方法当然是手动写每一个域的转换,但是这么一来,随着Bean的数量和枚举的proper...原创 2019-08-30 13:48:57 · 867 阅读 · 3 评论