售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Node Cookbook Second Edition
Table of Contents
Node Cookbook Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Making a Web Server
Introduction
Setting up a router
Getting ready
How to do it...
How it works...
There's more...
Simple multilevel routing
Parsing the querystring module
The routing modules
See also
Serving static files
Getting ready
How to do it...
How it works...
There's more...
The favicon gotcha
See also
Caching content in memory for immediate delivery
Getting ready
How to do it...
How it works...
There's more...
Reflecting content changes
See also
Optimizing performance with streaming
Getting ready
How to do it...
How it works...
There's more...
Protecting against process memory overruns
See also
Securing against filesystem hacking exploits
Getting ready
How to do it...
How it works...
There's more...
Whitelisting
Node static
See also
2. Exploring the HTTP Object
Introduction
Processing POST data
Getting ready
How to do it...
How it works...
There's more...
Accessing POST data with connect and body-parser
See also
Handling file uploads
Getting ready
How to do it...
How it works...
There's more...
Using formidable to accept all POST data
Preserving filenames with formidable
Uploading files via PUT
See also
Using Node as an HTTP client
Getting ready
How to do it...
How it works...
There's more...
Sending POST requests
Multipart file upload as a client
See also
Implementing download throttling
Getting ready
How to do it...
How it works...
There's more...
Enabling a resume request from broken downloads
See also
3. Working with Data Serialization
Introduction
Converting an object to JSON and back
Getting ready
How to do it…
How it works…
There's more…
Constructing JSONP responses
Security and JSONP
See also
Converting an object to XML and back
Getting ready
How to do it…
How it works…
There's more…
Generating XML attributes and text nodes
Partial application
See also
Browser-server transmission via AJAX
Getting ready
How to do it…
How it works…
There's more…
Sending serialized data from the client to the server
See also
Working with real data – fetching trending tweets
Getting ready
How to do it…
How it works…
There's more…
Cross referencing Google Hot Trends with Twitter tweets
See also
4. Interfacing with Databases
Introduction
Writing to a CSV file
Getting ready
How to do it…
How it works…
There's more…
Customizing the CSV elements
Reading a CSV file
Manipulating the CSV data stream
See also
Connecting and sending SQL to a MySQL server
Getting ready
How to do it…
How it works…
There's more…
Using and cleaning user input
Receiving results from the MySQL server
See also
Storing and retrieving data with MongoDB
Getting ready
How to do it…
How it works…
There's more…
Indexing and aggregation
Updating modifiers, sort, and limit
MongoDB without MongoDB
See also
Storing data to CouchDB with Cradle
Getting ready
How to do it…
How it works…
There's more…
Scaling CouchDB with BigCouch
See also
Retrieving data from CouchDB with Cradle
Getting ready
How to do it…
How it works…
There's more…
Creating an admin user
Locking all modifying operations to an admin user
Exposing the CouchDB HTTP interface to remote connections
See also
Accessing the CouchDB changes stream with Cradle
Getting ready
How to do it…
How it works…
See also
Storing and retrieving data with Redis
Getting ready
How to do it…
How it works…
There's more…
Speeding up the Node Redis module
Overcoming network latency by pipelining commands
See also
Implementing PubSub with Redis
Getting ready
How to do it…
How it works…
There's more…
Redis authentication
Securing Redis from external connections
See also
5. Employing Streams
Introduction
Consuming streams
Getting ready
How to do it…
How it works…
There's more…
Using read's size argument
Consuming via the data event
See also
Playing with pipes
Getting ready
How to do it…
How it works…
There's more…
Chaining and filtering streams
Preparing for greater complexity
See also
Making stream interfaces
Getting ready
How to do it…
How it works…
There's more…
Making reusable streams
Transform streams
See also
Streaming across Node processes
Getting ready
How to do it…
How it works…
There's more…
Processing stream chunk buffers efficiently
Streaming over TCP
See also
6. Going Real Time
Introduction
Creating a WebSocket server
Getting ready
How to do it...
How it works...
There's more...
Creating a Node-based WebSocket client
WebSocket streams
See also
Cross-browser real-time logic with Socket.IO
Getting ready
How to do it...
How it works...
There's more...
Custom events
See also
Remote Procedure Calls with Socket.IO
Getting ready
How to do it...
How it works...
There's more...
Remote Procedure Calls with SockJS
See also
Creating a real-time widget
Getting ready
How to do it...
How it works...
There's more...
Preparing for scalability
WebSockets as a development tool
See also
7. Accelerating Development with Express
Introduction
Generating Express scaffolding
Getting ready
How to do it...
How it works...
There's more...
Picking apart app.js
The initialization process
Looking into routes/index.js
See also
Managing server tier environments
Getting ready
How to do it...
How it works...
There's more...
Setting other environments
Changing NODE_ENV permanently
See also
Implementing dynamic routing
Getting ready
How to do it...
How it works...
There's more...
Route validation
Optional routes
Asterisks wildcards
See also
Templating in Express
Getting ready
How to do it...
How it works...
There's more...
Using other template engines
EJS templates
Literal JavaScript in Jade
Jade includes
Using layout.jade
See also
CSS preprocessors with Express
Getting ready
How to do it...
How it works...
There's more...
Nested mixins and rest parameters
Playing with colors
Using LESS
See also
Initializing and using a session
Getting ready
How to do it...
How it works...
There's more...
Custom middleware for site-wide session management
Flash messages
See also
Making an Express web app
Getting ready
How to do it...
Creating a database bridge
Configuring app.js files
Modifying the profiler app
Modifying the mounted login app
How it works...
Understanding app mounting
Data flow
Route handling
Views
Mixins
Locals
Styles
User flow
There's more...
Benchmarking
See also
8. Implementing Security, Encryption, and Authentication
Introduction
Implementing Basic Authentication
Getting ready
How to do it...
How it works...
There's more...
Basic Authentication with Express
See also
Hashing passwords
Getting ready
How to do it...
How it works...
There's more...
Making unique hashes with HMAC
Hardened hashing with PBKDF2
See also
Implementing Digest Authentication
Getting ready
How to do it...
How it works...
There's more...
Logging out of authenticated areas
See also
Setting up an HTTPS web server
Getting ready
How to do it...
How it works...
There's more...
HTTPS in Express
Securing Basic Authentication with SSL/TLS
See also
Preventing cross-site request forgery
Getting ready
How to do it...
How it works...
There's more...
Auto-securing the POST forms with the CSRF elements
Eliminating cross-site scripting (XSS) vulnerabilities
See also
9. Integrating Network Paradigms
Introduction
Sending an e-mail
Getting ready
How to do it...
How it works...
There's more...
Using sendmail as an alternative transport
Creating HTML e-mails
Sending attachments
See also
Sending an SMS
Getting ready
How to do it...
How it works...
There's more...
Making an automated phone call
See also
Communicating with TCP
Getting ready
How to do it...
How it works...
There's more...
Port forwarding
Using pcap to watch TCP traffic
See also
Creating an SMTP server
Getting ready
How to do it...
How it works...
There's more...
Receiving e-mails from external SMTP servers
See also
Implementing a virtual hosting paradigm
Getting ready
How to do it...
How it works...
There's more...
Virtual hosting Express apps
Server Name Indication (SNI)
See also
10. Writing Your Own Node Modules
Introduction
Creating a test-driven module specification
Getting ready
How to do it…
How it works…
There's more…
Unit tests with should.js
See also
Writing a functional module mock-up
Getting ready
How to do it…
How it works…
There's more…
Writing a module use case example
See also
Refactoring with prototypical inheritance
Getting ready
How to do it…
How it works…
There's more…
Adding the stat function to the initialized mp3dat object
Allowing multiple instances
See also
Extending a module's API
Getting ready
How to do it…
How it works…
There's more…
Creating the STDIN stream example
Creating the PUT upload stream example
Merging stat and statStream
Integrating the EventEmitter
See also
Deploying a module to npm
Getting ready
How to do it…
How it works…
There's more…
npm link
.npmignore and npm versions
See also
11. Taking It Live
Introduction
Deploying an app to a server environment
Getting ready
How to do it...
How it works...
There's more...
Using screen instead of nohup
Using authbind for privileged ports
Hosting multiple processes from port 80
See also
Automatic crash recovery
Getting ready
How to do it...
How it works...
There's more...
Detecting a respawn limit violation
Staying up with forever
See also
Continuous deployment
Getting ready
How to do it...
How it works...
There's more...
Building module dependencies on update
Writing a Node Git hook for integrated testing
See also
Hosting with a Platform as a Service provider
Getting ready
How to do it...
How it works...
There's more...
Assigning custom domains to Nodejitsu apps
Provisioning a database with jitsu
See also
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