image of

Programming JavaScript Applications

Robust Web Architecture with Node, HTML5, and Modern JS Libraries

Eric Elliot

JavaScript may be the most essential web programming language, but in the real world, JavaScript applications often break when you make changes. With this book, author Eric Elliott shows you how to add client- and server-side features to a large JavaScript application without negatively affecting the rest of your code.

Preface + Chapter 1 "The JavaScript Revolution"

May 14th, 2020

What animal image would you feature on this book's cover? Share one of the advantages of Javascript. Why did this one stand out for you? What do you expect to have learned by the end of this book?

Chapter 2 "Functions"

May 21st, 2020

What browser and code editor/IDE do you use for developing? Which guideline for writing better functions stood out to you and why (DRY, DOT, KISS, Less Is More)? What new things did you learn in this chapter?

Chapter 3 "Objects"

May 28th, 2020

What is the first piece of code you have ever written? What is an example of a JavaScript’s strength that benefits fluent style? Why did you pick this one? Where would you be able to apply what you’ve learned in this chapter next?

Chapter 4 "Modules"

June 4th, 2020

What do you think is a good thing and a bad thing of working from home? What do you think is an important principle of modularity? (page 72) Is there something that you were used to see in code and this chapter clarified or provided an explanation for?

Chapter 5 "Separation of Concerns"

June 11th, 2020

What is the last package you have installed on your machine/application? (Hint: npm install ... ?) What is an attractive feature of Node.js? Why is that important? (page 125) What are some alternatives that can be used to the node package manager (npm)?

Chapter 6 "Access Control"

June 18th, 2020

Have you ever had your password or information stolen? What is a multi-factor authentication mechanism that you have used to login before? What do you think about this extra layer of security? (pages 143 and 144 for MFA concept) Which third-party services would you use to authorize users into your app? (OAuth 2.0 - page 149).

Chapter 7 "Logging"

June 25th, 2020

For which aspect of the application business do you use logging? (page 151) Have you learned something from this chapter that was brand new to you? What tools can be used for logging user activity on a website or app - other than the ones mentioned in the chapter?

Chapter 8 "Building RESTful APIs"

July 2nd, 2020

What API have you used before? Was it usable, self-describing, efficient and responsive? (p. 172) What is an advantage of decoupling the client from the server so that they are two completely independent applications? (p. 183-184) Would you build an API using REST or GraphQL?

Chapter 9 "Feature Toggle"

July 9th, 2020

What tool do you use for hiding a feature in the development phase, CSS or JS? (p. 195) What is smoke screen test? What other terms are also used to describe this test? How would you determine which users to roll-out the new feature first? (p. 200)

Chapter 10 "Internationalization" + Appendix A "JavaScript Style Guide"

July 16th

Which of the Javascript fundamentals mentioned in this chapter stood out to you and why? Is there anything you used to do when coding that you decided on stop doing after reading the Appendix A - Style Guide? What was your biggest take away from this book and what do you expect from the next one?