手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2024年09月的文章

圆角?抱歉,你的浏览器不支持。请升级以获得更好体验。

shawphy说到:圆角?抱歉,你的浏览器不支持。请升级以获得更好体验。
为此,他写了一篇博客,当然也有人有不同意见。所以有就有了这样的回复,当然他的回复不是为了针对内容的:

糖伴西红柿 on 八 23, 2009
  1. 确实为了低级浏览器的不兼容问题,要做出很多不必要的工作,投入和产出比暂且不说。面对那一堆毫无意义的标签就很让人烦恼了,对追求简洁高效代码的人来说,这简直无法忍受。不过真的能通过沟通来解决这个问题吗?首先,那么完善的沟通应该堪称完美,其所需要的条件,尤其是对老板的要求,感觉会比多谢几个多余的标签简单不到哪里去。如果老板们真的这么善于接受建议,他们就不是老板了。其二,就算老板接受了又如何,以 IE 尤其是 IE6 在国内如此高的占有率,以及那些用户的无知,这又是另外一个更大的噩梦。不知道你有没有碰到过,我不只一次的听到网站的编辑抱怨 Firefox 是个该死的浏览器,那一刻,我真的无语了。  

shawphy这样回复:

Shawphy Reply: 八月 23rd, 2009 at 13:18
  1. 呵呵,老板,同事们听不听那就是技术之外的功夫了~  
  2. 这个修炼好了,才是真正的强大  
  3.   
  4. 我提到的几点都是不影响实际功能的,却能增加视觉效果和体验的东西。我们有义务让“无知”的用户知道,用高级的浏览器可以获得更好的体验。我们不说,我们一味迁就,这些“无知”者永远无知,谁造成了他们的无知?有谁能帮助他们改变现状?只有我们!你不做,等着他们改变?可以,等他们的电脑都换WIN 7吧!如果他们有这个经费的话!  
  5.   
  6. 沟通有用么?沟通没用你是怎么工作的?你如何理解需求方意图的?是的,沟通是有用的。你需要让需求方知道,实现这些附加效果需要多付出一些劳动,开发周期会更长。让需求方评估决定是否值得投入这些时间和资金。当然,你可以通过暗示等各种手段来使其听你的。  
  7.   
  8. 另外,说Firefox不好用,那是有他们的立场,你是否帮助过他们了解Firefox有多好用呢?设身处地的想,我们是不是也有让人家“痛心疾首”的时候呢?他们那些“痛心疾首”的人又为我们做了些什么呢?告诉我们其实我们没那么糟糕,我们用烂的工具一样可以完成很好的体验?  
  9.   
  10. 我相信我们除了抱怨,除了等待,还有别的事可以做!  
  11.   
  12. P.S.论速度,Firefox还不如IE6,更不用说Chrome了。所以我现在不会给人推荐Firefox,我只会推荐Chrome,还有傲游3。见我之前那篇博客。  
那么,他们容易为什么这么说呢?直接看原文吧。。。

原文地址为:http://shawphy.com/2009/08/sorry-you-should-upgrade-your-broswer.html

之前写过一篇博客,问是否敢对IE6说不。实际上,我虽然自己没有公然抗议,暗自的还是有一些的。

最常见的就是:hover伪类了。除了二级菜单这类关键部位之外,其他地方一律用此处应当使用的标签,而不滥用a。其:hover伪类IE6无法支 持,大不了少了点效果而已,不会有功能损失。想获得更好体验?请升级。为此写脚本做兼容?抱歉,我没时间。实际上,很多时候需求方并不在意这些细节交互地 方。他们都不在意,你在意什么?

圆角?对不起,我可不高兴用一堆标签弄出圆角来。九宫格之类的办法不是不会,只是嫌麻烦。一堆标签自己看得心烦。直接用border-radius,浏览器要支持你就圆角,不支持就方的好了,没什么了不起的。除非需求方强烈要求,那在说

阴影?呵呵,同样对不起,阴影如果方便直接背景就背景,不方便实在抱歉……我给一个box-shadow已经很不错了,兼容Chrome Firefox 3.5呢。没了阴影功能又不会缺失,可有可无。

