all izz well

倘若上帝真不掷骰子的话,那么从一开始上帝那一推开始,宇宙的前一状态已经决定了后续的状态,一切都沿着设计好的优雅公式不断推演。

过去一年,经历了太多。考上了研究生,一起在考研教室门口等开门的那个小小的女生成了最特殊的那个人,离开了兰苑8栋302,暑假在乌鲁木齐呆了一个月,研究生开始各种不适应,第一学期最后居然莫名其妙少了一门课的成绩,有时突然就觉得未来一片模糊。好在,最终就像3 idiots里Rancho经常说的那句一样,all izz well。

事情耐下心来一件一件做,总能做完的。

上周,去单位签实习合同,接着回学院一个老师接一个的签字,最后盖章;找导师,按实习工作定好了论文的方向。明天就要开始在富士通的实习了,也算是一个新的开始了吧。

发现自己现在越来越不会写文章了,随便乱写这么几句,权当随笔。

morosini R.I.PR.I.P

2012 2.14 [V-Day]

记得高中有一年学校的元旦表演上,有一个名为V-Day乐队的节目,那时还分不清吉他和贝司的我,只记得他们翻唱了Coldplay的Yellow,另外几首歌已经完全记不得了。翻唱的肯定不算上佳。我记得那天是和现在差不多阴冷的下雨的下午,在那个小小的体育馆,我们席地而坐,盯着他们挂在墙上的简陋海报,估计在想着老陈元旦的作业。

后来晓得了V-Day发展的不错,现在已经是南京很有名的英式独立摇滚乐队(http://site.douban.com/vday/)。大三的南邮吉协晚会上,在南邮的大活里,又见到了V-Day(其中一员),我想到了高中时的时光。

今天是2.14,Valentine's Day,我在上课的时候突然就想到了以前的生活以及下次不知什么时候会出现的V-Day。

 

敏捷软件开发宣言

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on
the right, we value the items on the left more.

我们一直在实践中探寻更好的软件开发方法,
身体力行的同时也帮助他人。由此我们建立了如下价值观:

个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划

也就是说,尽管右项有其价值,
我们更重视左项的价值。


2011.12.6

/**
* @author zhangyan
*
*第一个设计模式"策略模式Strategy Pattern"
*Defines a family of algorithms,encapsulate each one,
*and makes them interchangeable. Strategy lets the algorithm vary
*independently from clients that uses it.
*
*Three Design Principles
*#1. Identify the aspects of your application that vary and
*    separate them from what stays the same.
*#2. Program to an Interface, not an implementation.
*#3. Favor composition over inheritance.
*/
public abstract class Duck {

	FlyBehavior flyBehavior;
	QuackBehavior quackBehavior;

	public Duck(){}
	public abstract void display();
	public void performFly(){
		flyBehavior.fly();
	}
	public void performQuack(){
		quackBehavior.quack();
	}

	public void swim(){
		System.out.println("All ducks float, even decoys!");
	}

	public void setFlyBehavior(FlyBehavior fb){
		this.flyBehavior=fb;
	}

	public void setQuackBehavior(QuackBehavior qb){
		this.quackBehavior=qb;
	}
}

2011.12.4

一个周末又这么匆匆过去,下午在南师仙林校区的那片起霞坡上(据说又名情人坡)坐着晒太阳的时候,GF说我有时候笑得会像一个天真的孩子。不管怎样,两个人在一起的时候真的很开心。

晚上匆匆搞定软件质量保障的大作业,这周的本科生作业还积压了一些没改完,拖延症还是很严重啊。

这周五要和GF回家见她父母了~囧又有点期待的说。

2011.11.30

今天上了邵栋老师的《设计模式》课,对于本科专业是CS的,又没有做过什么项目的我来说,是很有益处的。老实说,至今我对于OO的概念还是一直半解,也只能笼统地说出封装,继承和多态这三个特点。

今天课堂学到的东西

两个原则

  1. Encapsulate what varies.
  2. Program to an interface, not an implementation.
思考下面两段代码的区别和优劣

面向实现

Dog d = new Dog();
d.bark();

面向接口

Animal animal = new Dog();
animal.makeSound();

添砖加瓦 1.0

将博客的favicon给设置好了,方法是在主题的header.php中的<head>和</header>之间加上<link rel="shortcut icon" href="/favicon.ico"/> ,并且将准备好的图标文件(favicon.ico)放到根目录下。 现在在浏览器标签中看本博客的图标应该是可爱的pacman啦 : )

见上图中行号为25行的那一行

小气鬼

和GF相处有一段时间,感情一直很好,但有时还是会有点小脾气什么的,今天在mind hacks本来想去看这篇“康托尔、哥德尔、图灵——永恒的金色对角线(rev#2)”结果看到了另外一篇文章,其中一些文字让我很有感触,讲的是《老友记》里面R&R之间吵架的事情,正好我也看了好几遍《老友记》,文章摘录如下:

  • 不使用“利益共同体”假设:对于 Ross 来说,他的期望是和 Rachel 共进晚餐,这个期望没有得到满足。于是 Ross 的个人利益是损失的。对于 Rachel 来说,她当然也期望和 Ross 共进晚餐,但是她认为更重要的是工作,况且只是延迟一个晚餐。权衡之后她认为应该工作为先。对她来说,虽然有所损失,但两害相权取其轻,她的总体收益仍然是正的。OK,这就是说 Ross 不满意,Rachel 是满意的。换言之如果他们共进晚餐了,那么 Ross 是满意了,但 Rachel 就不满意了。总有一个人会不满意。一旦每次争端都会有人不满意,结果就是日积月累,最后在一点爆发出来。然而,如果我们换一种假设,就能让双方都满意,而且心甘情愿地意见一致(当然,前提是你得认可以下的态度)。
  • 这个假设就是,在计算损益的时候将双方的利益看成一个整体:这时对于 Ross 来说,和 Rachel 共进晚餐能够得到短期情绪收益,但会影响工作——严格来说是影响 Rachel 的工作,但关键在于这里我们假设 Rachel 的工作就是 Ross 的工作(利益是一个整体):前一种情况下 Ross 感觉到共进晚餐对自己没有损失,但如果将 Rachel 的利益也归纳进来,Ross 就会认为共进晚餐是有损失的,这个损失就是影响 Ross/Rachel 的工作。在这个考虑之下, Ross 便会主动两害相权取其轻,放弃晚餐。

联想到自己有时候发脾气,也往往没有站在GF的角度去思考问题,总是认为什么什么都是理所应当的,有时候事后想想才发现自己的小孩子一般的小气,假如事前就能换位思考的话,就不会有那些不愉快了。