Learning Node
Moving to the Server-Side
Publisher: O'Reilly Media
Final Release Date: August 2012
Pages: 396

Take your web development skills from browser to server with Node—and learn how to write fast, highly scalable network applications on this JavaScript-based platform. With this hands-on guide, you’ll quickly master Node’s core fundamentals, gain experience with several built-in and contributed modules, and learn the differences and parallels between client- and server-side programming.

Get up to speed on Node’s event-driven, asynchronous I/O model for developing data-intensive applications that are frequently accessed but computationally simple. If you’re comfortable working with JavaScript, this book provides numerous programming and deployment examples to help you take advantage of server-side development with Node.

  • Explore Node’s unique approach to asynchronous development
  • Build sample Node applications with the Express framework and Connect middleware
  • Use NoSQL solutions such as Redis and MongoDB—and explore Node’s relational database modules
  • Work with PDF files, serve HTML5 media, and create graphics with Canvas
  • Set up bidirectional communication between browser and server with WebSockets
  • Learn in-depth practices for debugging and testing your applications
  • Deploy Node applications in the cloud or on your own system

"Learning Node will make it easy for someone from any programming background to get a grip on Node.js and build amazing projects."

—Tom Hughes-Croucher, co-author of Node: Up and Running (O’Reilly)

Table of Contents
Product Details
About the Author
Colophon
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
oreillyLearning Node
 
3.8

(based on 8 reviews)

Ratings Distribution

  • 5 Stars

     

    (5)

  • 4 Stars

     

    (0)

  • 3 Stars

     

    (1)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (2)

75%

of respondents would recommend this to a friend.

Pros

  • Concise (5)
  • Accurate (4)
  • Easy to understand (4)
  • Helpful examples (4)
  • Well-written (3)

