201510-23 JavaScript编码规范 1前言2代码风格2.1文件2.2结构2.2.1缩进2.2.2空格2.2.3换行2.2.4语句2.3命名2.4注释2.4.1单行注释2.4.2多行注释2.4.3文档化注释2.4.4类型定义2.4.5文件注释2.4.6命名空间注释2.4.7类注释2.4.8函数/方法注释2.4.9事件注释2.4.10常量注释2.4.1... 继续阅读 >
201510-23 HTML编码规范 1前言2代码风格2.1缩进与换行2.2命名2.3标签2.4属性3通用3.1DOCTYPE3.2编码3.3CSS和JavaScript引入4head4.1title4.2favicon4.3viewport5图片6表单6.1控件标题6.2按钮6.3可访问性(A11Y)7多媒体8模板中的HTML1前言HTML作为描述网页结构的超文本标记语言,在百度一直有着广泛的应用。本文档的目标是使HTML... 继续阅读 >
201504-25 PHP生成UTF-8编码的CSV文件用Excel打开乱码的解决办法 原因:是由于输出的CSV文件中没有BOM。什么是BOM?在UCS编码中有一个叫做”ZEROWIDTHNO-BREAKSPACE”的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符”ZEROWIDTHNO-BREAKSPACE”。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符”ZEROWIDTHNO-BREAKSPACE”又被... 继续阅读 >
201412-12 4项技巧使你不再为PHP中文编码苦恼 PHP程序设计中中文编码问题曾经困扰很多人,导致这个问题的原因其实很简单,每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展ASCII码,中国的GB2312-80,日本的JIS等。作为该国家/区域内信息处理的基础,字符编码集起着统一编码的重要作用。字符编码集按长度分为SBCS(单字节字符集),DBCS(双字节字符集)两大类。早期的软件(尤其是操作系统),为了解决本地字符信息的计算机处理,出现了各种本地化版... 继续阅读 >
201411-11 北美求职记(一):Microsoft 微软是我最早投的公司之一,托了在微软总部工作的一位学长帮忙内推。面试包括一轮HR面和四轮onsite面。申请了一个多月后一直都没有反应,直到微软国内招聘的前一天,北京的HR打电话问我是不是投过微软的职位,要我参加第二天上海站的笔试。笔试过后,又过了一个多月,收到了微软一位招聘人员的邮件,问我是不是对微软北美的职位有兴趣,要我填一份基本情况的问卷,里面有问到其他公司的面试进度。我当时已经收到了Googl... 继续阅读 >
201411-11 北美求职记(四):Hulu Hulu是这几个公司里唯一一个我没有找人内推而拿到面试机会的,也是面试体验最好的一个公司。Hulu和Twitter、Zynga、Foursquare等公司一样,用了 jobvite 接受和追踪职位申请。因为是申请的第一家公司,我在申请Hulu时的coverletter写得很详细,针对职位需求上的每一条都写了我的相关工作经验,这也许是最后能拿到面试机会的原因吧。其他公司的coverletter都写得很简单,短短两段就结束了。Hulu的第一轮电面和其他... 继续阅读 >
201411-11 程序员杂谈之多些时间能少写些代码 我在我的微博上说过这样一段话,我想在这里把我的这个观点阐述地更完整一些。@左耳朵耗子:聪明的程序员使用50%-70%的时间用来思考,尝试和权衡各种设计和实现,而用30%–50%的时间是在忙碌着编码,调试和测试。聪明的老板也会让团队这样做。而傻逼的老板,苦逼的程序员会拿出来100%-150%的时间来忙着赶进度,返工,重构,fix大量的bug…所以,越差的团队一般会越忙,而且还忙不完。在现在这个浮躁的时期,再加上敏捷咨询师... 继续阅读 >
201411-11 什么是全栈开发者——全栈工程师的定义、具备的技能以及优势 纯粹基于道德而掌握开发堆栈的每一方面的预期是合理的吗?可能不是,但Facebook这样要求。一个Facebook的员工在OSCON告诉我,Facebook只雇佣全栈开发者。那么全栈开发者是什么意思呢?对我来说全栈开发者是对每一层都熟悉的人,如果不真正对所有的软件技术感兴趣不会对它们精通。好的开发者熟悉整个堆栈,他们是知道如何使生活周边的事更容易的人。这就是为什么在办公室我如此反对偏执的原因,当然,政治及沟通挑战在大型组织中... 继续阅读 >
201411-11 程序员杂谈之程序员需要具备的基本技能 软件开发是一个跨度很大的技术工作,在语言方面,有C,C++,Java,Ruby等等等等,在环境方面,又分嵌入式,桌面系统,企业级,WEB,基础系统,或是科学研究。但是,不管是什么的情况,总是有一些通用的基本职业技能。这些最基本的职业技能通常决定了一个程序员的级别,能否用好这些技能,直接关系到了程序员的职业生涯。很多程序新手也是因为缺少、达不到或是不熟悉在这些基本技能,所以,他们需要有老手带,需要努力补齐这些技能... 继续阅读 >
201411-11 程序员杂谈之不要在愚蠢时间写代码 时不时地,总会听到、看到一些团队频繁熬夜加班,甚至觉得这很浪漫。他们的想法是跟夜晚作弊,持续编写代码或做其他事情。有时这是因为抽风的经理,但也有时诱因来自团队内部。我曾经写过,偶尔是会有一些灵感的火花促使你工作到深夜。但那是另一回事。那种情况下,是灵感的火焰在胸中燃烧,你需要让它经过手指全部转化为电脑中的代码。但这么好的事情不会经常有。我要说的是那种没有什么特别的事情,只是不间断地、夜复一夜地... 继续阅读 >
201411-11 程序员杂谈之盘点对程序员而言最艰巨的十大任务 程序员最艰巨的任务跟编写代码没有多少关系。编码是逻辑思路的一种实践,这跟程序员日常工作中的其它任务比起来相对简单。如果你认为自己还是一个水平一般的程序员,在你真正的能进入到高手行列前,请确保你已经克服了下列晋级的障碍。1.解释你在干什么解释软件开发过程是一个很困难的事情。那些非程序员职业的人也许知道很多关于编程的事情,但很显然,他们不会编程。对于他们来说,我们的生活就是在一间黑暗的屋子里趴在键盘... 继续阅读 >