涛's profile秋叶无痕PhotosBlogLists Tools Help
May 26

毕业十年:软件是饭碗,爱拼才会赢!(转)

               

同宿舍的哥们打电话过来,邀请一起参加大学毕业十年的同学聚会,才猛然意识到毕业十年了,心里莫名地一动,似有所感,似有所悟,人生能有几个十年?十年了,我们做了些什么?我们在做什么?我们还要做什么?我们成功了吗?什么是成功?…….太多太多的问号,刹那间涌现心头,无法阻挡,无处躲藏,确确实实,那么多年了,无论在学校里、家里、公司里,还是在朋友圈里,我们总无法逃避这些问题,周围的人总喜欢将我们比来比去,于是我们感觉好累好压抑,我们好象都不是在为自已活着, 我们一而再再而三地彷徨、奋斗、思考……

 

毕业十年,我都是做软件技术的,从软件开发到软件管理到软件销售到软件企业管理,我的十年都与软件有关,甚至我的老婆也是搞软件测试的,我的整个世界都充满了软件,我的创业也是从软件开始,第一次失败了,第二次重来,还是软件,就是现在的FasterSoft,它在稳定发展着,我不知道它能走到什么地方,但我知道自已会一直坚持下去,因为除了软件,我一无所有,除了技术,我一无所长……

 

毕业十年,我是一个从农村里爬出来的幸运儿,现在我能用软件技术在这座城市里立足,我已经非常知足了,我从不苛求人们眼中的成功,相比我那些还在农村里垦田种地放牛养猪的小学同学们,我觉得自已在某些方面已经成功了,因此在我抚摸着键盘,敲出一行一行代码的时候,我的心里充满了喜悦与幸福,我深爱着这些代码,深爱着这些代码编译成的软件,并相信一句话:“落后并不可怕,可怕的是不再追赶,失败并不可怕,可怕的是不再奋起,别人睢不起自已并不可怕,可怕的是自已瞧不起自已”……

 

毕业十年,我需要总结一下,为了能留下点什么,也为了让未来的路更加好走。

 

一.做人第一,做事第二

   

这是阿蒙的一贯原则,实际上很多人也都知道这么一个原则,但最重要的是我们能否一直坚持下去。在这个物欲横流的社会,能真正做到这一点的人似乎越来越少了,有的人为了达到目标而不择手段,有的人压根不知如何做人,一切以自我为中心,自私自大自狂,我们有时不得不面对这种人,我们能做的是保护好自已,同时避免污染自已。另一方面,我也将这个原则应用到FasterSoft的管理当中,一个员工即使是技术再厉害,能力再强,业绩再突出,但如果在做人方面出了问题,比如勾心斗角,调拔离间,没有责任感,同事关系紧张,以自我为中心等,那么我也会痛下决心,将其清除。

 

二.孜孜不倦,坚持不懈

 

这一点讲的是一种精神,这种精神在我的很多BLOG文章里都反复提起,它对我而言非常地重要,我自认为自已从来都不是那种聪明伶俐的家伙,我所就读的大学院校也毫不起眼,也没有什么人看好过我的未来,我自已其实也不知道我未来能做什么以及做到什么程度,但我有两点是可以看得到并做得到的,即勤奋刻苦和持之以恒,我相信“勤能补拙”、“业精于勤”,“坚持就是胜利”,我将这些当作自已的座右铭,在艰难困苦、失败挫折时,我总坚信能冲破一切,我觉得只要拥有这两种精神,即使我无法达到人们认为的成功,我也无怨无悔,实际上从我本人的性格来说,我也极少奢望成功,也较少去想象成功的模样,我一直以来的追求就是寻找一份自已喜欢的工作,然后用“勤奋+坚持”将它做好,其他的就顺其自然。

 

三.目标明确,行动迅速

 

