2005年02月27日

昨晚和MM一起散步,看到一老人带着他的小可爱狗狗也在散步。MM大叫:“哇,一头长了一身白羽毛的波斯狗!”我当时就被她的一串形容词给搞蒙了,还没等我回过神来,MM又补了一句:“恩,挺像你的!”我倒~我有那么另类吗?哭笑不得啊,表面这么文静的MM,怎么用词这么毒辣啊~~~?

今儿实验室一哥们提了一个BT问题——怎么让控件读数据时鼠标事件不响应?这个问题让我们几个人忙活了半天,还是没有找到合适的答案。MSND上说把Cursor.Current设为Cursors.WaitCursor,可是测试一下根本没有用嘛。然后把this.Cursor设为Cursors.WaitCursor,这回鼠标形状是变成沙漏了,可是仍然会响应鼠标事件。大家都郁闷至极!在CSDN上看帖子查查,我在一个和这个问题八不沾边的帖子里看了一个想法,让大家都兴奋起来。呵呵……这个想法很BT,简直就是一头长了一身白羽毛的波斯狗!总结一下就是当控件开始读数据时,建一个放在最上层的全屏透明WinForm盖着屏幕就OK了,最后等数据读完再把这个临时窗体清了。当然鼠标形状在这个过程也响应的变化。这个BT骗术,现在看来还不错,问题很好的解决了。我想MSDN一定有更直接的解决方法,但是我是没找到,等高人指点了!希望部署程序的时候能用常规的方法来处理这个问题,不能让用户花钱买”一头长了一身白羽毛的波斯狗“吧,嘿嘿……

2005年02月10日

好多年都没有在过年的时候见过雪了。路上冰亮亮的,让我又找到了儿时的感觉。也有一个星期没有来更新BLOG了,在家实在太安逸,除了睡觉和喝酒啥事都不想多干。呵呵……今天趁还没喝高,脑子挺清醒,给大家拜个晚年!有雪的天气就是爽,明显地可以闻到年味。出去在冰上滑滑,哈哈,过瘾!今天去吃了一下“开口笑”的饺子,确实牛!头一次见,开着口的饺子煮好了就把口合上了,而且味道一点没有损失,有趣的东西。要去玩下游戏了,不罗嗦啦,再向大家问个平安!

2005年01月30日

南京真是一个不错的城市,在这里让我没有那种独在异乡处处需要提防的感觉,这里几乎每个人都那么温和可亲!假如再有机会来,我一定会毫不犹豫的答应。不过,这里的消费和收入有点不成比例,房价和上海北京有一拼,菜馆的菜价也着实让我这穷人不能长期承受,嘿嘿……南京人吃饭的口味还算适中吧,稍稍甜了那么一点,对于我这个北方人来说,这真是太不爽啦!这里的天气很舒服,湿度很好,不会让人觉得口干舌燥,可能这也是南京脾气比较的好的原因吧。今天天气很不错,太阳温温的,能看到它的露脸也算久违了:)要是太阳公公能再多多一点微笑就更不赖了。

这个项目下个星期就可以验收了,希望能顺利一点,不要在演示的时候让我当盖茨。项目是我独立完成的,从需求分析、总体设计、详细设计,然后编码、调试,最后整合成系统,一步一步摸索着过来了。这半年来,我也从一个连菜鸟都称不上的小娄娄,变成一个还能飞几下的小鸟。

“钢铁是怎样炼成的?”我找到了答案——坚持。我不知道多少次想放弃完成这个项目,太多的困难了。我不是计算机出身,很多东西都要从头学,随便一个小问题都让我举足无措。刚开始连classpath是个什么东西都不知道,照着抄一段HelloWorld都运行不了,当时我觉得我真是个LJ,一直纳闷为什么导师选我接这个项目。但是,不论怎样我既然接手了,就要全力把它做好,不能当窝囊废!接下来的日子,看了N本程序设计的书,连抄带改做了个单机版的原型出来。呵呵……当时真的特别高兴,毕竟搞了一个输入1234就能输出ABCD的东西出来。

把原型带到南京来,让所里看看,然后定一下第二阶段的计划。结果我的原型被评价的一无是处,我好崩溃啊!没人理解我,也没人想去理解我。其实,他们不知道为了这个简单的原型我付出了多少不眠的夜。我没有用任何理由去解释。和所里的相关人员开了三天讨论会,最后决定直接开发正式版,原型跳过!我知道我应该对这件事付全部责任。我心里大骂自己:你怎么这么菜,这么烂啊!

