自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(75)
  • 资源 (9)
  • 收藏
  • 关注

原创 深入浅析分布式系统的一致性模型

本文是《如何学习分布式系统》中,关于一致性模型的相关介绍。什么是一致性模型一致性模型指的是分布式系统对外界承诺的一个契约,外界按照契约的规定与分布式系统发生交互,就能得到契约中承诺的观测结果。这么解释过于抽象,我们看几个实际的例子。你给女朋友转账了一千块,然后你给她打电话:“亲爱的,我给你打了一千块”。女朋友一查余额,果然多了一千块,于是龙颜...

2019-06-11 18:15:00 305

原创 骗子这么好当,都不需要演技了???

话说为了交流java和大数据技术,我建了一个QQ群。主要目的是分享学习资料,交流心得体会,解决技术问题。然后突然有个老铁要加群。image.png我一看,这可是大神啊,赶紧过去交流一下。image.png这回答真让人无语。。。那么这位老铁到底干嘛的呢?进空间看了看,是某培训机构的。不禁感叹如今培训机构招生真是不择手段啊。...

2019-06-04 16:26:00 216

原创 来了两个奇怪的粉丝

登录简书,收到提醒,多了两个粉丝!!!欣喜之余,去看看新朋友。发现两位都只关注了我一个人,而且关键两位都是会员。。。不知道这是什么操作。。。image.png ...

2019-06-01 09:01:00 168

原创 工资翻十倍,人也老十岁——高中时代

更多内容,请见《工资翻十倍,人也老十岁》中学的时候如果有人告诉我,我以后会成为程序员,我一定一脸懵逼,啥是程序员?我不是应该搞物理学么?物理竞赛没错,我当时真的以为自己会从事和物理有关的工作,比如做个科学家,研究研究激光传送和反重力加速之类的。当然了,现实一点来说,我应该大学毕业以后回老家的钢铁公司工作,当个工程师,戴着钢盔去车间,帮...

2019-05-31 09:22:00 125

原创 从另一个角度理解java并发

掌握了Sequential Consistency一致性模型之后,我们重新审视一下java的并发。我们已经说过,Sequential Consistency只保留进程本地顺序。上文中我们了解到,由于CPU指令重排序、内存多级缓存不一致等问题,硬件层次没有提供Sequential Consistency,需要软件开发人员实现。下面我们就来看一下,在java...

2019-05-27 21:57:00 78

原创 你可以死,但是请死得有尊严一点

1前几天我媳妇在看《创造营》,一个男孩选择进入A班,才艺展示之后,裁判认为他能力不够,把他降到了F班。这个男孩觉得他挑战了难度最高的A班,所以希望再得到一次机会。听完之后我都惊呆了,这是何等奇葩的世界观!幸好裁判十分感动,然后拒绝了他。也许这种综艺节目,都是提前准备好的,可信度都很低。一个未成年人,觉得世界都应该以他为中心,也情有可原。但是混迹职场多年...

2019-05-27 09:23:00 198

原创 如何学习分布式系统

前言2019年,做大数据的开发已经6年了,这期间分布式系统的知识学习了不少,但基本都是来源于项目需要而零敲碎打,没有系统性的融会贯通提纲挈领,在一件小事的触动之下,决定将分布式系统做一次系统性的学习。网上搜索“如何系统性的学习分布式系统”,得到的答案除了知识点过于零散的,剩下就是不适合我的实际情况的,主要因为我没有学习过算法,对于很多复杂的算法理解起来...

2019-05-21 10:09:00 154

原创 今天520,给大家一个善意的提醒

今天520,给大家一个善意的提醒。今天微信普通红包的单个金额上限由200元上调到520元啦。image.png男同胞们赶紧闭关锁国,蒙蔽圣听。女同胞们赶紧旁敲侧击,含沙射影。敲黑板!直接打钱真是最好的表达爱意的方法!image.png ...

2019-05-20 21:44:00 153

原创 工资翻十倍,人也老十岁

