舉報

會員
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章)
倒序
- 封面
- 版權信息
- 獻辭
- 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
推薦閱讀
- TypeScript Blueprints
- C語言程序設計(第3版)
- WebAssembly實戰
- Linux環境編程:從應用到內核
- 編譯系統透視:圖解編譯原理
- 嚴密系統設計:方法、趨勢與挑戰
- Python編程從0到1(視頻教學版)
- Learning ArcGIS for Desktop
- Learning Vaadin 7(Second Edition)
- Webpack實戰:入門、進階與調優
- C++ Fundamentals
- TypeScript圖形渲染實戰:2D架構設計與實現
- Sitecore Cookbook for Developers
- Manage Your SAP Projects with SAP Activate
- 小學生C++趣味編程從入門到精通
- Python全棧開發:數據分析
- KnockoutJS Blueprints
- Azure for Architects
- Visual C++ 開發從入門到精通
- MATLAB/Simulink建模與仿真
- Mastering Web Application Development with Express
- Visual C++.NET(2008)典型案例
- 編程改變生活:用Python提升你的能力(基礎篇·微課視頻版)
- Lua Quick Start Guide
- Go語言項目開發上手指南
- PostgreSQL Development Essentials
- Python大數據架構全棧開發與應用
- Java Web程序設計與案例教程(微課版)
- 算法競賽寶典(第三部):基礎數據結構
- Building Machine Learning Systems with Python