Chen Yangjian's Blog

Carpe diem - Seize the day

[Oracle][Java]class Loading Constraint Violated

| Comments

在 WebSphere 上跑的程序,每次重新部署(编辑任何文件,.js/.css/.jsp/.java,手动部署之类的) 之后都会出现下面这样的错误。

class loading constraint violated (class: oracle/jdbc/driver/OracleResultSet method: updateBFILE(ILoracle/sql/BFILE;)V)

而重新启动 WebSphere 之后又正常了。Google 了一下,碰到 同样问题 的人还真不少。 但是没人给出明确的错误原因和解决办法。

我的把用来链接数据库的 class12.zip 换成了 ojdbc14.jar,居然就可以了。

使用 CSS 装饰 Table

| Comments

使用 CSS 差不多有两年时间了,以前刚学的时候折腾了个个人维基顺便还给自己在网络上的各个坑折腾了个 简易主页。 中间真正接触到 table 的机会其实不算多,绝大多数 CSS 教材自然对使用 table 来布局极尽鄙夷的, 不弄报表之类的东西基本接触不到表格,而简易的列表又能用 ol ul 之类搞掂。 所以看别人闹腾效率 vs. 技术,多半是以局外人的态度。

于是最近老是拿到骨灰代码,就开始悲剧了。以前难以想象的事情全碰到了:

  • 用 table 布局随处可见。
  • 到处都是 font 标签。
  • 事实上还有许多 frame。

历史遗留问题解决起来其实也并不难,难的是 table 做正途时,用来展现报表时,CSS 的混乱。

  • td 只有 padding 木有 margin。需要 margin?在 html 代码里头用 cellspacing 好了。
  • thead 与 tbody 基本形同虚设。它们和 tr 一样,木有 background-color,木有 margin,木有 padding,事实上他们连 border 都木有。
  • 承上,表头栏就用 th 凑合一下么好了。它跟 td 没啥区别,因此也基本没啥优点,默认加粗、居中。

以上都是我个人前两个钟头的感受,请以 quirksmode 为准。

[Struts] 1.1 里头的

| Comments

使用 <logic:iterate /> 加上 <bean:write /> 来处理 Java 里头的 List 是 Struts 1 时代最常见的事情了。不知道是我老了还是 Struts 1.1 老了,今天突然发现不能写整型,Google 得到结果如下:

<bean:write name=”book” property=”id” format=”#” />

输出 int 或者 Date 等非 String 类型的变量的时候加个 format 就行了。

吉他

| Comments

周末出去买吉他的背带,因为老是坐着弹感觉不是很爽…… 于是坐303到学院路文二路口那, 找天目琴行。如果找不到的话就扫街,因为据说文二路上琴行很多。 结果天目琴行很“you can not miss”地出现在街角。第一次去这么大的琴行诶…… 顺利买到背带,15米。 很可惜的是店员态度好一般,店里头也没有指套,只有拨片。可能跟吉他不是他们主打的缘故? 但是那排箱琴和那排民谣实在太诱人了。

我准备等到下半年能弹整首歌了就去瓦一个。

然而晚上又不小心被李宗盛大叔的手工艺品给毒到了, 3500~4000美刀Lee Guitar。倒不是给他代言的五月天, 而是卢家宏。他也用李大叔的手工艺品:

作为华人指弹里头首屈一指的家伙,他就是我的偶像。看看他 蛮久以前的编曲就知道啦。 那时候好青葱,完全没有上边弹大海啸那副沧桑大叔样。 此外这厮最近的比较著名的演出应该是五月天新加坡演唱会的开场,弹《离开地球表面》, 跺地板跺得很high,跟兽王似的。只是有土鳖上的视频版本不够好,就不贴了。

而我已经练他的书块三个月了,还在社会主义初级阶段,并且有维持一百年不变的架势。

事关大局:Table vs. CSS

| Comments

写到一半,点到书签栏上了,只好再写过。

不知道此事缘起是啥,但是最近在 proggit 上争得很是火热。有高屋建瓴走道德路线的,也有实用主义者特地建站摇旗的(Give Up And Use Tables)。所以难怪有人要跳出来感慨这个世界太疯狂了。

建议使用 table 来布局的童鞋们的论据很简单,CSS 在布局处理上太弱了。使用 CSS 将网站跨浏览器完美布局几乎是不可能完成的任务。还有人特地作了调查,主流网站中并不乏使用 table 布局者,比如 Google、Microsoft、YouTube 等等。远的不说,看看 Struts2 生成的表单布局,再看看 Google 登陆框的表单布局,也都是 table 搞掂。那些用 p 包装、用 span 标签 float 来 float 去,或者一律另起一行(WordPress 的登陆、留言等表单),等等,都没有一个 table 来得直接。

与其花费近一个小时的时间使用纯 CSS hack 来 hack 去,不如使用 table 几分钟搞掂。这便是网站 Give Up And Use Tables 的主题思想。如此一来你还有时间去给自己买个甜圈呢,它说。

然而反对者的态度也很坚决,他们对 Should I Use Tables For Layout? 这一问题给出了奸腚的答案,去看该网页的代码就知道了。有高屋建瓴者特地在道德上鄙视了用 table 偷懒的童鞋们。然而,内容与形式分离(separating content from presentation),在浏览器纷争,标准实现不一面前,都有点变成陈词滥调的意思了。虽然 CSS 实在是太弱了捏…… 不过据传,IE8 将给 CSS 加入 table 属性,到时可能会方便些些……

有和稀泥的把 Adobe 也拉下水了。