首先要说明一点,工资之所以能翻十倍,除了自身的努力之外,还有两个很重要的原因:起点真是太低了。09年的毕业生受当时次贷危机影响很大,又遇到一个比较坑的公司,所以起点就很低,那么进步的空间就很大。通货膨胀真是太厉害了。09年大连平均工资3231,18年已经6000多了,所以水涨船高也是理所当然。为什么要写这篇文章呢?因为最近心血来潮,想重新一下学习...

2019-05-19 23:07:00 75

原创 用TPC-DS测试Sql server,Oracle

TPC-DS是什么TPC-DS是TPC组织发布的用于测试决策系统的基准测试,是TPC-H的改进版。我们可以用它生成测试数据集和sql语句来测试数据库的OLAP能力。最近我们用TPC-DS测试了一下Sql server和Oracle,这里把遇到的问题记录一下。首先说一下结论,我以后再不相信TPC的测试结果了,这个软件给我的感觉是根本没人维护,文档散乱无序...

2019-05-16 20:03:00 1300

原创 零基础公众号初期涨粉,这些事情很重要

其实比起各路大神来说,一年时间积累500多粉丝,实在不值得一提,但还是决定记录一下,希望对大家有所帮助。粉丝情况去年开始在简书上写文章以后,就顺手注册了一个公众号,后来看到周围的大神都开始经营公众号,就决定自己摸索着运营一下。种子用户公众号的传播都是靠用户的转发来完成的,因此最早的种子用户就很重要了。我的第一个用户当然是我媳妇啦,然后她...

2019-05-13 20:49:00 266

原创 介绍一款将屏幕录制为gif的软件

在写博客的过程中,发现很多时候需要录制屏幕并制作gif以便展示给大家。例如在这篇文章中,就需要将git的工作过程用动画的形式进行展示。在这里向大家介绍一款录制屏幕制作gif的软件。软件的名字叫做ScreenToGif,可以很方便的在屏幕上的任意区域进行录制,并且制作为gif格式图片,还支持对录制后文件的编辑。首先在官网上可以下载绿色版,体积才2M多,直...

2019-05-12 12:59:00 258

原创 锱铢必较:用antrun maven插件检查文本文件

如果想检查java代码的质量,那么使用checkstyle plugin就可以.但是怎么检查其他文本文件的内容呢?可以使用antrun这个插件.比如,我们的maven工程中维护了数据库历史上所有的DDL语句,这样可以在测试数据库和生产数据库利用增量DDL来同步数据库结构,保证开发、测试和生产数据库的schema是一致的.但是从一些可视化客户端工具中产生的...

2019-05-12 12:38:00 137

原创 如何学好大数据

前言说出来你可能不信,虽然做大数据已经六年多了,学习大数据的念头却是最近才有的。前几天,为了弄明白CAP定理到底怎么证明,真是跋山涉水缘木求鱼,可谓上下而求索。在知乎、stackoverflow等处发了问题之后,我突然想到,还有大数据的QQ群和贴吧嘛,也可以去里面问问。贴吧里分享大数据资料的倒是不少,不过一旦留下邮箱,却收到这样的邮件im...

2019-05-09 08:13:00 404 1

原创 旧事重提之CAP定理

问题之由来我第一次听说mongodb、hbase这些分布式数据库的时候,正是我学习mysql的时候,在那个遥远的年代,mysql可是java web项目的标配,恰如今日hadoop之于大数据。高可用、弹性扩展,分布式数据库带来了种种眼花缭乱令人目眩的特性,深深吸引着当时涉世未深而又孤陋寡闻的我,然而零基础转行大数据又处处碰壁,屡战屡败之后,才有一个大数据...

2019-04-28 11:20:00 129

原创 Spark RDD深入浅析

Spark里的RDD是什么?在Spark如火如荼的今天,很多面试官都会问这个问题。想必答案大家都脱口而出--就是弹性分布式数据集嘛,但是它怎么就弹性了?它怎么分布式的?就需要去它的实现代码中一探究竟了。RDD的实现本质作为一个java类,其实RDD只有5个主要的属性partition的集合。一般情况下,这个集合的大小决定了task的数量,因为每个p...

2019-04-23 17:02:00 77

原创 在勾心斗角的环境中编程之普通用户添加systemd的开机启动项