这些字眼有点象政府官员的腔调,如果你有兴趣,你可以去阅读一些政府官员的讲话稿,我想类似的字眼会很多,呵呵,并不是说这些字眼不好,而是它们太空洞,太虚假,你可以不停地说,但说后你做不做得到,那又是另一回事。在我们的一生中,我们在不同的阶段不同的场合会制定很多很多的目标,小学时的目标是考上重点初中,初中时的目标是考上重点高中,高中时的目标是考上重点大学,大学时的目标是毕业后在重点企业找个重点工作,工作后的目标就变得越来越多,比如想找个女朋友恋一下爱,想学好某一门技术,想升官发财,想创业,想结婚,想有个宝宝,想孝顺父母,想报效祖国……无可置疑,这是常人的目标与道路,我们中的大部分人可能都是这么想这么做的,天才偏才庸才毕竟是少数,更多的人都是平平淡淡的,更多的生活都是平平稳稳的,阿蒙也一样,毕业十年,再回想过往的这些目标,已经实现了70%左右,就非常地知足与快乐,我想最重要的一点就是行动迅速,目标的设定是简单与快速的,但关键是你的行动是否迅速与持续,我们不能做“语言的巨人行动的矮子”,我们需要围绕着我们的目标踏踏实实地奋斗到底,尽管达到目标的道路是多么地曲折与艰辛,尽管我们努力了但不一定成功,但我们永不放弃坚持到底。

 

四.虚心学习,厚道做人

 

每一个人都有自已的优点缺点,因此每一个人都可以成为别人学习的对象,谦虚是一种美德,无论面对什么样的人,我们都能保持一种虚心学习的态度,想方设法从对方那里学到好的东西,我一直以来都非常佩服我的母亲,她虽然目不识丁,但她在农村里可以将一头又瘦又弱的小猪养成一头又胖又壮的大猪,这是一件非常了不起的事情,在这期间她所付出的心血与所倾注的爱是漫长与巨大的,每到开学时,那头可爱的猪就成了我学费的重要来源,看着猪被卖掉或宰杀,母亲都很伤感地流泪,我也能感受到母亲对我的爱是远远超过对那头猪的爱,因此我会更加地努力学习……同时,从小到大,母亲的纯朴、善良、坚强、勤劳也深深地影响着我,我想一个人最大的财富并不是你现在拥有什么样的资产,而是你拥有什么样的性格与品质。

 

五.学会感恩,善待苦痛

 

感恩是一种生活态度,是一份铭心之谢。我们都应该学会感恩。当我们呱呱坠地来到这个世界,什么都还没来得及做的时候,他就已经开始享受前人赋予的一切成果了。生活中,我们每天享受阳光、蓝天、白云以及清洁的环境清新的空气,我们要感谢自然界,感谢那些辛勤工作的清洁工作者;工作中,我们每天坐在明窗净几的办公室里,敲打着键盘,编着代码,我们要感谢公司,感谢同事……所有这些,我们都应感谢。学会感恩,就会懂得尊重他人,发现自我价值。人生漫长,我们难免失败,难免挫折,有时甚至天灾人祸,面对苦痛,面对苦难,我们需要坚强不屈,需要克服困难,需要勇往直前,我们要从苦痛中奋起,从苦难中重生,我们会变得更加坚强更加不可战胜!

 

 

毕业十年,回忆过去的点点滴滴,无论喜怒哀乐酸甜苦辣,都是那么地令人感动,因为那是自已亲自走过的道路,辉煌也好,平淡也好,顺利也好,曲折也好,都是真实的、生动的、坚定的……

 

毕业十年,我们学会珍惜,珍惜亲情,珍惜友情,珍惜工作,珍惜现在所拥有的一切,我们学会了感恩,感恩社会,感恩父母,感恩老师,感恩公司,感恩所有与自已相关的人与事……

 

毕业十年,正值祖国多事之秋,一月的雪灾,三月的暴乱,四月的列车相撞,五月的地震,但我们看到了中国人的团结、坚强与友爱,看到了社会各界的互助与互爱,是的,面对灾难,我们的眼里充满了泪水,但透过泪光,我们看到了希望,中国人永远都不会被打倒,面对各种各样的艰难险阻,我们总能坚持不懈勇往直前。

April 09

日报/4/10/2008

       
                          在c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32()四种转换的区别

1、(int)是一种类型转换;当我们从int类型到long,float,double,decimal类型,可以使用隐式转换,但是当