有了原型的经验,再开发确实轻松了许多。也知道用UML先把系统从总体到细节先画画,不管对不对总是对后面开发有个指导;也懂得用JS控制客户端的一些流程了,不再仅仅在服务器验证;也会用DIV+CSS显示页面了,不再是表格满天飞;也明白用设计模式完成中间逻辑的好处了,不再是面向过程的堆砌代码;也晓得了数据库表与表之间不是孤立的,原来他们可以用ER来表示。明白原来设计开发可以如此这般以后,日子真的就好过了一些。但仅仅是一些,使用了更多的技术,需要去学习领悟哪怕是模仿的也越来越多了。后来感觉自己的时间越来越不够,我才理解为什么软件工程里都是讲TEAM如何如何了。一个人的精力真的是有限的,我的身体垮了。连着一两个月小病缠身,不是这痛就是那痒,头发掉的也越来越厉害了。还好,我都挺过来了!系统试运行成功之后,我真的万分的放松,我实实在在的休息了一周。呵呵……劳逸结合这个真理不能违背啊!休息以后真是吃嘛嘛香,咋睡咋爽!

跟着就是来南京交差了,也就是这二十天。他们叫这个过程为“项目收尾”。我总觉得这不是收尾,而是是继续开发,呵呵……反正硬是又给系统添了几个不在需求书内的模块。别人是出钱的主,再说临时变需求在情理之中,我没有拒绝的理由。不管怎么样,今天上午还是吧最后一块给整合进去了,测试一下还没发现什么毛病,谢天谢地,我有种解放了的感觉——开始憧憬回家怎么吃怎么玩怎么睡了^_^

2005年01月25日

This morning Dicky posted a post about HTML Special Character List which is a perfect and complete list. After I read it, I had a question about the meaning of the numbers between & and ;. So I left a feedback following the text. Just now I went back to there, but he didnt give me the answer. Okay, try it myself.
Google is wonderful search engine, which give me a good deal of information about this question. Soon, I get it. Special Characters —
Character and Entity References
is a good introduction for me. Each HTML special character is composed by three parts. The first one is a leading ampersand character,(&); the second one is the decimal number corresponding to the character, preceeded by a numbers symbol(#xxx) and; the last one is a terminating semicolon(;). Though it give me the profile of special charater, I dont think this introduction is most accurate.
The other website give more information to me. In this webpage I can get every detail about HTML Special Charcter. If you are intrested in THIS QUESTION, please click here that will lead you to the webpage.

2005年01月24日

刚才到朋友Dicky的BLOG去逛了一下,看到他发了一篇利用CSS实现竖排文字文字效果的文章,觉得很有意思,我来说说这个问题。
Dicky是利用Text的writing-mode属性来完成这个工作的,那么我们就先来看看这个属性:

语法:
writing-mode : lr-tb | tb-rl

参数:
lr-tb : 左-右,上-下
tb-rl : 上-下,右-左

说明:
设置或检索对象的内容块固有的书写方向。西方语言确省的是左-右,上-下的书写方式。但是亚洲语言常有上-下,右-左的书写方式。当此属性值发生变化时,text-align属性与vertical-align属性的作用也将发生变化。另外这个属性为IE专有,需要IE5.5+才可以正常显示。它是支持继承的。

说了这么多,再加上Dicky的例子就应该能去解决实际问题了。呵呵……
当然,CSS并不仅仅这一个属性可以完成文本竖排的工作,下面我再补充一个。
layout-flow属性,这个属性也是IE专有,需要IE5.5+支持,而且可以继承。具体介绍如下:

语法:
layout-flow : horizontal | vertical-ideographic

参数:
horizontal :  对象中的内容自左边流入。下一行在前一行下面。这个值适于拉丁语系
vertical-ideographic :  对象中的内容自上而下流入,下一行在前一行左面。这个值适于亚洲语系

说明:
设置或检索对象内文本的流动和方向。当此属性值发生变化时,text-align属性与vertical-align属性的作用也将发生变化。

还是举个例子说明一下比较好:
<html>
<head>
<title>竖排文字</title>
<style type=”text/css”>
.tnt
{
layout-flow : vertical-ideographic;
}
</style>
</head>
<body>
<div class=”tnt”> 确实,在表现文字的竖排在文字处理办公软件中非常容易就可以实现。由于这种效果在网页制作中并不多见,所以这个问题的讨论比较少。但是在制作具有中国古代特色的网站,如文字历史、书法、名胜古迹旅游等等网站时,如果用上竖排的文字,配以古色古香的背景及朴实陈旧的色彩,在视觉上会获得意想不到的效果。
</div>
</body>
</html>
运行一下看看;)

