百年阿里 紧张&期待 很明白自己不太善于沟通,所以对这次百阿之旅带着紧张,对于较快融入团队并不是很有信心。但是也很期待,期待够能突破自己,发现自己新的可能,简单来说变得更 Open ,认识一些小伙伴。令人欣喜的是,这份期待没有被辜负~ 缘分 缘分真的是一个很神奇的东西,一群来自不同城市、不同部门、不同年龄的人组成了这么温暖、团结、活力的 1227 百阿班。很幸运来到 1227 ,很幸运来到 三生万物 ,很幸运遇到你们,遇见新的自己 ~ 感谢百阿让我遇到这么一群,有趣的、热情的、可...
oh-my-zsh主题体验
以前一直使用的 oh-my-zsh 的默认主题,这是因为一直找不到一款钟爱的主题,powerline 一开始看起来比较有科技感其实也不是很耐看,而且配置很麻烦啊。 后来想着干脆直接用 随机主题 好了,你永远不知道下次他会给你什么惊喜。 下面是在使用随机主题的时候看到的一些比较漂亮的一些主题,整理出来最后直接保留这些主题,那么再怎么 random 都是我喜欢的主题啦~ pygmalion-virtualenv.zsh-theme
RemoveNthNodeEndOfList-19
Given a linked list, remove the n-th node from the end of list and return its head. Example: 123Given linked list: 1->2->3->4->5, and n = 2.After removing the second node from the end, the linked list becomes 1->2->3->5. Not...
设计模式 - 装饰者模式
装饰者模式 本文转载自 屈定’s Blog 装饰者模式实际上是一直提倡的组合代替继承的实践方式,个人认为要理解装饰者模式首先需要理解为什么需要组合代替继承,继承又是为什么让人深恶痛绝. 为什么建议使用组合代替继承?面向对象的特性有继承与封装,但两者却又有一点矛盾,继承意味子类依赖了父类中的实现,一旦父类中改变实现则会对子类造成影响,这是打破了封装性的一种表现.而组合就是巧用封装性来实现继承功能的代码复用.举一个Effective Java中的案例,当前需求是为HashSet提供一个计数,...
设计模式 - 责任链模式
责任链模式 本文转载自屈定’s Blog 标准责任链模式责任链模式: 客户端发出的请求,客户端本身并不知道被哪一个对象处理,而直接扔给对象链,该请求在对象链中共享,由对象本身决定是否处理. 当请求被处理后该链终止.本质目的是把客户端请求与接收者解耦,但是解耦的太彻底了,只能让接收者一个个来看看是不是自己该处理的请求.标准的责任链模式一个请求只被一个对象处理,一旦处理成功后则链终止,请求不再被继续传递.标准的责任链模式并不是很通用,这种一对一模式大多场景可以用策略模式来代替,只有在客户端并...
设计模式 - 模板方法模式
设计模式–模板方法模式的思考 本文转载自屈定’s Blog 模板方法同样也是一种很实用的方法,目的是提高代码复用,并且统一大体的算法流程,比如一个一台电脑主机,定义好放置CPU,硬盘,内存等空位后,就形成了一个骨架,那么这个就是模板,具体的CPU,内存,硬盘是什么牌子型号则不需要考虑,这些是具体到业务中的实现类所负责的事情. 模板方法模式模板方法模式可以说是抽象类的一种特性,可以定义抽象(abstract)方法与常规方法,抽象方法延迟到子类中实现.因此标准的模板方法一般是一个抽象类+具体...
设计模式 - 策略设计模式
策略设计模式 本文转载自屈定’s Blog 策略模式是一种简单的设计模式,但是其在业务开发中是一种非常有用的设计模式.举个例子,当你的业务需要针对不同的场景(可以简单理解为枚举类),执行不同的策略时那么使用策略模式可以帮助你更好的写出低耦合与高可扩展的代码. 标准策略模式策略模式: 把具体的算法从业务逻辑中分离出来,使得业务类不必膨胀,并且业务与具体算法分离,便于扩展新算法.类图如下:使用策略模式往往策略上有着相似的输入参数以及输出结果,或者有一个公共的上下文,便于抽象出策略接口Str...
设计模式 - 适配器模式
设计模式–适配器模式的思考 本文转载自屈定’s Blog 个人认为适配器模式是一种加中间层来解决问题的思想,为的是减少开发工作量,提高代码复用率.另外在对于第三方的服务中使用适配器层则可以很好的把自己系统与第三方依赖解耦,降低依赖. 什么是适配器模式适配器模式: 将一个类的接口转换为客户所期望的另一个接口.适配器让原本接口不兼容的类可以合作无间.类图如下: Client: 调用方Target: 需要提供的新功能AdaptedObject: 系统中原本存在的类似本次需要提供的新功能的类A...
你写的代码,是别人的噩梦吗
你写的代码,是别人的噩梦吗 本文转自屈定’s Blog Frank,是来自阿里国际技术事业部的高级技术专家,从业十年,也是一位英语说到飞起的型男。今天他将与大家聊聊关于企业应用架构实践的话题。 从业这么多年,接触过银行的应用,Apple的应用,eBay的应用和现在阿里的应用,虽然分属于不同的公司,使用了不同的架构,但有一个共同点就是都很复杂。导致复杂性的原因有很多,如果从架构的层面看,主要有两点,一个是架构设计过于复杂,层次太多能把人绕晕。另一个是根本就没架构,ServiceImpl作...
设计模式 - 组合模式
设计模式–组合模式的思考 本文转载自屈定’s Blog 组合模式是一种抽象树形结构的模式,其在业务开发中也是一种很有用的设计模式,下面开始分析. 组合模式业务中有很多树形结构的表示,比如下面的目录结构 1234567-- 男装 -- 上衣 -- 品牌1 -- 品牌2 -- 裤子 -- 品牌1 -- 品牌3 针对男装可以认为其是树的根节点,上衣,裤子这种下面还可以有节点的称为树枝节点,品牌这种下面不再有分支的称为叶...