文字阴影?text-shadow伺候,如果需求方执意要求,那只能做背景图了……只是Chrome下文字阴影效果真是颗碜。。。

其实CSS3有很多很美妙的特性,利用这些特性可以非常轻易制作很出众的效果,何苦为了一些效果而花费大量时间呢?
适当跟需求方说明这些。告诉他们实现这些所要消耗的人力成本有多高。让他们自己决定哪些一定要,哪些可以放弃一部分低级浏览器用户。
在完善的沟通下,才能说服老板,说服需求方逐步抛开低级的浏览器,才能促进整个大环境的改变。

Tags: 圆角

老王:你们这些不明真相的围观群众啊


Shell批量修改文件内容

比如说,我想把网页文件里的foo都替换成bar,主要是利用sed的-i参数:

find /path -type f | grep -i -E '(htm|html)$' | xargs sed -i 's/foo/bar/g'

在Smarty模板里渲染嵌套数据

主要是利用include语法,

<!--{include file="_tpl.html" param=$foo}-->

然后在_tpl.html模板里接着使用
:<!--{include file="_tpl.html" param=$bar}-->,即完成了嵌套数据的渲染。

PHP中mb扩展的编码问题

mb_internal_encoding('gb2312');
mb_regex_encoding('gb2312');

需要注意的是
mb_regex_encoding不支持gbk,此时你只能使用gb2312, 类似的问题htmlspecialchars也有。

MySQL里索引的选择及取舍


给个简单的例子:按创建时间倒叙查询文章及其类别信息

SELECT *
FROM articles LEFT JOIN categories on articles.category_id = categories.id
WHERE articles.user_id = ... ORDER BY articles.created DESC LIMIT ...

那么单就这条查询而言,articles和categories表应该分别具备哪些索引呢?

articles表应该创建“user_id+created”复合索引,基本守则是先后联合"WHERE里的字段+ORDER里的字段",不过这只是最 理想的情况,很多时候,我们往往只能在"WHERE里的字段"建索引,或者在"ORDER里的字段"建索引,此时索引的选择就显得很有讲究,不应该一味的 以为只能使用"WHERE里的字段"建的索引,有时候使用"ORDER里的字段"建的索引更有效,这取决于是先用WHERE筛选后ORDER排序高效,还 是先ORDER排序后WHERE筛选高效,具体的选择取决于数据的分布情况。

另一个问题是articles.category_id = categories.id里,articles.category_id和categories.id哪个应该是索引,但就此例来说,在 articles.category_id列上索引是无意义的,因为通过WHERE或者ORDER之上的索引命中数据后,自然就得到了 articles.category_id的值,此时没有必要在它上面建索引,当然其它的时候可能需要,至于categories.id字段,肯定需要索 引了,这样才能从articles.category_id直接查询命中。

想获得UTF-8编码的数据,但MySQL表的编码是GBK的

很多人在处理这个问题时,是先查询MySQL获得原始数据,然后使用iconv或者mb_convert_encoding把编码从GBK转换成UTF- 8,其实只要在查询前SET NAMES ‘utf8’即可,不明真相的MySQL使用者们往往认为GBK编码的表在查询时只能SET NAMES ‘gbk’,这实在是一大谬误。

Tags: 围观群众, 不明真相

来自SA Notes 关于linux性能提升的文章

文章比较多,所以,我又学习上次,采用ScrapBook进行了简单的打包。ScrapBook打包后,原有的样式都保留。而且也不是特别大。还能够直接导入ScrapBook,所以我觉得不错的说。

文章都是来自于SaNotes,那么,什么是SA呢?
SANotes网上有定义:

sa 的职位定义包括但不限于:

Making the system available to others
Monitoring the usage of the system
Maintaining a certain level of performance
Planning for future processing needs

呵呵,还是直接下载文章看吧。当然,如果你认为下载起来很繁,也可以看以下链接:

图片:

大小: 35.16 K
尺寸: 360 x 214
浏览: 1471 次
点击打开新窗口浏览全图

或者下载附件:
scrapbook.rar

Tags: sanotes

杨叔叔的采访,来自柴静博客