2005年01月23日

刚刚05年研究生入学考试结束。据说今年有百万左右的考生,汗!应该是从我的下一届,也就是03届,开始扩招研究生的。我们院03届的学生数目比我们02和01届加起来还多,到了04届进校的时候,发现他们更夸张,居然人数是03届的两倍。现在的研究生群体可谓是“人丁兴旺”啊!不过,人气上来了,教学水平我觉得却大不如前。学校老师已经无法应付这么多的学生,课程开始敷衍了事。有点退化到本科教学的样子了。呵呵……“退化”这个词如果哪位认为过分了,我先向你道歉,因为实在找不到其它的词来形容这个过程了。

一个导师以前一年带一个两个,多的也不过三个;现在一个导师最少三个,多的十几个,我们学校几个院士,一届就能一个人招近百人。哎~现在的科研水平我真的不干恭维!听说还要把硕士改为两年,而且有的学校已经开始实行了。我听着就气,这简直是鱼肉百姓嘛!两年的时间实在太短暂了,学生能有多大的提高,难道真的是为混学历而来读研的吗?我觉得中国的教育体制真的应该改革一下了。要不然人才市场,早晚变劳动力市场的!

我今年6月份就要离开研究生这个群体了,我真的不希望这个群体像本科群体那样没落。我有同学在英国读研回来,给我讲了很多。他说,虽然英国硕士只要一年就可以毕业,但不说明工作量就小。每一门课程都需要个人或团队付出很大的努力才能完成,而且每门课程都是结合实际应用进行的。课程时间安排只有很少的一部分是在课堂内完成,大部分需要自己动手去做。比较我研一时修学分的过程,我就觉得惭愧,老师在课堂上讲的是晦涩难懂的理论,而且很少能有老师结合现实需求来授课。课一上就是一个学期,每个星期都不间断。学生在期末也很少能说出课程所以然来。可怜的老师,你那么辛苦的教;可怜的学生,你那么认真的听。我觉得我已经算是02届最认真的学生之一了,可是到头来还是书本合上,大脑空空!考试就靠背,比谁记忆力好吗?课程论文就靠抄,比谁GOOGLE用的熟吗?反而我自己写的课程论文交上去,还没有别人直接在网上COPY的分高!我失望至极。

看到现在一年比一年多的人报考,我真想知道大家为什么要考研?我觉得有两种人可以来读研,一种是来混文凭、混学历的;一种是把科研当成自己未来事业的。不属于这两类的人,就不要来读了,简直是浪费生命!大好的青春不能这样糟蹋,好好在工作岗位上干一番事业,比啥都强!

我现在很矛盾,希望祝每位考生都考好,但这势必导致恶性循环。哎!假如教育体制不改革,真的要把人才变劳力了!

2005年01月20日

下午,所里搞活动,“元老”级人物都说,这是几年难得一遇的好事。大家都很兴奋,刚吃过午饭,就张罗着要去太阳宫,那个地方对我来说还比较陌生,不知道到底有多吸引人,反正大家都这么有兴致,那就跟着去混吧!下午两点二十左右,大家陆陆续续地出发了。绕过玄武湖,就看到一个像天文观测站一样的建筑,大伙直指那里,然后加快步伐。我也就知道这就是所谓的太阳宫了。进去以后发现这个地方真的不赖,有泳池、室内室外球馆、有餐厅。我马上加入了羽毛球战团,这小东西还不好搞定,几下子就被玩的一身汗;换换场地,跑到室外去,砍几下网球,真扫兴,居然说我穿的鞋不能在网球场上踩,没办法进屋玩;打国球吧,好象找到了儿时的感觉,真爽!不知不觉玩了快三个小时,一身臭汗。马上去洗个热水澡,太舒坦啦!最后是自助,我不得不抓住机会狂补蔬菜。平时吃盒饭和食堂,没见过新鲜青菜啊,今天真是被我逮到了!我不喜欢南京人的食品,什么都放糖,该辣的也不辣,算了吃饱就好了,不品味,一阵猛填。哇,又可以三天不怕,没青菜吃了。嘿嘿……我的运气不错,刚来南京没几天,就让我碰上这么好的事。

午饭以后随意地到出逛BLOG,看到几篇有趣的文章。几篇文章内容涉及了社会学、心理学、经济学等多个方面的内容,对我这个只能看门道的门外汉来说真有点刺激作用。我不得不想说说自己的看法。这里没有把原文链接作上来,是因为我太随意,没有记下它们的地址,如果文章作者看到了,可以提醒我更新。

