舉報

會員
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
推薦閱讀
- UI設計基礎培訓教程
- Facebook Application Development with Graph API Cookbook
- Vue.js設計與實現(xiàn)
- Learning Cython Programming
- Boost C++ Application Development Cookbook(Second Edition)
- 面向STEM的Scratch創(chuàng)新課程
- 精通API架構:設計、運維與演進
- 前端HTML+CSS修煉之道(視頻同步+直播)
- Python深度學習:模型、方法與實現(xiàn)
- Natural Language Processing with Java and LingPipe Cookbook
- Extreme C
- ArcGIS for Desktop Cookbook
- Instant Apache Camel Messaging System
- Python大規(guī)模機器學習
- INSTANT Apache Hive Essentials How-to
- UI動效設計從入門到精通
- LabVIEW入門與實戰(zhàn)開發(fā)100例(第4版)
- C#網(wǎng)絡編程高級篇之網(wǎng)頁游戲輔助程序設計
- Python網(wǎng)絡爬蟲從入門到實踐
- Learning WebRTC
- C/C++程序設計教程:面向對象分冊
- 思維黑客:讓大腦重裝升級的75個超頻用腦法
- Mastering CSS
- Salesforce Lightning Reporting and Dashboards
- HoloLens 2開發(fā)入門精要:基于Unity和MRTK
- C語言程序設計實驗指導(第2版)
- Xamarin Mobile Development for Android Cookbook
- QGIS Blueprints
- Android深入淺出
- OpenStack Administration with Ansible