Example: tourism industry

Fourth Edition Node.js Web Development - GitHub Pages

Web DevelopmentFourth Edition Server-side Development with Node 10 made easy David Herron BIRMINGHAM - Web DevelopmentFourth EditionCopyright 2018 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system,or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of briefquotations embedded in critical articles or effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, theinformation contained in this book is sold without warranty, either express or implied. Neither the author, nor PacktPublishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directlyor indirectly by this Publishing has endeavored to provide trademark information about all of the companies and products mentioned inthis book by the appropriate use of capitals.

real-time event exchange. Users will see notes change as they're edited by other users and can leave messages/comments for others. Chapter 10, Deploying Node.js Applications, helps us understand Node.js application deployment. We look at both traditional Linux service deployment using an etcinit script and using Docker for both local

Tags:

  Notes, Development, Linux, Done, Js web development

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Fourth Edition Node.js Web Development - GitHub Pages

1 Web DevelopmentFourth Edition Server-side Development with Node 10 made easy David Herron BIRMINGHAM - Web DevelopmentFourth EditionCopyright 2018 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system,or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of briefquotations embedded in critical articles or effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, theinformation contained in this book is sold without warranty, either express or implied. Neither the author, nor PacktPublishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directlyor indirectly by this Publishing has endeavored to provide trademark information about all of the companies and products mentioned inthis book by the appropriate use of capitals.

2 However, Packt Publishing cannot guarantee the accuracy of this Editor: Amarabha BanerjeeAcquisition Editor: Larissa PintoContent Development Editor: Gauri PradhanTechnical Editor: Leena PatilCopy Editor: Safis EditingProject Coordinator: Sheejal ShahProofreader: Safis EditingIndexer: Mariammal ChettiyarGraphics: Jason MonteiroProduction Coordinator: Shraddha FalebhaiFirst published: August 2011 Second Edition : July 2013 Third Edition : June 2016 Fourth Edition : May 2018 Production reference: 1240518 Published by Packt Publishing Place35 Livery StreetBirminghamB3 2PB, To my mother, Herron, and to the memory of my father, James, since I would not exist without themTo my partner Maggie for being my loving partner throughout our joint is an online digital library that gives you full access to over 5,000books and videos, as well as industry leading tools to help you plan yourpersonal Development and advance your career.

3 For more information,please visit our subscribe?Spend less time learning and more time coding with practicaleBooks and Videos from over 4,000 industry professionalsImprove your learning with Skill Plans built especially for youGet a free eBook or video every monthMapt is fully searchableCopy and paste, print, and bookmark content you know that Packt offers eBook versions of every book published,with PDF and ePub files available? You can upgrade to the eBook versionat and as a print book customer, you are entitled to adiscount on the eBook copy. Get in touch with us at formore , you can also read a collection of free technical articles,sign up for a range of free newsletters, and receive exclusive discounts andoffers on Packt books and About the authorDavid Herron is a software engineer in Silicon Valley, working onprojects from an e-mail server to assist launching the OpenJDKproject, to Yahoo's application-hosting platform, and a solar arrayperformance monitoring service.

4 David writes about electric vehicles,green technology on The Long Tail Pipe website, and about other topics,including , on TechSparx website. Using , he developed theAkashaCMS static website wish to thank my mother, Evelyn, for everything; my father, Jim; my sister, Patti; my brother,Ken; my partner Maggie for being there and encouraging me, and the many years we expect tohave with each other. I wish to thank Dr. Kubota of the University of Kentucky for believing in me,giving me my first computing job, and overseeing 6 years of learning the art of computer systemmaintenance. I am grateful to Ryan Dahl, the creator of , and the current core teammembers. Some platforms are just plain hard to work with, but not this book coversChapter 1, About , introduces you to the platform. It coversits uses, the technological architecture choices in , its history, thehistory of server-side JavaScript, why JavaScript should be liberated fromthe browser, and important recent advances in the JavaScript 2, Setting up , goes over setting up a developerenvironment.