我对这三个学科没有研究,不过,看了他们的文章也有点感觉。微软的经营策略值得学习,不是盲目的靠自己的品牌形象和霸主地位来横行霸道,而是在做出一个决定前充分的研究调查。wallop、msnspace就是两个很明显的例子,微软很显然不愿意丢掉BLOG这个大市场,毕竟BLOG是最近最火的市场了。但是它没有立即生产自己在这个领域的产品,而是以自己的子品牌产品的形式来试探这个市场,从而了解用户的潜力所在。我所在的单位是个规模很小的私营企业,没有财力完成这些,但是我们毕竟可以学习这个模式,把这个模式作地符合我们自身的特色,不盲目的作追随者的角色。进单位初VB正火,大家都去追VB;没两年功夫.NET又后浪推前浪,没办法,大家又放下刚刚摸熟的工具,再去追随C#。这样反而使单位到了现在还没有一样拿得出手的产品。我觉得假如从现在开始做事前有个充分的准备和计划,认真观察调查研究市场,那一定会比现在的状况要好的多。应该说我们现在把“谁动了我的奶酪”的中心思想给理解偏激了,盲目随变化而变化,而丢失了自我。我觉得05年单位必须做出改变,否则自身的特色将再也找不回来了。

再就一篇关于探讨人在网络中知识范围的文章。上网对于大多数网民来说都再熟悉不过了,点IE,然后[收藏夹],直奔自己喜爱的站点而去。网络上充满了你感兴趣的内容,你可以方便找动它们,并快乐的享用。这样你慢慢地进入了一个圈,自己给自己设的圈,你总徘徊在自己喜欢的内容里(或周围)。渐渐地其它的知识离你远去。网络也逐渐成为了你复习巩固旧知识的平台,而无法再给你带来更多,新鲜口味。可能在有些人看来,他已经喜欢了旧的口味,大可不必去尝试新的口味。我没法说得更深入,我自己也不太理解这种行为会让我变成什么样?

应该说GOOGLE、YAHOO、MSN等等搜索引擎是没有错的,它们为形形色色的人提供五花八门的内容。但是,对于一个人来说,却因为有了它们而缩小了自己的视野。你可以充分的巩固和补充自己所在领域内的知识,但是总也无法(或没意思到)去接触其它领域内的知识,因为你有你的收藏夹,你有GOOGLE。在搜索引擎发展蓬勃的今天,我觉得这个问题会越加的严重起来。

上面两个问题,一个是要冲破潮流的束缚,展现更完美的自我;另一个是自我不断地不自觉地将自己锁在一个精神枷锁内。这也是一对矛盾。当然现在看来前一个则更好一些,可以让人成为全才;后一个则有孤芳自赏的味道。毕竟人无完人,两者结合才好,要时常去了解别人在干什么、学什么,更要努力把自己的领域搞出成就。

哦啊呀,赶紧收笔!今天的想法对我来说很不简单,嘿嘿……好久没有这么感慨过了。记在BLOG这里,等下个周,下个月,下一年再来看时,也许会有更深的理解。

2005年01月19日

以前为打印排版颇费了几番周折。现在发现原来CSS就可以轻松搞定,太爽啦!这个就要从CSS的media类型说起了,当然我只说几个比较重要的,要不然又是文不对题了(嘿嘿……我就破毛病,喜欢到处瞎扯)

1、all,这个就是为全部文档使用CSS啦,如果不设置默认就是它了;
2、screen,这个就是显示在计算机机屏幕上所要用的CSS啦,我想这个和all差别不算太大(如果你不用其它的东东看电子文档的话);
3、print,放在压轴的位置说,自然说明它对我有多重要了。它是控制打印用的CSS啦!

哦,忘说syntax了,现在马上补上:<style media=”all” />或者<style media=”print” />然后在这个标签(tag)里定义CSS样式就好了,先看个简单了例子:

<style media=”all”>
p
{
 font-size:12px;
 color:red;
}
</style>
<style media=”print”>
p
{
 font-size:24;
 color:black;
}
</style>
<style media=”screen”>
p
{
 font-size:36;
 color:blue;
}
</style>
<p>This is a test!</p>

