又是一年终结日,又是一年开始时。2012年相信每个人都有一个不一样的感悟,而对于我而言它确实是一个不折不扣的特殊纪年。在这一年,我结束了学业;在这一年,我顺利的进入工作;在这一年,我开始感悟社会;在这一年,我开始斟酌亲情;在这一年,我经历了末日重生。
学业结束,我不再是学生的身份。最起码不再是全日制上课的学生了。离开校园那一刻,确实有万分不舍,不舍那三年温馨的宿舍,不舍那三年的好兄弟,不舍那美丽的校园和那自由无拘束的心情。 继续阅读
又是一年终结日,又是一年开始时。2012年相信每个人都有一个不一样的感悟,而对于我而言它确实是一个不折不扣的特殊纪年。在这一年,我结束了学业;在这一年,我顺利的进入工作;在这一年,我开始感悟社会;在这一年,我开始斟酌亲情;在这一年,我经历了末日重生。
学业结束,我不再是学生的身份。最起码不再是全日制上课的学生了。离开校园那一刻,确实有万分不舍,不舍那三年温馨的宿舍,不舍那三年的好兄弟,不舍那美丽的校园和那自由无拘束的心情。 继续阅读
最近工作未正式进入开发,相对来说比较清闲,突然想起了Nginx,然而它大多时候都是和PHP一块出现的,相对于我们这些做Java常用的Tomcat用到的比较少。前段时间看了部分负载均衡的技术文摘,想到了用Nginx做反向代理,将Tomcat集群归并起来有Niginx做代理进行访问的控制和转发的负载处理。
网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时候来自Web前端的压力,也能让人十分头痛。怎样将同一个域名的访问分散到两台或更多的机器上呢?这其实就是另一种负载均衡了,Nginx自身就可以做到,只需要做个简单的配置就行。 继续阅读
Common Closure Principle(CCP)– 共同封闭原则
一个包中所有的类应该对同一种类型的变化关闭。一个变化影响一个包,便影响了包中所有的类。一个更简短的说法是:一起修改的类,应该组合在一起(同一个包里)。如果必须修改应用程序里的代码,我们希望所有的修改都发生在一个包里(修改关闭),而不是遍布在很多包里。CCP原则就是把因为某个同样的原因而需要修改的所有类组合进一个包里。如果2个类从物理上或者从概念上联系得非常紧密,它们通常一起发生改变,那么它们应该属于同一个包。
CCP延伸了开闭原则(OCP)的“关闭”概念,当因为某个原因需要修改时,把需要修改的范围限制在一个最小范围内的包里。
51cto上看到一篇不错的总结性文章,关于软件设计原则的,这些原则,每一个程序员都应该了解。但是请不要教条主义,在使用的时候还是要多多考虑实际情况。其实,下面这些原则,不单单只是软件开发,可以推广到其它生产活动中,甚至我们的生活中。
Don’t Repeat Yourself (DRY)
DRY是一个最简单的法则,也是最容易被理解的。但它也可能是最难被应用的(因为要做到这样,我们需要在泛型设计上做相当的努力,这并不是一件容易的事)。它意味着,当我们在两个或多个地方的时候发现一些相似的代码的时候,我们需要把他们的共性抽象出来形一个唯一的新方法,并且改变现有的地方的代码让他们以一些合适的参数调用这个新的方法。
参考:http://en.wikipedia.org/wiki/Don%27t_repeat_yourself 继续阅读
最近在VBA的工作中挣扎了一段时间,真是感觉确实没有做Java爽快。或许是我使用不熟的缘故吧,好多需求没法使用现成的函数去实现,这点在Java里做的就比较好。举个简单的例子,数组去重。这点Java里的set就实现了这个功能,set里是没有重复数值的。可以遍历一下放进set取出后就是唯一的数据了。然而在VBA里面我并没有搜索到类似的函数。
为此费劲脑汁写个类似的功能函数,它类似于SQL里面的distinct。原理如下:
遍历数组的时候,在第三层循环里去查询当前值前面的所有值有没有重复项,有重复项就忽略当前值,没有重复项就使用当前值,你可以去存储,去调用都可以。
下面是一段类似代码,表现这个去重过程: 继续阅读
当我掀开季节的纱巾,清楚冬天已经悄然来临,你,是否也嗅到寒冷的气息?你的心是否也随着季节的变换而挂满寒霜?其实,你不知道,即便冬天将森林的美梦压迫成刺骨的冰凌,也无法冰冷我逐梦的温情。即使整个世界都变为凄冷的寒风,却也无法凄冷我寻你的痴情。积蓄了千年期盼啊,不怕悬崖戈壁,不管万里冰封,我不辞辛苦依然在将你苦苦寻觅。
今夜,我坐在心中最柔软的楼台,慢慢地化作你心上那滴清泪。
今夜,我用思念的情思编辑一本诗集,让那些美丽而感人的字句,在你洁白的心中复活。合上是别离,打开是相逢。