月度归档:2011年02月

PM与工程师

订阅的文章里,有一片写PM与工程师的文章,真的写道我心坎里去了,共享给大家。

原文链接:http://ucdchina.com/snap/9126

过节前看到一篇文章,讲产品项目就应该由工程师来主导,但国内让PM去驱动项目,搞得乱七八糟,很恼火,怎么可能做出一款好产品来呢?

很显然,写这篇文章的是一位愤怒的工程师,Angry Engineer!我跟他至少有两点共鸣:

1、国内的PM确实常常折腾工程师,甚至不乏“把工程师当工具对待”的情况。
2、如果工程师有开阔的产品视野与全面的设计素养,知行合一,由工程师来驱动项目是一个完美的选择。
继续阅读

JavaScript 平台检测代码

最近公司刚好有一些需要在 IPAD 上运行的视频。需要做对象平台检测,拜读了尼古拉斯大神的《JavaScript 高级程序设计(第二版)》之后刚好觉得代码完全可以用上来。就直接上了,这本书真的非常不错,作为前端工程师如果没有的话,强烈建议去买一本瞅瞅。

检测代码如下:


var client = function(){ var engine = { ie:0, gecko:0, webkit:0, khtml:0, opera:0, //具体的版本 ver:null };

(UED二区)31 CSS代码片段来让你更好的编写样式

绝对实用的好文章,前端开发经常会使用到的一些CSS样式基本上都覆盖到了。精辟!

原文链接来自:http://ued2qu.com/css/31-css-code-snippets-to-make-you-a-better-coder.html

Comprehensive List of Browser-Specific CSS Hacks

浏览器兼容hacks

/***** Selector Hacks ******/

/* IE6 and below */
* html #uno  { color: red }
/* IE7 */
*:first-child+html #dos { color: red }
/* IE7, FF, Saf, Opera  */
html>body #tres { color: red }
/* IE8, FF, Saf, Opera (Everything but IE 6,7) */
html>/**/body #cuatro { color: red }
/* Opera 9.27 and below, safari 2 */
html:first-child #cinco { color: red }
/* Safari 2-3 */
html[xmlns*=""] body:last-child #seis { color: red }
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { color: red }
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho {  color: red }
/* saf3+, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
 #diez  { color: red  }
}
/* iPhone / mobile webkit */
@media screen and (max-device-width: 480px) {
 #veintiseis { color: red  }
}
/* Safari 2 - 3.1 */
html[xmlns*=""]:root #trece  { color: red  }
/* Safari 2 - 3.1, Opera 9.25 */
*|html[xmlns*=""] #catorce { color: red  }
/* Everything but IE6-8 */
:root *> #quince { color: red  }
/* IE7 */
*+html #dieciocho {  color: red }
/* Firefox only. 1+ */
#veinticuatro,  x:-moz-any-link  { color: red }
/* Firefox 3.0+ */
#veinticinco,  x:-moz-any-link, x:default  { color: red  }
/***** Attribute Hacks ******/
/* IE6 */
#once { _color: blue }
/* IE6, IE7 */
#doce { *color: blue; /* or #color: blue */ }
/* Everything but IE6 */
#diecisiete { color/**/: blue }
/* IE6, IE7, IE8 */
#diecinueve { color: blue9; }
/* IE7, IE8 */
#veinte { color/***/: blue9; }
/* IE6, IE7 -- acts as an !important */
#veintesiete { color: blue !ie; } /* string after ! can be anything */

(source) 继续阅读