情商培训总结
情商很重要
每个人都希望被关注
叫别人的名字
通过身体是否紧张来识别别人的情绪
脚尖
情绪是可以管理的
1.笑,伸展
2.换环境
3.改变认知,通过假设
要换别人的视角来想问题
目的是让自己性情平复
激励他人
总结:
情绪就是一切,控制情绪,你就控制了你的世界
叫别人的名字
脚尖
1.笑,伸展
2.换环境
3.改变认知,通过假设
目的是让自己性情平复
情绪就是一切,控制情绪,你就控制了你的世界
翻译 Secrets of the JavaScript Ninja (JavaScript忍者禁术)
第六章.原型与面向对象(6.Object-orientation with prototypes)
本章重点:
1.利用函数实现构造器
2.解释prototyes
3.利用prototypes实现对象的扩展
4.avoiding common gotchas
5.利用inheritace构建classes
看到prototypes你可能会觉得他与object是紧密联系的,但是,再次提醒各位,我们的重点还是function,Prototypes是一种很方便的定义classes的途径,但是它的本质是属于function的特性
总的来说,如果你很明显的在使用prototypes就是在使用一种classical-style形式的面向对象编程和继承的技术。
让我们开始看看如何使用prototypes
所有functions都拥有一个属性:prototype,
初始状态中prototype指向一个空的object。
这个属性只是在这个函数被当作构造器来调用的时候,
才有作用,其余的情况下,没啥用。
在第三章中,我们利用关键字new来调用一个函数,这个函数就成为了构造器,
它会产出一个新的对象实例作为他的函数上下文(function context)
鉴于对象实例化这个部分很重要,下面我们详细的讨论一下,以便我们能真正理解这个知识点。
通常最简单的一种创建对象的方式如下:
var o = {};
但是这种形式有些缺陷,如果是一个面向对象背景的视角来看,这样做是不便利,并且缺少封装。
JavaScript提供了一种途径,虽然和大多数的语言都不用一一样,例如面向对象阵营中的Java,C++。
JavaScript利用new这个关键字,通过构造器函数来实例化一个对象,
...
这章写得极为精彩,让我明白了好多以前根本不知道的概念。
闭包是一个神奇的东西,新果说过,闭包就是可以当作鞭子来用,可以打出鞭子头一样的力道。
所谓的函数化这个概念中,闭包是一个很重要并且很精髓的概念。
想要理解函数化编程,就要深刻的理解闭包。
本章重点:
1.闭包的定义,闭包是什么,闭包如何工作
2.利用闭包来实现一些简单的开发
3.利用闭包实现性能上的增强
4.利用闭包实现私有域
问:闭包是什么?
答:简单来说,closure是一块域,这块域是由创建一个function而来,这个function可以访问和操作它的外部的变量
(Simply put, a closure is the scope created when a function is declared that allows the function to access and manipulate variables that are external to that function.)
这个概念最好还是用代码来解释,所以让我们看看5.1这个例子:
Listing 5.1: A simple closuer
var outerValue = 'ninja';
function outerFunction(){
assert(outerValue == 'ninja', "I can see the ninja")
}
outerFunction();
你可能写过n多次这样的代码,可你竟然没有意识到你在创建闭包(closure)!
你不相信?估计是因为你没有感觉到有任何的惊喜。
因为out value和outer function的作用域是全局域(global scope),而全局域是永远不会消失(自从这个页面被加载就存在了),
另外就算是这个function可以访问outer value,这个特点也没有实用的价值。
所以就算closure已经存在了,它的用处也不明显。
让我们给他加上一点...
翻译 Secrets of the JavaScript Ninja (JavaScript忍者禁术)
第四章.挥舞函数(4.Wielding functions)
在上一章我们了解到函数作为自然类型的对象(first-order objects),并且了解到什么是函数式编程。在本章,我们会利用函数来解决一些问题,也许以后做web开发时候可以用到。
我们展示的例子并不会直接解决你开发中的问题,那岂不成了另一个什么指南之类的书了。
我们知道,本书的本质目的是让你能够真正的了解这门语言的精髓。
不知道你是否已经熟悉了匿名函数,匿名函数的确是一个十分重要的概念需要我们来理解,如果你还在为JavaScript的忍者头巾而奋斗。他们是是否重要的特点,并且是一个函数化语言的灵魂,例如Scheme
匿名函数通常会被用于后续使用,例如存储一个变量,作为一个对象的方法,用于回调函数(例如timeout或者事件处理)
Listing 4.1: Common examples of using anonymous functions
window.onload= function(){ assert(true, 'power!');};
var ninja = {
shout: function(){
assert(true, "Ninja");
}
}
ninja.shout();
setTimeout(function(){ assert(true, 'Forever!')}, 500)
我们将会在本书的后面看到大量的匿名函数,因为是否能将JavaScript使用的很有力量,取决于你是否将它作为...
翻译 Secrets of the JavaScript Ninja (JavaScript忍者禁术)
第三章 函数是根基(3.Functions are fundamental)
本章重点:
1.为什么能够理解函数是如此的重要
2.为什么函数是基本类型对象(first-class objects)
3.函数如何被浏览器调用
4.函数的声明(Delaring functions)
5.函数被调用的秘密
6.函数上下文(The context within a function)
目录链接:http://yannhe.com/secrets-of-the-javascript-ninja-javascript
本文链接:http://yannhe.com/3-functions-are-fundamental
你可能感到很惊讶,为什么当我们讨论JavaScript的根基时是要讨论函数而非对象。
我们当然会关心对象(第六章会针对object),但是前提是讨论一些对象的实质问题。
当我们写JavaScript代码的时候,代码写成什么水平,是写成了平均水平,还是写成了JavaScript忍者水平。
就是取决于你是否真正理解了JavaScript是一门函数式语言(很重要的一语话)
你的水平就是取决于这个认知。
如果你在读本书,你一定不是一个初学者,我们会认为你是拥有很丰富的面向对象的开发经验(当然我们也会在第六争详细的讨论对象的高级概念),
但是真正的理解函数在JavaScript中的意义,是唯一的一件我们可以挥舞的重要武器。
由于函数如此之重要,我们接下来的会花另外两个章节来深入讨论函数在JavaScript中的意义。
值得注意是,在JavaScript中,函数是自然类型的对象(first-class objects)。
这就意味着:
1.函数可以被视为普通对象,就像其他数据的类型一样。
2.函数可以被赋值给任何变量,也可以被声明,还有可以被视为另一个函数的参数。
翻译 Secrets of the JavaScript Ninja (JavaScript忍者禁术)
第二章 测试和debug(Testing and debugging)
本章重点:
1.测试工具
2.测试技术
3.构建一个测试框架
4.如何测试异步代码
目录链接:http://yannhe.com/secrets-of-the-javascript-ninja-javascript
本文链接:http://yannhe.com/2-testing-and-debugging
由于我们在之后的示例中用到的测试工具很少,几乎就是在用assert函数,所以本章不做详细的翻译了。
首先将assert函数给出,之后的章节用的的assert函数都是在调用此段代码,用的时候请引用下面的assert.js:
(function()
{
document.write("<style>results li.pass { color: green;}results li.fail { color: red;}</style>");
document.write("<ul id='results'></ul>");
var results;
this.assert = function assert(value, desc)
{
results = results || document.getElementById("results");
var li = document.createElement('li');
li.className = value ? "pass" : "fail";
li.appendChild(document.createTextNode(desc));
results.appendChild(li);
if (!value)...
翻译 Secrets of the JavaScript Ninja (JavaScript忍者禁术)
第一章 进入忍者的世界(1.Enter the ninja)
本章重点:
1.介绍本书的目的和结构
2.我们将要关注的类库,我们将要讲解的比较cool的亮点都会在这些类库中找到具体的实现。
3.什么是JavaScript的高级编程(世界级的开发者用什么方式来编写JavaScript)
4.什么是跨浏览器编程
5.展示测试组件(如何测试你的代码)
目录链接:http://yannhe.com/secrets-of-the-javascript-ninja-javascript
本文链接:http://yannhe.com/1-enter-the-ninja
如果你在阅读本书,你一定使用过JavaScript,你一定会感到编写有效并且可以跨浏览器的JavaScript代码并不轻松。
我们的挑战,除了要写出干净的代码,还要考虑不同浏览器之间的差异。
为了可以解决这些复杂问题,我们想到将可重用的功能以类库的形式实现。
这些类库,虽然彼此之间很不同,但是他们的统一原则是:
它们要很容易的被使用,构建的开支要尽量的小,并且可以在所有的浏览器中正常运行。
通过分析这些类库的构造,我们可以学习到很多非常牛逼的经验,如果你可以学以致用,你一样可以构建出同样牛逼的代码。
本书将那些世界级的大牛写的代码融合在一起,目的就是想为你开启探索JavaScript精髓的大门。
在本书中,到处都是一些有趣的技术和代码示例,目的是想通过这些技术和示例让你体会到其背后的思想和理念。
那些世界级的类库,正是基于这些思想构建和理念构建而成。
它们是:
·Prototype(http://prototypejs.org/):2005年由现代JavaScript库教父Sam Stephenson创建并发布的。封装了DOM,Ajax和event事件功能,此外还有涉及到面向对象编程技术、面向方面编程技术和函数式编程技术。
...

原书: Secrets of the JavaScript Ninja
作者: John Resig
译者: Yann(yannhe.com)
GitHub: (github.com/yannhack/jsninja)
1.进入忍者的世界(Enter the ninja) [完成]
2.测试和debug(Testing and debugging)[完成]]
3.函数是根基(Functions are fundamental)[完成]
4.挥舞函数(Wielding functions)[完成]
5.闭包 (Closing in on closures)[完成]
6.原型与面向对象(Object-orientation with prototypes)[完成]
(转载本文章请注明作者和出处 Yann (yannhe.com),请勿用于任何商业用途)
现在我30岁,工作快7年了。
这么多年在技术层面没有真正静下心来去专研,
心里总感觉没底,不踏实,不舒服。
究其原因当然是自己的功利主义,
觉得学习技术了也没有直接的效果,工作中也用不到。
现在我醒悟过来,不应该抱着这样的态度生活。
生活应该是有乐趣的,专注的。
我应该沉浸在技术的世界里面,
不要再想,现在做的这事有用还是没用。
乐趣是唯一的目的。
所以2014年我要改变。
虽然到了这个年龄再去改变有些晚,
虽然改变了也不能怎样,但是不改变又能怎样。
我要看看1年后我的变化有多大。
2014年的改变如下:
1.读技术书籍
我要深入的精读技术的书籍,今年的目标是JavaScript和C语言
2.写读书笔记
读完一本书如果不输出,就会忘记,所以我要将读过的好书,输出成文档
3.读英文书
学英语应该是一辈子的事情,不应该是短时间见成果的,放弃功利主义吧
4.看中国Geek的blog
5.看外国Geek的blog
要和世界接轨,看看人家都在做什么
6.每个周末找一天看书
每个周末找一天,去咖啡馆看书