黑子的程序员生涯

努力保持编程中美好的感觉

2006年9月1日 #

我对颈椎问题之研究与实践

玩电脑写程序多年了,太投入,以至于得了职业病。手指、手腕、肩颈部都经常疼痛,眼睛干涩红痒,肚子也变将军了。
后来在家soho,颈椎问题尤为严重。在网上寻求解决方法,并自行研究实践,有了明显的好转。记录于下,望对使用电脑工作的人有点用处。

1.颈椎问题的严重性:会引发脑部供血、脊柱神经、睡眠等问题。不是专家,网上可自己查找相关资料。
2.原因。久坐少动。肩颈部肌肉劳损以至骨骼、软骨受损。
3.我的解决过程。
  买了个太空枕,睡觉时可支撑颈部。效果不明显。
  后来每周按摩1小时。你要想有点效果一定得到正规的地方,还得受得了疼。按一次,得疼三天。有是有点用,回想一下,这不是花钱找罪受么?
  然后去了曙光医院,医生给开了一些药,问了,大概都是缓解症状的,不能治本。

  ---我一向不同意程序员30岁转行的观点,难道我过不去这个坎?---

  转而采取日常生活中自己注意保健。一般来说,主流的意见是多运动。包括体育运动和针对性的保健操。
  我在家实践了两个月,3天一次长跑或羽毛球,每天一次散步和多次保健操。效果不算明显。
  后来我从源头上着手。
      硬性的就是减少坐在电脑前的时间,打游戏不打了,工作时想问题就起身。这个也不易。这个对工作有一定影响,但也是重要方法之一。
      软的是调整桌椅高度及坐姿。桌椅一定是符合三个90度:坐着膝盖90度,大腿和上身90度,肘部90度。
  肘部一定要有依托,至少有椅子的扶手,我现在是用了大桌子,对着90的圆弧,两肘都放在桌面上。

现在我的颈椎问题已经好多了。
总结一下,方法是综合的。但效果最明显的就是桌椅。其中最关键的就是肘部的依托,肘部放在桌面上我觉得是挺有效。
另外,不能觉得没有时间想健康问题,否则结果是不得不想。拿出你打游戏、写程序的劲头对待健康,肯定能解决问题的。

posted @ 2006-09-29 12:00 黑子 阅读(248) | 评论 (0)编辑 收藏

缺陷管理系统ClearBug1.0发布

www.lucas-lee.com
  1. 免费软件,非开源软件。

  2. 纯JAVA开发,B/S架构。目前支持MySQL5.0.21及以上数据库。

  3. 预定义了多种缺陷处理流程,可选择使用。

    • 小型团队自由流程
      由当前处理者指定下一个处理者,流程比较灵活。
    • 小型团队受控流程
      以项目经理为中心的流程,提交后的审核、转交程序员、修改后的验证等步骤都由项目经理控制。
    • 单人流程
      只有一个使用者的流程。适合个人软件的开发过程。

  4. 缺陷统计功能。使用琴棋报表。

  5. 邮件提醒。流程转入下一步骤后,系统会自动发邮件给下一处理者。

  6. 字典数据可自定义。优先级别、严重程度、项目、模块等等。

  7. 基于角色--用户组--用户的权限控制。

posted @ 2006-09-11 10:52 黑子 阅读(217) | 评论 (0)编辑 收藏

琴棋报表1.3.2发布!

www.lucas-lee.com

1)解决了Excel格式输出大量单元格时出现的Excel样式过多的问题。
2)优化了clone的算法。

posted @ 2006-09-11 10:50 黑子 阅读(231) | 评论 (0)编辑 收藏

如何删除字典数据?

所谓字典就是数据库应用中被其他表(通常加以外键约束)引用的表,如客户表引用客户类型,那么客户类型即为字典表。删除字典数据要考虑是否已被其他数据引用,一般不允许做级联删除。

这个问题想必大家都碰到过,但各有各的 做法。本人与若干同事讨论过,将各种做法总结一下。

  1. 物理删除,即用delete SQL删除。如果字典数据被引用,则会抛出违反外键约束的异常,将其封装为可读的信息提示给用户。JDBC中的异常类为SQLException,如何判断是违反外键约束的异常呢?有方法如下:
    • 利用SQLException中的errorCode,这是数据库特有的错误编码。
    • 利用SQLException中的SQLState,在JAVA API DOC中说明这个是SQL99或XOPEN 标准的编码,而且可以用connection的meta data来判断符合哪个标准。经过的试验,说明这个meta data不太好用,但是SQLState还是较为统一的。
       mysql5.0.21sqlserver2000oracle10postgresql8
      ANSI99 SQLState标准的违反外键约束编码为:2300023000230002300023503(可能要在BatchUpdateException的nextException中才能取得)
      Connection的meta data中的getSQLStateType(),符合SQL99标准应该为22202
  2. 逻辑删除。即置表中的一个标记字段为已删除。查询时不可见,但实际还保留在表中。 好处是不用处理数据被引用的情况。它的缺点是,如果数据没有被引用,那么它其实可以被物理删除,但确留在系统中成为垃圾数据;其次在数据有唯一编码的情况下,被逻辑删除的数据实际上还占用着一个编码,有时用户会疑惑,明明表中查不到这个编码,我在新增的数据中使用这个编码却总提示编码已存在。

    各位又是用的什么方法来处理的呢?你的方法有何优缺点,不妨一同讨论一下。

  

posted @ 2006-09-01 15:20 黑子 阅读(798) | 评论 (0)编辑 收藏