E-book details

Node Cookbook. Transferring your JavaScript skills to server-side programming is simplified with this comprehensive cookbook. Each chapter focuses on a different aspect of Node, featuring recipes supported with lots of illustrations, tips, and hints

Node Cookbook. Transferring your JavaScript skills to server-side programming is simplified with this comprehensive cookbook. Each chapter focuses on a different aspect of Node, featuring recipes supported with lots of illustrations, tips, and hints

David Mark Clements

Ebook
  • 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...
        • Theres 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
  • Title: Node Cookbook. Transferring your JavaScript skills to server-side programming is simplified with this comprehensive cookbook. Each chapter focuses on a different aspect of Node, featuring recipes supported with lots of illustrations, tips, and hints
  • Author: David Mark Clements
  • Original title: Node Cookbook. Transferring your JavaScript skills to server-side programming is simplified with this comprehensive cookbook. Each chapter focuses on a different aspect of Node, featuring recipes supported with lots of illustrations, tips, and hints.
  • ISBN: 9781783280445, 9781783280445
  • Date of issue: 2014-04-25
  • Format: Ebook
  • Item ID: e_3axc
  • Publisher: Packt Publishing