舉報

會員
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
推薦閱讀
- 在最好的年紀學Python:小學生趣味編程
- Java范例大全
- Java編程指南:基礎知識、類庫應用及案例設計
- Julia Cookbook
- 面向對象程序設計(Java版)
- AIRIOT物聯網平臺開發框架應用與實戰
- Cybersecurity Attacks:Red Team Strategies
- Spring MVC+MyBatis開發從入門到項目實踐(超值版)
- SQL Server 2008 R2數據庫技術及應用(第3版)
- C編程技巧:117個問題解決方案示例
- H5+移動營銷設計寶典
- Data Manipulation with R(Second Edition)
- C#程序開發參考手冊
- Python深度學習與項目實戰
- Eclipse開發(學習筆記)
- Mastering VMware vSphere Storage
- Java EE應用開發及實訓
- 小學生C++編程課堂(新手篇)
- Java 8實戰
- 數據結構和算法(Python和C++語言描述)
- Clojure編程實戰(原書第2版)
- Mastering Redmine
- Learning IPython for Interactive Computing and Data Visualization
- RESTful Web Services with Dropwizard
- 代碼之外的功夫:程序員精進之路
- Mastering UI Development with Unity
- Unreal Engine 4.x Scripting with C++ Cookbook
- Java應用開發:企業級開發
- OpenStack Administration with Ansible
- 深度探索C++對象模型