posts - 12, comments - 174, trackbacks - 3, articles - 8
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

2008年5月21日

    这个是一个HTML 4.0的在IE下渲染得BUG,比较恶心. 不信,把一下这个短代码放到IE下看看,看到了什么?多了个"C",呵呵,很见鬼吧.
当然了,在HTML 4.0下是不允许<style>出现在<Body>中的.最后这个渲染问题是为什么,还请达人们解释.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE></HEAD>
<BODY>
<DIV style="WIDTH: 168px;">
<div style="float:left;"></div>
<STYLE type="text/css"></STYLE>
<DIV style="WIDTH: 100%;FLOAT: left;">ABC</DIV>
</DIV>
</BODY></HTML>
这段代码删除任何一个标签都会显示不出这个BUG效果
用XHTML 1.0也显示不出来效果


参考文章:
IE7的web标准之道——4:(修正)歌剧院魅影bug

注释在IE中造成文字溢出的研究

Explorer 6 Duplicate Characters Bug 

posted @ 2008-05-21 19:27 City22 阅读(27) | 评论 (2)编辑

2008年3月18日

最近在做一个统计功能的时候发现一个很奇怪的问题,如下的两段代码:

update pv6 
set pv0=(select count(0
    
from clubreply with(nolock) 
    
where rReplyDate>=convert(char(10),getdate(),121))
where title=1

select count(0
    
from clubreply with(nolock) 
    
where rReplyDate>=convert(char(10),getdate(),121))

上面一个update执行2分钟,下面的只需要执行10秒!

注明一下:
where title=1只会查出1行,也就是说update只会更新1行
clubreply是一个超级大的表,几千万行,rReplayDate无索引
pv6是一个超级小的表,3行2列,而且极少查这个表,不会出现锁的问题

不明白为什么于是做成了如下的方式
declare @pv int;
set @pv=(select count(*)
from clubreply with(nolock) 
where rReplyDate>=convert(char(10),getdate(),121));
update pv6 set pv0=@pv where title=1
发现还是执行了2分钟

于是又改了这种方法实现
declare @count int
select @count=count(0
from clubreply with(nolock) 
where rReplyDate>=convert(char(10),getdate(),121)
update pv6 set pv0=@count where title=1
终于执行了10秒

然而这一切很奇怪呢,这语句里面最大的效率问题好像是convert(char(10),getdate(),121),为了证明一下,把两个执行2分钟的语句优化一下得到
declare @date datetime;
set @date=convert(char(10),getdate(),121);
update pv6 set pv0=(select count(0
    
from clubreply with(nolock) 
    
where rReplyDate>=@date)
where title=1
declare @pv int;
declare @date datetime;
set @date=convert(char(10),getdate(),121);
set @pv=(select count(*)
    
from clubreply with(nolock) 
    
where rReplyDate>=@date);
update pv6 set pv0=@pv where title=1

以上这两条语句执行的时间为10秒
果然是convert在捣鬼.

最后的结论如下:在select作为结果集赋值的时候,其中的条件会按照select的条数计算

posted @ 2008-03-18 12:20 City22 阅读(136) | 评论 (0)编辑

2007年4月18日

     摘要: 软件人才最终都要沦为民工?我们的路到底该怎么走……  阅读全文

posted @ 2007-04-18 14:17 City22 阅读(4671) | 评论 (94)编辑

2007年4月15日

     摘要: 在大型RIA中,动态加载技术十分重要,毕竟几百K甚至M级别的脚本让用户等待加载完了再浏览是不可能。大多数成熟的framework都有动态加载技术的实现,就是说先加载一个最基础功能,然后利用动态加载技术慢慢把所有的脚本加进来,或者说需要某个功能的时候再加载某个模块所 需要的javascript的文件。  阅读全文

posted @ 2007-04-15 21:18 City22 阅读(4231) | 评论 (19)编辑

2007年4月12日

     摘要: GI_Builder开源了,两个月前得知这个消息后,让人兴奋不已,一个不亚于Bindows的项目就这样把大把大把的JavaScript放出来让人看,不免想让人拿来细细品味一番,看看这个浏览器版的VS2005究竟是怎么弄得。  阅读全文

posted @ 2007-04-12 00:29 City22 阅读(4148) | 评论 (15)编辑

2007年3月29日

     摘要: “什么!你要同时操作SQL Server、Oracle、DB2?”
用户的需求总是变态的,同时操作,分布式事务,唉越想越头疼。  阅读全文

posted @ 2007-03-29 17:55 City22 阅读(269) | 评论 (0)编辑

2007年2月8日

     摘要: 前两天总结了Lock(Monitor)和Mutex这样的锁,现在继续总结EventWaitHandle。呵呵,各位看客们注意了,我写的东西只是总结的经验想和大家分享,没有教人的意思,写的不对的地方还望大家指正。  阅读全文

posted @ 2007-02-08 10:18 City22 阅读(5633) | 评论 (8)编辑

2007年2月2日

     摘要: 除了Lock()、Monitor之外,我们最长用的就是Mutex了,但是玩不好Mutex就总会造成死锁或者AbandonedMutexException(我就玩的不怎么好,在并发性访问测试的时候总是遇到关于Mutex的问题,各位线虫见笑了,不过还是把我遇到的一些问题和总结拿出来和大家分享,有误的地方还往指正。  阅读全文

posted @ 2007-02-02 16:49 City22 阅读(3457) | 评论 (5)编辑

2007年1月30日

     摘要: 线程在多核时代的优势月来越明显,多线程编程的学习也提上议事日程。但越来越多的人陷入线程的泥潭,最后搞得自己面目全非。越来越多的死锁,越来越多的异常数据,在并发性测试中让一个个线程程序员焦头烂额。“自己在自己的编程环境下怎么都没事,单步调试也不会有任何错误,到了两个人,多个人测试的时候怎么就不行了呢?”线程,同步与锁的问题渐渐的凸现在了每个程序员的面前。
还是让我们一起来学习同步与锁吧。  阅读全文

posted @ 2007-01-30 17:33 City22 阅读(4783) | 评论 (30)编辑

2007年1月11日

     摘要: 我曾经想做一个聊天的小程序,聊天需要展示保存数据,却不需要永久。所以说一个临时的存储空间就特别的需要,或者叫缓存。
这样的一个环形链表就能实现我所需要的功能,正向插入,反向查找。对于数据缓存来说还是非常不错的。  阅读全文

posted @ 2007-01-11 16:27 City22 阅读(1898) | 评论 (2)编辑