这些练习和解决方案对 developerWorks 学习路线图 “全面认识 Node.js” 进行了补充。
- 将这个简单的节点 Web 应用程序转换为 Coffeescript:
var express = require('express'); var app = express.createServer(express.logger()); app.get('/', function(req, res) { res.send("Hello World!"); }); var port = process.env.PORT || 3000; app.listen(port, function() { console.log("listening on " + port); });
- 您得到了使用 Coffeescript 编写的相同代码,但是未进行编译。修复这些代码:
express = require 'express' app = express.createServer(express.logger()); app.get '/', (req, res) -> console.log "/ hit!" res.send "Hello World!" var port = process.env.PORT || 3000 app.listen port, -> console.log "listening on #{port}"
- Amazon 的 DynamoDB 只支持字符串数据类型:
- 正确
- 错误
- DynamoDB 支持为表中的许多不同的键建立索引:
- 正确
- 错误
- 下面的 Node 程序为什么不能运行?问题出在哪儿?
var express = require('express'); var app = express.createServer(express.logger()); app.get('/', function(req, res) { res.send("Hello World!"); }); var port = process.env.PORT || 3000; app.listen(port, function() { console.log("listening on #{port}"); }); - Cake 是什么:
- CoffeeScript 的构建工具
- 与 DynamoDB 配套使用的节点库
- 受 Fortran 启发的语言,可以使得使用 JavaScript 变得更简单
- 通过以下哪种方式可将代码部署到 Heroku:
- SCP
- FTP
- Git push
- Custom 协议
- DynamoDB 的 Scan API 允许您:
- 搜索非主键字段
- 批量上传图片
- 在一个 Item 中创建新的 Attribute
- 对于 Mocha 测试框架,您可以同时测试同步和异步代码:
- 正确
- 错误
- 您可以通过添加更多的 Dynos 来提高托管在 Heroku 上的 Web 应用程序的速度:
- 正确
- 错误
- 以下使用 CoffeeScript 编写的 Mocha 测试有哪些逻辑错误?为什么测试会失败?
describe 'updates for a beer using DynamoDB API', -> before (done) -> update = {votes: {put : 1}, type: {put: 'IPA'}} dynode.updateItem 'beer_ratings', '60 Minute IPA', update, (err, resp) -> done(err) it 'should support incrementing a value corresponding to a vote', (done) -> dynode.getItem 'beer_ratings', '60 Minute IPA', (err, item, meta) -> item.should.have.property 'votes' item.votes.should.be.above 1 done(err) after -> update = {votes: {add : 1}, type : {put: 'IPA'}} dynode.updateItem 'beer_ratings', '60 Minute IPA', update, (err, resp) ->
在 此处 查看您的答案。
学习
-
全面认识 Node.js:此学习路线图介绍了 Node.js 基础知识,并使用 Node 和支持技术构建了一个应用程序,对其进行测试并在平台即服务模式下部署它。
- “Node.js 究竟是什么?”(developerWorks,2011 年 4 月):Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码。
- “面向 Java 开发人员的 Node.js”(developerWorks,2011 年 12 月):Node.js 是一种激动人心的开发方式,可替代传统的 Java 并发性,只要有一个开放的心态和一点点 JavaScript 知识,就可以立即开始进行开发。
- “被误解的 Node.js”(developerWorks,2012 年 1 月):如果经常浏览各大技术网站,那么你会发现自己很难错过 Node.js,程序员们兴奋地说:JavaScript 也可以开发服务器端的程序了!没错,Node.js 的确为我们提供了这种便利,前台后台都用同一种语言实现。但这种兴奋,却极易掩盖 Node.js 另外一个重要的特性:基于事件驱动的编程模型。而后者,才真正使得 Node.js 成为开发高并发大型网络应用的关键。本文详细介绍了 Node.js 的核心,即基于事件驱动的编程模型,并与传统的单线程和多线程编程模型进行对比。文章最后提供了一个完整的 Web 应用,帮助您理解 Node.js 的编程方式。
- “在 Node.js 上使用 Dojo”(developerWorks,2012 年 3 月):Node.js 让服务器端和客户端的编程语言得到了统一,而 Dojo 则让开发框架得到了统一。得益于优良的架构,Dojo 能同时在服务器端和客户端运行,从而让 Web 开发人员用同一种语言,同一个框架就能实现完整的 Web 应用。
- “全面认识 Node.js”(developerWorks,2012 年 9 月):Node.js (Node) 是构建于 Google Chrome 的 JavaScript 运行时之上的一个 I/O 环境,实质上,它是服务器端的 JavaScript 实现。Node 中的异步事件驱动 I/O 模型使开发人员能够轻松利用 JavaScript 知识快速构建高性能、可伸缩且高并发性的 Web 应用程序,并在云中运行这些应用程序。该知识路线图首先提供了有关 Node.js 的基础知识,并超越这些基础知识,使用 Node 和支持技术来构建和测试应用程序,并将该应用程序部署在 PaaS 环境中。
- “初步了解 CoffeeScript,第 1 部分:入门”(developerWorks,2012 年 8 月):目前,大家对 CoffeeScript 狂热有加。CoffeeScript 是一种新的编程语言,构建于 JavaScript 之上。CoffeeScript 提供了一种简洁的语法,对 Python 或 Ruby 开发人员极具吸引力。它还提供了许多函数式编程特性,灵感来自于诸如 Haskell 和 Lisp 这类语言。CoffeeScript 可编译成高效 JavaScript,除了可在 Web 浏览器中运行 JavaScript,您还可以将它与诸如 Node.js 一类的技术相结合用于构建服务器应用程序。本系列文章由 4 部分组成,第 1 部分将初步了解 CoffeeScript 以及它为开发人员带来的特有优势。您可以构建 CoffeeScript 编译器,然后使用它来创建准备在浏览器或者服务中运行的代码。
- “利用 CoffeeScript 和 Node 进行函数式 JavaScript 编程”(developerWorks,2012 年 3 月):利用由 CoffeeScript、Node 和 Underscore.js 组成的超级函数式脚本编写架构来掌控 Web 应用程序的复杂性。
-
developerWorks 中国网站 Java 技术专区:查找数百篇有关 Java 编程各个方面的文章。
讨论
- 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。