来源:http://blog.sina.com.cn/s/blog_48b0d37b0100fdsn.html

1、网友问“你应该去采访卫生部,这些网瘾少年怎么办,有没有地方治疗?怎么治疗?”

回答:6月份我们向卫生部提出采访申请,这些问题在题纲里,卫生部没有接受访问,不过,7月13日,卫生部发布《关于停止电刺激(或电休克)治疗“网瘾” 技术临床应用的通知》,对近期各地出现的“网瘾电击疗法”做出暂不宜应用于临床的研究结论,要求各地立即停止该项治疗,卫生部专门组织专家就该诊疗相关问 题进行了充分研究和论证。专家一致认为,电刺激(或电休克)治疗网瘾技术的安全性、有效性尚不确切,国内外并无相关临床研究和循证医学依据,暂不宜应用于 临床。

目前国内治疗方式有心理疏导,封闭式军训,精神药物等方法,治疗的人有多种,有人是心理咨询师或者持精神科医师证,有人没有任何资质证明。网瘾矫正未被纳入医疗项目,也没有明确的医疗收费标准。

2、网友问“既然目前没有明确的治疗方式,为什么不允许别人第一个吃螃蟹?”

回答:卫生部表示:若开展科学研究,应按规定申报,经批准后须充分尊重受试者知情权和选择权,不得收取相关费用。

3、zsh说:这个话题我最直接的想法就是,什么是“瘾”,什么又是“网瘾”,什么样的网瘾被界定为“疾病”,所以,这些孩子被认为有病的评价标准是什么?这个标准是谁定的?家长可以界定么?这个医疗机构可以么?违反孩子自我意志进行治疗合适么?

回答:据我们采访中受治者的说法,在临沂的网戒中心,使用仪器前没有对受治者本人进行病史询问与网瘾检测,通常直接使用仪器,这一点大家从视频中也可以看到。杨医生在采访中也承认这一点,他的解释是通常根据家长的意见和孩子的暴躁表现即可作出判断。

中国目前没有公认的网瘾标准,被引用较多的最早给网络成瘾下定义的美国网络成瘾中心,我曾写信给他们征询意见,引录一点它的创始人Dr. Kimberly Young的回复:

We do not use electric shock therapy for treating addiction in the US ,it is mainly used to treat depression with good results. We do no mandate treatment unless for criminal purposes here in US.but parents do have rights to admit children into inpatient treatment centers for behavioral or psychological problems, so it is up to each family and parent, this is consistent with what we do. To be admitted, an uation must be conducted to show cause.

具体的评估标准和治疗方法可参看他们的网站:http://www.netaddiction.com/4Ha397666

4、建议对那些做了电击治疗的孩子进行跟踪采访,看看他们日后的生活是什么样子的 .

回答:我们无法拿到接受过治疗的3000多名孩子的全部资料,只能提供采访中遇到的几类情况:

A、节目中采访的王睿称治疗有效,自己已经不再成瘾,亦无感觉有副作用。该采访在网戒中心进行。

B、称自己现在的确不再上网成瘾,但与治疗无关,是随着年纪增大而自我调整的,如节目中的小坤与腾飞。

C、离院后仍然网瘾,在《战网魔》中曾作为案例出现的谢乾谢坤兄弟,在我们6月采访期间被家人第7次送回治疗。

D根据受治者的陈述,有三人曾目击在治疗中有青少年被诱发癫痫或者休克,之后被父母接走。此说法因没有找到当事人而无法证实。

在此仪器研制者的论文中有如下描述:

(5)由于该治疗方法相对剧烈,对于心、肺功能较差,严重肝、肾疾病,年老或儿童,中枢神精系统疾病等慎用。
(6)该治疗由于采用正弦波电刺激是一种持续增强与减弱的电流,对患者的认知和脑电图(EEG)产生不良影响。(DX—Ⅱ型电休克治疗仪研制与临床应用--《医疗装备》2002年12期)

E、根据受治者的陈述,采访有数位受治者自称离院后个性发生变化,仇恨和恐惧父母,我们节目中采访的做影像处理的一对夫妻,母亲也谈到儿子因为治疗对他们 产生仇恨,与父亲关系尤为紧张,据她的说法,因为父亲在治疗时曾上报儿子不给他递西瓜吃,导致儿子被电击。还有受治者陈述出院后变得“自卑”,“虚伪” “频繁恶梦”。至于是否影响智力,无法证实。

