博客园 - 张逸
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=53352
2018-03-04T14:18:32Z
张逸
https://www.cnblogs.com/wayfarer/
feed.cnblogs.com
https://www.cnblogs.com/wayfarer/p/summary-of-reactive-programming.html
响应式编程的实践 - 张逸
响应式编程在前端开发以及Android开发中有颇多运用,然而它的非阻塞异步编程模型以及对消息流的处理模式也在后端得到越来越多的应用。除了Netflix的OSS中大量使用了响应式编程之外,最近阿里也提出Dubbo 3.0版本将全面拥抱响应式编程。 我之前针对某些项目需求也给出了响应式编程的方案,较好地
2018-02-05T13:41:00Z
2018-02-05T13:41:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】响应式编程在前端开发以及Android开发中有颇多运用,然而它的非阻塞异步编程模型以及对消息流的处理模式也在后端得到越来越多的应用。除了Netflix的OSS中大量使用了响应式编程之外,最近阿里也提出Dubbo 3.0版本将全面拥抱响应式编程。 我之前针对某些项目需求也给出了响应式编程的方案,较好地 <a href="https://www.cnblogs.com/wayfarer/p/summary-of-reactive-programming.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/p/feature-of-high-quality-code.html
高质量代码的特征 - 张逸
回想起来,我觉得我们似乎在误读Uncle Bob的Clean Code,至少我们错误地将所谓Clean与可读性代码简单地划上了等号。尤为不幸的是,在Clean Code一书中,从第二章到第五章都围绕着可读性代码做文章,于是加深了这种错误的印象。 许多具有代码洁癖的程序员将代码可读性视为神圣不可侵犯的
2018-01-05T07:11:00Z
2018-01-05T07:11:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】回想起来,我觉得我们似乎在误读Uncle Bob的Clean Code,至少我们错误地将所谓Clean与可读性代码简单地划上了等号。尤为不幸的是,在Clean Code一书中,从第二章到第五章都围绕着可读性代码做文章,于是加深了这种错误的印象。 许多具有代码洁癖的程序员将代码可读性视为神圣不可侵犯的 <a href="https://www.cnblogs.com/wayfarer/p/feature-of-high-quality-code.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/p/data-process-for-big-data.html
剖析大数据平台的数据处理 - 张逸
我在一次社区活动中做过一次分享,演讲题目为《大数据平台架构技术选型与场景运用》。在演讲中,我主要分析了大数据平台架构的生态环境,并主要以数据源、数据采集、数据存储与数据处理四个方面展开分析与讲解,并结合具体的技术选型与需求场景,给出了我个人对大数据平台的理解。本文讲解数据处理部分。 无论是采集数据,
2018-01-02T13:54:00Z
2018-01-02T13:54:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】我在一次社区活动中做过一次分享,演讲题目为《大数据平台架构技术选型与场景运用》。在演讲中,我主要分析了大数据平台架构的生态环境,并主要以数据源、数据采集、数据存储与数据处理四个方面展开分析与讲解,并结合具体的技术选型与需求场景,给出了我个人对大数据平台的理解。本文讲解数据处理部分。 无论是采集数据, <a href="https://www.cnblogs.com/wayfarer/p/data-process-for-big-data.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/p/data-storage-for-big-data.html
剖析大数据平台的数据存储 - 张逸
我在一次社区活动中做过一次分享,演讲题目为《大数据平台架构技术选型与场景运用》。在演讲中,我主要分析了大数据平台架构的生态环境,并主要以数据源、数据采集、数据存储与数据处理四个方面展开分析与讲解,并结合具体的技术选型与需求场景,给出了我个人对大数据平台的理解。本文讲解数据存储部分。 数据作为一种资产
2018-01-02T13:42:00Z
2018-01-02T13:42:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】我在一次社区活动中做过一次分享,演讲题目为《大数据平台架构技术选型与场景运用》。在演讲中,我主要分析了大数据平台架构的生态环境,并主要以数据源、数据采集、数据存储与数据处理四个方面展开分析与讲解,并结合具体的技术选型与需求场景,给出了我个人对大数据平台的理解。本文讲解数据存储部分。 数据作为一种资产 <a href="https://www.cnblogs.com/wayfarer/p/data-storage-for-big-data.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/p/data-ingestion-for-big-data.html
剖析大数据平台的数据采集 - 张逸
我在一次社区活动中做过一次分享,演讲题目为《大数据平台架构技术选型与场景运用》。在演讲中,我主要分析了大数据平台架构的生态环境,并主要以数据源、数据采集、数据存储与数据处理四个方面展开分析与讲解,并结合具体的技术选型与需求场景,给出了我个人对大数据平台的理解。本文讲解数据采集部分。 数据采集的设计,
2017-12-19T13:27:00Z
2017-12-19T13:27:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】我在一次社区活动中做过一次分享,演讲题目为《大数据平台架构技术选型与场景运用》。在演讲中,我主要分析了大数据平台架构的生态环境,并主要以数据源、数据采集、数据存储与数据处理四个方面展开分析与讲解,并结合具体的技术选型与需求场景,给出了我个人对大数据平台的理解。本文讲解数据采集部分。 数据采集的设计, <a href="https://www.cnblogs.com/wayfarer/p/data-ingestion-for-big-data.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/p/data-source-for-big-data.html
剖析大数据平台的数据源 - 张逸
我在一次社区活动中做过一次分享,演讲题目为《大数据平台架构技术选型与场景运用》。在演讲中,我主要分析了大数据平台架构的生态环境,并主要以数据源、数据采集、数据存储与数据处理四个方面展开分析与讲解,并结合具体的技术选型与需求场景,给出了我个人对大数据平台的理解。本文是演讲内容的第一部分。 大数据平台是
2017-12-18T01:10:00Z
2017-12-18T01:10:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】我在一次社区活动中做过一次分享,演讲题目为《大数据平台架构技术选型与场景运用》。在演讲中,我主要分析了大数据平台架构的生态环境,并主要以数据源、数据采集、数据存储与数据处理四个方面展开分析与讲解,并结合具体的技术选型与需求场景,给出了我个人对大数据平台的理解。本文是演讲内容的第一部分。 大数据平台是 <a href="https://www.cnblogs.com/wayfarer/p/data-source-for-big-data.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/p/2017-ddd-submit-china.html
DDD峰会归来话DDD - 张逸
一场大戏落幕,首届DDD中国峰会如大会主题色一般的红。或许在12月9日这一天,全中国的DDD粉丝大约有一半都汇聚在了国家会议中心。听起来是幸,其实是不幸,因为DDD在中国的人群基数实在是太少了。 因为要负责大会的其中一个Track,期间又要接受采访,另外还有朋友到访,所以除了前面的两个keynote
2017-12-17T13:51:00Z
2017-12-17T13:51:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】一场大戏落幕,首届DDD中国峰会如大会主题色一般的红。或许在12月9日这一天,全中国的DDD粉丝大约有一半都汇聚在了国家会议中心。听起来是幸,其实是不幸,因为DDD在中国的人群基数实在是太少了。 因为要负责大会的其中一个Track,期间又要接受采访,另外还有朋友到访,所以除了前面的两个keynote <a href="https://www.cnblogs.com/wayfarer/p/2017-ddd-submit-china.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/p/5450877.html
贝叶斯定理与直觉 - 张逸
本文为阅读 "Data Science from Scratch" 之笔记,文中案例、公式分析皆来自此书 让我们先来看看生活中的一个小例子。假设有某种疾病D,在10000人中会有1人患此病;又假设对患此病的人进行测试,测试为阳性的比例达到99%,也就是说100名患者中,有99名患者检测结果皆为阳性(
2016-05-01T10:07:00Z
2016-05-01T10:07:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】本文为阅读 "Data Science from Scratch" 之笔记,文中案例、公式分析皆来自此书 让我们先来看看生活中的一个小例子。假设有某种疾病D,在10000人中会有1人患此病;又假设对患此病的人进行测试,测试为阳性的比例达到99%,也就是说100名患者中,有99名患者检测结果皆为阳性( <a href="https://www.cnblogs.com/wayfarer/p/5450877.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/p/5364115.html
重新审视演进式设计 - 张逸
说起来,所谓Evolutionary Design已经是老生常谈了。早在2004年,Martin Fowler在文章 "Is Design Dead" 中就深刻地比较了计划式设计与演进式设计,至今阅读这篇文章,对于理解敏捷和演进式设计依旧振聋发聩。我在博客 "设计恰如其分的架构" 中,也算得上是旁征
2016-04-07T08:21:00Z
2016-04-07T08:21:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】说起来,所谓Evolutionary Design已经是老生常谈了。早在2004年,Martin Fowler在文章 "Is Design Dead" 中就深刻地比较了计划式设计与演进式设计,至今阅读这篇文章,对于理解敏捷和演进式设计依旧振聋发聩。我在博客 "设计恰如其分的架构" 中,也算得上是旁征 <a href="https://www.cnblogs.com/wayfarer/p/5364115.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/p/5342610.html
设计恰如其分的架构 - 张逸
远在2009年,Martin Fowler与Rebecca Parsons在QCon SF做了一次题为Agilists and Architects: Allies not Adversaries Presentation的演讲。演讲主要讨论了在敏捷方法中的架构活动。相似的话题,Neal Ford则
2016-03-31T12:25:00Z
2016-03-31T12:25:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】远在2009年,Martin Fowler与Rebecca Parsons在QCon SF做了一次题为Agilists and Architects: Allies not Adversaries Presentation的演讲。演讲主要讨论了在敏捷方法中的架构活动。相似的话题,Neal Ford则 <a href="https://www.cnblogs.com/wayfarer/p/5342610.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/p/5340050.html
函数式非凡的抽象能力 - 张逸
我在阅读或编写具有函数式风格的代码时,常常为函数式思想非凡的抽象能力所惊叹。作为一直以来持有OO信仰的程序员而言,对于“抽象”并不陌生。我甚至将面向对象思想的精髓定义为两个单词:职责(Responsibility)与抽象(Abstraction)。只要职责分配合理,设计就是良好的;若能再加上合理的抽
2016-03-31T02:06:00Z
2016-03-31T02:06:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】我在阅读或编写具有函数式风格的代码时,常常为函数式思想非凡的抽象能力所惊叹。作为一直以来持有OO信仰的程序员而言,对于“抽象”并不陌生。我甚至将面向对象思想的精髓定义为两个单词:职责(Responsibility)与抽象(Abstraction)。只要职责分配合理,设计就是良好的;若能再加上合理的抽 <a href="https://www.cnblogs.com/wayfarer/p/5340050.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/p/5339134.html
或许是领域建模的真相 - 张逸
我们一提及领域建模,就好像回到了石器时代。然而这个谜题至今还未解决,就好像穴居人的生存方式,我们只能猜测、推测以及演绎,却不能真实复现。 Martin Fowler的《分析模式》总结了诸多领域分析模式,Eric Evans开创了领域驱动设计的办法,至于还要老的CRC方法,用例驱动,ICONIX方法以
2016-03-30T14:05:00Z
2016-03-30T14:05:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】我们一提及领域建模,就好像回到了石器时代。然而这个谜题至今还未解决,就好像穴居人的生存方式,我们只能猜测、推测以及演绎,却不能真实复现。 Martin Fowler的《分析模式》总结了诸多领域分析模式,Eric Evans开创了领域驱动设计的办法,至于还要老的CRC方法,用例驱动,ICONIX方法以 <a href="https://www.cnblogs.com/wayfarer/p/5339134.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/archive/2013/01/06/2847315.html
博客新家(agiledon.github.com) - 张逸
还是喜欢github下写博客的自由方式。为了避免要同步两处的博客,博客园这个博客就不再继续发表新博客了。正式搬家到github上。欢迎大家访问,博客地址为http://agiledon.github.com。有点不舍得离开这里,这里记录我从2004年到现在的技术成长经历。不过还是要说再见了。
2013-01-06T02:43:00Z
2013-01-06T02:43:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】还是喜欢github下写博客的自由方式。为了避免要同步两处的博客,博客园这个博客就不再继续发表新博客了。正式搬家到github上。欢迎大家访问,博客地址为http://agiledon.github.com。有点不舍得离开这里,这里记录我从2004年到现在的技术成长经历。不过还是要说再见了。 <a href="https://www.cnblogs.com/wayfarer/archive/2013/01/06/2847315.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/archive/2012/02/27/2369384.html
软件系统的稳定性 - 张逸
软件系统的稳定性,主要决定于整体的系统架构设计,然而也不可忽略编程的细节,正所谓“千里之堤,溃于蚁穴”,一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃。这正是我阅读Release It!的直接感受。究其原因,一方面是程序员对代码质量的追求不够,在项目进度的压力下,只考虑了功能实现,而不用过多的追求质量属性;第二则是对编程语言的正确编码方式不够了解,不知如何有效而正确的...
2012-02-27T01:29:00Z
2012-02-27T01:29:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】软件系统的稳定性,主要决定于整体的系统架构设计,然而也不可忽略编程的细节,正所谓“千里之堤,溃于蚁穴”,一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃。这正是我阅读Release It!的直接感受。究其原因,一方面是程序员对代码质量的追求不够,在项目进度的压力下,只考虑了功能实现,而不用过多的追求质量属性;第二则是对编程语言的正确编码方式不够了解,不知如何有效而正确的... <a href="https://www.cnblogs.com/wayfarer/archive/2012/02/27/2369384.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/archive/2012/02/07/2340781.html
真实案例引起的对系统健壮性的思考 - 张逸
大年初四(2012年1月26日)上午,我在重庆移动某营业厅的自助客户端使用招商银行信用卡为我妻子充话费(我妻子的手机已经停机)。在插入信用卡并输入密码后,系统提示正在交易。大约几秒后,我的手机收到招行的短信,提示消费100元,但自助客户端仍然显示正在交易。此时的我已经有了不详的预感。果然,在等待大约一分钟,系统提示操作失败,之后系统崩溃,弹出了一个Windows命令窗口。因为我妻子的手机停机了,所...
2012-02-06T16:25:00Z
2012-02-06T16:25:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】大年初四(2012年1月26日)上午,我在重庆移动某营业厅的自助客户端使用招商银行信用卡为我妻子充话费(我妻子的手机已经停机)。在插入信用卡并输入密码后,系统提示正在交易。大约几秒后,我的手机收到招行的短信,提示消费100元,但自助客户端仍然显示正在交易。此时的我已经有了不详的预感。果然,在等待大约一分钟,系统提示操作失败,之后系统崩溃,弹出了一个Windows命令窗口。因为我妻子的手机停机了,所... <a href="https://www.cnblogs.com/wayfarer/archive/2012/02/07/2340781.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/archive/2011/11/15/2249556.html
调整Virtual Box硬盘大小 - 张逸
我在Mac下使用Virtual Box安装Win7的虚拟机。因为之前装过Win7的32位版。现在因为机器内存升到8G,就可以划出4G来支持Win7虚拟机。所以就重新安装了Win7的64位版。在创建虚拟机的硬盘时,我选择了Virtual Box的默认容量20G。我看到Virtual Box告知的是这个硬盘容量是可以动态调整的,谁知道这其实是一个误导。这里所谓的动态调整并不能超过设置的值,即我设置的2...
2011-11-15T04:12:00Z
2011-11-15T04:12:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】我在Mac下使用Virtual Box安装Win7的虚拟机。因为之前装过Win7的32位版。现在因为机器内存升到8G,就可以划出4G来支持Win7虚拟机。所以就重新安装了Win7的64位版。在创建虚拟机的硬盘时,我选择了Virtual Box的默认容量20G。我看到Virtual Box告知的是这个硬盘容量是可以动态调整的,谁知道这其实是一个误导。这里所谓的动态调整并不能超过设置的值,即我设置的2... <a href="https://www.cnblogs.com/wayfarer/archive/2011/11/15/2249556.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/archive/2011/11/09/2241887.html
LA工作第二周体会 - 张逸
第一周的新鲜感过去后,第二周我就能够以平常心来面对周围的新环境了。除了语言和饮食不同,终究还是软件开发的工作,一定是要遵循软件开发的规律的。在这短短的两周时间内,我谈不上有什么收获,能够让我的能力再上一个台阶。但一些体会还是有的,虽然有些散乱,仿佛思想的片段,如野马,如浮云,若能及时捕捉并加以记录,这些体会就能够潜移默化地改变自己,或许也能改变阅读这篇博客的你。 这一周,我打算谈一谈我对能力的体...
2011-11-08T16:43:00Z
2011-11-08T16:43:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】第一周的新鲜感过去后,第二周我就能够以平常心来面对周围的新环境了。除了语言和饮食不同,终究还是软件开发的工作,一定是要遵循软件开发的规律的。在这短短的两周时间内,我谈不上有什么收获,能够让我的能力再上一个台阶。但一些体会还是有的,虽然有些散乱,仿佛思想的片段,如野马,如浮云,若能及时捕捉并加以记录,这些体会就能够潜移默化地改变自己,或许也能改变阅读这篇博客的你。 这一周,我打算谈一谈我对能力的体... <a href="https://www.cnblogs.com/wayfarer/archive/2011/11/09/2241887.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/archive/2011/11/07/2239148.html
LA工作第一周体会 - 张逸
与一群国外的Dev一起工作是我从未有过的经历,在陌生的国度,陌生的团队,陌生的客户,做着陌生的项目,对我而言,Everything is new。我们在客户这里,仍然采用典型的敏捷方式:故事墙、站会、用户故事、结对编程、持续集成、TDD甚至BDD……几乎所有的敏捷实践我们都会运用。在加入这个项目时,已经进行到第7个迭代,整个项目的框架已经比较成熟。我们的任务是尽快熟悉业务和整个技术框架,并为新的项...
2011-11-07T05:39:00Z
2011-11-07T05:39:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】与一群国外的Dev一起工作是我从未有过的经历,在陌生的国度,陌生的团队,陌生的客户,做着陌生的项目,对我而言,Everything is new。我们在客户这里,仍然采用典型的敏捷方式:故事墙、站会、用户故事、结对编程、持续集成、TDD甚至BDD……几乎所有的敏捷实践我们都会运用。在加入这个项目时,已经进行到第7个迭代,整个项目的框架已经比较成熟。我们的任务是尽快熟悉业务和整个技术框架,并为新的项... <a href="https://www.cnblogs.com/wayfarer/archive/2011/11/07/2239148.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/archive/2011/10/18/2216090.html
设计匠艺模型 - 张逸
之前,我曾提出软件设计的七个原则,即重用、扩展、变化(后改为协作)、简约、一致、分离、间接,并在去年的亚太软件研发团队管理峰会阐释过自己的想法。经过这两年的积累,这些内容逐渐丰富起来,而我也根据自己所思所想做了一些调整。我的朋友姜大胡子和刘冰对我提出的这几个原则,表示兴趣和部分认同,但同时也提出一些自己的看法。按照大胡子的意见,一个人的记忆很难记住太多的原则,最好不要超过3个。七个原则好似古龙...
2011-10-18T01:29:00Z
2011-10-18T01:29:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】之前,我曾提出软件设计的七个原则,即重用、扩展、变化(后改为协作)、简约、一致、分离、间接,并在去年的亚太软件研发团队管理峰会阐释过自己的想法。经过这两年的积累,这些内容逐渐丰富起来,而我也根据自己所思所想做了一些调整。我的朋友姜大胡子和刘冰对我提出的这几个原则,表示兴趣和部分认同,但同时也提出一些自己的看法。按照大胡子的意见,一个人的记忆很难记住太多的原则,最好不要超过3个。七个原则好似古龙... <a href="https://www.cnblogs.com/wayfarer/archive/2011/10/18/2216090.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/wayfarer/archive/2011/10/11/2206816.html
IsDefined的问题 - 张逸
在.NET 4.0(当然也包括4.0以前的版本)下,用反射判断某个方法是否运用了自定义Attribute时,可以通过调用MethodInfo的IsDefined()方法进行确认。当然,IsDefined()方法事实上定义在MethodInfo的父类MemberInfo中,但它仅仅被定义为抽象方法,真正的实现是在MethodInfo的子类DynamicMethod中。调用方式如下所示: metho...
2011-10-11T01:34:00Z
2011-10-11T01:34:00Z
张逸
https://www.cnblogs.com/wayfarer/
【摘要】在.NET 4.0(当然也包括4.0以前的版本)下,用反射判断某个方法是否运用了自定义Attribute时,可以通过调用MethodInfo的IsDefined()方法进行确认。当然,IsDefined()方法事实上定义在MethodInfo的父类MemberInfo中,但它仅仅被定义为抽象方法,真正的实现是在MethodInfo的子类DynamicMethod中。调用方式如下所示: metho... <a href="https://www.cnblogs.com/wayfarer/archive/2011/10/11/2206816.html" target="_blank">阅读全文</a>