我们从long类型到int类型就需要使用显式转换,否则会产生编译错误。
2、int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。
如果字符串为空,则抛出ArgumentNullException异常;
如果字符串内容不是数字,则抛出FormatException异常;
如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;
3、int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0
4、Convert.ToInt32()是一种类容转换;但它不限于将字符串转为int类型,还可以是其它类型的参数;
比较:
Convert.ToInt32 参数为 null 时,返回 0;
int.Parse 参数为 null 时,抛出异常。

Convert.ToInt32 参数为 "" 时,抛出异常;
int.Parse 参数为 "" 时,抛出异常。

Convert.ToInt32 可以转换的类型较多;
int.Parse 只能转换数字类型的字符串。

 

                                      关于对象直接量(JS第四版50页3.5.2)

       定义对象直接量的语法,使你能创建对象并定义它的属性。对象直接量由一个列表组成,列表元素用冒号分隔的属性/值对,元素之间用逗号隔开了,整个列表包含在花括号之间。For Exemple:var point = {x:2.3,y:-1.2}; 对象直接量也可以嵌套,例如:var rectangle = { upperLeft:{x:2,y:2},lowerRight:{x:4,y:4}};  最后说明的是:对象直接量中的属性值不必是常量,它可以是任意的JavaScript表达式。  例如 EDoc2里面的:

/**
 * Copyright (c) 2007 XXXX.Crop. All rights reserved.
 * @Author dxh
 */

// EDoc2.Department
JueKit.Type.registerNamespace("EDoc2");

EDoc2.Department = JueKit.Type.createClass("EDoc2.Department", null,
{
 ctor : function(data)
 {
  this._data = data;
  this.isChildrenDepartmentsLoaded = false ;
  this.isUsersLoaded = false;  
  //var dvDeptUser = new EDoc2.DepartmentUserDataView(this);
//  this._defaultView = dvDeptUser;
 },
 
 get_defaultView : function()
 {
  return this._defaultView;
 },
 // IDataRow Members
 getColValue : function(name)
 {
  if(name == "id")
  {
   return this._id;
  }
  if(name == "type")
  {
   return EDoc2.MemberType.department;
  }
  return this._data.loginName;
 },
 get_childDepartmentLoaded : function()
 {
//  if ( this.isChildrenDepartmentsLoaded )
//  {
//   return true;
//  }
  if(!this._departments)
  {
   // 如果没有加载直接返回false
   return false;
  }
  
  return true;
  // 否则判断缓存是否过期
  if(new Date() - this._tmFoldersLoad > EDoc2.OrgnizationClient._cacheExpired)
  {
   return false;
  }
  return true;
 },
 
 get_childUsersLoaded : function()
 {
//  if ( this.isUsersLoaded )
//  {
//   return true ;
//  }
  if(!this._users)
  {
   // 如果没有加载直接返回false
   return false;
  }
  return true;
  // 否则判断缓存是否过期
  if(new Date() - this._tmFilesLoad > EDoc2.theOrgMng._cacheExpired)
  {
   return false;
  }
  return true;
 },
 
 notifyDepartmentsLoad : function(departments)
 {
  this._tmFoldersLoad = new Date();
  this._departments = [];
  
  var department;
  for(var i=0; i<departments.length; i++)
  {
   department = EDoc2.theOrgMng._departments[departments[i].id];
   
   if(department)
   {
    department._data = departments[i];
   }
   else
   {
    department = new EDoc2.Department(departments[i]);
    EDoc2.theOrgMng._departments[department._data.id] = department;
   }
   this._departments[this._departments.length] = department;   
  }
 },
 
 notifyUsersLoad : function(users)
 {  
  this._tmFilesLoad = new Date();
  this._users = [];
  
  var user;  
  for(var i=0; i<users.length; i++)
  {   
   user = EDoc2.theOrgMng._users[users[i].id];
   
   if(user)
   {
    user._data = users[i];
   }
   else
   {
    user = new EDoc2.User(users[i].id,users[i]);
    EDoc2.theOrgMng._users[user._data.id] = user;
   }
   this._users[this._users.length] = user;
  } 
 },

 loadChildren : function(loadType, cbFunc, oScope)
 {
  // 如果不指定加载的类型,默认加载部门
  loadType = parseInt(loadType);

  if(!loadType)
  {
   loadType = EDoc2.LoadChildrenType.loadDepartments;
  }

  // 如果已经加载过部门,则不再加载
  if(this.get_childDepartmentLoaded())
  {
   loadType &= ~EDoc2.LoadChildrenType.loadDepartments;
  }
  // 如果已经加载过用户,则不再加载
  if(this.get_childUsersLoaded())
  {
   loadType &= ~EDoc2.LoadChildrenType.loadUsers;
  }
  // TODO:职位
  
  if(loadType)
  {
   var func = function(text)
   {
    this.__cbLoadChildrenS(text);
    cbFunc.call(oScope, this);
   };
   EDoc2.theOrgMng.postBack("LoadDepartmentChildren", {deptId : this._data.id, loadType : loadType}, func, this);
  }
  else
  {
   cbFunc.call(oScope, this);
  }
 },
 
 __cbLoadChildrenS : function(text)
 {
  var result = text.toObject();
  
  var loadType = 0;
  if(result.departments)
  {
   loadType |= EDoc2.LoadChildrenType.loadDepartments;
   this.notifyDepartmentsLoad(result.departments);
   
  }
  if(result.users)
  {
   loadType |= EDoc2.LoadChildrenType.loadUsers;
   this.notifyUsersLoad(result.users);
   
  }
  this.isChildrenDepartmentsLoaded = true ;
  this.isUsersLoaded = true;   
  EDoc2.theOrgMng.notifyChildrenDepartmentLoaded(this, loadType);
 }
});

