• 2010年07月05日

    忆爷爷 - [心情]

    我们所爱的人随时都有可能离我们而去,活着本身就是一个奇迹。

    爷爷已逝,记忆永存。

     

    7岁之前,爸妈在乡镇上班,跟着爷爷婆婆一起生活:

    ◆幼儿园,爷爷接我放学,途径文具店,看到最新玩具,想立即买下,爷爷没带多余现金,遂抵押手表,玩具带回家后,爷爷回到文具店补交货款

    ◆五六岁时,陪爷爷和朋友吃饭,席间,我用绳子拴住爷爷的腿到椅子腿上,不让他起来敬酒
    ...

  • 2009年02月15日

    活着之Fringe演义

    西方情人之节,宅男一日,日中,阅余华小说《活着》一部,看美剧《Fringe》数集,困之,恍惚入梦。
    偶见徐富贵,携家人,二喜、有庆、家珍、凤霞、苦根皆全,与予共食,予于富贵之左。
    予困之,徐翁之家人,或早或晚,俱已逝之,焉能共聚一堂?大不解也。
    徐翁见予惑,窃笑,耳语其详。席间众人,逝为真,然今日聚此,乃得一外夷老人助,施以奇器,方能往返于古今之中,携故人返。
    稍倾,囊中掏出数文,示予,实为穿越古今通关之文。与徐同喜,觥筹交错,庆团聚。
    忽闻牛声,循...
  •      昨晚和同事们在酒吧狂欢,回家倒头狂睡之后,睁开朦胧的睡眼,2009年已悄然来到。
         好久没为空间写点什么了,枕边放着笔记本,躺在床上,决定为新年的第一天写上一篇。
         2008,给我们带来了不少不好的回忆,天灾人祸。
         年初的雪灾、西藏事件,刚过去不久,汶川强震又在白天工作时间不期而遇, 当温总在北川中学高三临时教室黑板上写...
  • 2007年10月25日

    最不开心的生日

    人生走到今天,第26个生日到来的时候。却迎来了最不开心的一个生日。

    将近一年无休止的加班、枯燥乏味的工作。真为人生感到悲哀,还得为那可怜的一点工资而工作。

    现在办公室就我一个人了,剩下的工作估计要持续到凌晨2点钟。繁杂的流程、无聊又无成效的工作任务,简直让人作呕。精力即被消耗殆尽,越怕出错的时候就越容易出错。SHIT……

    今天还是生日,老婆也还在外面出差,晚上想找几个朋友吃吃饭也办不到,必须加班。

    一直想利用空余时间好好充充电,学习一下。可是现在,睁开眼就去公司,下班回家也就倒下就睡,人活着成了两点一线。真没意思。

    或许我真该重新为自己选择一条路子,或者换个环境了。期望27岁生日的时候我能快乐。

    ...
  • 2007年07月21日

    再进bus - [东说西说]

    很久没有来过这个家了,绝大多数的新文章都发表到了博客园的blog上。(http://heekui.cnblogs.com

    而且很多时候不想写一些心情上的事了,单是一些技术上的觉悟、技巧之类的随笔。

    老婆也在问我:怎么不像以前那样常写些东西了呢。我的解释是:在郁闷的时候、心情不好的时候才会有更多的感悟,如果开心了,生活优越了,让我感动的事也就越来越少。

    主观上的因素加上客观上的日复一日地加班,也就没有更多的时间静下心来思考些问题。很晚回到家时,小玩一会儿,已经进入深夜了。收拾完毕,躺在床上时,老婆也不在身边,自己随意地翻上几页书,常常灯也忘记关闭,便沉睡而去。一觉醒来时,天已大亮,一番忙碌,看上去类似的新的一天又开始了。好不容易到了周末,常常在周日还会伴随着一日加班。当然从节省家里空调电费的角度而言,无疑去办公室待着要节约不少电费,还能小赚一点加班费。

    从实而言,2007前半年的工作上干得也不是很顺心,自己的经验不足,但却委以重任。设计上出现不少漏洞。规范性、执行力上也做得不够。尽管整个项目组都存在这样那样的问题,但我的内疚感,一直围绕着我。成长是要付出代价的,但希望这个代价不会太大。

    当生活进入了死循环,便需要一个终止循环的条件。这个条件是什么呢?或许正是下个月老婆的归来。强烈地期待着,老婆,我爱你,请赐予我力量吧!

  • 2007年01月13日

    成都小雨、横滨晴

     帘外雨潺潺,“寒意”阑珊
        成都的小雨里夹着雪的未结晶体,凌晨时温度也曾降到0度左右。
        周六上午,十点半的样子。
        迷糊中手机短信声响了,“老公,起床了吗?”是远在横滨的老婆用popo发来的短信。起来吧,时间也不早了,还说上午去加一会儿班的,自己做了一下起与不起的思想斗争。一缕寒气从窗户缝隙里悄然袭进,浓浓的睡意即刻被拂去老远。
        打开电脑,启动popo,与老婆交流交流。
        “成都还是下雨,外面又很寒冷”
        “我们这还是大太阳,很好的天气”
        “……”
        老婆和同住的女生准备去超市买些菜,晚上做火锅。说了几句之后,她就下线了。
        室内没有烤火的设备,没有打开窗户,甚至窗帘也没拉开。小坐一会儿之后,手和脚都有点冷了。
        这时,表妹的QQ上线了。把上次他们婚礼的照片发送过去,然后就是煞有其事地讨论关于爱情、婚姻、家庭的话题。她前日与同事的一些谈话,搅得自己对有些事情看法有些迷糊了。于是我们交流了一会儿自己的观点。
        忽然也想晚上去吃顿火锅,电话约好友。可惜读研的好友要准备期末考试,要抓住每分每秒的复习。这年头还有这么重视期末考试的人,真是怪哉。
        烧开水,泡上一杯绿茶。早上起来时吃了一个苹果,喝了一些牛奶,肚子还没怎么饿。时间也有点晚了,这时去加班也没有什么成效。不若在家看看书,专业书籍、国家地理杂志、于丹的那本论语心语,村上的散文,还有一大叠书在那里等着我去宠幸。
        窗外,小雨还在不紧不慢地下着,只是与早先相比,稀疏了不少。横滨那边的艳阳天一定很暖和,老婆现在该是大包小包的拎着口袋,从超市返家了吧。
        
  •         下午上班时,听见窗外高昂的防空警报声。再次醒悟到今天可是9.18,国耻日。历史不能忘记啊……
            正在看MSDN2005的章节,正是委托的章节,看了那个计算图书馆中平装平均书价格的例子,理解一番之后,就想自己也试着来一个。以前在别人的博客上也看到过张嘎子炸鬼子的例子,当时囫囵吞枣,没有仔细理解。今天算是基本理解委托的意义了,于是按自己的理解也来了个张嘎子炸鬼子的示例,顺便纪念一下9.18了。


           假定鬼子在我抗日根据地扫荡,我英勇的人民奋勇反击,使用了地雷战的战术,炸得鬼子魂飞胆战。电影的一幕假定这样的:游击队员张嘎子在张家院子里埋下了地雷,几个鬼子进入了院子,埋伏在远处的张嘎子一拉弦,鬼子也就格屁了。

           我们需要三个角色(类):
           1、院子

    //院子
        class yard
        
    {
            
    //院子名
            public string yardName;

            
    //地雷
            public Bomb BombInYard;

            
    //鬼子
            public int JapaneseNumber;

            
    public yard(string Name)
            
    {
                yardName 
    = Name;
                Console.WriteLine(
    "院子:{0}", yardName);
            }


            
    //鬼子进去了
            public void JapaneseIn(int Number)
            
    {
                JapaneseNumber 
    = Number;
                Console.WriteLine(
    "院子进入了{0}个鬼子", Number);
            }

        }

            2、地雷

        //地雷
        class Bomb
        
    {
            
    //地雷爆炸
            public void DoBomb()
            
    {
                Console.WriteLine(
    "鬼子被炸死了!");
            }

        }

           3、(主角)张嘎子

        //张嘎
        class ZhangGa
        
    {
            
    public ZhangGa()
            
    {
                Console.WriteLine(
    "小游击队员张嘎子登场了");
            }


            
    //放置地雷
            public void SetBomb(yard yad)
            
    {
                Console.WriteLine(
    "{0}被放置了地雷", yad.yardName);
                yad.BombInYard 
    = new Bomb();
            }


     

            
    //拉弦

            
    public void PullFireLine(FireLine fire)

            
    {

                Console.WriteLine(
    "嘎子拉弦了");

                fire();

            }


        }

          4、接下来是不可忽略的另一个重要角色——导火索

        // 声明一个地雷导火索
        public delegate void FireLine();

          几位角色设置好了以后,好戏开场了。

        //电影
        class Movie
        
    {
            
    static void Main()
            
    {
                Console.WriteLine(
    "电影开始了");

                
    //主角 张嘎子 登场
                ZhangGa zg = new ZhangGa(); 

                
    //张家院子
                yard yardZhang = new yard("张家院子");

                
    //嘎子埋地雷了
                zg.SetBomb(yardZhang);

                
    //3个鬼子进了张家院子
                yardZhang.JapaneseIn(3);

                
    //张嘎子拉弦了
                zg.PullFireLine(new FireLine(yardZhang.BombInYard.DoBomb));
                
    //vs2005下上句可替换为下面这句
                
    //zg.PullFireLine(yardZhang.BombInYard.DoBomb);

                Console.WriteLine(
    "电影结束了");

                Console.ReadLine();
            }
     
        }

           执行效果:    

           各位看官,看懂上面的程序了吗?可以代码拷贝到vs2003里试试,如果是vs2005的环境,在电影类的main函数里,拉弦的方式也可改成代码里那种简单的写法,效果是一样的。 

         讲一讲自己理解的委托。委托即是,把委托方法对象作为参数,把一个类的方法连接在另一个类的某个方法里,以完成一件完整的事情,而在两个类里各自完成与自己相关的步骤。需要连接的方法,参数类型必须和委托方法对象类型一致。

        以上的例子,我把导火索作为一个委托方法对象(这里的委托方法有点特殊,没有设置委托方法对象的参数,如果有的话,地雷爆炸的方法的参数应该与此一致),把地雷爆炸的方法连接了张嘎子拉弦的方法里,嘎子作的动作当然只是拉弦,然后等待地雷的反应。只要不是假冒伪劣的地雷,地雷自己是知道怎么去爆炸的。所以,嘎子一拉弦,地雷也就爆了。伟大的抗日小英雄,勇敢的游击队员,坚强的革命战士,在这一刻,神灵附体了……

  • 2006年06月10日

    惊魂百老汇

    美国\百老汇\市政公园\

    奇怪四方小水井(有的清凉\有的混浊\有的加盖)

    公演\群众演员\变异\群狗追击\被吃\变成四方小水井

  • 症状:

    机器正在调试或允许IIS时,被异常中断服务(比如停电),然后再次IIS允许页面时,CPU资源占用100%.即使重新启动也无效。

    原因分析:

    发生中断时,IIS会写异常日志,但是此时写入了乱码,找成IIS一直写日志的死循环,耗尽了系统资源。找到系统路径\System32\Logfiles\W3SVC1 下当天的错误日志文件,即可看到以上内容。

    解决:

    删除 系统路径\System32\Logfiles\W3SVC1 下当天的错误日志文件,如:ex060425.log,然后重新启动IIS即可。

  •       很久没有动过笔了,手也变懒了。

          最近的工作任务较繁忙,回到家时一般都已十点以后。洗漱了,再看看书,上上网玩玩,时间很快就到了一点钟。身心疲惫,但第二天还得打足精神去上班,因为还有更加繁重的工作需要去做。

          周末时总喜欢挤出一天的时间来放松一下自己,好好地玩,好好地吃东西。前周六看过电视介绍琉璃场那边一家小店的竹笋鸡味道还不错,于是和女友及她妹妹欣然前往。三个人VS一只三斤多的鸡,经老板整治之后,合着芋头、竹笋满满的一大盆。一阵狼吞虎咽,还是需要把卷剩的残云打包回家,味道和分量可都是够量了。下次什么时候怀恋芋头、竹笋和鸡的混合菜肴时,还值得一去。

           春天花会开。前日又是周六,和女友的部门同事一起前往龙泉驿区书房村,欣赏迎着春风盛开的桃花。天气还不错,有一轮太阳挂在天上,可是整个上午到下午的好些时候,都只是微微地焕着红光,暖和但不炎热。书房村的桃花数量也是蛮多的,尽眼望去,一片绯红,红色的色带里还有大片大片的白花衬托,那是梨花或李花。油菜花也来凑着热闹,不时的在某些区域点缀着独有的嫩黄。整个村中的沟壑就是这样一片花的海洋,红、白、黄充满了整个视界。同事们娱乐的方式还是麻将、斗地主、喝茶聊天。平日紧绷的神经和压抑的心情不知不觉中,早已揉碎在花香间,沉淀到茶水里。

           只是从龙泉归来时,遇到三个装扮成了盲人的小偷,干扰了一下良好的心情。拥挤的公共汽车车厢里,三个家伙围在我和女友的周围,不时地试探着我的衣服口袋和女友的提包。可是毕竟技术含量不算高,早早地被我们察觉。于是乎一会儿日语,一会儿英语地交流着对他们的讽刺。同时一只手把提着塑料袋里的三个矿泉水瓶紧紧地拽成一块,在另一只手上敲打着,随时准备“大瓶向小偷们的头上砸去”。还回过头去和一个小偷对视,他看上去还是个孩子,尽量避开我的眼神,满眼的恐慌。直到抵达终点站,他们没有再出手,真不好意思,让他们白跑一趟了。这些狡猾的家伙,因为人多又装残疾人,连刚才的车票也开溜了。

            这周的工作相对前面而言可能会轻松一点,今晚没有加班。菜市场买了几条鲫鱼,回家后女友作了好吃的冷吃鱼。味道真是very very …… good!很久没在家里尝过女友的手艺了。又开始畅想了,如果能够天天不加班,天天都能吃到如此美味的菜品。日子应该是多么美好啊! ^_*

  • 我扮演的角色是 洪水. 怎么样?很酷的一个POSE吧.

    点击下面 阅读全文 看大图哦 :-)

    洪水

  • 由新浪新闻"英国老人发明能垂直起降的飞碟惊动美国军方"想到的
    地球上频繁造访的UFO事件,莫非不是外星人,而是我们人类自己干的...
  • 1 安装项目的应用程序文件夹中加入 msiexec.exe (可在C:\WINNT\system32下找到)
    2 用户程序菜单 添加 msiexec.exe 的快捷方式,改名为“卸载”或“Uninstall”之类的名字,在它的属性Arguments

    为“/x [ProductCode]”
    3 批生成即可

  • 2005年11月03日

    Together操作手册

    Together操作手册

    本操作手册从创建到做成一个书店的UML图为例,具体讲解如何创建类图,用例图和序列图:

    创建工程

    打开Visual.Net2003,点击文件->新建->项目

    在弹出框的项目类型中选择Visual c#项目,再在模板中选择空项目,最后在名称中输入项目名称

    视图选项中选择Together VS .NET Model View选项

    选择后则会弹出模型视图框,如图:

     

     

     

    创建用例图

    创建用例视图页面

    ModelView视图里右键单击项目结点Video Store

    选择Add-> Other Diagram

    在弹出的对话框中选择Use Case Diagram,并在Name对应的框中输入用例图的名称,点击OK,即创建好用例图,在Model View视图中双击创建好的用例图即可进入编辑画面

     

    进入编辑画面后,在Toolbox中会出现UML Use Case Diagram,这就是用例图的编辑工具,如图所示

    增加参与者

    左键点击Toolbox中的Actor Butter ,左键点住画布,拖拉一定大小,松开左键。则会在画布上生成一个Actor 对象

    如需更改其名称只需右键单击其对象,选择rename,或者双击对象的文字,即可对其名称进行编辑,(这里将其命名为Clerk)

    增加系统边界

    添加一个系统边界,边界的作用是针对不同的actor分隔成不同的边界。左键单击系统边界按钮 ,左键点住画布,拖拉一定大小,松开左键,则会生成系统边界(这里将其命名为Inventory System)

    建立用例

    点击用例按钮 ,并将其绘制在系统边界里面(这里创建两个用例,分别命名为

    Find Item by KeywordsFind Item by Title)

    最后点击联系线  先左键单击参与者(Actor),拖拉至想要建立联系的用例,松开左键即可绘制出联系线,最终用例图如下图所示:

    用例与用例之间还有关系,如包含,扩展等,这里可以通过Toolbox中的 来绘制,方法同绘制参与者和用例的联系线

    所有的对象其大小都可调节。

    编辑版式

    在对象的属性框里有一个属性Stereotype其作用是将对象定义为一定的版式,或自定义的版式,比如一个按钮或列表框其都是属于Control一类的,我们可以单击下拉箭头,选择其属于的版式,如manager ,选中后就会自动在对象上注明其版式

               

    如果要自定义版式,则先在Stereotype里选择一个版式,再在对象上版式对应的注释位置双击,则可对版式进行修改,在此可以键入自定义的版式

    一个用例可以对应多个参与者,比如一个借书过程,其就对应登记员和顾客两个参与者,这里使一个用例与两个或多个参与者建立联系,也就是说用例和参与者是一个多对多的关系,为了尽量避免复杂网状结构的出现,应该尽量将功能系统,并用不同的边界来概括

    下面是完成了的用例图的截图,这其中就有一个用例对应两个参与者的情况

     

    删除用例

    选中要删的用例点Delete键或右键再点Delete,这样则会将这个坏的用例及其所有连接全部删除,而不需再逐个去删除

    创建类图

    创建类视图页面

    这里有两种创建方法,一种为直接双击default图标,即可进入类图编辑窗,此类图名称为default,另一种方法类似于创建用例图,为左键单击项目(Video Store)选择Add-> Other Diagram,在弹出框中选择ClassDiagram,在Name中输入类名称,点击OK即可创建新的类图,但default类图仍然保留(这里我以创建一个新的类图为例,)

     

    类图编辑器如图所示

     

    工具箱中NamespaceObject是不同的对象,即绘制域名空间、类、接口、结构体等,在此我以绘制类为例,其他方法类似。

    绘制类

    绘制类有两种方法,一种是点击工具框中的 按钮,然后再点击画布进行绘制,一种是在画布上单击右键->Add->Class,生成类后双击类名就可对其名称进行修改

    选中类,右键单击,点击Add,就可对类添加属性或方法,如图所示

     

    如果碰到公有、私有或保护类型的属性或方法,主要通过,修改名称前的符号来确定,+代表公有、

    -代表私有、#代表保护类型,具体如图

    冒号后面的int表示其数据类型,可以修改,<<>>中的内容就是其版式,在本例中所需涉及到的类如下图所示:

     

    给方法定义参数

    这里有两种方法对方法定义参数,一种是对左键选中要增加参数的方法,在属性栏的params里输入要定义的参数,写法与平常在写程序时定义参数一样但没有括号。另一种方法为点菜单栏Refactoring->Change Parameters,弹出再弹出菜单中进行增加、修改、删除参数

        

    给方法或属性取别名

    类或其中的方法及属性可以通过取别名的形式对其所要包含的意思进行描述,比如findByTitle方法,我们可以给其取别名为通过标题查询,由此帮助理解方法意义,具体方法为左键选中findByTitle方法,在属性框中找到alias属性,在框中输入通过标题查询即可,编辑后类图显示别名,但代码不会发生变化,如图:

     

    绘制类间关系

    把各个类绘制好后就是绘制出他们的关系,各个类之间的关系有实现、继承、聚合、组合、关联等

    在我所展示的例子里有这么两层关系:

    1:一个Clerk与一个Store关联

    2:一个Store由一个或多个Item组成

    因此在这里我们可以创建StoreClerk的关联关系,StoreItem的组合关系

    创建关联

           Toolbox中选择Association Link按钮 ,左键点住欲创建联系的类,拖拉至欲被创建联系的类,松开左键,则建立起联系,建立联系的同时会在类Store中实例化一个Clerk的对象,(具体抓图在介绍完组合后给出),要修改其属性,如聚合、组合、关联等可修改属性栏的Type属性,这里要注意的是虽然在Type属性里有聚合或组合的选择,但在实际更改类型后并不能在代码里改变成对应的代码,因此一般请不要更改其类型,而是在一开始建立联系时就使用聚合或组合类型的连线,具体做法接下来就会介绍。

    创建组合

           Toolbox中选择Link By Pattern按钮 ,左键点住欲创建联系的类,拖拉至欲被创建联系的类,松开左键,这时会弹出一个对话框,打开左边的节点TCC code templates->Links,在这里可以选择以何种方式组合,选择Aggregation as Collection,再在右边的Collection中选择ArrayList(选择类型),在Name中输入itemList,点击OK即可创建对应的组合

        

    如图所示在建立StoreClerk的关联后将在StoreField里实例化一Clerk的对象,在建立StoreItem的组合后将在Store里创建一已定义好类型(ArrayList)的数组。

    建立超链接

    有可能类图的属性和用例图的用例都是同一个函数,这是可通过创立超链接的方式将他们联系起来,具体方法如下:

    如在Store类里有个方法为findByKeyword,我们要在用例图里找到其所对应的项:

    先打开用例图,右键单击Find Item by Keywords这个用例,选择Hyperlinks > Edit,然后从弹出框左边选择Video Store > Store >findByKeywords,点击Add按钮,再点OK即可添加一用例findByKeyword到类Store里的方法findByKeywords的超链接,创建好超链接后字体成蓝色,如图:

     

    创建序列图

    创建序列图视图页面

    创建方法同上,右键单击Model View选择Add->Other Diagram,在弹出框中选择Sequence Diagram

    Name里输入要创建的序列图的名称,点击OK即可创建

    序列图编辑器如图所示

    创建参与者及目标对象

    每个类图都必须有参与者及目标对象,我们点击Toolbox,选择 ,再鼠标点击画布,拖拉至一定大小,松开左键,即可创建参与者,这里我们使参与者为Clerk,再点击Toolbox,选择

  • Matlab 7.0 中对xml的读写操作主要使用到 [toolbox\matlab\iofun] 工具包中

    xmlread.m xmlwrite.m 文件。使用XML Document Object Model的方法,

    实现对xml文件的操作。Matlab中的xml操作实际上采用了Java中的DOM的方法。

  • 2005年09月26日

    C#动态Log文本框的实现

    项目中需要用到一个动态显示log的文本框效果,实现主要代码如下:

    更好,且可自动滚屏的办法

        txtInfo.Clear();
        txtInfo.Text = "处理1开始" + "\r\n";
       <*****************处理1****************>

       txtInfo.AppendText( "处理1结束" + "\r\n" );

  • 以前给客户部属过一个Asp.net的项目,今天遇到一个怪的问题:

    由于客户公司要求,客户把机器名作了修改.然后运行客户端访问数据库时,出现 "无法访问数据库.原因: 无法找到文件或程序集"System.Enteprise" "

    
    						
  •        最近参与公司一个产品项目重构版本的开发,由我在需求担当了技术调查的工作。于是对于.net又有了更深层次的理解。

           很多以前想起来都高深莫测的技术,如:Webserver, Remoting, Com+,Soap 在这次的工作中,分别进行了学习,并为项目写出了例子程序和技术准备文档。

           学习的过程,比较艰难,但却十分有趣,尽管常常加班,确是十分愿意。网上资料、权威的参考书、前人的代码分析,让我对新事物的了解都起到了很大的帮助。

            理解后的文档和例子程序,我将在整理以后陆续放在blog里以作备忘。

  • 2005年09月09日

    如何接受老板的任务

    一. 在接到任务时,一定要问清楚如下几个问题:
     1) 您什么时间需要?
  •