Errata
The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted By | Date submitted | Date corrected |
---|---|---|---|---|---|
Page n/a Line 21 |
This is not errata for the book itself, but rather for the code examples. The package.json file has the following on line 21: Note from the Author or Editor: |
Kevin Lindsey | Apr 15, 2013 | ||
Page p14 United Kingdom |
1. Installed on Fedora. Note from the Author or Editor: |
Dave Pawson | Jun 16, 2012 | ||
Page 3 4th paragraph |
Not the following command on the page: Note from the Author or Editor: |
tewarid | Sep 21, 2012 | ||
Page 7 1st paragraph |
Link to https://github.com/SteveSanderson/Node-Site-Templates-for-WebMatrix is no longer correct. Note from the Author or Editor: |
Simon Dismore | Apr 05, 2013 | ||
Page 18 Example 1-4 - test harness |
The code of the test harness works as printed in node 0.6 or node 0.8, but it won't work in node 0.10.0. Instead the test harness hangs after issuing 5 requests. It would appear it has hit the limit on the number of open connections at the same time, indicating that the first 5 requests have not fully completed. Note from the Author or Editor: |
John Winters | Mar 22, 2013 | ||
Printed | Page 19 United States |
The book states that once I change the 'counter' variable in example 1-4 to be global I should see the results change in that instead of the numbers displayed in the browser going from 1 to 100 they would start at ever higher numbers like 2,601 and 26,301. I was never able to reproduce this behavior after much trying. I am using node v0.10.20. I assume the book used an earlier node version. |
Anonymous | Dec 10, 2014 | |
Page 23 1st code snippet |
_ ++ doesn't increme as shown in the code. The value stays at 2, cause with post increment the value is first returned and increased after. _ += 1 or ++ _ would produce the expected output. Note from the Author or Editor: |
Konstantin Bernhardt | Aug 22, 2012 | ||
36 section "global" |
All occurrences of "windows" should be replaced by "window", the proper name of the global object in a browser environment. Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
40 3rd encoding option |
"usc2" should be replaced by "ucs2". Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
Printed | Page 41 Last line of code fragment at top of page |
In the setTimeOut function call, on_openAndReadFile should be the first function argument; there is no openAndReadFile function defined. Note from the Author or Editor: |
Anonymous | Nov 19, 2012 | |
Page 51 5th line from bottom |
find.stderr.on('data', function(data) { Note from the Author or Editor: |
Anonymous | Mar 17, 2013 | ||
Page 55 6th line from bottom |
Mis-matched quotes: Note from the Author or Editor: |
Anonymous | Mar 18, 2013 | ||
59 8th paragraph |
The statement: Note from the Author or Editor: |
Anonymous | Mar 04, 2013 | ||
Printed | Page 64 bulleted list near the bottom of the page |
There appears to be a search missing from the list: Note from the Author or Editor: |
Anonymous | Nov 19, 2012 | |
65 page top |
"delete require.cache('./circle.js');" should be replaced by "delete require.cache['/absolute/path/to/circle.js'];" as cache is an object and the keys are the absolute path of the loaded module. Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
Page 83 Example 5-2 |
try { Note from the Author or Editor: |
Adrian Patino | Nov 16, 2012 | ||
, Other Digital Version | Page 83 Last paragraph |
The text says: "Example 5-2 is a complete Node application that creates an object with one method, someMethod", yet in the code example, the method is called "doSomething" not "someMethod". Note from the Author or Editor: |
Ariel Ortiz | Mar 01, 2013 | |
ePub | Page 85 Top |
Two errors in the process.nextTick example: Note from the Author or Editor: |
Noah J. Freitas | Dec 22, 2012 | |
88 page bottom |
"console.log('all finished');" should be changed to "console.log('all done');" to match the output example. Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
94 example 5-9 caption |
Shouldn't it be "Step's parallel functionality" instead of "Step's group functionality"? Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
, Other Digital Version | Page 105 First code snippet |
The first line of code is: Note from the Author or Editor: |
Ariel Ortiz | Mar 01, 2013 | |
130 sidebar "Setting the Application Mode" |
You should add the missing closing parentheses at the end of the two app.config() lines. Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
Printed | Page 178 in the code sample, near the middle |
The line in the code sample Note from the Author or Editor: |
Jon Pincus | Aug 16, 2013 | |
208 section "Getting Started with MongoDB" |
You should remove the colon in front of the port number. Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
Printed | Page 222 6 |
Paragraph describes change to the directory structure that is not reflected in the accompanying diagram. The paragraph speaks of the addition of a subdirectory called 'models', but the diagram contains no such subdirectory. Note from the Author or Editor: |
Mike Bourassa | Jul 02, 2014 | |
243 allowNull description |
Shouldn't it be true to allow nulls instead of false? Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
250 1st paragraph |
In "Or you can use always use both." remove the extraneous "use". Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
252 1st bullet |
It reads "A form to select which PDF tool to upload" but I think you meant "A form to select which PDF document to upload", didn't you? Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
266 Content-Range header format |
The required colon after the header name is missing. The correct format should be: Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
299 warning section |
path.existsSync has been replaced by fs.existsSync not js.existsSync. Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
316 section titled "Setting Up TSL/SSL" |
The technology is named TLS not TSL. You should replace all occurences of TSL with TLS. Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 | ||
Printed | Page 320 Just after the 6th paragraph |
The sql create statement does not include the 'salt' column. Note from the Author or Editor: |
nkader | Jun 07, 2013 | |
Page 329 line 14, example 15-4 |
Database name in USE statement inconsistent with previous USE statement. Note from the Author or Editor: |
Paul Bennett | Dec 01, 2012 | ||
ePub | Page 330 Code example - error messages upon login |
The example discusses logging into an application with Passport. It returns separate error messages for user not found ("Unknown user") or invalid password ("Invalid password"). Setting your code up like that would allow an attacker to enumerate valid user id's. Login error messages must be kept identical and generic to prevent this kind of attack... Note from the Author or Editor: |
Mike Rice | Jul 18, 2013 | |
338 2nd line |
The content of the name string should be "'johnsmith'; drop table users" with johnsmith properly quoted as it is a string and not a column. Without quoting, the first statement would fail and in some environment (e.g. PHP with PDO), the second statement would not be executed and the attack would be unsuccessful. Note from the Author or Editor: |
Thomas Corbière | Sep 30, 2012 |