JueKit.Type.extend(EDoc2.Department.prototype, JueKit.Collection.LinkedListNode.prototype);

 

还有 剩余 (1) interface 和 class的区别的问题
(2) 复习继承的概念  C++支持多重继承  JAVA和C#不支持

DSC03760

April 02

任何人都会变老,但不是每个人都会成长

                                                                                    
                                                                                     看了这个故事,忍不住想与TX们一起分享:

    “任何人都会变老,但不是每个人都会成长”

        “我们不是因为年老而停止玩乐,我们是因停止玩乐才会变老。”

开学第一天,教授自我介绍后,要每位同学主动去结交一位新朋友。当我站起来环视四周时,有人轻轻拍我的肩膀。 我转过头,看见一位满脸皱纹、个子矮小的老妇人对着我微笑,那笑容光亮璀灿。 她说:“嗨!帅哥,我叫萝丝,今年87岁。我可以抱你一下吗?”我笑起来,热切的答道:“当然可以。”她果真紧紧地将我抱个满怀。
   
我开玩笑的问她:“你年纪这么小,怎么就来上大学了?”她也调皮的回答道:“我准备来这钓个金龟婿,生几个孩子,然后退休去云游四海。”
    “此话当真?”我明知故问。我很好奇,到底是何动机,促使她年届古稀,还来上大学。
    她告诉我说:“我一直梦想要受大学教育,如今终于得偿宿愿。”
   
下课后,我们散步到学生联合大楼,两人分享了巧克力奶昔。从此我们成了挚友。
   
往后三个月的每一天,我们总是一起离开教室,天南地北的聊个没完。她像一部“时光机器”,将智慧和经验与我分享,而我总是听得津津有味。
   
一学年下来,萝丝成了学校鼎鼎大名的人物。不论走到那里,她总能轻易的结交到新朋友。她经常打扮得漂漂亮亮的,陶醉在同学们对她的关注之中。
   
学期结束时,萝丝应邀到我们为足球队举办的晚宴中演讲。我永难忘怀当晚她赐予我们的珍贵礼物。

主持人介绍她给听众之后,她碎步走向讲台,正当要开始演讲时,她手中的讲稿不慎掉 落地上。有几秒钟时间她显得有点懊恼和腼腆,不过立刻就幽默的对着麦克风淡淡的说:“抱歉,我最近老喜欢掉东西,刚刚我本想喝杯啤酒壮胆,却喝了威士忌,没想到那玩意儿简直要我的命。看来我是记不得事先准备的东西了,那我就讲最熟悉的事情吧。”
   
在大家的笑声中,她清了一下喉咙,然后开始说:

“我们不是因为年老而停止玩乐,我们是因停止玩乐才会变老。只有一种秘诀能使人青春永驻,快乐成功。 就是你们必须经常笑口常开,幽默风趣;你们必须时时怀抱梦想。当你们失去梦想时,你们就形同死亡。我们的周围有许多人像似行尸走肉,却不自觉。”
    “变老和长大之间有很大的差别。任何人都会变老,但不一定每个人都会长大。 长大的意思是,你必须不断在蜕变中找寻成长的机会而善加利用。 要活得无怨无悔:上了年纪的人,通常不会因做过的事后悔;却常因在年轻时,未曾去做自己想做的事而遗憾。只有心怀悔恨的人,会恐惧死亡。”
   
那年底,萝丝终于完成她的大学学业。 毕业后一星期,她在睡梦中安祥去世。超过两千名同学参加她的葬礼。 我们聚在一起,向这位言传身教的教导者致敬,我们永远记得:“只要下定决心,不管年纪多大都可以实现梦想”。

急事,慢慢的说;

大事,清楚的说;

小事,幽默的说;

伤害人的事,不能说;

开心的事,看场合说;

别人的事,小心的说;

自己的事,听听自己的心怎么说;

现在的事,做了再说;

未来的事,未来再说;

如果对我有不满意的地方,请一定要对我说。

& 和 | 的用法

       很丢人,居然连这个都忘记了,还是写下吧,不要以后又忘记了!是关于 & 位于 和 | 或者 的 用法。
       比如: 10 & 1  , 10的机器码是1010 , 1的机器码是0001,
        1010
      &0001   因为&是上下找相同的数字且为都为‘1’  然后再计算
   得出0000  所以结果为 0
同样1010
    &0010  结果就为2   ;因为在第二位都为1。而且有用法是判断 if(N&1) 的情况。
 
而 | 正好相反  是相加。DSC03736
March 26

e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item

              e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item的意思
2007-08-27 17:05