5 This includes installing on Windows, macOS, andLinux. Important tools are covered, including the npm and yarn packagemanagement systems and Babel, which is used for transpiling modernJavaScript into a form that's runnable on older 3, Modules, explores the module as the unit of modularityin applications. We dive deep into understanding and modules and using npm to maintain dependencies. We learn aboutthe new module format, ES6 Modules, that should supplant theCommonJS module format currently used in , and are nativelysupported in 4, HTTP Servers and Clients, starts exploring web developmentwith We develop several small webserver and client applicationsin We use the Fibonacci algorithm to explore the effects of heavy-weight, long-running computations on a application. We also learnseveral mitigation strategies, and have our first experience withdeveloping REST 5, Your First Express Application, begins the section on developinga note-taking application.

6 The first step is getting a basic 6, Implementing the Mobile-First Paradigm, uses Bootstrap V4 toimplement responsive web design. We take a look at integrating a popularicon set so that we can have pictorial buttons, and go over compiling acustom Bootstrap 7, Data Storage and Retrieval, ensures that we don't lose our noteswhen we restart the application. We explore several database engines anda method to enable easily switching between them at 8, Multiuser Authentication the Microservice Way, adds userauthentication to the note-taking application. Both logged-in andanonymous users can access the application, with varying capabilitiesbased on role. Authentication is supported both for locally storedcredentials and for using OAuth against 9, Dynamic Client/Server Interaction with , lets our userstalk with each other in real time. JavaScript code will run in both thebrowser and the server, with providing the plumbing needed forreal-time event exchange.

7 Users will see notes change as they're edited byother users and can leave messages/comments for 10, Deploying Applications, helps us understand deployment. We look at both traditional linux servicedeployment using an etcinit script and using Docker for both localdevelopment and deployment on cloud hosting 11, Unit Testing and Functional Testing, takes a look at three testdevelopment models: unit testing, REST testing, and functional 'll use the popular Mocha and Chai frameworks for the first two, andPuppeteer for the third. Puppeteer uses a headless version of Chrome tosupport running tests. Docker is used to facilitate setting up and tearingdown test 12, Security, explores techniques and tools required to mitigate therisk of security intrusions. Intelligently using Docker is a great first step ifonly because it can easily limit the attack surface of your application.

8 Community has developed a suite of tools that integrate withExpress to implement several critical security technologies. About the reviewerNicholas Duffy has had a wide-ranging career, holding positions fromanalyst to business intelligence architect, to software engineer, and evengolf professional. He has a passion for all things data and softwareengineering, specializing in cloud architecture, Python, and He isa frequent contributor to open source projects and is also a lifelong NewYork Mets 'd like to thank my wife, Anne, and our boys, Jack and Chuck, for their never ending-support inwhatever endeavor I pursue. Packt is searching for authorslike youIf you're interested in becoming an author for Packt, please visit and apply today. We have worked with thousands of developersand tech professionals, just like you, to help them share their insight withthe global tech community.

9 You can make a general application, apply fora specific hot topic that we are recruiting an author for, or submit yourown of ContentsTitle PageCopyright and Web DevelopmentFourth EditionDedicationPackt UpsellWhy subscribe? the authorAbout the reviewerPackt is searching for authors like youPrefaceWho this book is forWhat this book coversTo get the most out of this bookDownload the example code filesConventions usedGet in touchReviews1. About capabilities of JavaScriptWhy should you use at all levels of the stackLeveraging Google's investment in V8 Leaner, asynchronous, event-driven modelMicroservice is stronger for having survived a major schism and hostile forkThreaded versus event-driven architecturePerformance and utilizationIs a cancerous scalability disaster?Server utilization, the business bottom line, and green web hostingEmbracing advances in the JavaScript languageDeploying ES2015/2016/2017/2018 JavaScript , the microservice architecture, and easily testable and the Twelve-Factor app modelSummary2.

10 Setting up requirementsInstalling using package managersInstalling on macOS with MacPortsInstalling on macOS with HomebrewInstalling on linux , *BSD, or Windows from package management systemsInstalling in the Windows Subsystem forLinux (WSL)Opening an administrator-privileged PowerShell on WindowsInstalling the distribution from from source on POSIX-like systemsInstalling prerequisitesInstalling developer tools on macOSInstalling from source for all POSIX-like systemsInstalling from source on WindowsInstalling multiple instances with nvmInstalling nvm on WindowsNative code modules and versions policy and what to useEditors and debuggersRunning and testing 's command-line toolsRunning a simple script with to async functions and the Promise paradigmLaunching a server with the package , ECMAS cript 2015/2016/2017, and beyond Using Babel to use experimental JavaScript featuresSummary3.


Related search queries