在软件开发过程中,良好的工作模式是对别人委之以重任而又不能给之以信任。既要给别人灵活方便的自由度让其自由发挥,又要将误操作带来的损失降低到最小而防患于未然。在centos系统中,systemd没有user mode,只有system mode,因此只有root才能执行systemctl enable。如果一个普通用户想做某个服务的开机自启动,有两种选择:...

2019-04-04 16:58:00 1314

原创 component和render在react router中的应用

在react router项目中,有这样的一个需求,首先展示用户名列表,点击某个用户名后,根据用户名在后台取得用户具体信息在详情页进行展示。此时可以将详情页封装成一个组件,利用react router将userId传递给详情页组件,详情页组件向后台请求数据,然后进行展示。component使用component时,详情页组件代码如下import {...

2019-04-04 16:33:00 2021

原创 Nexus 3为maven deploy角色设置权限

nexus 3中,已经没有了能对maven私服进行deploy的默认用户,只有admin和匿名用户。为了让一个角色能够对maven进行deploy,需要向它添加nx-repository-view-maven2-*-edit的权限,同时给它匿名角色所有权限即可。 ...

2019-03-08 14:39:00 8212 2

原创 利用gradle plugin和git hook进行自动化代码格式化

俗话说,非我族类其心必异。在软件项目的开发过程中,整个团队万万不可同床异梦离心离德,因此统一代码规范也就至关重要了。良好的代码规范可以增加代码的可读性从而提高代码的可维护性。同时,统一的代码规范更可以减少不必要的麻烦,比如一个人习惯两个空格缩进,另一个人设置了四个空格,如果第二个人仅仅修改了第一个人的部分代码但此时IDE进行了格式化,版本控制的diff工...

2018-12-29 17:00:00 880

原创 Promise统一异常处理

现在前端和后端的交互过程中,很多时候都使用fetch和promise。例如一个简化版本的从后台取得数据的方法如下function getData(url) { return fetch(url).then(response => { if (response.ok) { return response; } else { thr...

2018-12-29 16:40:34 2702

原创 umi项目中dva effects异常统一处理

在前端项目中使用了Ant Design,这个框架又使用了dva、umi、redux-saga。其中与后台的交互往往需要使用effects,例如 *fetchColumns(_, { call, put }) { const data = yield call(fetchColumns); yield put({ type: 'save...

2018-12-29 14:31:11 3815 1

原创 感觉国内某互联网巨头有点过于膨胀了

今天刚来上班,就有同事问我是不是改了前端的样式,打开系统一看,原来的按钮上多了一些雪花图案。有雪花的按钮搜索了一下,发现是使用的前端框架的彩蛋,在圣诞节会改变按钮的样式。https://github.com/ant-design/ant-design/commit/00aebeb9756afecc884ad48486084836b9a2707a不过国内很多开发...

2018-12-25 10:04:54 111

原创 React router的Route中component和render属性的使用

在react router官方文档关于component的部分写着:When you use component (instead of render or children, below) the router uses React.createElement to create a new React element from the given component. Th...

2018-11-23 14:04:45 1395

原创 大数据平台千万不要用ambari

一开始用的是cloudera的CDH,后来公司换成了ambari,真是没有比较就没有伤害...我本来想把ambari不足的地方记下来,结果发现真是太多了,彻底放弃了 ...

2018-11-22 18:04:21 4084 2

原创 Spring mvc中统一对ResponseBody进行封装

在一个前后端分离的项目中,需要对后端RestController里返回的ResponseBody进行统一的封装,让所有的API结果的都是json对象,带有是否成功的标志位,并且将实际的数据放到json的result字段中,例如:{"result":["age","height"],"success":true}如果在每个RestController中进行封装,重复的工作很多,...

2018-11-06 18:06:35 567

原创 Gradle plugin协同工作

在使用Gradle的过程中发现,Gradle的plugin比maven中的plugin更加灵活的一点在于可以相互影响。例如假设一开始在build.gradle中设置了Bar这个插件,它有name和label两个属性,并添加了一个叫hello的task,设置完name和label之后,执行hello task将输出name和label。class BarPluginExtensi...

2018-11-05 18:31:25 155

原创 对Nexus私服的作者真是恨铁不成钢

公司需要搭建maven私服,于是打算搭建nexus服务器。原来一直都是用的nexus OSS 2,感觉还不错,于是下载了最新版的OSS 3来安装。万万没想到,OSS 3比OSS 2增加了很大的使用难度。权限复杂了很多。OSS 2中内置了三个用户——管理员、部署者、匿名用户,基本上很好的满足了大部分需要,结果到了OSS 3里,只剩下管理员和匿名用户了,开发者需要向私服中部署组...

2018-10-03 18:17:26 139

原创 用自动化测试工具selenium来揭露骗局的真相

前几天写了用爬虫来揭露约稿骗局的真相,但实际上对于动态加载的数据来说,用程序爬取比较困难,在这种情况下,可以使用selenium来模拟浏览器行为,达到同样目的。安装好python之后,利用pip命令安装selenium,下载浏览器对应的driver就可以进行了。这次我们需要用selenium打开某个用户的timeline页面以后,一直页面下拉,直到页面中出现“加入了简书”。se...

2018-07-09 13:25:26 552

原创 程序员的职业素养真是完全不能相信的东西

事情要从一次面试说起,面试官问了这么一个问题,在JDK下面这个方法中:public static <T extends Comparable<? super T>> void sort(List<T> list) 这里面<T extends Comparable<? super T>>有什么用?美好的愿景很明显,...

2018-07-07 22:09:07 106

原创 我终于在生活中用到Python了!!!——用爬虫来揭露骗局真相

事情的起因前一阵突然收到了这样一封私信假约稿,真广告来简书也有一段时间了,这种私信收到了不少,基本都是打着约稿的旗号来骗关注的。其实我觉得主动要求别人的关注没有问题,但是应该明目张胆、大张旗鼓的才对,哪能这样鬼鬼祟祟,企图瞒天过海?看了看这个作者,居然还是个专题编辑呢。image.png所以我就试探的问问她,既然想约稿,那么到底有没有看过我的文...

2018-07-04 12:03:21 15844

原创 锱铢必较:linux bash中利用进程替换把命令输出作为文件

现在诸葛建国要比较dev和test两个mysql数据库的结构,最简单就是dump出来然后diff。大笔一挥,写出如下脚本mysqldump -u user -ppassword dbname -d --skip-comments > devmysqldump -u user -ppassword dbname -d --skip-comments > testd...

2018-06-27 11:34:10 130

原创 简书新人写出阅读量过万文章后的一些思考

如果循规蹈矩的话,简书新人只要写出几篇阅读量比较高的文章,就应该狗尾续貂、画蛇添足,再写一篇鸡汤文,名字已然约定俗成——《坚持写作%d天,我终于写出了阅读量超过%d的文章》。作为程序员,我本来打算在简书上写点技术文章,然而无心插柳柳成荫,误打误撞,居然有了两篇阅读量过万的文章:从技术面试官的角度谈谈简历和面试那些事儿和如何在职场上获得良好的起点。那么问题来了,我的这篇鸡汤该写点...

2018-06-21 23:43:40 289

原创 千万不要把平台的影响力当成自己的能力

众所周知,最近我正在找工作。虽然一直在外地客户现场饮鸩止渴扬汤止沸的救火,还没有大张旗鼓的面试,但是也零零散散有了几个offer。受宠若惊1受宠若惊2受宠若惊3拿了这些offer之后,除了有点小小的洋洋自得之外,还有一种感觉,那就是惴惴不安。能够认清自己的能力很难人往往有一种误区,就是把平台的影响力当成自己的能力。平台是什么?你工作的...

2018-06-20 22:59:31 559

原创 想搞大数据??你这样是自寻死路!!

近日来,家住北京市朝阳区的程序员诸葛建国非常郁闷。因为他的公司审时度势,附庸风雅牵强附会的上了一套大数据系统,可谓麻雀虽小五脏俱全,包括了:分布式文件系统HDFS分布式数据库hbase,mongodb,kudu分布式内存文件系统alluxio用于多维分析的druid实时流计算系统storm正所谓,覆巢之下,安有完卵。这些产品虽然好用,但是却给诸葛建国带来了很多烦恼。...

2018-06-16 22:31:24 148

原创 因为出乎意料的原因封号了

话说有一天突然发现简书账号被封禁了,真是闭门家中坐,祸从天上落。对照简书社区管理规定,绞尽脑汁想想可能封号的原因。第一个想法是莫非因为自告奋勇毛遂自荐?image.pngimage.png第二个想法是莫非因为李代桃僵借刀杀人?image.png但这都是他们主动问我的啊,所以理论上不算打广告啊~~~给简书运营多次发邮件之后,才重要找...

2018-06-14 22:14:53 206

原创 站在道德的制高点来写程序——免费获取IntelliJ IDEA license

和eclipse一样,IntelliJ IDEA也是一款不错的IDE,但是美中不足的是,它的Ultimate版本是收费的。中国的用户一向都具有互联网精神——只要能从网上下载的,就应该是免费的,所以网上IDEA的注册机、激活码可谓汗牛充栋、罄竹难书。就算因为用了免费的license而寝食难安、提心吊胆,也可以去淘宝上买一个来追求道德上的心安理得——毕竟我都花了钱了,所以不算盗版。但...

2018-06-06 09:57:00 124

原创 锱铢必较:程序员生存指南——正则表达式中使用断言

想让一个名词听起来特别高大上,最简单的方法就是加很多修饰语。比如多源异构群智协同负反馈深度神经网络(当然了,这是我瞎编的)。在正则表达式中,有一种东西叫断言,它的修饰语也很多:零宽正向先行断言零宽负向先行断言零宽正向后行断言零宽负向后行断言断言之所以叫“零宽”,是因为它们不会消费字符串,可以理解为断言匹配的是位置。断言之所以叫“断言”,是因为它们用来产生一个True...

2018-06-05 07:21:58 139

原创 标题党:第一次接触区块链技术,竟然是这种方式

凡是标题里以“标题党:”开头的文章,那肯定是标题党,勿谓言之不预也。正在客户现场加班加点写程序的时候,突然有同事找我,说某台公有云服务器上yarn服务占用CPU过高。查看了一下,一个yarn任务也没跑,yarn用户的进程居然也占满了CPU资源。在cloudera manager上停掉了yarn服务,yarn用户的java进程还是占满了CPU。感受到了CPU的艰辛...

2018-06-03 08:10:21 251

原创 刨根问底:Spring Boot中HandlerInterceptor没有拦截静态资源问题

在Spring Boot中设置了HandlerInterceptor,发现对于js、css等文件都没有起作用。定义一个HandlerInterceptorpublic class FooInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServl...

2018-05-29 23:38:28 959

activiti eclipse designer

eclipse本来可以在线安装activiti designer插件,但是网络总是有问题导致安装失败。按理说这个离线安装包也可以从https://github.com/Activiti/Activiti-Designer/releases下载,但是不知道怎么回事,下载也总是失败。所以这个离线安装包,送给需要的人吧

2019-07-10

分布式系统.zip

包含了学习分布式系统过程中用到的相关资料,比如分布式算法,分布式系统的泛型等等

2019-05-21

分布式算法学习资料

Nancy A.Lynch写的分布式算法有关资料,包括中文版和英文版,便于对照学习

2019-04-18

正则表达式的一些应用案例

描述了一些正则表达式的实际案例,比如捕获组命名,零宽断言等等

2018-03-21

hive rc文件的有关文档

hive中使用的rc file的有关资料

2014-10-22

Infobright的存储实现

mysql的数据仓库解决方案的存储实现,列式数据库的参考

2014-10-22

hbase二级索引的实现资料

华为的工程师的资料,说明了实现hbase二级索引的原理以及要注意的问题

2014-06-21

mongodb的sharding

一篇文档,讲述了mongodb的sharding的原理以及实现.

2013-09-03

实用J2EE设计模式编程指南.pdf

实用J2EE设计模式编程指南.pdf 有很详细的例子

2009-01-18

空空如也

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

TA关注的人

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