摘要: 最近一直反复地看博客园以前发布的一条.NET全栈开发工程师的招聘启事,觉得这是我看过最有创意也最朴实的一个招聘启事,更为重要的是它更像是一个技术提纲,能够指引我们的学习和提升,现在转载过来与各位园友分享。阅读全文
posted @ 2015-09-18 23:56 Edison Chou 阅读(8744) 评论(39) 编辑
摘要: 为了赶上大数据时代的发展,迎接云计算的思维,我选择业余时间学习Hadoop。我会从Hadoop1.x版本开始学习经典的HDFS与MapReduce,然后了解Hadoop2.x版本与老版本的差异,熟悉一些常见的Hadoop应用场景,并学着实践一个经典的网站日志数据分析案例。阅读全文
posted @ 2015-04-20 00:15 Edison Chou 阅读(7393) 评论(6) 编辑
摘要: 写博客是一个既痛苦又快乐的征途,作为一个计算机专业的毕业生,作为一个IT行业的从业者,看博客、评博客、写博客是一份坚持和一个习惯。每一次写博文,我都力求深入浅出,充分地多使用相关图片补充介绍,也形成了一个自己的写作风格。我会坚持,记录自己所学所见所感,分享给各位园友。阅读全文
posted @ 2014-07-15 09:26 Edison Chou 阅读(5922) 评论(11) 编辑
摘要: MSSQL2008 T-SQL Query执行计划是优化器生成的用于确定如何处理一个给定查询的“工作计划”。一个计划包含一组运算符,通常按照特定的顺序来应用这些运算符。此外,一些运算符可以在它们之前的运算符还在处理时不应用(即不一定是完全串行),还有一些运算符也有可能被应用多次。阅读全文
posted @ 2017-12-15 00:13 Edison Chou 阅读(3) 评论(0) 编辑
摘要: 记得两年前追琅琊榜,每天12点等更新,一定要看完才睡。直至今天,仍然觉得琅琊榜真的拍的好演得好,也被胡歌再次圈粉(第一次还是在十二年前中学时看仙剑奇侠传第一部时,偏偏潇洒美少年,仗剑江湖为红颜!)胡歌曾说,他看完猎场的剧本后说这是他看过最精彩的剧本(很多人都持怀疑态度),以至于让放弃了琅琊榜2而选择了猎场。而众多实力派演员如孙红雷、张嘉译、祖峰等的加入,也拔高了大家对其的期望值。阅读全文
posted @ 2017-12-09 17:53 Edison Chou 阅读(81) 评论(2) 编辑
摘要: MSSQL2008 T-SQL Query《Microsoft SQL Server 2008技术内幕-T-SQL查询》一书介绍了MSSQL2008中高级T-SQL查询、性能优化等方面的内容,以及MSSQL2008新增的一些特性。本篇读书笔记主要记录第一章也是个人觉得对所有人都比较有用的一章:逻辑查询处理。因为这一章介绍了查询处理的核心基础,还因为SQL编程和其他类型的编程有很大的区别。阅读全文
posted @ 2017-12-09 15:21 Edison Chou 阅读(38) 评论(2) 编辑
摘要: 这是一本介绍带团队的书,今年最重要的角色变换就是要从个人开发者向Team Lead的转变,于是看一点鸡汤充实一下。阅读全文
posted @ 2017-12-08 00:14 Edison Chou 阅读(53) 评论(2) 编辑
摘要: 从三月份开始学习设计模式,目前半年已经过去了,完成了23种设计模式的学习与代码编写,还发布了23篇设计模式的博客。此处就将其汇总,希望能够对有兴趣的读者有用!阅读全文
posted @ 2017-09-13 22:17 Edison Chou 阅读(352) 评论(3) 编辑
摘要: 虽然目前计算机编程语言有好几百种,但有时人们还是希望用一些简单的语言来实现特定的操作,只需要向计算机输入一个句子或文件,就能按照预定的文法规则来对句子或文件进行解释。例如,我们想要只输入一个加法/减法表达式,它就能够计算出表达式结果。例如输入“1+2+3-4+1”时,将输出计算结果为3。像C++,Java或C#都无法直接解释类似这样的字符串,因此用户必须自定义一套文法规则来实现对这些语句的解释,即设计一个自定义语言。如果所基于的编程语言是面向对象语言,此时可以使用解释器模式实现自定义语言。阅读全文
posted @ 2017-09-12 23:07 Edison Chou 阅读(121) 评论(0) 编辑
摘要: 我们都用过QQ,它有两种聊天方式:一是私聊,二是群聊。使用QQ群,一个用户就可以向多个用户发送相同的信息和文件,从而无需一一发送,节省大量时间。通过引入群的机制,极大地减少系统中用户之间的两两通信,用户与用户之间的联系可以通过群的机制来实现。在有些软件中,某些类/对象之间的相互调用关系错综复杂,类似于QQ用户之间的关系,此时,特别需要一个类似“QQ群”一样的中间类来协调这些类/对象之间的复杂关系,以降低系统的耦合度。因此,一个设计模式因此诞生,它就是中介者模式。阅读全文
posted @ 2017-09-11 00:04 Edison Chou 阅读(93) 评论(0) 编辑
摘要: 我们都用过电视机遥控器,通过它我们可以进行开机、关机、换台、改变音量等操作。我们可以将电视机看做一个存储电视频道的集合对象,通过遥控器可以对电视机中的频道集合进行操作,例如返回上一个频道、跳转到下一个频道或者跳转到指定的频道等。遥控器的出现,使得用户不需要知道这些频道到底如何存储在电视机中。在软件开发中也存在类似于电视机一样的类,他们可以存储了多个成员对象(元素),这些类通常称为聚合类(Aggregate Class),对应的对象称为聚合对象。为了更加方便地操作这些聚合对象,同时可以很灵活地为聚合对象增加不同的遍历方法,也需要类似于电视机遥控器一样的角色,可以访问一个聚合对象中的元素担忧部需要暴露它的内部结构,这就是我们需要学习的迭代器模式。阅读全文
posted @ 2017-09-03 19:29 Edison Chou 阅读(100) 评论(0) 编辑
摘要: 相信每个人都有后悔的时候,但是人生并无后悔药,有些错误一旦发生就无法再挽回,有些事一旦错过就不会再重来,有些话一旦说出口也就不可能再收回,这就是人生。为了不让自己后悔,我们总是需要三思而后行。这里我们要学习一种可以在软件中实现后悔机制的设计模式—备忘录模式,它是软件中的“后悔药”。阅读全文
posted @ 2017-08-23 23:51 Edison Chou 阅读(166) 评论(0) 编辑
摘要: 在生活中,我们装修新房的最后几道工序之一是安装插座和开关,通过开关可以控制一些电器的打开和关闭,例如点灯或换气扇。在购买开关时,用户并不知道它将来到底用于控制什么电器,也就是说,开关与电灯、换气扇并无直接关系,一个开关在安装之后可能用来控制电灯,也可能用来控制换气扇或者其他电器设备。相同的开关可以通过不同的电线来控制不同的电器。在软件开发中也存在很多与开关和电器类似的请求发送者和接受者对象,例如一个按钮,它可能是一个“关闭窗口”请求的发送者,而按钮点击事件处理类则是该请求的接受者。为了降低系统的耦合度,将请求的发送者和接收者解耦,可以使用一种被称为命令模式的设计模式来设计系统。阅读全文
posted @ 2017-08-13 23:15 Edison Chou 阅读(341) 评论(0) 编辑
摘要: 俗话说条条大路通罗马,很多情况下实现某个目标地途径都不只一条。在软件开发中,也会时常遇到这样的情况,实现某一个功能有多条途径,每一条途径都对应一种算法。此时,可以使用一种设计模式来实现灵活地选择解决途径,也能够方便地增加新的解决途径。阅读全文
posted @ 2017-08-06 17:09 Edison Chou 阅读(400) 评论(0) 编辑
摘要: 在现实生活中,很多事情都需要经过几个步骤才能完成,例如请客吃饭,无论吃什么,一般都包含:点单、吃东西、买单等几个步骤,通常情况下这几个步骤的次序是:点单->吃东西->买单。在这3个步骤中,点单和买单大同小异,最大的区别在于第2步-吃什么?吃面条和吃满汉全席可大不相同。在软件开发中,有时候也会遇到类似的情况,某个方法的实现需要多个步骤(类似于“请客”),其中有些步骤是固定的,而有些步骤则存在可变性。为了提高代码复用性和系统灵活性,可以使用一种称之为模板方法模式的设计模式来对这类情况进行设计。阅读全文
posted @ 2017-07-31 22:15 Edison Chou 阅读(153) 评论(0) 编辑
摘要: 在患者就医时,医生会根据病情开具处方单,很多医院都会存在以下这个流程:划价人员拿到处方单之后根据药品名称和数量计算总价,而药房工作人员根据药品名称和数量准备药品,如下图所示。在软件开发中,有时候也需要处理像处方单这样的集合对象结构,在该对象结构中存储了多个不同类型的对象信息,而且对同一对象结构中的元素的操作方式并不唯一,可能需要提供多种不同的处理方式。在设计模式中,有一种模式可以满足上述要求,其模式动机就是以不同的方式操作复杂对象结构,该模式就是访问者模式。阅读全文
posted @ 2017-07-30 20:06 Edison Chou 阅读(375) 评论(1) 编辑
摘要: 在日常生活中,交通信号灯指挥者日益拥挤的城市交通。红灯亮,汽车停止;绿灯亮,汽车继续前行;在这个过程中,交通信号灯是汽车的观察目标,而汽车则是观察者。随着交通信号灯的变化,汽车的行为也会随之变化,一盏交通信号灯可以指挥多辆汽车。在软件系统中,有些对象之间也存在类似交通信号灯和汽车之间的关系,一个对象的状态或行为的变化将会导致其他对象的状态或者行为也发生改变,它们之间将产生联动,正所谓牵一发而动全身。为了更好地描述对象之间存在的这种一对多的联动,观察者模式应运而生。阅读全文
posted @ 2017-07-27 00:22 Edison Chou 阅读(226) 评论(0) 编辑
摘要: 相信大家都玩过类似于“斗地主”的纸牌游戏,某人出牌给他的下家,下家看看手中的牌,如果要不起,则将出牌请求转发给他的下家,其下家再进行判断。一个循环下来,如果其他人都要不起该牌,则最初的出牌者可以打出新牌。在这个过程中,纸牌作为一个请求沿着一条链在传递,每一位纸牌的玩家都可以处理该请求。在设计模式中,也有一种专门用于处理这种请求链式的模式,它就是职责链模式。阅读全文
posted @ 2017-07-23 23:36 Edison Chou 阅读(498) 评论(0) 编辑