最近深蹲把腰伤了,少了每天去健身房的锻炼,坐的时间长了脖子特别疼。灰长灰长的严重,最后椅子上靠近腰和脖子的位置都垫了垫子,靠在上面,仿佛变成了霍金同学
额,是他使用电脑发音以前
重点是,这种病应该不属于我这个年纪才对啊。。。找了半天(感谢克里斯同学)最后找到了这个酷软

http://tech.inhelsinki.nl/antirsi/
好用到不行,强烈推荐。 (windows 上可以试试这款 workrave )
|
|||||||||||||||||||||||||||||||||||||||||||||||
|
最近深蹲把腰伤了,少了每天去健身房的锻炼,坐的时间长了脖子特别疼。灰长灰长的严重,最后椅子上靠近腰和脖子的位置都垫了垫子,靠在上面,仿佛变成了霍金同学 重点是,这种病应该不属于我这个年纪才对啊。。。找了半天(感谢克里斯同学)最后找到了这个酷软
http://tech.inhelsinki.nl/antirsi/ 好用到不行,强烈推荐。 (windows 上可以试试这款 workrave ) 今天试着把 wordpress blog 的数据库导入到本地 localhost,先后历经了 首页无法显示,数据库乱码,管理界面自动跳转到公网地址,以及首页变白板四重天。。。速记在这里,望苦主共勉之。。。
上面两条解决乱码,接下来配置 wordpress:
上面两条解决地址乱跳,然后:
剩下语言,插件,主题,上传文件,图片,还有一些文章中的 site url 比较好改,这里不说了,或者有需要联系我, 1000rmb/hour 这几天很郁闷, AIR 会时不时的罢工:
这个错误属于 AIR 内部 crash,没有任何 actionscript error 抛出来,我一句一句 trace 最后发现发生在 sqlite 的 sql 语句调用。但。。。它又不一定每次都会 crash。。。。 基本上如果最后的产品在 Mac 上跑然后撞到这个问题就会很欢乐。。。 不幸的是,crash 的 workaround 又被我我无情的发现了。
根本原因是 AIR 在 de-serialize 数据库中的 column 数据时,如果多个 column 都是复杂对象,而且对象的 ref 又纠结在一起的时候就会 boom。 解决办法就是在写入 complex object 的时候先手动 serialize 到
里,然后再塞给 db,取数据的时候再手动把
de-serialize 还原成 complex object。 详细的 crash reproduce 以及 workaround 实例代码如下:
Interface Builder 开始用还觉得酷炫浮华,越用越觉得不对劲,对于刚开始学写 iphone 程序,没有帮助理解代码,反而隐藏了需要知道的内容,然后用线连啊连,连着连着就晕了。另外,重点是,牛人都直接用代码写 GUI 的啊 XD。刚才试了一下不用 nib,只用敲 code,真的可以耶。步骤如下: 1. 新建一个 Window-Based Application 项目
2. 删掉
文件
3. 删掉
里面的
属性
4. 把
文件中的
函数最后一个参数由
改为
也就是我们的主要 delegate 的类名字
5. 把
文件里的
声明删掉(不删也行)
6. 在
的程序启动回掉函数里加上我们自己创建 window 以及 view 的代码
7. Build And Go Go Go。。。
项目文件打包在这里,请自取。。。 前提:
上个月很磕了一下 JasperReport,再次亲身印证了 80/20 法则。。。今天抽空列出几个“看上去”都用不了多少时间就可以搞定的问题。 空白 pdf 报表我用的是 Spring 中的 JasperReportsPdfView 来帮助整合生成 pdf,这本来应该是一个非常简单的过程:Controller 返回一个标识 JasperReportsPdfView 的 ModelAndView,然后 Spring 自动生成报表。我最开始尝试的时候这样写的 Controller:
pdfReport 对应一个 JasperReportsPdfView,并配置指向了一个不需要任何动态数据的 report.jrxml 模板。 打开浏览器访问 controller ,会返回生成后的 pdf,不过内容是空的。。。改来改去,折腾了半天,最后发现原来 即使模板不需要任何动态数据,还是要传递一个 dummy 过去,才可以 render 出结果 。
文字消失开始在 dev 环境下生成好好的 pdf,放到 product 环境下变得无法完全显示所有文字。推测是嵌入字体问题,换来换去都不行。最后想起 product 环境是 windows,而 dev 环境是 linux,digg 了许久文档,终于找出原因。原来 JasperReport 在生成 pdf 的时候 text 的 layout 是以 fontName 这个属性为基准,用 Java 的 AWT 里算出字的高度,而最终显示在 Adobe Reader 中的事根据 pdfFontName 这个属性。很显然, Linux 和 Windows 下面算出的文字高度不同。Linux下面可以显示,但是 Windows 下面高度就不够了,所以出现了缺字的现象。解决办法就是把 TextField 的高度加 4 px 左右。后来还想出一个方法是设置 stretch with overflow 那个属性,不过没有具体测试。 isStretchWithOverflow 失灵用户输入的多行文字不能完全显示,只显示了在 iReport 里面设计时候的那部分,仿佛 isStretchWithOverflow 设置了跟没设置一样。又是昏天黑地的 digg,最后发现原因在客户端录入,Flex 的文本域 line separator 竟然是 \r 。Java 这边则是 \n,JasperReport 的文本 stretch 很可能是数文本有多少个 line separator 然后算出总高度,结果当然是算不出实际的行数。解决的办法是在把文本发到 JasperReport 之前,先 correct line separator。 总结是福不是祸,是祸躲不过。上面的问题每一个都耗掉 2 hours+ 的时间来 debug,记在这里,希望可以造福后人。另外有一点比较奇怪的是,JasperReport 的论坛好像完全没有被 google index,出了问题一定要到 这里 和 这里 才可以啊。囧 我佛慈悲。。。 有情提示:此文无聊且冷,慎入。。。 (正文开始) 以前听过一个冷笑话,大概意思就是说一个女孩约会的时候憋不住想放屁,就学着布谷鸟叫的声音,卟(屁),咕(嘴),卟(屁),咕(嘴),然后问男孩听没听见布谷鸟叫,男孩说:屁声太大没听见。。。 我听到的版本就到这里 the end,今天在某个 google 的 result 里看到这个笑话,但是标题比较搞,叫做 “屁是我放的” 英文怎麼說 。哪汗哪?好奇点过去看。没想到这笑话还没完。男方说完之后,女孩很不好意思,遂指著書上的三個單詞,男孩念到:… 男孩到底说的什么?*“本帖隱藏的內容需要回復才可以瀏覽”* 。 囧rz… 无奈好奇,朕就下榻一下这个论坛。注册之后,确认信寄到邮箱里,打开一看,非常好,洋洋洒洒一大篇乱码,不是 character encoding 的错,因为激活帐户的 url 都已经乱掉,推测 base64 明文, decode 之,取出 url 激活帐户(很高级的激活邮件,恩)。然后回到先前的那篇帖子,准备灌水回复,又被告知 “注册之后需等待1小时才可以发帖或回复” (掀显示器) 冷静之后,直接把文章粘到 google 里面去搜,出来结果了。 男孩念到:peace war found 。。。。。。。。。。。。 AMF3 里面的 integer 类型使用 4 bytes 来传输,但是是以一种诡异的形式,摘 osflash 上的一段描述:
这里的重点是:为了省地方, amf3 的 integer 牺牲了部分范围,只能表示 -268435456(int.MIN_VALUE»3) 到 268435455(int.MAX_VALUE»3) 范围内的数。 这引出了一个问题,如果在 java 中一个 integer 的数值大于 amf3 可允许的范围传输的时候怎么办? survey 了一些 implement 代码,发现这种时候会用范围更大的 8 bytes number 类型来传输。 [分隔线若干条...] 最近程序 (Flex + GDS + Hibernate + 其他) 被 User 用出一个神秘的 exception:
由于无法 reproduce,我就把他当成了灵异事件,没有理会。没想到这个不着调的 exception 竟然在昨天出现在朕的面前!经过 3.765 秒的分析和 4.132 秒的 survey 终于发现了问题的根源。(深吸一口气)原来是有一个 proxy entity 的 id 超过了 amf integer 可允许的最大范围,这个从 java 传到 flex 还没什么问题,但是回传会来的时候由于 GDS 将 amf number 读成 double 所以造成 id 类型为 double,但实际上这个 id 被声明为 integer,所以在就出现了上面那个 exception (吐气…) 有趣的是,只有当 entity 是 hibernate proxy 的时候才会出现这个问题。看来是 GDS 某个地方写的有问题,在代码里游啊游,发现了这段:
上面的这个代码是从 svn 的 trunk 上粘下来的,看来这个问题还没改…(没被发现?) 总之,如果有谁不幸中招,可以试试 apply 这个 patch 到 /graniteds/hibernate/org/granite/hibernate/HibernateProxyInstanciator.java 。 Over |
|||||||||||||||||||||||||||||||||||||||||||||||
|
Copyright © 2010 PawaStation 能猫环岛 - All Rights Reserved |
|||||||||||||||||||||||||||||||||||||||||||||||