6、有人问,86条规定到底是什么?
回答:贴在文稿后,请大家看。

7、这节目我自己很不喜欢,一度不想贴视频, sze在评论中说“一期節目,即使是有很多缺点,也可以是有價值的,激起輿論的跟進,也可以是它發揮力量的方式。我看重的新聞調查不一定是期期完備的邏輯演練,而是它能夠接受外來輿論的介入,所形成的互補關係”

回答:嗯,受教。

86条规定:

大小: 142.13 K
尺寸: 282 x 376
浏览: 1353 次
点击打开新窗口浏览全图

大小: 134.79 K
尺寸: 500 x 375
浏览: 1359 次
点击打开新窗口浏览全图

《网瘾之戒》视频地址:http://space.tv.cctv.com/video/VIDE1250349298689885

innerHTML 的些摘记

Gracecode网上的文章,好象研究了比较深。
本文的亮点写在了内容中,但我觉得argements.callee这个用法还是很有特色的。以前都是用this之类的来解决。。。

还有一个亮点就是document.Fragment这个东西。。。

不废话看原文:

异步 innerHTML

innerHTML 插入节点的性能的问题,通常是我们最关注的。在回答这问题时James Padolsey 给出了他的解决方案,看到上述代码不仅赞叹了下:

JavaScript代码
  1. function asyncInnerHTML(HTML, callback) {  
  2.     var temp = document.createElement('div'),  
  3.         frag = document.createDocumentFragment();  
  4.     temp.innerHTML = HTML;  
  5.     (function(){  
  6.         if(temp.firstChild) {  
  7.             frag.appendChild(temp.firstChild);  
  8.             setTimeout(arguments.callee, 0);  
  9.         } else {  
  10.             callback(frag);  
  11.         }  
  12.     })();  
  13. }  
  1. 充分利用闭包解决 IE6 的内存溢出问题
  2. 使用延时 0 将操作从队列中拉出,防止浏览器假死
  3. Document Fragment 给予我们个相当好的沙盘,只是我们经常忘记了它
  4. 回调的节点可以使用 DOM 标准的手法(appendChild)插入

了解了参数就很容易调用,例如

JavaScript代码
  1. var htmlStr = '<div><p>...</p><p>...</p><div><div>...</div>';  
  2. asyncInnerHTML(htmlStr, function(fragment){  
  3.     document.body.appendChild(fragment);  
  4. });  

再次不禁赞叹下!

组织 innerHTML 字符串

说到 innerHTML ,通常在这操作之前会有大部分的字符串操作用于连接节点。考虑下面的三种做法,有何不同

方式一

JavaScript代码
  1. var arr = ['item 1''item 2''item 3', ...];  
  2. for (var i = 0, l = arr.length, list = ''; i < l; i++) {  
  3.     list += '<li>' + arr[i] + '</li>';  
  4. }  
  5. list = '<ul>' + list + '</ul>';  

方式二
JavaScript代码
  1. var arr = ['item 1''item 2''item 3', ...];  
  2. for (var i = 0, l = arr.length, list = []; i < l; i++) {  
  3.     list[list.length] = '<li>' + arr[i] + '</li>';  
  4. }  
  5. list = '<ul>' + list.join('') + '</ul>';  

方式三
JavaScript代码
  1. var arr = ['item 1''item 2''item 3', ...];  
  2. var list = '<ul><li>' + arr.join('</li><li>') + '</li></ul>';  

详细的对比测试在这里(没错,还是 James Padolsey 那小子的 Blog)。同时,PPK 也整理了份有关 innerHTML 的速度测试报告

IE 的陷阱

对于 IE,innerHTML 有个不大不小的陷阱(via),就是在 tbody 中插入 innerHTML 时,会报莫名的“未知的运行错误”。

测试地址在这里(经过测试,在 IE8 中仍然如此)。有兴趣的同学可以参看更详细的信息

Tags: arguments, callee, innerhtml