自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

肖斌 的专栏

热爱技术,乐于分享,喜欢思考

  • 博客(64)
  • 资源 (11)
  • 收藏
  • 关注

原创 准时下班的秘密:集成 GitLab && JIRA 实现自动化 workflow

圣母百花圣殿(佛罗伦萨)前言GitLab 和 Jira 是平时开发过程中使用非常高频的代码管理系统(开发人员)和项目管理系统(项目管理),通过两套系统的协作完成平常大多数的功能开发,但是两套系统在没有集成情况下是完全两套独立的系统,不仅信息没有互通,而且开发人员需要反复的登陆两套不同的系统,进行一些重复的操作才能保证功能流的正常流转,不仅效率低下,浪费时间和人力,而且因为人本身的不可靠属性,所以导致状态的流转并不能非常的及时和准确,这种重复和机械的动作恰恰是自动化所擅长的地方,今天我介绍一...

2020-08-16 22:02:14 880 1

原创 Code Review 失败后总结出来的几个实践技巧

资深的程序员都知道 Code Review 可以对代码质量,代码规范,团队代码能力提升带来很大的提升,还有著名的技术专家“左耳朵耗子”也说过:我认为没有 Code Review 的公司都没有必要呆(因为不做 Code Review 的公司一定是不尊重技术的)出自《程序员的练级攻略 - 修养篇》国外很多技术公司都非常重视 Code Review 也都做的特别好,例如 Google,亚马逊,但是国内很多公司在践行 Code Review 的时候却是步履蹒跚,步步艰难,选用的方法不对,最终导致事倍.

2020-08-11 22:54:05 486

原创 技术管理者的几个实用技巧

前言个人从程序员到技术 Leader 经历了不少的心路历程,我目前在带一支十几人的技术团队(控制团队人数主要是遵循亚马孙 CEO 贝索斯提出的两个披萨原则)我记得刚开始带团队的时候我是非常抗拒的,因为总觉得管理太多的“杂事”占用了我很多写代码的时间,包括目前虽然已经是一支十几人技术团队的 Leader,但是我平时也还是偏爱技术多一些,在业余时间都会抽空写写代码或者在 Leetcode 刷刷题,在从事管理工作这些时间里看过很多书,也踩过很多坑,总结了很多经验,想必也有很多程序员刚开始跌跌撞撞的走上技术 Le

2020-08-03 09:37:04 389

原创 什么是技术债,为什么要还技术债?

阿尔卑斯山脉(图)先说我的结论就是:技术债要还,还不还技术债,决定你所在的公司是不是尊重科学尊重技术,观点主要有一下三个:技术债是什么,对产品和项目有什么影响技术债对开发环境和技术氛围的影响技术债和技术价值观技术栈是什么,对产品和项目有什么影响既然叫技术债,那么他本质是一种“债”,所以我们先脱离所谓的技术,单独聊聊什么是债?债是一个金融上的术语,代表你的负资产,说人话就是代表你欠了别人的钱,在著名美剧《冰与火之歌》里面的兰尼斯特家族有一句名言就是:有债必尝那么生活中有哪些跟债相关的事.

2020-06-25 23:27:48 714

原创 动静结合?Ruby 和 Java 的基础语法比较(入门篇)

