- 浏览: 105197 次
- 性别:
- 来自: 北京
最新评论
-
我breaker:
不错,学习了
详解 JavaScript 回调函数 -
Dead_knight:
搞不懂,iteye最近的帖子都是动辄好几百的顶。。。并且就几条 ...
Coding?是不是Coder思维模式 -
derta2009:
我觉得这根是不是程序员没有太大的关系,解决问题是所有人的问题。 ...
Coding?是不是Coder思维模式 -
iamzxt999:
https://www.digitalocean.com/?r ...
Coding?是不是Coder思维模式 -
rainsilence:
你试图把两种思维分开就是最大的败笔。程序员思维不是体力活。但是 ...
Coding?是不是Coder思维模式
文章列表
编者按:2008年8月4日,StackOverflow 网友 Bert F 发帖提问:哪本最具影响力的书,是每个程序员都应该读的?
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢? ...
新的一年刚刚开启, Zing 设计团队认为这是一个很好的时间来回顾 2013 年 web 的设计场景,同时也对 2014 的 web 设计趋势做了些分析,总结出了十大网页设计趋势和预测,希望能给大家一些启发:)
1. 大背景图片
大背景图片(Large hero areas),是从印刷设计中借来的专业术语,指包含少量文字内容、位于网站顶部的图片。在很多网站上,你可以发现现 在 web 设计师们放弃曾经喜欢滑块轮播设计风格,转向了大背景图片设计风格,以大标题为中心,并配以简单模糊的图片为背景,有的则是精心设计的插图,可以前往Lateral inc 和 Focus Lab 查看漂亮的典型示 ...
Coding?是不是Coder思维模式
- 博客分类:
- 提升
Think in XXX
一直以来我认为GISers和Coders是没有太大关系的,我们有自己的专业思维方式,现在工作了觉得这个观念有必要修正一下,写点东西跟像我一样的GISers分享一下。首先,从某种程度上GIS只是一种工具,一门技术型的专业为什么非要把这个东西弄成一个科学呢?有什么问题可以研究,有哪些技术是自己原创的呢?至少目前为止,我还没有遇到一项GIS的东西不要用到其他基础专业的知识;从研究的对象来说,我们只是在研究一种方法表示原本单一的地理数据,也并不是对所有的领域都可以起到支撑性的作用。各个方面都表现不出一个学科的性质。最后我们的领袖级人物还出了一本think in。。。 ...
拖了几百年的三部曲终于迎来了第三篇,时过境迁,Jscex 已经更名为 wind.js 了,这里先给一下之前的链接
JavaScript中的异步梳理(1)——使用消息驱动
JavaScript中的异步梳理(2)——使用 Promises/A
在之前介绍的方法中,无论是消息驱动还是 Promise,都无法摆脱「回调」这个东西。
习惯了命令式编程的我们似乎很难接受回调,因为它的执行顺序和代码编写顺序并不一致。 而 JavaScript 中的回调之所以会有这么多话题值得讨论,我想一方面是因为它有一张长得像 Java 的脸,而同时却又有如此多的异步特性。 反观像 Erlang, F# 那样生 ...
接上篇,这篇探讨使用 CommonJS Promises/A 来管理异步操作。
写在前面:本人并没有系统深入研究过 Promises 模型,但以解决问题为目的进行了一些尝试,本文更多围绕自己的理解写,而非规范本身。
Promises 是一种异步编程模型,通过一组 API 来规范化异步操作,这样也能够让异步操作的流程控制更加容易。
这里谈的是 Promises/A,算是 Promises 的一个分支吧,其实就是根据 Promises 模型定义了一组 API。 由于 Promises 对于新手而言理解曲线还是比较陡峭的,这里循序渐进的给大家介绍,同时实现一个最简单的 Promises/A 代 ...
继续上一篇文章,这篇探讨使用消息驱动来优化异步编程体验。
先举一个例子,如果希望 ABCDE 这 5 个函数依次执行,我们可以写出如下代码。
A();
B();
C();
D();
E();
在同步的情况下,这样的代码没有任何问题。 但如果 ABCDE 都是异步的,还需要按次序执行,这样写就不行了。 通常我们会为异步函数设置回调,当函数执行完的时候执行回调,例如
A(function(){
B(function(){
C(function(){
D(function(){
E();
...
JavaScript 中有大量异步操作,首先可以看看 JS 中什么东西会产生异步(这里先只考虑浏览器里的情况):
Ajax(XMLHttpRequest)
Image Tag,Script Tag,iframe(原理类似)
setTimeout/setInterval
CSS3 Transition/Animation
postMessage
Web Workers
Web Sockets
and more…
实际上在我自己的理解中,任何「在未来不确定的时间发生」的事情都可以理解为异步,因此各种 DOM 事件也可以用类似的方式去理解和处理。
异步是JS中的重要话题,Aj ...
今天 @singleseeker 在群里转了一个题目,有点儿意思,据说 100 个人有 99 人会算错。 光凭着句话就可以确定一个事实——出题者肯定不是程序员,如果是程序员肯定会说:「10 个人有 8 人会算错,只有 2 人算对」。
我在 09 年的时候,也曾经发过一篇类似的 一道简单题,讨论的相当激烈。 在博客中,我也没有给出标准答案——因为我当时也不知道答案。 转眼 4 年过去了,期间又认识了不同的人,加入了不同的群,读了不同的书,有了不同的认识。 发现我以前一直坚持的答案,其实是错误的,所以,单独写篇博文分析一下。
题目
王师傅是卖鞋的,一双鞋进价 20 元卖 30 元,顾客 ...
程序员在大学里究竟应该学习什么?
- 博客分类:
- 提升
近来在CSDN结识了贺利坚老师,并仔细的读了一下贺老师的博客,感觉贺老师是非常负责的一个大学老师,在他的博客中看到了很多他和大学生的交流。
这就促使我开始思考,如果大学再来一遍,我也还是想做软件,那我应该在 ...
原文:JavaScript: converting any value to an object
译文:JavaScript:将所有值都转换成对象
译者:justjavac
这是一篇关于 原始值(primitive values)和包装对象(wrapper objects)之间的转换 的文章。 值得庆幸的是,在 JavaScript 中,我们一般不需要这么做。 除非我们需要为原始值添加一些属性,但是原始值是不可改变的,因此需要把它转换为一个 包装对象。
让我们从一个小测验开始:
({}).valueOf.call
详解 JavaScript 回调函数
- 博客分类:
- javascript
很多人把回调(callback)和异步(asynchronous)的概念混淆在一起了。
1、定义
回调是什么?看维基的 Callback_(computer_programming) 条目:
In computer programming, a callback is a reference to a piece of executable code that is passed as an argument to other code.
jQuery文档How jQuery Works#Callback_and_Functio...条目:
A callback is a functi ...
有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。 最重要的一点,
程序你只写一次,但以后会无数次的阅读
。
当你第二天回头来看你的代码时,你就要开始阅读它了。 当你把代码拿给其他人看时,他必须阅读你的代码。 因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。
让我们看一些基本的编程技巧:
尽量保持方法简短.
永远永远不要把同一个变量用于多个不同的目的.
使用自描述的变量名和方法名.
尽可能的把变量定义在靠近使用它的地方.
拒绝神秘数字.
友好的对待你的语言.
不要逆常规而行.
警惕过早优化.
积极重构测试过的程序.
不要过度沉迷于技巧.
通 ...
JavaScript 可算是世界上最流行的编程语言,它曾被 Web 开发设计师贴上噩梦的标签,虽然真正的噩梦其实是 DOM API,这个被大量的开发与设计师随手拈来增强他们的 Web 前端的脚本语言,如今越来越被重视,虽则如此,JavaScript 仍然拥有很多让人费解的东西。
1. 它以 Java 命名,但并不是 Java
它最初叫 Mocha, 接着改名为 LiveScript,最后才确定命名为 JavaScript,根据历史记录,Java 的命名与 Netscape 和 Sun 之间的合作有关,作为交换条件,Netscape 在他们备受欢迎的浏览器中创建了 Java 运行时。值 ...
“设计良好的函数往往比较小,而过大函数的设计往往一塌糊涂,或者存在很大的优化空间。”
也许你认为讨论函数的大小没有必要,原因是函数设计的本质是内聚,它的大小只是它的表现形式。 而上面的原因有必要让 ...
学习技术的三部曲:WHAT、HOW、WHY
- 博客分类:
- 提升
近几天有些网友在邮件里面问我关于学习的问题。有好几个人觉得工作了几年,也学会了不少的类库、框架、甚至语言,但是感觉自己的能力没有太大的提高。因此今天来说一下我个人对这方面的体会,希望对大伙儿(尤其是新手)有帮助。
先声明一下,本帖子讨论的三部曲是指你已经选定了某个技术方向之后,该如何学习;至于如何选定技术方向,则属于另一个话题,不在今天的讨论之列。
我把学习归类为三个步骤:What、How、Why。经过我对周围同事和朋友的观察,大部分感觉自己技术没有提高的人,都仅仅停留在What阶段。下面我把这三个步骤解释一下。
第一步:WHAT
所谓的“WHAT”,就是搞 ...