拷贝上面代码运行一下看看屏幕显示结果,然后再按[打印预览]看看是不是很爽啊?现在我们就可以开始网页打印旅程了。我以这个博客为例说下我的想法。打印排版工作和页面设计工作应该说没有质的区别,不过考虑到打印机和网页的种种的不同,还是要分别对待。你完全可以在页面上用华丽的页头吸引游客的眼球,也可以用素雅的背景图片在游客阅读时带来另一种意境,但是这些在打印时看来却是一件很愚蠢的事情哦~背景图片和多彩的页头都变黑白以后,会让用户皱眉头。所以说,如何用白纸黑字来展现风采也不是一件简单的事情啦!

这个博客的页头、导航和页脚三个部分在print.css里都是直接被排斥的!因为这三部分的内容在打印后将不能给用户带来任何更多的好处了。就拿导航条来说,打印以后就不能再被点击,也就不能指引用户到想去的地方,所以,可以直接抛掉,不放在被打印的行列!其余两个如是说。这个博客把main部分作为打印的中心(这也是页面显示的中心)内容,

清掉了backgroud属性,也就是保证白纸的本色作为底色,
body {
   background: white;
   font-size: 12pt;
   }

文字(不包括超文本)一律改黑色,
#main {
   width: auto;
   margin: 0 5%;
   padding: 0;
   border: 0;
   float: none !important;
   color: black;
   background: transparent none;
   }

超文本则是棕色加下划线,
a:link, a:visited {
   color: #520;
   background: transparent;
   font-weight: bold;
   text-decoration: underline;
   }

文字大小、页边距、边框等等的设置我就不在介绍。完成所述的整个排版过程也仅仅只用了几句CSS而已。真是太爽了!不过,好象不能让我修改控制打印的CSS。最后还是要补充一个重要内容,就是加上了黄色醒目的那句话。别小看这句,如果没有它很可能让你打印的时候很尴尬。内容一页显示不完,会被切掉,然后你在打印的结果里就再也找不到丢失的它了。所以,为了展现完美的你,最好还是千万加上这句话。

还有呢就是这里没有用的几个属性了,就在某个特定元素中添加断页的属性了,page-break-after和page-break-before,另外一个page-break-inside因为IE还不支持,这里就不谈了!我觉得应该在<div>标签里添上断页属性,至少也应该设为auto,
div {
  page-break-after:auto;
  }

这样才能把页面断的更好看一些,要不然打印出来的东西,就第一篇还像点样子,后面的都半半截截的,不爽!

好了大概要说的就这么多了,要是有什么要补充的,我就再写出来。XHTML+CSS+JS真的可以相当漂亮的完成页面的工作了。今天又看到Dan Shafer大师写的 “HTML Utopia: Designing Without Tables Using CSS” ,真是本悍书!但是我没钱钱买,只能看那几章FREE的了。如果哪位GGJJDDMM,有这本书的话,还望共享一下子^_^

昨天看到一哥们在CSDN上提问“如何实现鼠标放在表格某行上该行变背景色,移开鼠标颜色还原”。在考虑这个问题的时候,我的思路和大多数回答问题的人不一样。他们利用CSS样式类解决,但这仅仅利用的是<a>的特性,他们是将hover时的背景颜色改变。我觉得这样做没有一般性,不能推广到其它标签上。后来我放弃走CSS这条路,使用JS解决了这个问题。

每个标签几乎都有onMouseOver和onMouseOut事件,我就是利用这两个事件来完成背景变色的。代码如下,比较简单,就不多解释了。

<table>
<tr onMouseOver=”changeInColor(this)” onMouseOut=”changeOutColor(this)”>
 <td>aaaaa</td><td>aaaaa</td>
</tr>
<tr onMouseOver=”changeInColor(this)” onMouseOut=”changeOutColor(this)”>
 <td>bbbbb</td><td>bbbbb</td>
</tr>
<tr onMouseOver=”changeInColor(this)” onMouseOut=”changeOutColor(this)”>
 <td>ccccc</td><td>ccccc</td>
</tr>
<tr onMouseOver=”changeInColor(this)” onMouseOut=”changeOutColor(this)”>
 <td>ddddd</td><td>ddddd</td>
</tr>
</table>
<script>
function changeInColor(obj)
{
 obj.bgColor = “#FF0000″;
}
function changeOutColor(obj)
{
 obj.bgColor = “#FFFFFF”;
}
</script>

效果如下(把鼠标放上去看看^_^):

aaaaa aaaaa
bbbbb bbbbb
ccccc ccccc
ddddd ddddd

JS和CSS简直太有趣了,以前只知道做后台实现某个功能很开心,现在发现原来做界面也有这么多让人激动的时刻。没想到项目的最后阶段,还能让我有这么好兴奋的感觉。