前言[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NZ2akL8Q-1588171224835)(https://i.loli.net/2020/04/29/5tuO9vmJTEaMpxl.jpg)]这篇文章示例代码比较多, Java 程序员可以看到一些 Ruby 相关语法和使用,Ruby 程序员可以看看 Java 的基本语法和使用方法,本文比较长,将近万字左右...

2020-04-29 22:41:50 399

原创 猴子都能懂的数据库避坑指南

前言工作的这些年发现一个比较奇怪的现象就是身边无论是工作十多年的老兵,还是初级刚入行的程序员,在高谈阔论技术和趋势的时候都是人工智能,大数据,区块链,各种框架,语言,算法,AI,BI,CI,DI…… 等等,倒是发现很少有人关注数据库,不知道是因为数据库感觉太低端还是太低调,总是不容易被人提起技术就是这样,不太关注的地方就不会重视,越是不被重视的地方,掉进坑里的概率就会越大,所以就在这里给大家简...

2020-02-27 23:10:14 341

原创 2019 年终总结和一个三十岁程序员的感悟

前言年中的时候,在博客上写过一篇半年总结,地址在这里: 我的 2019 年中总结 ,因为前几天一直在忙家里的事情,所以也没有抽空出来在 2019 年前把总结写完,算是一点小小的遗憾吧,就在这里把总结补上,除了给自己一个交代之外,也想要 check 下自己 list 的完成进度,当初立的 flag 是不是都实现啦,是不是又偷懒了这样的。另外 2019 年对我而言也算蛮有意义的一年,因为今年自己正...

2020-01-09 13:54:51 1662

原创 浅谈编程语言的本质

前言最近博客和公众号文章差不多有二个多月没有更新了,相比之前每月一篇文章的更新频率,最近确实懒散了许多,一来年底收尾之际手上的工作繁重抽不出时间,二来自己最近的空闲时间的学习计划也排的紧密,久而久之就把写博客是事情落下了但是也得益于自己之前坚持写博客的习惯,累积了一些读者,我们知道人都是有惰性的,但每次想偷懒不写博客的时候,看到订阅栏里面读者就觉得心生愧疚,我想这也是开放分享的一个好处,就是...

2019-12-22 00:31:16 481

原创 记一次 XxlRpcException:xxl-rpc request timeout at 超时问题

事件起因昨天有同事找我到,说他搭建的 XXL-JOB 任务调度系统不能工作了,调用总是出错(服务端返回 500)希望我能帮忙处理一下,不过说实话我也没有搭建过 XXL-JOB 的经验,但是既然同事请求了,就只能硬着头皮帮忙一起看下,解决的过程还算比较顺利,但是发现网上这块的资料很少,所以打算把解决过程用博客记录下来,希望可以帮助到遇到同样问题的同学们解决过程同事跟我说起初怀疑是 Shiro ...

2019-10-30 11:39:48 31035 1

原创 聊聊面试-NoClassDefFoundError 和 ClassNotFoundException 区别

(上图是圣卡塔利娜岛,美国南加州的一个小岛,也是 mac OS 10.15 版本的官方默认壁纸)___概述Hello,大家好,我们又来讲面试中的基础题了,今天这是一道很经典又很猥琐的题说猥琐是因为这两个异常名字比较近似,但事实上他们完全不同,导致很多同学会经常容易把它们搞混说经典是因为由这道题可以引出的问题有很多,例如:考察候选人对 Java 异常体系的熟悉程度考察候选人对异常体系分...

2019-10-25 20:06:02 989

原创 聊聊面试-int和Integer的区别

最近面试了很多候选人,发现很多人都不太重视基础,甚至连工作十几年,项目经验十几页的老程序员,框架学了一大堆,但是很多 Java 相关的基础知识却很多都答不上来。还有很多人会回答,只知道要用,但是从来不会去看看它具体是怎么实现的。我们都知道作为合格的程序员,基本功不扎实会导致你的程序出现许多你难以诊断的诡异问题,例如产生过大开销(频繁GC导致程序卡顿或者产生OOM),Integer 缓存机制产生的...

2019-10-22 17:22:30 931

原创 计算机的诞生和简史

背景从第一台计算机诞生到现在已经七十多年了,计算机已经和我们的生活息息相关,很多小伙伴上来就接触高端设备,计算机过去是怎么发展起来的,我觉得还是了解一下会比较好,我是历史爱好者,所以我个人认为学习任何东西都要了解它的过去,就像我以前历史老师跟我说的“不了解过去的人,不会了解现在和未来”,这篇文章就像讲故事,轻松的大家回顾下计算机的发展简史从发展的里程碑来说,可以分为五个阶段:第一代计算机:...

2019-09-18 18:32:37 1099

原创 记一次Linux修改MySQL配置不生效的问题

背景 自己手上有一个项目服务用的是AWS EC2,最近从安全性和性能方面考虑,最近打算把腾讯云的MySQL数据库迁移到AWS RDS上,因为AWS的出口规则和安全组等问题,我需要修改默认的3306端口和Bind Address限制特定的IP访问,我在Stackoverflow上查询了如何修改,但是网上的资料大多比较老旧,不符合目前主流的MySQL版本(使用的MySQL 5.7.27,操...

2019-08-19 14:40:19 2922 2

原创 为什么大多数公司都不重视技术?

前言 今年年初来了一家国内某电器大厂,本来技术面试的时候提供的offer说的是架构组岗位,主要是搭建公司平台的基础设施,不会接触业务或者离业务很远,刚开始以为很有技术含量,公司又是大厂,offer就接下来了,但是进来后才知道是业务导向型团队,因为当时面试我的技术经理离职,公司从原来的项目组找项目经理来替代原先架构组领导岗位就由原来的一个项目经理代理 我入职后领导就以熟悉公司为由,安排我去...

2019-08-15 19:50:05 962 5

原创 我的 2019 年中总结

前言 俗话说回顾是为了更好的继续前景,而且我一直相信一个道理,故不积跬步,无以至千里;不积小流,无以成江海。完成一件大事,是通过完成无数小事来达到的, 虽然自己年纪慢慢在变大,眼看就快要到30岁了,但是还是要告诫自己,戒浮戒躁,静下心按照自己的进度向前走就行了, 不知不觉到距离2019年底越来越近了,回顾自己这半年所做得事情,然后便于跟踪到年底再归纳总结一次,总结如下: ...

2019-08-08 14:56:24 1533

原创 简单聊聊红黑树(Red Black Tree)

前言众所周知,红黑树是非常经典,也很非常重要的数据结构,自从1972年被发明以来,因为其稳定高效的特性,40多年的时间里,红黑树一直应用在许多系统组件和基础类库中,默默无闻的为我们提供服务,身边有很多同学经常问红黑树是怎么实现的,所以在这里想写一篇文章简单和大家聊聊下红黑树小编看过很多讲红黑树的文章,都不是很容易懂,主要也是因为完整的红黑树很复杂,想通过一篇文章来说清楚实在...

2019-08-03 23:35:29 475

原创 什么是微服务?为什么你要用微服务?

前言最近几年微服务很火,大家都在建设微服务,仿佛不谈点微服务相关的技术,都显得不是那么主流了。近几年见识到身边朋友的很多公司和团队都在尝试进行微服务的改变,但很多团队并没有实际微服务踩坑经验,很多团队甚至强行为了微服务而去微服务,最终写成一个大型的分布式单体应用,就是改造后的系统既没有微服务的快速扩容,灵活发布的特性,也让原本的单体应用失去了方便开发,部署容易的特性(项目拆为多份,开发...

2019-07-29 10:15:18 738

原创 对待时间的态度

最近,看了一部关于医疗的纪录片《人世间》,看到病人家属在医院的无助,医生的无能为力,让我想起自己曾在待在医院陪伴父亲离开人世的那段时间。感慨到人生真的很短暂,很脆弱,还要面临疾病,危险,生死看似遥远,实际却只有一纸之隔。我还记得里面有位癌症妈妈刘丽君临终前说的话,要对生命感恩,感恩每一天,每一个遇见的人,遇到的事情。能平平安安,健健康康的或者已经是很幸福了。很多人到了生命尽头,回...

2019-07-26 11:01:39 436

原创 为什么你要用 Spring ?

前言现在Spring几乎成为了Java在企业级复杂应用开发的代名词,得益于Spring简单的设计哲学和其完善的生态圈,确实为廉颇老矣,尚能饭否的 Java 带来了“春天”,有很多同学刚接触Java就直接从Spring框架开始学习,导致产生了很多疑惑,甚至有很多同学只知道用Spring,并不了解其中的原理,例如:Spring框架为我们做了什么,没有Spring框架前我们的程序是什么样的?...

2019-07-26 10:49:13 406 2

原创 如何让自己更有竞争力?

其实人和人的智力上并没有什么差距但是随着时间的变长,人和人的差距越来越大你可以看看身边的小学,大学同学,毕业几年后的差距那么人和人的这种差距是怎么产生的总结就是,执行力是人和人的对目标的执行力不同而产生例如大家的目标都是读名校,进名企有人可以为了目标放弃娱乐,投入所有的精力和时间专注在目标上面懂得延迟满足的道理有人总是用各种借口来放弃,看十分钟书就想着怎么奖...

2019-02-27 22:03:51 473

原创 Leetcode算法题:罗马数字转整数(Java)

链接:https://leetcode-cn.com/problems/roman-to-integer/罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符          数值I             1V             5X             10L             50C             100D          ...

2019-02-17 00:02:04 326

原创 Leetcode算法题:两数之和(Java)

题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路...

2019-02-16 13:11:53 169

原创 一图看懂Srping Cloud全家桶组件

Spring Cloud 组件繁多,关系复杂,花几天时间梳理了一下组件的关系和每个组件的相关用途,制作成导图,供大家参考参考文献:《Spring 微服务》

2019-01-15 16:55:56 579

原创 为什么那么多人说,过了30岁还做技术没有前途 ??

相信大家在IT圈子里面待久了,这种声音总是不绝于耳,那么为什么会有这么多人认同以上观点,并且不断的传播呢??个人认为持有这种观点的人,不论是思想,还是编码的能力都是出于非常底层的人,代码在他们眼里就是复制,黏贴完成功能而已对于框架和语言的态度都是能用就行,不断的去通过堆代码去完成产品的需求因为缺乏对设计的思考,对语言和框架的深入理解,写代码在他们眼里就成为了一件,好像流水线上的蓝领工人

2017-05-24 23:58:13 14595 2

原创 Java 8 新特性汇总随笔

Java 8的新特性可以帮助你:1.使用Java 8可以减少冗长的代码,让代码更易于理解2.通过方法引用和Stream API,代码会更加直观使用 Java 8 重构现在代码 :1.使用 Lambda 表达式取代匿名类2.使用方法引用重构 Lambda 表达式3.使用 Stream API 重构指令式的数据处理Java 8 新特性总结:Lambda

2017-05-19 10:19:08 374

原创 一点经济学常识

1、想要赚钱先要舍得花钱!经济学的基本原则:消费不足,敢于冒险,暂时延迟消费,是为了将来获取到更大的收益,通过投资,可以获取更大的回报,但是存在一定的风险2、我是否应该存钱或者拥有固定资产?储蓄和拥有固定资产不止是为了提高个人消费能力的手段,低于风险,更是防止市场经济受到因外因素影响的重要缓冲器,例如金融危机,货币贬值,如果市场经济稳定,可以降低投资比例,如

2017-04-07 13:01:16 1175

原创 我是如何阅读书籍的

2012-2015,我曾经使用kindle阅读了100多本书籍,2GB存储空间的kindle被我的书籍占用的大半的空间,由于当时读书没有方法,从头读到尾,过了几个月,再回去望去,那一本本标记着已阅读的书籍,就如同新书一般屹立在那里,再次翻开就如同再看一本新书一般,所以让我思考,既然看过的书那么容易遗忘,那么阅读那么多书,又有什么作用?经历一段时间的反思,我逐渐的意识到以前阅读那么多书,其实

2017-04-07 13:00:26 342

原创 Mysql的BTree索引的原则和限制

这是自己在阅读《高性能MySQL》所做的笔记,和大家分享下当人们谈论索引时,没有特别指明类型,那么多半就是B-Tree索引,它使用树形结构来存储数据,大多数MySQL引擎都支持这种索引类型,比如InnoDB使用的是B+Tree,Archive引擎是一个例外,它不使用任何索引。B-Tree 索引能够加快访问数据的速度,因为存储引擎不再需要进行全表扫描来获取数据,取而代之的是从索引的根

2017-01-06 18:06:08 2927 1

转载 openfire servlet插件

项目中需要 openfire 对外提供一个web接口,接受客户端发送过来的http 请求,按照参数处理后返回相应的response。于是考虑使用servlet插件。       实现方法:1.在src/plugins目录下建立如下结构的目录。                            2.在java build path 中source 页添

2013-06-06 16:52:52 1620

转载 openfire插件开发全过程

这篇是简单插件开发,下篇聊天记录插件。开发环境:System:WindowsWebBrowser:IE6+、Firefox3+JavaEE Server:tomcat5.0.2.8、tomcat6IDE:eclipse、MyEclipse 8开发依赖库:Jdk1.6、jasper-compiler.jar、jasper-runtime.jar、openfir

2013-06-06 14:49:21 9073 5

原创 Oracle CONNECT BY 层内排序

rm 多级树形结构 使用 Oracle Connect by 进行排序,增加 层内排序connect by 使用SELECT t.id,t.curname,t.parent_id,t.order_value FROM TB_COMPANY t WHERE STATUS=1  AND t.id IN (SELECT DISTINCT r2.company_id FROM r_compan

2013-05-11 16:33:07 2831

转载 install4j打包jar

这几天参考有关资料,借助install4j软件总算初步学会了Java程序(jar)打包成可安装的Windows应用程序的方法。相关软件在:http://download.csdn.net/可以搜索到 以下是过程记录:1.    通过各种方式生成一个可执行的jar文件(请参考:http://blog.sina.com.cn/s/blog_65bb33240100ii4r.html)

2013-04-24 16:29:37 1105

原创 JSTUN 出现 java.net.BindException: Address already in use: Cannot bind

使用JSTUN,进行NAT穿越的时候,总是出现java.net.BindException: Address already in use: Cannot bind换其他机器测试,没有问题。只有自己机器运行出现这个问题。打开JSTUN源码,查看DiscoveryTest 的 Test2() 方法  170行;int localPort = sendSocket.getLocalPort

2013-04-20 22:21:17 2443

原创 Smack Jingle BindException 地址已经被使用

使用Smack Jingle ICETransportManager icemt0 = new ICETransportManager(conn, "stunserver.org", 3478);服务器提示:BindException , 地址已被使用:无法绑定出现该错误,通常是本地端口被占用。可以检查:DiscoveryTest.java test2() 方法:第170行左右

2013-04-18 22:26:03 945 1

原创 openfire 插件开发

导入Openfire源码插件开发在src/plugins目录下进行插件结构整体结构plugin.xml 定义插件属性:        com.roger.openfire.plugin.TreeStructurePlugin    Structure    Get Roger System Structure Tree    bin.xiao

2013-04-12 22:36:25 869

原创 Smack Message 扩展属性

由于XMPP不支持群聊很多本地化的服务,针对Openfire开发插件解决问题:Message 扩展:Message videoMsg = new Message();VideoChatRTP videoXml = new VideoChatRTP();//扩展类型videoXml.setVideoType(VideoMediaType.REQUEST);//请求类型

2013-04-12 22:26:19 1466

原创 smackx jingle语音通话实例

关于jingle ,资料网上少之又少,官方提供的Demo无法运行(原因:问声明客户端支持Jingle,所以服务端返回501异常)。这个问题困然我几天,然后在Ignite Realtime看到一篇可以很好工作的JIngle示例:public static void main(String[] args) throws Exception {    // enable Jingle se

2013-04-12 22:20:21 2039 1

转载 Strophe 连接状态 AUTHENTICATING问题

Strophe的示例程序运行时间: 2012-12-05 20:58:37.0分类: 首页/ 风向标/ 热门文章在看《XMPP高级编程》时,第一个程序就跑不起来,因为书中提供的BOSH连接管理器不可用。安装准备下载Openfire并安装:http://www.igniterealtime.org/downloads/index.jsp下载Strophe.js

2013-02-27 13:58:54 4203 1

原创 oracle10 ora-12154 无法连接指定的标示符

安装好Oracle客户端和服务器,一切正常后,开始使用PLSQL登陆。登陆本地没有问题,远程连接服务器就出现ORA-12154错误,tnsnames.ora文件覆盖,配置网络服务等都试过。其他机器都可以连,就自己机器无法连接。PL/SQL oracleHome也设置无误,到底是哪里出问题。后来查了下,发现自己机器的环境变量没有设置,原文如下:因为用manager conso

2012-12-19 15:54:17 474

原创 连接ORACLE 无监听程序

首先检查 计算机管理 —> 服务 ->  OracleOraDa10g_home1TNSListener  是否启动,最好重启试试。再检查其他服务是否正常。如果没有问题还是无法连接。在打开 oracle10home -> net manger 监听程序是否正常再检查oracle客户端的tnsnames.ora , AFT56_127.0.0.1 =  (DESC

2012-12-12 10:15:42 1512

Java实战项目 - 网络在线考试系统(源码,内有详细配置文件),--- 基于J2EE

Java实战项目 - 网络在线考试系统(源码,内有详细配置文件),--- 基于J2EE

2010-01-15

Java实战项目 - 物流信息网(源码,内有详细配置文件),--- 基于J2EE开发

Java实战项目 - 物流信息网(源码,内有详细配置文件),--- 基于J2EE开发

2010-01-14

Java实战项目 - 办公自动化管理系统(源码,内有详细配置文件),--- J2EE

Java实战项目 - 办公自动化管理系统(源码,内有详细配置文件),--- J2EE

2010-01-13

Java实战项目 - 企业人力资源管理(源码,内有详细配置文件),--- J2EE

Java实战项目 - 企业人力资源管理(源码,内有详细配置文件),--- J2EE

2010-01-13

Java实战项目 - 企业快信(源码,内有详细配置文件),--- J2EE

Java实战项目 - 企业快信(源码,内有详细配置文件),--- J2EE

2010-01-13

Java实战项目 - 网上商城交易系统(源码,内有详细配置文件),--- J2EE

Java实战项目 - 网上商城交易系统(源码,内有详细配置文件),--- J2EE

2010-01-13

Java实战项目 - 图书管理系统(源码,内有详细配置文件),--- J2EE

Java实战项目 - 图书管理系统(源码,内有详细配置文件),--- J2EE

2010-01-13

Java实战项目- 都市供求信息网(源码,内有详细配置文件),--- J2EE

Java实战项目 都市供求信息网(源码,内有详细配置文件),--- J2EE

2010-01-13

孙卫琴,Java Se全套经典入门课件(全)

孙卫琴,Java Se全套经典入门课件(全)

2010-01-11

Servlet经典PPT

Servlet经典PPT , 名师改写,非常适合初学者入门。

2010-01-11

Java程序员,上班那点事儿

以Java程序员为题材的书籍,Java程序员,上班那点事儿非常不错。 可以帮助新人少走很多弯路。

2010-01-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除