Cons

    Best Uses

    • Intermediate (5)
    • Student (3)
      • Reviewer Profile:
      • Developer (7)

    Reviewed by 8 customers

    Sort by

    Displaying reviews 1-8

    Back to top

     
    1.0

    Lost by page 20

    By NotAFan

    from Indiana

    About Me Developer

    Pros

      Cons

      • Difficult to understand
      • Too many errors

      Best Uses

        Comments about oreilly Learning Node:

        There is no "learning" from this book. By page 20 I can see the author doesn't know how to explain anything. On page 17 she shows a problem, and doesn't show how to fix it! And then on page 18 she uses the same problem code again and with no changes it is supposed to work. Huh? She mentions file names ('test.js') which she doesn't define. Just horrible, and her explanation of asynchronous is mind-bending. What a disappointment, this author is terrible!

         
        5.0

        put Node in context for me

        By T.Powell

        from New York City

        About Me Developer

        Verified Reviewer

        Pros

        • Accurate
        • Concise
        • Helpful examples

        Cons

          Best Uses

          • Intermediate

          Comments about oreilly Learning Node:

          I'm at an intermediate level and this was the right book for me. I have a strong background in VBA going back over a decade but had not had any reason to learn JavaScript etc. recently.

          Starting from square one I have been learning about JavaScript, Express, Jade, Node, Redis, MongoDB, CSS, HTML5, and beyond. There are many books that are wonderful at teaching one or other of those technologies. Shelley Powers "Learning Node" is one of the few that puts an important area (Node in this case) in context with the others. She does not overdwell on the non-Node aspects, and I think if I read this book as a beginner a lot of it wouldn't make sense. But now t hat I've brought myself up to speed a bit, she appropriately introduces the other stuff Node works with. At my intermediate level, her focus on Node -- and its place in a landscape that ranges from the HTML that appears on a user's browser, a database on a server, and various frameworks and modules -- has been very helpful, and her book has given me an overview of what to concentrate on as I develop my own applications.

          It's true that the sample widget application used in the book is simple and generic. I applaud this. I can use this as a springboard for my own projects. Other books that have made the opposite choice were unhelpful to me because they went so in-depth on how to build a very specific app (for example a Facebook-like social media app) that it was hard to know how to generalize and use the lessons for the thing I want to build.

           
          5.0

          Everything important in one book

          By Tomas Jurman

          from The Czech Republic

          About Me Developer

          Verified Buyer

          Pros

          • Accurate
          • Concise
          • Easy to understand
          • Helpful examples
          • Well-written

          Cons

            Best Uses

            • Intermediate
            • Student

            Comments about oreilly Learning Node:

            The book was a good starting point for me.

             
            5.0

            Excellent writing with brief examples

            By mani

            from India

            About Me Developer

            Pros

            • Accurate
            • Concise
            • Easy to understand
            • Helpful examples
            • Well-written

            Cons

              Best Uses

              • Intermediate
              • Student

              Comments about oreilly Learning Node:

              excellent book

              (0 of 2 customers found this review helpful)

               
              3.0

              Sample Code is HUUUUGGGEEEE!!!

              By The Greatest Man Alive.

              from Denver, CO

              Pros

                Cons

                • Not comprehensive enough
                • Sample Code Download Huge

                Best Uses

                  Comments about oreilly Learning Node:

                  Would it kill ya to separate the example code into smaller chunks...

                  (4 of 17 customers found this review helpful)

                   
                  1.0

                  This book is not tutorial

                  By Ramo

                  from Bangalore,India

                  About Me Developer

                  Verified Reviewer

                  Pros

                    Cons

                    • Not comprehensive enough

                    Best Uses

                    • Student

                    Comments about oreilly Learning Node:

                    This book is not tutorial, It tried to explain documentation. Better to read documentation of node than this book.

                    (4 of 6 customers found this review helpful)

                     
                    5.0

                    Made me a better "Noder"

                    By Devendra

                    from Recife, Brazil

                    About Me Developer

                    Verified Reviewer

                    Pros

                    • Accurate
                    • Concise
                    • Easy to understand

                    Cons

                      Best Uses

                      • Expert
                      • Intermediate

                      Comments about oreilly Learning Node:

                      Learning Node by Shelley Powers is timely, and should be on the reading list of every JavaScript and server-side developer.

                      I'll briefly delve into things that stood out to me in each chapter of the book.

                      Chapter 1 – Reading this chapter is a must if you don't understand the asynchronous nature of Node. It also covers building it from source for Linux, and using WebMatrix to develop and run Node applications with IIS.

                      Chapter 2 – Shows how to use command line REPL (read-eval-print loop) to quickly test code, inspect objects, and as an editor. Imagine that!

                      Chapter 3 – Covers the Node core objects and modules. In particular, the global namespace object, process.nextTick to asynchronously execute a callback, util.inherits to implement inheritance, and EventEmitter to emit events.

                      Chapter 4 – Covers the Node module system. Covers require and how it searches for modules (.js, .node or .json), delete require.cache to reload a module from source, how to create your own custom module, and expose its objects and functions using export. It also covers often used modules such as npm (installed with Node) for package management, Optimist for options parsing, and Underscore.

                      Chapter 5 – Delves deeper into the asynchronous nature of Node, covering control flow, exception handling, and asynchronous patterns. It then discusses the Step and Async modules that implement those patterns. It also briefly discusses Node coding style.

                      Chapters 6, 7, 8 – Discuss web development middleware and frameworks such as Connect and Express, and templating modules that work in tandem with Express, such as EJS and Jade.

                      Chapter 9, 10, 11 -Discuss the different means of persisting data, in a key-value store such as Redis, document-centric database such as MongoDB, or a relational database such as MySQL, either directly or using the Sequelize ORM.

                      Chapter 12 – Discusses manipulating PDF by executing external tools such as PDF Toolkit, creating drawings using the canvas module, and streaming videos.

                      Chapter 13 – Discusses the popular Socket.IO library that you can leverage for bidirectional communication between server and the Browser.

                      Chapter 14 – Discusses unit testing, acceptance testing, and performance testing. Tools and modules covered include Apache Bench (ab), nodeunit, Selenium, and soda. Also discussed is the nodemon module that can be used to restart the application when a script is changed.

                      Chapter 15 – Discusses TLS/SSL, HTTPS for securing data communication, saving password as hash using the crypto module, authentication using the passport module, and authentication with Twitter using the passport-twitter Passport strategy module. It also discusses writing secure code by avoiding eval, validating data using a module such as node-validator, and running external scripts in a sandbox using the vm module.

                      Chapter 16 – Discusses deployment of applications to a server, or to the various cloud services such as Azure (using Cloud9 IDE), Joyent, Heroku, Amazon EC2, and Nodejitsu. It discusses modules such as Forever to recover from crashes, and integration with Apache. The discussion on clustering with Node is very brief and does not discuss the experimental cluster module.

                      I am glad the author took the time to write this book, I am a better "Noder" because of it. I'd like to thank O'Reilly Media for giving me the opportunity to review this book as part of the blogger review program.

                      (11 of 12 customers found this review helpful)

                       
                      5.0

                      "Concise, Code-Centric and Thorough"

                      By Brent From D.C.

                      from D.C.

                      About Me Developer

                      Verified Reviewer

                      Pros

                      • Concise
                      • Easy to understand
                      • Helpful examples
                      • Well-written

                      Cons

                        Best Uses

                        • Expert
                        • Intermediate

                        Comments about oreilly Learning Node:

                        This is one of the better O'Reilly Books purchases that I've made recently - I started out with an "intermediate" understanding of Javascript and this book has really helped demystify NodeJS for me.

                        The really good: The writing style and content hits all three major points I look for in a development instruction book; Concise - the author gets right to the point explaining the most relevant details about the topic at hand, Code-Centric - explanations are paired with functional code demonstrating the topic, and Thorough - the book in its entirety covers all of the topics I expect it to and more. Overall, I would recommend this book without reservation to any developer looking to get a handle on Node in a hands-on way.

                        The somewhat less good: I didn't love the choice of MongoDB for the NoSQL section (would have preferred Couch or somethig else), but I understand the decision (author says it was much faster to explain Mongo than Couch).

                        Other comments: Compared to other "Learning X" titles from O'Reilly, I feel that this one pre-requires a fair working knowledge of Javascript, where many of the other "Learning X" titles that I've read could be understood by any reasonably intelligent and well-rounded person. You don't need to know anything about *Node* and you don't need to be a JS Ninja, but the material might be a little daunting if you don't know any Javascript at all...for my purposes (and probably for most people who would get this book), I felt that skipping over the "Baby's First Javascript" material made the pace perfect, but if you have never worked with JS, you should probably run through a quick primer before you dive into this.

                        Displaying reviews 1-8

                        Back to top

                         
                        Buy 2 Get 1 Free Free Shipping Guarantee
                        Buying Options
                        Immediate Access - Go Digital what's this?
                        Ebook: $29.99
                        Formats:  DAISY, ePub, Mobi, PDF
                        Print & Ebook: $38.49
                        Print: $34.99