1.(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
----指触发对象的类型是DadaList里的基本行或是替换行(简单的说是DataList里的所有数据项内容)

2.e.Item.ItemType == ListItemType.Header -----指触发对象的类型是DadaList里的标题行的内容
进行判断以后,可以 对相应的数据对象进行操作

ListItemType 枚举    [C#]请参见
System.Web.UI.WebControls 命名空间 | DataGridItem.ItemType | DataListItem.ItemType | RepeaterItem.ItemType
要求
命名空间: System.Web.UI.WebControls

全部显示

指定列表控件中项的类型。
备注
ListItemType    枚举表示可以包含在列表控件中的不同项,例如 DataGrid、DataList 和 Repeater。典型的列表控件由包含此枚举所表示的元素的单元格组成。

成员
成员名称            说明
AlternatingItem    交替(从零开始的偶数索引)单元格中的项。它是数据绑定的。
EditItem     列表控件中当前处于编辑模式的项。它是数据绑定的。
Footer     列表控件的页脚。它不是数据绑定的。
Header     列表控件的页眉。它不是数据绑定的。
Item    列表控件中的项。它是数据绑定的。
Pager     页导航,显示定位到与 DataGrid 控件关联的不同页的控件。它不是数据绑定的。
SelectedItem     列表控件中的选定项。它是数据绑定的。
Separator    列表控件中项之间的分隔符。它不是数据绑定的。

(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
是判断项是控件内容中的项或交插项
“e.Item.ItemType == ListItemType.Header”
是判断项是不是控件的表头

March 10

ref/out

                                                C#中ref和out的区别  
最近在许多论坛上看到关于了ref和out的区别,发现解释的都不非常理想。
  我想抄写点官方的解释,然后再来我自己的解释

//如下

方法参数上的 out 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。
当希望方法返回多个值时,声明 out 方法非常有用。使用 out 参数的方法仍然可以返回一个值。一个方法可以有一个以上的 out 参数。
若要使用 out 参数,必须将参数作为 out 参数显式传递到方法。out 参数的值不会传递到 out 参数。
不必初始化作为 out 参数传递的变量。然而,必须在方法返回之前为 out 参数赋值。
属性不是变量,不能作为 out 参数传递。

         方法参数上的 ref 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。
若要使用 ref 参数,必须将参数作为 ref 参数显式传递到方法。ref 参数的值被传递到 ref 参数。
传递到 ref 参数的参数必须最先初始化。将此方法与 out 参数相比,后者的参数在传递到 out 参数之前不必显式初始化。
属性不是变量,不能作为 ref 参数传递。

//上面的理解起来非常不好理解。下面我说说我自己的看法。

首先:两者都是按地址传递的,使用后都将改变原来的数值。很多人在论坛上解释说out是按数值传递,是错误的。简单的测试后可以知道out使用也能改变数值的,所以肯定是按照地址传递的。
其次:rel可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所以你必须初始化一次。这个就是两个的区别,或者说就像有的网友说的,rel是有进有出,out是只出不进。经典!!!

March 09

有车一族

         今天买车了,好贵!以后就能天天骑车上班了!哈哈!

曾经,爱,悄悄来,静静走

              曾经爱.悄悄来.静静走...


   我闭上眼睛``` 努力微笑``` 以为还可以看见幸福的样子......

支起我们的耳朵```来聆听爱的声音``` 当她的脚步响起```准备好我们的美丽```

让她```舍不得离去```

 

如果天上的星空一千年才会出现一次``` 我不会因为匆匆赶路```

忽视了这抬头即见的美丽``` 如果这是相爱的人在一起的最后一天```

我就不会在出门前忘了吻你``` 对你说声我爱你```

还可以有思念的人和思念你的人``` 多好```

 

曾经苦苦找寻那么久``` 原来幸福就在你我身边``` 走过、错过、爱过、痛过、苦过```

也幸福过```

 

亲爱的``` 下辈子如果你还能记得我``` 我不会再让你失望``` 爱情也许就是这样```悄悄来```又静静走```

我错过的你```是否还记得起不懂事的我```

March 04

笑话一则

     亲爱的技术支持:
    去年我把我的7.0版女友程序升级成1.0版太太程序,过了不久我就注意到,新程序产生了意料之外的孩子程序,占用了很多的空间和宝贵的资源。
  此外,1.0版太太程序自动安装到所有其他程序上,并监测其他程序的运行。比如,扑克之夜10.3版,足球5.0版,狩猎和钓鱼7.5版,赛车3.6版。
  我不能在有1.0版太太程序做背景的情况下运行我喜欢的程序。我想过回到7.0版女友程序,但是卸载对1.0版太太程序不起作用。请救救我吧!
多谢了
 
困境中的使用者。。。
 
回复
 
亲爱的困境中的使用者:
    这是非常普遍的一个问题,是男人们经常抱怨的。
很多人在把7.0版女友程序升级为1.0版太太程序时,以为这不过是个娱乐程序。1.0版太太程序是个操作系统,她的设计者把她设计成要操作一切程序。一旦系统安装,就不可能删除,也不可能恢复成7.0版女友程序,也不能从系统清除程序文件。
    你不可能回到7.0版女友程序,按照1.0版太太程序的设计,她是不允许这样做的.你的1.0版太太程序是在孩子支持下的。我建议你保留1.0版太太程序,为了改善局面,减轻程序的不良运行,建议在背景中加入“是 亲爱的”  最好的办法是键入C:/抱歉!因为你想要系统恢复正常运作,最终你总得键入“抱歉”。
    1.0版太太程序是很了不起的一个程序,不过她的维修费用也很高。她还捎带了几个支持程序,比如清扫3.0版,烹调1.5版和付账单4.2版。
    不过你在运行这些程序时要十分小心。不当运行会导致系统启动程序中的NAG NAG 9.5。一旦发生这种情况,改进1.0版太太运行表现的办法是买些额外的软件,我推荐2.1版鲜花和5.0版钻石!
    警告!!!在任何情况下不要载入超短裙3.3版女秘书,这与1.0版太太完全不兼容,会对运行系统造成不可弥补的损害。
   祝你好运
   技术支持
 
February 27

郁闷~烦躁~平息

         真的是造化弄人,让我说什么好呢,很长一段时间内心情不是很好,最近才安定下来,晚上听到消息后,心情还是波动了好久好久,最后还是实在忍不住,打了个电话,总算,好很多了. 努力吧,加油吧,像不曾受伤一样!
         我真的真的第一次讨厌常州!
 

秋叶无痕

No list items have been added yet.
Photo 1 of 21