摘要: 我想每一个刚刚接触web标准的人都会问这样的问题,我就根据自己的经验总结。 Step 1.不要一味使用DW等工具设计网页,去熟悉(X)HTML语言和CSS语言 因为web标准对代码的要求提高了,没有对xhtml代码没有一定的了解是无法通过校检的。DW工具也可以使用,但是要看着代码写网页了。 首先是xhtml代码,不是很多,知道他们如何使用,怎么正确书写,而且要记得封闭tag。如。建议看看一些html参考手册,毕竟xhtml是从html升级来的,很多tag还在在继续使用。 Step 2.建立标准化的声明(DOCTYPE)和head 以前的网页,甚至大型的门户网站也连个声明也没有,就仅仅是,现.. 阅读全文
posted @ 2014-01-04 18:29 思享家 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 互联网上优秀的Web开发案例不胜枚举,但也有一些开发者费劲心血开发出的网站仅因为某些功能就遭到吐槽的也屡屡不鲜。这不,原文作者Scott Hanselman发表的这篇文章《Stop Doing Internet Wrong 》就例举了互联网上那些不招人“待见”的功能。当然,文中提及的这些问题都是可以解决的,因为从技术角度上来讲,它们并不难。我们一起来看下,“有则改之,无则加冕”。文章译文如下:1. 向移动主页重定向桌面深层链(Deep Link)谷歌已经决定采取深层链的做法比如foo.com/something/deep用以检测移动设备,然后重定向用户host文件m.foo.com。事实上,G 阅读全文
posted @ 2014-01-04 14:44 思享家 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 1.你的目标。如果你不知道自己想去哪的话,你就不会到达。对的。你需要有一个目标和相应的计划。你可以随时进行调整,但是你需要有目标和计划,而且要专注于这个目标。如果你很聪明、善于把握机会、有很强的适应能力并且愿意努力工作,你就能够做出了不起的成绩。当然也包括财务上的成功。2.热爱你的工作。斯蒂夫.乔布斯在斯坦福毕业典礼的演讲中说:“你的时间很有限,所以不要浪费时间去过别人的生活。你必须相信点滴的进步会连接着你的未来。这种方法从来没有让我失望,它完全改变了我的生活。取得了不起的成绩的唯一的方法是热爱你的工作。如果你还没有找到你的热爱,一直寻找。不要随遇而安。”3.你为之工作的公司。如果说我有什么职 阅读全文
posted @ 2014-01-03 10:41 思享家 阅读(468) 评论(1) 推荐(1) 编辑
摘要: 很多开发者会认为要想成为一个明星程序员所需要做的事情一定都是与编程技能相关的,不过这种想法却是完全错误的!优秀的代码是很好,但要想得到更好的工作,获得更高的报酬则需要让更多的人知道你是谁。换句话说,你需要推销自己,下面是我根据这些年的工作经验所得出的成为明星程序员的 10 个提示。 1. 撰写博客 搭一个博客,一个月写几篇文章。进行真正的研究,确保你所写的不是那种非常简单的东西。更严肃地说,就是要学会怎么写文章。根据学校的英语老师教你的方式来做:创建一个大纲、叙述、检查语法和拼音。接下来,简化刚才所写的东西,要做到让读你文章的人快速过一遍就能迅速掌握文章的要点。现在的互联网可是要做到精... 阅读全文
posted @ 2014-01-02 22:04 思享家 阅读(656) 评论(0) 推荐(1) 编辑
摘要: 本文作者西西吹雪 ,分享了从程序员到项目经理系列文章。这里只是摘录。 1.两极分化的程序员 相信在很多人眼里,程序员都是工作一丝不苟、对代码精雕细琢、精益求精的人。瞧,他们在电脑前面一坐就是大半天,如果不是追求完美之人,谁能这样坐得住板凳? 可是依我所见,在“追求完美”这个问题上,程序员其实是严重的两极分化。有一部分程序员确实对自己的代码要求很高,他们在编程时,非常注意逻辑是否严谨、运行效率高不高、代码是不是优雅,经常进行代码重构与优化。他们就像有洁癖农村老太,整天扫把不离手,在哪里看到不顺眼的代码,就要改到哪里,如果让他来维护一个系统,多半最后会让他把整个系统的代码全部重构或者重写... 阅读全文
posted @ 2014-01-02 17:34 思享家 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 我从11岁开始编程,并且一直都很喜欢技术和编程。这些是我一直以来获得的经验教训。作为一个程序员,你可能需要这样的忠告。我更希望每个人在获取这些忠告的同时能够学到更多。我将会不间断地更新这里,我可能会有更多的要写,但是就我这20年来看,我认为没有什么更多的需要加在这个清单下了。:-)这就是至今为止我印象最深的一些教训。1、解决问题时估算你所需要的时间。C'mon,admit it! 我曾见过一些程序员为了解决一个特殊的问题而连续坐在显示器前面8小时,我会像下一个会成为这样的程序员一样感到内疚。为自己定一个时间表吧,每1小时,30分钟,甚至15分钟。如果在这期间你不能找出问题的解决办法, 阅读全文
posted @ 2013-12-31 21:51 思享家 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 这篇有趣的文章编译自一篇西班牙博客。有一位美丽的公主,被关押在一个城堡中最高的塔上,一条凶恶的巨龙看守着她,需要有一位勇士营救她…下面是各种语言如何想办法将公主从巨龙手中营救出来的。Java – 赶到那里,找到巨龙,开发出一套由多个功能层组成的恶龙歼灭框架,写几篇关于这种框架的文章…但巨龙并没有被消灭掉。.NET – 赶到哪里,看到了Java程序员的做法,完全拷贝过来,试图去杀掉巨龙,但巨龙把他吃掉了。C - 赶到那里,对巨龙不屑一顾,举起剑,砍掉巨龙的头,找到公主…把公主晾在一边,去看看有没有最新提交的linux内核代码。C++ – 先打造出一根针,然后在上面添加各种功能特征,直到最后汇聚成 阅读全文
posted @ 2013-12-30 18:04 思享家 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 使用标签语义化的理由可以有无数条:去掉样式或者样式丢失时页面结构依然清晰分明移动设备能够更加完美的展示你的网页(移动设备对css的支持较弱)阅读器会根据标签的语义自动解析,呈现更容易阅读的内容形式(无障碍阅读)搜索引擎会根据标签的语义确定上下文和权重问题便于后期的开发以及维护,团队合作效率提高……、、、、、,作为标题使用,并且依据重要性递减。是最高的等级。P段落标记,知道了 p 作为段落,你就不会再使用来换行了,而且不需要 来区分段落与段落。p中的文字会自动换行,而且换行的效果优于。段落与段落之间的空隙也可以利用CSS来控制,很容易而且清晰的区分出段落与段落。 标签最初是在 HTML 4.0 阅读全文
posted @ 2013-12-29 22:10 思享家 阅读(500) 评论(2) 推荐(0) 编辑
摘要: 近几年流行“微”。比如什么微电影啊、微博啊、微信啊…也从某个角度说明,把一个点做好就很容易得到用户的青睐。最近大土豪苹果公司发布了他们的全新产品5S和5C,大伙反映在设计上并没有和上代有明显的区别,主要是在一些小细节、小东西上的优化。想来每一代的苹果跟上代比也很少有颠覆性的改变。(当然品牌的延续也是一部分原因)什么是微创新?乔布斯说过,所谓的微创新,并不是让你把过去的东西都推翻掉,而是在过去的基础上不断的调整和变化,甚至可能只是调整一点小小的功能,但是最后给客户带来的体验是非常棒的,这就是微创新。对一个成功的产品来说,再进行颠覆式创新也意味着风险。细细想来,目前市场上的这些成熟的产品已经很少有 阅读全文
posted @ 2013-12-28 21:51 思享家 阅读(669) 评论(0) 推荐(0) 编辑
摘要: 如果你的代码易于阅读,那么代码中bug也将会很少,因为一些bug可以很容被调试,并且,其他开发者参与你项目时的门槛也会比较低。因此,如果项目中有多人参与,采取一个有共识的编码风格约定非常有必要。与其他一些语言相比(比如Python示例),JavaScript没有一个权威的编码风格指南,取而代之的是一些流行的编码风格:Google的JavaScript风格指南(以下简称Google)NPM编码风格(以下简称NPM)Felix的Node.js风格指南(以下简称Node.js)惯用(Idiomatic)的JavaScript(以下简称Idiomatic)jQuery JavaScript风格指南(以 阅读全文
posted @ 2013-12-27 17:32 思享家 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 什么是冗余字段?在设计数据库时,某一字段属于一个表,但它又同时出现在另一个或多个表,且完全等同于它在其本来所属表的意义表示,那么这个字段就是一个冗余字段。——以上是我自己给出的定义冗余字段的存在到底是好还是坏呢?这是一个不好说的问题。可能在有人看来,这是一个很蹩脚的数据库设计。因为在数据库设计领域,有一个被大家奉为圭臬的数据库设计范式,这个范式理论上要求数据库设计逻辑清晰、关系明确,比如,”用户昵称”字段”nickname”本来属于表”user”,那么,表示”用户昵称”的字段就唯一的只应该属于”user”表的”nickname”字段,这样,当用户要修改昵称的时候,程序就只需要修改 user.n 阅读全文
posted @ 2013-12-27 15:46 思享家 阅读(1672) 评论(0) 推荐(1) 编辑
摘要: “Web已经死了。HTML5将统治着未来的一切。用户正在应用上花更多时间,在Web上花更少时间。”“你可以在Web上做任何你能在本地应用中做的事情。”这是我在这两年听到的泛滥了的“本地和Web”之争,我不得不对这个无聊的争论吐个槽。这不是二选一的决定我们为什么不再去争辩“打印”和“数字化存储”谁优谁劣呢?因为大多数人都已经明白了每一种介质在这个世界上都有它的位置,它们可以彼此补充,完美配合。信件、杂志广告,都可以驱动用户上网查询。而网络上的展示则能让人们订购杂志、访问商店。两者就这样配合起来。移动终端也是一样的道理,但是不明白人们就是觉得应该把本地应用和Web应用拿出来互相比一下。本地应用可以 阅读全文
posted @ 2013-12-26 13:44 思享家 阅读(469) 评论(1) 推荐(0) 编辑
摘要: 从代码书写效率和宏观的部署等两个方向进行总结。 1、代码效率 变量使用优化 声明对象和数组使用字面量,如var newarray = [];var newobject = {var p1 :''t';vat f1:function(){}} Js寻找变量使用变量作用域链,如果常常使用的在外层作用域的可以使用临时变量代替。 如 For(){ to do document.body } 写成 var tbody = document.body; For(){ to do tbody } 不用with For优化 使用倒序循环 for (var i=length;i——;) 阅读全文
posted @ 2013-12-26 08:31 思享家 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 本文列举了是十个免费工具,可以用来进行Web的负载/压力测试的。这样你就可以知道你的服务器以及你的WEB应用能够扛得住多少的并发量,以及网站性能。0.Grinder– Grinder是一个开源的JVM负载测试框架,它通过很多负载注射器来为分布式测试提供了便利。 支持用于执行测试脚本的Jython脚本引擎HTTP测试可通过HTTP代理进行管理。根据项目网站的说法,Grinder的 主要目标用户是“理解他们所测代码的人——Grinder不仅仅是带有一组相关响应时间的‘黑盒’测试。由于测试过程可以进行编码——而不是简单地脚本 化,所以程序员能测试应用中内部的各个层次,而不仅仅是通过用户界面测试响应时 阅读全文
posted @ 2013-12-25 08:45 思享家 阅读(730) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章中提到过,我已经不在Google工作了。我还没有想清楚应该去哪里—有两三个非常好的工作机会摆在我面前。因为在这段做决定时间里,我不再受雇于任何人,我想可以写一些专业性的东西,一些很有趣,但也会在同事和管理工作中导致关系紧张的东西。Google是一个非常优秀的公司。他们做出了很多令人称赞的东西—既是公司外部,人们可以看到的东西,也是公司内部。有一些在公司内部并不属于保密的事情,在外部并没有给予足够广泛的讨论。这就是我今天要说的。让Google的程序如此优秀的一个最重要的事情看起来是非常的简单:代码审查。并不是只有Google做这个事情—代码审查已经被广泛的认可为一种非常好的做法,很多 阅读全文
posted @ 2013-12-22 22:22 思享家 阅读(1210) 评论(2) 推荐(0) 编辑
摘要: 看到一篇好文,做了一点修改,收集在这里。注:本文是我在淘宝的内网中发现的一片文章,作者来自于测试团队的霜波同学,她是我淘宝讲师团队的同事,爱好广泛,去年一年都在研究心理学。哈哈,让我甚是佩服。这篇文章写的是互联网用户的心理学特征,我觉得分析的很到位,感觉这些行为就是每天发生在自己身上一样。我想,这对设计师来说,了解这些用户行为背后的原因是非常重要的。故转发此文,与大家一同分享。近半年持续关注了一些用户反馈和客服电话,从一些常见问题中总结出了八点互联网用户常见心理特征,在此共享,希望能共同努力提高用户体验。1:惯性用户:“你们的排序按钮为什么没有了?”客服:“亲,我们把它放在右边了,这样更加的明 阅读全文
posted @ 2013-12-21 20:52 思享家 阅读(571) 评论(2) 推荐(0) 编辑
摘要: 现在App开发者越来越多,每天上线的应用已经达到1000多款,随着推广成本的增长和App同质化的加重,越来越多的开发者根本赚不到钱,在繁荣的移动互联网泡沫里,这些苦逼的开发团队或个人只是行业红海的一个泡沫,一旦行业洗牌,他们只能竹篮打水一场空。虽然很多苦逼的开发者不赚钱,但是有的人却在赚钱,有一部分人在使用着其他开发者的App赚着大把大把的钱。赚广告商的钱这赚钱的其中一部分人就是打包党。说起打包党,大家可能都知道,就是专门从事二次打包的公司或者个人,这些团队或者个人每天研究最新的App和应用,然后寻找一些非常有创意的或最具可玩性的应用,下载下来然后二次打包上从广告联盟哪里接来的广告,然后放到各 阅读全文
posted @ 2013-12-20 10:21 思享家 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 1.使用 === 代替 ==JavaScript 使用2种不同的等值运算符:===|!== 和 ==|!=,在比较操作中使用前者是最佳实践。“如果两边的操作数具有相同的类型和值,===返回true,!==返回false。”——《JavaScript:语言精粹》然而,当使用==和!=时,你可能会遇到类型不同的情况,这种情况下,操作数的类型会被强制转换成一样的再做比较,这可能不是你想要的结果。2.Eval=邪恶起初不太熟悉时,“eval”让我们能够访问JavaScript的编译器(译注:这看起来很强大)。从本质上讲,我们可以将字符串传递给eval作为参数,而执行它。这不仅大幅降低脚本的性能(译注: 阅读全文
posted @ 2013-12-18 14:56 思享家 阅读(713) 评论(0) 推荐(2) 编辑
摘要: 大学时专业是机械,工作后来才干了软件。所以对于软件我可以说是半路出家。但一路走来还真应该感谢几位导师以及他们的几句话,这些话让我在钻研技术的同时也在不断思考。1 可以理解的才是代码,无法理解的是垃圾 这是我进入公司后印象深刻的第一句话,这句话也让我立刻意识到我之前写过的成千上万行曾经还让我自信满满的代码很可能就是垃圾,因为自从我写过后就不想再去看。从那以后,我就开始为不制造垃圾而努力!2 最难的是命名 那时导师无论对设计还是代码都要求很严格。代码检查的时候会不时地提出一些命名问题。有的是词不达意,有的是牛头不对马嘴。对于命名问题,被指出后可以很快有更改方表明对问题还是有比较深刻的认识,只是命名 阅读全文
posted @ 2013-12-18 12:58 思享家 阅读(930) 评论(2) 推荐(3) 编辑
摘要: O2O模式是餐饮业在移动消费趋势下主动拥抱互联网的方向,迎合餐饮消费者从以往经验判断为主转变为依靠移动设备、LBS、社交网络进行立体决策的过程。App成为联系消费者和餐饮业的重要纽带,承载着在O2O双向流程的闭环中加深消费者对品牌的认同和感情认知的作用。FaceUI与必胜宅急送合作推出的手机订餐web版是对其O2O策略的补充和深化,通过Html5的技术支持,手机web可以直接适配手机屏幕并实现类似App客户端的体验。整个产品的实现过程,就是对产品背后动机的挖掘和把握,随着项目团队对动机的理解,设计思路也随之发生了转化。产品的客户方动机即为什么要做这个产品,客户方对此产品的定位和要求。不同定位的 阅读全文
posted @ 2013-12-18 09:34 思享家 阅读(1363) 评论(0) 推荐(1) 编辑