舉報

會員
Node.js Web Development
Node.jsistheleadingchoiceofserver-sidewebdevelopmentplatform,enablingdeveloperstousethesametoolsandparadigmsforbothserver-sideandclient-sidesoftware.ThisupdatedfiftheditionofNode.jsWebDevelopmentfocusesonthenewfeaturesofNode.js14,Express4.x,andECMAScript,takingyouthroughmodernconcepts,techniques,andbestpracticesforusingNode.js.Thebookstartsbyhelpingyougettogripswiththeconceptsofbuildingserver-sidewebappswithNode.js.You’lllearnhowtodevelopacompleteNode.jswebapp,withabackenddatabasetiertohelpyouexploreseveraldatabases.You'lldeploytheapptorealwebservers,includingacloudhostingplatformbuiltonAWSEC2usingTerraformandDockerSwarm,whileintegratingothertoolssuchasRedisandNGINX.Asyouadvance,you'lllearnaboutunitandfunctionaltesting,alongwithdeployingtestinfrastructureusingDocker.Finally,you'lldiscoverhowtohardenNode.jsappsecurity,useLet'sEncrypttoprovisiontheHTTPSservice,andimplementseveralformsofappsecuritywiththehelpofexpertpractices.Witheachchapter,thebookwillhelpyouputyourknowledgeintopracticethroughouttheentirelifecycleofdevelopingawebapp.BytheendofthisNode.jsbook,you’llhavegainedpracticalNode.jswebdevelopmentknowledgeandbeabletobuildanddeployyourownappsonapublicwebhostingsolution.
目錄(125章)
倒序
- 封面
- 版權(quán)信息
- 獻辭
- About Packt
- Why subscribe?
- Contributors
- Preface
- Section 1: Introduction to Node.js
- About Node.js
- Overview of Node.js
- The capabilities of Node.js
- Why should you use Node.js?
- The Node.js event-driven architecture
- Embracing advances in the JavaScript language
- Developing microservices or maxiservices with Node.js
- Summary
- Setting Up Node.js
- System requirements
- Installing Node.js using package managers
- Installing from the source on POSIX-like systems
- Installing multiple Node.js instances with nvm
- Requirements for installing native code modules
- Choosing Node.js versions to use and the version policy
- Choosing editors and debuggers for Node.js
- Running and testing commands
- Advancing Node.js with ECMAScript 2015 2016 2017 and beyond
- Summary
- Exploring Node.js Modules
- Defining a Node.js module
- Finding and loading modules using require and import
- Using npm – the Node.js package management system
- The Yarn package management system
- Summary
- HTTP Servers and Clients
- Sending and receiving events with EventEmitter
- Understanding HTTP server applications
- HTTP Sniffer – listening to the HTTP conversation
- Web application frameworks
- Getting started with Express
- Creating an Express application to compute Fibonacci numbers
- Making HTTPClient requests
- Calling a REST backend service from an Express application
- Summary
- Section 2: Developing the Express Application
- Your First Express Application
- Exploring Promises and async functions in Express router functions
- Architecting an Express application in the MVC paradigm
- Creating the Notes application
- Theming your Express application
- Scaling up – running multiple Notes instances
- Summary
- Implementing the Mobile-First Paradigm
- Understanding the problem – the Notes app isn't mobile-friendly
- Learning the mobile-first paradigm theory
- Using Twitter Bootstrap on the Notes application
- Flexbox and CSS Grids
- Mobile-first design for the Notes application
- Customizing a Bootstrap build
- Summary
- Data Storage and Retrieval
- Remembering that data storage requires asynchronous code
- Logging and capturing uncaught errors
- Storing notes in a filesystem
- Storing notes with the LevelDB datastore
- Storing notes in SQL with SQLite3
- Storing notes the ORM way with Sequelize
- Storing notes in MongoDB
- Summary
- Authenticating Users with a Microservice
- Creating a user information microservice
- Providing login support for the Notes application
- Providing Twitter login support for the Notes application
- Keeping secrets and passwords secure
- Running the Notes application stack
- Summary
- Dynamic Client/Server Interaction with Socket.IO
- Introducing Socket.IO
- Initializing Socket.IO with Express
- Real-time updates on the Notes homepage
- Inter-user chat and commenting for Notes
- Summary
- Section 3: Deployment
- Deploying Node.js Applications to Linux Servers
- Notes application architecture and deployment considerations
- Traditional Linux deployment for Node.js services
- Adjusting Twitter authentication to work on the server
- Setting up PM2 to manage Node.js processes
- Summary
- Deploying Node.js Microservices with Docker
- Setting up Docker on your laptop or computer
- Setting up the user authentication service in Docker
- Creating FrontNet for the Notes application
- Managing multiple containers with Docker Compose
- Using Redis for scaling the Notes application stack
- Summary
- Deploying a Docker Swarm to AWS EC2 with Terraform
- Signing up with AWS and configuring the AWS CLI
- An overview of the AWS infrastructure to be deployed
- Using Terraform to create an AWS infrastructure
- Setting up a Docker Swarm cluster on AWS EC2
- Setting up ECR repositories for Notes Docker images
- Creating a Docker stack file for deployment to Docker Swarm
- Provisioning EC2 instances for a full Docker swarm
- Deploying the Notes stack file to the swarm
- Summary
- Unit Testing and Functional Testing
- Assert – the basis of testing methodologies
- Testing a Notes model
- Using Docker Swarm to manage test infrastructure
- Testing REST backend services
- Automating test results reporting
- Frontend headless browser testing with Puppeteer
- Summary
- Security in Node.js Applications
- Implementing HTTPS in Docker for deployed Node.js applications
- Using Helmet for across-the-board security in Express applications
- Addressing Cross-Site Request Forgery (CSRF) attacks
- Denying SQL injection attacks
- Scanning for known vulnerabilities in Node.js packages
- Using good cookie practices
- Hardening the AWS EC2 deployment
- AWS EC2 security best practices
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-06-11 18:48:37
推薦閱讀
- Learning Cython Programming(Second Edition)
- 人人都是網(wǎng)站分析師:從分析師的視角理解網(wǎng)站和解讀數(shù)據(jù)
- 小程序,巧運營:微信小程序運營招式大全
- FLL+WRO樂高機器人競賽教程:機械、巡線與PID
- 快人一步:系統(tǒng)性能提高之道
- Mastering Unity 2D Game Development(Second Edition)
- Java面向?qū)ο蟪绦蛟O(shè)計
- Solutions Architect's Handbook
- Flask Web開發(fā):基于Python的Web應(yīng)用開發(fā)實戰(zhàn)(第2版)
- Android技術(shù)內(nèi)幕(系統(tǒng)卷)
- Python應(yīng)用開發(fā)技術(shù)
- 用Python動手學(xué)統(tǒng)計學(xué)
- Visual FoxPro數(shù)據(jù)庫程序設(shè)計
- Android Application Programming with OpenCV 3
- 軟件定義存儲:原理、實踐與生態(tài)
- VB語言程序設(shè)計教程(第2版)
- Java Web開發(fā)系統(tǒng)項目教程
- Python游戲趣味編程
- NIO與Socket編程技術(shù)指南
- 計算機網(wǎng)絡(luò)概論(第二版)
- Kotlin for Enterprise Applications using Java EE
- Learning ArcGIS Runtime SDK for .NET
- Visualforce Development Cookbook
- PostgreSQL 9 High Availability Cookbook
- Kivy:Interactive Applications and Games in Python(Second Edition)
- Python數(shù)據(jù)分析基礎(chǔ)教程
- Scratch 3.0少兒編程從入門到精通(全彩版)
- Microservices with Azure
- Python安全攻防:滲透測試實戰(zhàn)指南
- Apache Spark 2:Data Processing and Real-Time Analytics