爬坡
2014-08-02 妙峰山
骑行耗时:1小时54分
平均速度:10.64km/h
骑行距离:20.38km
总结:找到放松的感觉,快踩然后停顿,达到既保持速度又能有一瞬间来释放乳酸。不断的更换肌肉群。爬坡的时候时间会被放大,需要精细的控制人体的肌肉和呼吸。
#2015-4-19 妙峰山
骑行耗时:101分钟
平均速度:12.06km
总结:爬大坡的时候如果能用小齿轮还是要用小齿轮,要找到腿力的负荷点。不能过于依赖高踏频。
骑行耗时:1小时54分
平均速度:10.64km/h
骑行距离:20.38km
总结:找到放松的感觉,快踩然后停顿,达到既保持速度又能有一瞬间来释放乳酸。不断的更换肌肉群。爬坡的时候时间会被放大,需要精细的控制人体的肌肉和呼吸。
#2015-4-19 妙峰山
骑行耗时:101分钟
平均速度:12.06km
总结:爬大坡的时候如果能用小齿轮还是要用小齿轮,要找到腿力的负荷点。不能过于依赖高踏频。
The C programming language
C程序设计语言
C程序设计语言课后答案
学好C语言和系统编程。我认为,学好编程有四个方面:语言、算法和数据结构、系统调用和设计。
语言。我可以告诉你C语言有两大主题你要好好学,一个是内存管理,一个是指针!这个世界上90%以上的C/C++出的严重性错误全是和这两个有关。不要看谭浩强的那本书,那本是本烂书。推荐这本书给你《C程序设计语言(第2版·新版)》
算法和数据结构。 我认为,用C语言实现算法和数据结构莫过于最爽的事情。推荐你看这本书——算法:C语言实现(第1~4部分)基础知识、数据结构、排序及搜索(原书第3版),还有那本经典的《算法导论》,视频链接
系统编程。 Windows下推荐两本书——《Windows 程序设计 》和《Windows核心编程》,Unix/Linux下推荐两本书——《Unix高级环境编程》和《Unix网络编程卷1,套接字》《Unix网络编程卷2,进程间通信》尤其是《Unix网络编程》这本书,一通百通,无论Windows还是Unix/Linux,都是一样的。
系统设计。关于设计方面,我全力推荐《Unix编程艺术》,看完以后,你就明白什么是真正的编程文化了。然后,当你看到Windows的Fans的某些言论时,你就知道什么叫一笑了之了。
如果你能在2-3年内精读完这些书,并全部融会贯通,那么你就明白什么是一览众山小的感觉了!我足足花了5年时间才算是真正全部读完这些书的。最后,祝你好运!努力!
from: www.coolshell.cn
建议看看dfrobot网店(http://dfrobot.taobao.com)
入门教程:Arduino零基础学习套装:
(http://item.taobao.com/item.htm?spm=a1z10.5.w4002-3141879741.26.6wNX00&id=36611047231)
进阶教程:DFRobot机械工业出版社联合出品Arduino开发实战指南
...
我的雷洛853钢架公路车
希望大家可以来我家玩游戏
喜欢专注写code的感觉
1.Enter the ninja[OK]
2.Testing and debugging[OK]
3.Functions are fundamental[OK]
4.Wielding functions[OK]
5.Closing in on closures[OK]
6.Object-orientation with prototypes[OK]
1.A Tutorial Introduction
2.Types, Operators and Expressions
3.Control Flow
4.Functions and Program Structure
5.Pointers and Arrays
6.Structures
7.Input and Output
8.The UNIX System Interface
1.平均律C大调前奏曲[OK]
2.K545第二乐章[OK]
3.BWV1056第二乐章
4.K545第三乐章[OK]
5.K545第一乐章[OK]
要求:熟练
叫别人的名字
脚尖
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)
...