而作为一个实用主义者,本着能偷懒就偷懒的态度,我也认为在 CSS 上纠结太久没有意义。前面提到的道德卫道士的论据是,CSS 作为一项促进 Web 发展的技术,不应被放弃,在布局上退回 table 是倒退之类。然而网络还没有到他想象的程度,在中国这等卧虎藏龙之地,frontpage、Dreamweaver 流水线生产的 IE only 的网站一抓一把。而 HTML/CSS 在内容、形式分离上也尚未成熟。标准的指定速度、浏览器的支持程度,都是问题。

不过话说回来,你的页面真的就那么复杂,一定要用表格才能画出来吗?

Multi-Touch iTable

| Comments

演示的魔兽和 Google Earth 操作直接勾引到我了。特别是前者,给人一种自己的巫师的感觉……

评语认为触屏技术模拟鼠标右击和双击的方式太麻烦。我个人意见是,或许是改变观念的时候了。 参考图片放大方式就是。

官方网站上还有些演示视频,感兴趣的去看一哈。

跟重要的是,PQLab 还销售独立的触屏, 长得像以前的视保屏的一个东东,目前支持的分辨率为1920x1080,只有一根外接 USB 线,无须其他外部电源。

最近二三事

| Comments

今天又跑出去找索尼的客服去了,我的第一台电脑 S16C 终于又从三姨那拿回来了,只是变了砖。以前拿它跑过两三次客服,不开机了、风扇坏了,等等。当初下血本大洋五百换的风扇,这体弱多病的本如今故态复萌,又开不了机了。

下午在寻找客服的路上花费了不少时间…… Google Map 的路牌定位不可信…… 顺便记下索尼的杭州客服地址,和与地址不服的地图……

杭州索尼客服

我下午去的是文晖大桥前面一些那家,不晓得那块住宅区叫啥名字,给人感觉很不错。以前去过的都是如图所示那家,在省人民医院左近。

下午和晚上陪妹妹又看了《阿甘正传》,IMDB 最二百五(IMDB Top 250 的直译,哈哈)的电影确实都让人百看不厌…… 一直好奇演丹·泰勒中尉的家伙是不是真是无腿人,在 IMDB 上的花边里头终于发现这么一条:

Gary Sinise’s lower legs were wrapped in a special blue fabric that allowed them to be optically removed from the film by computer later.

顺便,关于阿甘做过的那条公园条凳,如今进了博物馆,不知此生能否有幸落臀一坐及彼一游。

The park bench that Tom Hanks sits on for much of the movie was located in historic Savannah, Georgia, at Chippewa Square. The fiberglass bench he sat on has since been removed and placed into a museum to avoid being destroyed by the weather. The church where the feather first falls is about 100 yards just down the street from his bench. The bench is currently held in the Savannah History Museum, Savannah, Georgia.

晚上跑去老地方公元大厦的外婆家吃饭,红烧羊肉味道很赞!

几个网站,做前端的手头必备

| Comments

  • Google browser security book
  • quirks mode。顾名思意,Quirks Mode 是浏览器的页面解析模式之一, 所谓猥琐模式。在许多细节的处理上将与 Strict Mode 有所不同。不过该网站的功能倒不限于此, 它是由一位荷兰人维护的私人专业网站。上面的 CSS 属性,JavaScript 语法文档,都非常齐全。 将各种浏览器对各种标准的支持程度都列了出来,涵盖全面。
  • w3schools。即 www school。我常常把它误写成 w3c shool, 其实它和 w3c.org 是不一样的。btw,后者的网站上也同样有许多资源,比如标签校验工具, 官方推荐的各种编辑器浏览器等等。w3school 的教程很全,而且很短小精炼,适合初学者。
  • google doctype。前端开发者的百科全书。“By web developers, for web developers. ”
  • jQuery。虽然 Ruby on Rails 用的是 prototype, 尽管 Struts2 用的是 DoJo,但是 jQuery 永远是我的爱…… like no other.

当然,还有其他技术,比如 flex。我通常就看看 官方的文档, 和 Style 工具。 虽然它默认的效果就已经很不错,就已经非常富客户端,但是我就是不怎么喜欢它……

M8 体验一二

| Comments

我是第四批的体验机,通过代理拿的货。

  • 软件确实还不成熟,最多算是 beta 级别的。再未刷新固件之前,日历会出问题,按了列表之后就回不去了。mp3 的标签解析也有问题,会把非中文的最后一个字符阉割掉。比如“范特西(Fantasy)”就变成了“范特西(Fantasy”。所以我很奇怪为啥魅族官方没有一个 bug trace 之类的东西。
  • 界面做得很不错,软件虽然存在些许小问题,但是确实很有水果公司一般的简介优雅。
  • 内置功放很牛鼻。
  • 电池…… 能用两天就相当不错了。
  • 通话质量很不错,木有啥爆音之类的问题。或者只是我尚未遇到?
  • 大拇指太胖的人要谨慎购买…… 或者等9键输入出来之后再说。

再说一点新手上手指南:

  • 联系人同步有三个办法:

    1. 直接从 sim 卡复制;
    2. 将 Outlook 联系人导出成 vcf 文件放到 M8 U 盘模式下的 Contacts/Backup 文件夹下。然后在 M8 上导入该文件。
    3. 用 active sync 同步。M8 的 USB 连接方式得改成同步模式。
  • 找个好点的无线路由器,我的似乎太鹾了,M8 经常报错,弹出框居然是 XP 风格的,那个 Okay 键还特别小,难按死了。

  • 音乐菜单按底部的四个按钮中相应的一个就能返回上一级。在播放的时候按最右边那个能够出现对该文件的操作菜单。感觉这种东西得研究手册才能发现么……

暂时就这些。