“Internet Explorer 无法打开 Internet站点已终止操作”问题

    以前偶尔被这个问题困扰,总是不知不觉就解决了,这次留个记录。

    先贴个Reference

    症状:打开页面,渲染到一半,弹出对话框,内容如题。点击确定后转到IE自己的错误页面,一点错误信息都没有。Google一番后,得出几个可能性:1、Debugger插件作怪;2、Javascript引号没匹配好;3、在页面渲染期间进行了insertChild操作。

    首先禁用所有调试插件,并设置禁用调试。无效。调出Multiple IE用IE6访问,问题依旧,排除第一条。

    第二人肉扫描代码,没发现问题。Firefox和Chrome页面均正常,基本排除第二条。

    第三条就看Ext.onReady()的位置了,发现了问题。在代码的最后用Ext.onReady()包裹了grid的render调用,但这不够。需要把整个grid的创建过程给embrace(不知道中文用啥好)起来,因为在GridPanel的constructor里就开始渲染了(没有设置lazy-render)。

VC7项目文件转换为VC6文件

    今天研究Notepad++的插件,下了一个demo project下来运行,没想到是vs2003的项目,而我机器上只有vc6。实在不想安装VS200X,体积大速度慢。在网上google了一番发现了一个转换工具(需要注册才能下载,还提供源码)。很方便的命令行工具,直接把sln+vcprojc转成了dsp+dsw。

推荐一款MySQL管理工具

    最近一边进行着apis的开发,一边维护着两个apis实例的运行。以前没有多少维护系统运行的经验,有的也是失败的经验(某一阶段的VOD)。

    维护应用最重要的地方就是系统的数据了。系统崩溃了可以重搭,出Bug了可以改,可要是数据丢失那可就欲哭无泪了。另外,本地开发时往往也需要一些当前product数据库里的数据。为了解决第一个问题,我使用了cron+bash,每个小时给数据库备份一次,并压缩。虽然频率高了点,但是后来证明完全必要(有一次不小心把数据库给干掉了)。

    平时使用MySQL一般用phpMyAdmin,基本上是MySQL居家旅行的管理良药。桌面的几个软件都不怎么用得惯,而且不能管服务器。但是phpMyAdmin的备份和恢复的功能一直都不太好用,经常会超时或者导入错误。今天看到月光博客上的推荐的mysqldumper,马上下载下来装上,发现很好用,备份过程中使用了一些AJAX技术,用户体验很好。上载到服务器上,发现美中不足的是,没有密码限制访问!只好用Require valid-user来手动配置,搞定。

Firefox实现text-overflow:ellipsis

用ExtJS做UI层的确很好看,在IE7(我们抛弃了IE6), Chrome,
Safari下运行都挺好,但Firefox总有点问题,都是关于Grid的。昨天碰到的问题是GridPanel(就是表格),当某列的内容超出了预设的宽度的时候,会把这一行撑爆,结果列就无法对齐,很难看。用Firebug+IEDevBar看了半天(IE是好的,Chrome还没有可用的调试器),才发现问题在于Firefox对text-overflow:ellipsis这个CSS3的属性不支持。Google了一番,这里推荐了两个方法,第一个方法更优雅一些,使用了mozilla的扩展属性-moz-binding,直接用上了XUL和XBL。第二种牵涉到了Javascript,感觉不是很好。这里有一个代码的下载,一开始我自己拷贝代码下来捣持了半天也没搞定,直接下代码就OK。
今天又碰到一个ExtJS在Firefox下显示的问题。有关于GroupingView的GridPanel的。不改了,应该没人会注意到吧。

推荐一篇好文:一个华人是如何干掉华尔街的

    前几天在格致上看到推荐,觉得内容不错。

    上个月翻水木Investment Bank版的精华区,里面提到了说不要去盲目追一些最新的东西,比如高斯XX函数。看到这篇文章,猛然发现就是这个东西:高斯连接模型(Gaussian Copula Model)。

    这个华人叫李祥林,现任中投首席风控官。中国这回不输出革命饥饿贫穷,倒是狠狠折腾了西方一把啊。

Recipe for Disaster: The Formula That Killed Wall Street(E文慎入)

Hibernate里的重复记录

前几天APIS爆出了个奇怪的BUG:某个小组关闭任务后,任务自动被duplicate,然后子任务也丢失了。手工查看数据库,发现数据库里居然只有一条Task记录,Hibernate却返回两条。findById(id为主键)居然会返回两条记录,这就奇了怪了。
用Firebug看记录,发现抛出了异常。”More than one row with the given identifier was found”。可是数据库里明明只有一条记录啊。二话不说google发现了这个post,顿时想起来由于关联(association)而产生万恶的outer join。排查了几个关联(出问题的那个类偏偏是最heavily-associated),终于在一个与Part类<one-to-one>上发现了问题。虽然是<one-to-one>关联,却发现另外一方(Part)存在重复的记录,直接影响到Task类。找到原因,assign给Part类的责任人,问题解决。

疯狂的赛车

    今天看疯狂的赛车,猛然发现电影就是在厦门拍的。思明西路大中路那块的街坊(也可能是中华片区),演武路大桥,观音山国际码头,体育中心,都是熟悉的场景。当然最激动还是下面一张图:

image

    嗯,俺家那里的高速公路收费站。

    不过话说回来,这就是剧组不够牛B了。厦门是个海岛,每逢发生重特大案件,警察屡试不爽的一招就是在出岛的几个桥梁设卡检查。主要在海沧大桥、厦门大桥(现在还多了杏林大桥和集美大桥,以后还有翔安隧道)。剧组还没牛B到在几个主要出口拍电影。图中这个地方是在岛外的高速公路收费站,不是警察设卡的地方~

发一篇微软的实习面经

    年前投了微软的实习,还找了微软的校园大使做内推。网申就花了2个小时,不过填的资料以后还可以重复用(UBS里填的资料我怎么样也找不到了)。后来看到了微软大幅裁员的消息,觉得估计不招人了吧,也没再去多想。

    没想到在4号,收到了微软HR的一封邮件,要我回答一些问题,比如什么时候可以实习,能实习多久,有没有老板的批准等等。就老板这事儿拿捏不准,发邮件给老板问问能不能在暑假放我一马。第二天第三天微软的HR打电话两次给我(不同的人)确认一些事情。我也表达了想申请上海的职位的意愿。周日中午就有微软上海STBC的员工给我打电话,要预约一个在线面试的时间。

    面试就是周二晚上7点半。之前我上网搜了一些面经,大概知道了面试的流程。自己做了一些题目,另外整理了一些项目的信息。在线面试使用Live Meeting做在线白板。语音不知怎么搞不起来,就打电话(还好之前开了两城一家套餐,漫游接听不要钱,不然话费要爆了)。题目很简单,用C#写一个string的reverse。不过我C#一年多没写了,string的一些api早忘光了。然后换成C++的写。失败的是,函数声明写错了,给自己下了很大的一个套。写成了char* reverse(char*),应该是char* reverse(char*, char*, int)。逻辑是没啥问题,但在原字符串上操作,显然会有一些问题,我自己也意识到了。接下来谈的就是项目。郁闷的是他只对.NET项目感兴趣,可是对.NET我也不是很熟,一些机制也是猜得(就是用Java的机制回答)。比如.NET的垃圾回收机制也没答上来(后来查了查,是分代回收,以前见过的)。最后让我我问了几个问题。最后看时间大概45分钟左右。

    总体感觉就是没啥感觉。和当年IBM的面试一样,说不上好也说不上坏。就等消息吧,呵呵。