- 博客(24)
- 资源 (16)
- 收藏
- 关注
原创 【游记】南岳祝融之行
南岳下雪,近几年实属难得一见,如此难得怎能轻易放过!看看微博上去过的朋友拍摄的雪景,美不胜收,不免想身临其境体验一番,那这次真的就是一次说走就走的旅行。当然微博里还有这样...
2018-01-31 21:01:14 143
原创 我的2017年度技术回顾
我为之前浪费的大把光阴后悔不已,如今正奋起直追,不知,为时可晚?较早是从事传统软件开发,主要以交付项目为主,后来慢慢转向互联网,属先知后觉那一类。一直从事Java软件研发管理工作,时下热门的小程序、大数据、人工智能、机器学习等接触很少,一方面囿于工作环境,另一方面也是圈子所限,再者是可能方向度不够,兴趣偏差导致的错位。从未像今年这样去期待一个开源项目的更新——Dubbo,最后确
2018-01-31 07:50:39 427
原创 Jenkins高级应用——Publish Over SSH插件
在之前的篇幅中有介绍,利用jenkins结合shell脚本完成远程部署的功能,点击Jenkins结合shell+expect脚本完成线上环境自动构建部署即可查看。上述方式需要引入expect脚本,安装学习成本还是比较高,哪有没有更简捷的方式远程部署我们的应用呢,其时利用Jenkins的一个插件“Publish Over SSH”即可完成目标,下面简单介绍下插件的使用。...
2018-01-27 09:43:56 1828
原创 软件生命周期与技术人的职业周期
话题有点大,但还是忍住想说两句,也算把自己曾经的困惑落在纸上,做个记录。 什么是软件的生命周期的,相信你能比我还熟练的罗列出来,从初步规划,到需求分析,再到系统设计,接着系统实现,往下系统测试,跟着发布部署,最后运行维护,中途免不了打些小补丁,做些修修补补的工作。 打住,现在来想一想自己的从业经历是一个什么样的过程。仔细想想还真是
2018-01-27 09:42:31 1722
原创 Centos7:yum安装MySQL5.7后如何设置root密码
Centos下安装软件的方式很简单,只需要通过yum install xxx命令即可。第一步当然检查是否有mysql的yum源,命令:yum list|grep mysql-community[主要还是安装开源的社区版]如果没有如图所示的和mysql*相关的数据源,可去官网上下载相关版本的yum源。打开网址http://dev.mysql.com/downloads/r...
2018-01-27 09:40:40 5971 1
翻译 产品经理人的持续交付和DevOps实践
如果你正处于下列情形中 ,那这篇文章是为你准备的:你目前身处技术行业,你是产品经理,并且,你明白特性分支是什么,CD代表什么,DevOps文化是什么样子的。或者,你已经在实施敏捷,团队每周都会与您的产品人员会面,讨论故事和迭代。他们合作良好,他们此时构建的感觉比以往任何时候都要好。但是您的客户仍然不能更快地获取这些功能,你依旧要要等待版本发布后才能使用。你可能已经听说过
2018-01-27 09:39:18 816
原创 利用jenkins实现自动构建、部署,提升团队开发效率
一大早就被群里的同学刷银川下雪的消息,看着我都发冷,突觉一阵凉风裹身,是不是该考虑秋裤了。偏离主题,正文走起......使用jenkins目标:利用其结合maven完成自动构建,并部署到tomcat,解放出双手,专注于业务逻辑实现,可配置成定期自行构建部署,亦可由测试人员根据测试情况,手动完成构建部署。jenkins搭建运行有段时间,...
2018-01-26 09:24:59 2067
原创 基于lua-nginx-module(openresty)的WEB应用防火墙
独乐乐,不如众乐乐,分享给大家一篇WEB应用防火墙的文章,基于Lua+ Nginx实现。以下是ngx_lua_waf的作者全文输出。 Github地址:https://github.com/loveshell/ngx_lua_wafngx_lua_wafngx_lua_waf是我刚入职趣游时候开发的一个基于ngx_lua的web应用防火墙。代码很简单,开发初衷主
2018-01-26 09:22:56 1310 1
原创 Nginx+Lua+MySQL/Redis实现高性能动态网页展现
Nginx结合Lua脚本,直接绕过Tomcat应用服务器,连接MySQL/Redis直接获取数据,再结合Lua中Template组件,直接写入动态数据,渲染成页面,响应前端,一次请求响应过程结束。最终达到下图的一个效果。OpenResty组件OpenResty的自带组件库默认已经集成了相当实用的组件,http://openresty.org/cn/components.
2018-01-26 09:20:23 781
原创 Jenkins使用总结,2.0 新时代:从 CI 到 CD
Jenkins近阶段使用的总结篇,只写了个引子,却一直未动手写完,今天补上。前几篇文章提到在内网jenkins直接构建部署升级线上环境,job都是暴露在外面,很容易被误操作,需要做简单的权限控制,以防止误操作,导致生产环境挂掉。但jenkins本身是缺少权限控制的功能的,这里需要借助第三方插件Role Strategy Plugin完成。具体使用细节可以翻阅网络上的相关资料。...
2018-01-26 09:18:36 741
原创 你不得不知的几个互联网ID生成器方案
服务化、分布式已成为当下系统开发的首选,高并发操作在数据存储时,需要一套id生成器服务,来保证分布式情况下全局唯一性,以确保系统的订单创建、交易支付等场景下数据的唯一性,否则将造成不可估量的损失。基于时间戳比如流水号规则如下:XX-YYYYMMDD-N位随机数,这也是企业级应用开发常用的规则。此流水号对人比较友好,可识别性高,但容量受后面随机数的限制,且数据量越大,生成时难度越高。前三部分...
2018-01-26 09:17:11 8441 1
原创 常见Code Review过程中发现的问题-续
上一篇列举了一些比较常见的Code Review问题列表,文末有链接,可追溯查看。本篇为上篇的姊妹篇,继续列举一些上篇遗漏的或不易发现的问题清单,希望能整体性把一些常见的问题表述出来。测试数据不具有代表性,导致功能分支测试覆盖率不够,真正提交测试时很容易暴露出问题,对已对人都不好。事务使用不合理,是否在事务方法中调用外部服务。有些在只读事务操作数据,在启用事务配置时
2018-01-26 09:15:16 247
原创 常见Code Review过程中发现的问题
软件环境:Spring MVC + MyBatis主要体现在两个方面,一个是编码习惯问题,另一个是编码质量的问题。编码习惯主要有日志编写、代码注释以及编码风格的问题,而编码质量则与很多方面相关,比如轮子的使用、数据交互、逻辑精简程度等等。下面展开来说编码习惯问题: 方法体偏长,不易管理维护,可逐步抽取成小方法来减少代码长度。 缺少注释或注释与...
2018-01-26 09:13:40 1272
原创 微服务体系下如何快速构建一个服务
近两三年的时间,微服务是热度陡增,作为旧有SOA体系的一下特殊展现,在企业级应用市场上面应用越来越广泛,越来越多的团队,开始采用微服务架构来改造现有的架构体系。不管实施的情况如何,至少已经有成形的案例在线上跑。哪我们这些远未达到微服务架构的产品该如何呢,手痒的话就自己动手鼓捣吧,毕经并不是都有那样的环境来运用微服务技术。微服务架构部署运维起来很庞大繁杂,但最终提供服务的还是那些被拆分的很细小的...
2018-01-25 13:15:14 909
原创 Elasticsearch实战总结
上手elasticsearch有段时间了,主要以应用为主,未做深入的研究,下面就简单的日常作个简单的总结,做个记录。版本问题es版本繁杂,让首次使用的人无从下手。常见的有2+、5+版本,最新版已达6.1,迭代速度还是比较快的,但有个问题值得注意:每个版本间的API并不是完全兼容。版本迭代速度快,导致的另一个问题外围的工具有些跟不上,比如客户端、迁移工具等...
2018-01-25 13:13:56 2013
原创 Spring Boot + Elasticsearch 实现索引的日常维护
全文检索的应用越来越广泛,几乎成了互联网应用的标配,商品搜索、日志分析、历史数据归档等等,各种场景都会涉及到大批量的数据,在全文检索方面,方案无外乎Lucene、Solr、Elasticsearch三种应用的较为广泛。es、solr的底层都依托于Lucene,但es比solr学习成本更低,由于其提供的RESTful API简单快捷,对互联网应用开发而言更是如虎添翼。下面结合以实际案例,通过Ja...
2018-01-25 13:12:58 4586
原创 Spring Boot + Elasticsearch 实现索引批量写入
在使用Eleasticsearch进行索引维护的过程中,如果你的应用场景需要频繁的大批量的索引写入,再使用上篇中提到的维护方法的话显然效率是低下的,此时推荐使用bulkIndex来提升效率。批写入数据块的大小取决于你的数据集及集群的配置。下面我们以Spring Boot结合Elasticsearch创建一个示例项目,从基本的pom配置开始 <dependency>...
2018-01-25 13:11:41 7656
原创 Spring Boot + Elasticsearch实现大批量数据集下中文的精确匹配-案例剖析
缘由数据存储在MYSQ库中,数据基本维持不变,但数据量又较大(几千万)放在MYSQL中查询效率上较慢,寻求一种简单有效的方式提高查询效率,MYSQL并不擅长大规模数据量下的数据查询。技术方案考虑后期同样会使用到es,此次直接结合spring-boot框架形成一个独立服务,并不涉及UI展现内容,(ES版本2.4.5,5.0+版本的话就不能再使用spring data elasticsea...
2018-01-25 13:09:06 3302
原创 做了七年软件开发后反而更迷茫
一位做了7年之久Java开发的兄弟在微信上发来求助,希望我给他出出招,摆脱目前的困境,我自然是尽我所能,希望他也能进步。他的现状:一直做Java开发,除了Java外接触很少。对业务基本不关心,只要把功能做出来就行。从来没想过当领导,也当不好。想着改变自己,可是感觉改着改着觉得不像自己,太假。比较不自信,比较悲观,想做出改变。经过跟这兄弟两三个月的接触时间,简单列出几个关键点,比较具有普...
2018-01-25 12:37:11 3850 3
原创 产品需求与项目需求的差异
多年前有次面试,被问到产品需求跟项目需求有什么区别,由于也确实没做过像样的产品,多以交付项目为主,简短回复了下,也深知是片面甚至是错误的。如今再回头看这个问题,我提炼出以下几个关键词:周期、明确、演化、真伪、量化、目标、反馈、驱动.周期产品周期要比项目周期长久,项目周期随着交付就结束了,后期或许会有维护阶段。产品则贯穿了整个产品的生命周期,从一个idea到落地,经过市场检验,中...
2018-01-19 21:51:03 2785 1
原创 【Spring容器】项目启动后初始化数据的两种实践方案
早期业务紧急,没有过多的在意项目的运行效率,现在回过头看走查代码,发现后端项目(Spring MVC+MyBatis)在启动过程中多次解析mybatis的xml配置文件及初始化数据,对开发阶段开发人员反复启停项目造成很大的时间浪费,也即是下面的第一种方式。1.Servlet方式@Componentpublic class InitDataServlet extends HttpServ
2018-01-17 07:06:55 378
原创 程序员创业必读的几本书
这是最好的时代,这是最坏的时代,这是智慧的时代,这是愚蠢的时代;这是信仰的时期,这是怀疑的时期;这是光明的季节,这是黑暗的季节;这是希望之春,这是失望之冬;人们面前有着各样事物,人们面前一无所有;人们正在直登天堂;人们正在直下地狱。 ——《双城记》面对这个不确定的时代,相应不少朋友都有创业的冲突,如今程序员创业已不是鲜见的事,更有
2018-01-16 12:34:12 338
转载 一位Team Leader一年的工作年终回顾
本文源自小乐同学投稿,针对一年工作做个回顾,由一个程序员变成项目负责人,之间的转变值得体味,是不是有种似曾相识的感觉?时光荏苒,光阴似箭,不知不觉在技术部渡过了一年的时光...
2018-01-12 13:13:55 732
原创 一位5年码龄人的『2017个人总结与展望』
本文源自一位同学的投稿,部分关键字有删减。勿勿一年,写点文字,给自己一个交待。以终为始,新年也愿大家走的更远。2017年是我回来湖南,也是在公司工作第一个完整的年头。这一...
2018-01-06 08:03:15 136
微服务开发实战.txt
2020-01-03
基于SpringCloud的微服务实战案例-基于Dubbo的微服务开发基础框架
2018-11-06
基于SpringBoot-Dubbo的微服务开发基础框架
2018-11-06
elasticsearch-analysis-pinyin-5.6.1
2017-11-01
elasticsearch-analysis-ik-5.6.1 分词组件
2017-11-01
mybatis-generator插件生成带表字段注释的实体类
2017-09-25
JAVA新手程序员如何提升编码质量
2017-09-25
linux简单入门操作指南,适用于新手
2017-09-25
tomcat/jvm优化下载完整版
2017-09-25
WEB API设计、分布式锁、应用防火墙、redis事件通知机制等优化方案
2017-09-25
Eclipse Communication Framework (ECF)
2008-07-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人