{"product_id":"110506","title":"Become a Node.js Backend Developer ","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jYEEOD8qoOyuSL4heWORRZO1fpJOW.png?v=1765104527\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\n\n\u003cdiv style=\"width:95%\"\u003e\n\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e Become a Node.js Backend Developer \u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/118379776\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e Description \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eBook Introduction\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cdiv\u003e \u003cb\u003e- If you want to become a JavaScript Node.js backend developer\u003cbr\u003e - HTML\/CSS\/JavaScript, then be sure to check it out\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e To grow into a skilled developer, the beginning is important. \u003cbr\u003eSo, this book explains the essential knowledge of backend development to beginners who are unsure where to start, focusing on a learning roadmap.\u003cbr\u003e Next, we will teach you backend technologies that are useful in practice and in line with the latest trends by utilizing the three essential JavaScript-based backend development tools: TypeScript language, Node.js runtime, Express, and NestJS web frameworks.\u003cbr\u003e We provide robust and useful information on everything from bulletin boards with search, comment, and pagination features to real-time communication chat projects with chat room functionality.\u003cbr\u003e Practice problems are included at the end of each chapter to help you review what you've learned.\u003cbr\u003e This book will serve as a solid compass on your journey as a backend developer.\u003cbr\u003e\n\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cul\u003e\u003cli\u003e You can preview some of the book's contents.\u003cbr\u003e \u003cspan\u003ePreview\u003c\/span\u003e\n\n\u003c\/li\u003e\u003c\/ul\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eindex\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003e[Level 1 Introduction to Backend Developers]\u003cbr\u003e\u003c\/b\u003e \u003cbr\u003eChapter 00 Setting up the development environment\u003cbr\u003e _0.1 Setting up a Windows development environment\u003cbr\u003e __0.1.1 Node.js Installation\u003cbr\u003e Install __0.1.2 Git\u003cbr\u003e __0.1.3 Install Visual Studio Code\u003cbr\u003e _0.2 Setting up a macOS development environment\u003cbr\u003e __0.2.1 Node.js Installation\u003cbr\u003e Install __0.2.2 Git\u003cbr\u003e __0.2.3 Install Visual Studio Code\u003cbr\u003e _0.3 Setting up a Linux development environment\u003cbr\u003e __0.3.1 Node.js Installation\u003cbr\u003e Install __0.3.2 Git\u003cbr\u003e __0.3.3 Install Visual Studio Code\u003cbr\u003e _0.4 Download the example source code\u003cbr\u003e _0.5 Running the downloaded source code with VSCode\u003cbr\u003e _0.6 VSCode Beginner's Guide\u003cbr\u003e Running the __0.6.1 code\u003cbr\u003e Debugging __0.6.2\u003cbr\u003e __0.6.3 VSCode shortcuts\u003cbr\u003e\u003cbr\u003e Chapter 1: Useful Knowledge for Backend Developers\u003cbr\u003e _1.1 What Backend Developers Need to Know\u003cbr\u003e _1.2 Backend Developer's Duties\u003cbr\u003e _1.3 Backend Architecture\u003cbr\u003e _1.4 Backend Programming Language\u003cbr\u003e _1.5 database\u003cbr\u003e __1.5.1 RDB\u003cbr\u003e __1.5.2 NoSQL (Not Only SQL)\u003cbr\u003e _1.6 Cloud Services\u003cbr\u003e _1.7 JavaScript Ecosystem\u003cbr\u003e __1.7.1 Package Manager\u003cbr\u003e __1.7.2 Build Tools  \u003cbr\u003e__1.7.3 Development Tools\u003cbr\u003e __1.7.4 Web Framework\u003cbr\u003e __1.7.5 Backend Development Environment\u003cbr\u003e __1.7.6 Infrastructure\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e \u003cb\u003e[Level 2: Getting Started with Backend with Node.js and Express]\u003cbr\u003e\u003c\/b\u003e\u003cbr\u003e Chapter 2: Getting Started with Backend with Node.js\u003cbr\u003e _2.1 Introduction to Node.js\u003cbr\u003e _2.2 How does Node.js execute JavaScript on the server?\u003cbr\u003e __2.2.1 Components of Node.js\u003cbr\u003e __2.2.2 V8 engine for JavaScript execution\u003cbr\u003e __2.2.3 Event loop and operating system asynchronous API and\u003cbr\u003e libuv with thread pool support\u003cbr\u003e __2.2.4 Node.js Architecture\u003cbr\u003e _2.3 Technical Features of Node.js\u003cbr\u003e __2.3.1 Single thread\u003cbr\u003e __2.3.2 Event-driven architecture\u003cbr\u003e __2.3.3 Event Loop\u003cbr\u003e _2.4 Is Node.js worth using?\u003cbr\u003e _2.5 My first Node.js server program\u003cbr\u003e __2.5.1 Create and run the hello.js file\u003cbr\u003e __2.5.2 Download and test curl\u003cbr\u003e _2.6 Performance testing to see if requests are truly processed concurrently\u003cbr\u003e __2.6.1 K6 Installation\u003cbr\u003e __2.6.2 Writing Performance Test Scripts with K6\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e \u003cbr\u003eChapter 3: Implementing a Web Application Server with Node.js and Express\u003cbr\u003e _3.1 Creating a server that returns OK\u003cbr\u003e _3.2 Creating a Router\u003cbr\u003e _3.3 Refactoring createServer( )\u003cbr\u003e _3.4 Responding Dynamically\u003cbr\u003e _3.5 Refactoring the Router\u003cbr\u003e _3.6 Using the Express Framework\u003cbr\u003e __3.6.1 Installing Express\u003cbr\u003e __3.6.2 Creating My First Express Server\u003cbr\u003e __3.6.3 Implementing a server made with Node.js libraries using Express\u003cbr\u003e _3.7 Creating a Simple API Server with Express\u003cbr\u003e __3.7.1 Writing Bulletin Board API Code\u003cbr\u003e __3.7.2 Implementing a server that complies with API rules\u003cbr\u003e _3.8 Testing the Bulletin Board API\u003cbr\u003e __3.8.1 Calling GET with curl\u003cbr\u003e __3.8.2 Posting a post by calling POST with curl\u003cbr\u003e __3.8.3 Deleting a post by calling DELETE with curl\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e Chapter 4: Managing Packages with npm and yarn\u003cbr\u003e _4.1 Introducing npm\u003cbr\u003e _4.2 Packages and Modules\u003cbr\u003e _4.3 Create a package.json file\u003cbr\u003e _4.4 Installing, updating, and removing packages  \u003cbr\u003eInstalling the __4.4.1 package\u003cbr\u003e __4.4.2 Update the package\u003cbr\u003e __4.4.3 Checking installed packages\u003cbr\u003e __4.4.4 Deleting the package\u003cbr\u003e _4.5 Script Functions and NPX\u003cbr\u003e __4.5.1 Defining an npm script file\u003cbr\u003e __4.5.2 Running the prettier code formatting command with NPX\u003cbr\u003e _4.6 Package Locking\u003cbr\u003e _4.7 yarn alternative to npm\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e Chapter 5: Asynchronous Processing in JavaScript\u003cbr\u003e _5.1 Introduction to JavaScript Asynchronous\u003cbr\u003e _5.2 Introducing callback functions\u003cbr\u003e _5.3 Promise Object\u003cbr\u003e __5.3.1 Calling multiple Promise objects simultaneously\u003cbr\u003e __5.3.2 Handling Promise Exceptions\u003cbr\u003e __5.3.3 Problems with Promises\u003cbr\u003e _5.4 async await syntax\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e Chapter 6: Using MongoDB, a NoSQL Database\u003cbr\u003e _6.1 Introduction to MongoDB\u003cbr\u003e __6.1.1 Database Basic Terminology\u003cbr\u003e __6.1.2 MongoDB Features\u003cbr\u003e _6.2 Setting up MongoDB Atlas\u003cbr\u003e _6.3 Creating a MongoDB CRUD API\u003cbr\u003e _6.4 Checking Data with MongoDB Compass\u003cbr\u003e _6.5 Creating CRUD using Mongoose  \u003cbr\u003e__6.5.1 Installing Mongoose\u003cbr\u003e __6.5.2 Creating a schema with Mongoose\u003cbr\u003e __6.5.3 Creating a CRUD API with Mongoose and Express\u003cbr\u003e _6.6 Testing the API with a REST Client\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e Chapter 7: Creating a Paginated Bulletin Board\u003cbr\u003e _7.1 Introduction to Project Structure\u003cbr\u003e _7.2 Bulletin Board Project Setup\u003cbr\u003e __7.2.1 Initial setup of Node.js project\u003cbr\u003e __7.2.2 Installing Express and Setting Up the Project Directory Structure\u003cbr\u003e __7.2.3 Installing and Configuring the Handlebars Template Engine\u003cbr\u003e _7.3 Screen Planning\u003cbr\u003e __7.3.1 List screen planning\u003cbr\u003e __7.3.2 Writing Screen Planning\u003cbr\u003e __7.3.3 Detailed screen planning\u003cbr\u003e _7.4 Creating UI Screens\u003cbr\u003e __7.4.1 Creating a list UI\u003cbr\u003e __7.4.2 Creating a Writing UI\u003cbr\u003e __7.4.3 Creating a Detail Page UI\u003cbr\u003e _7.5 Creating an API\u003cbr\u003e __7.5.1 Creating a Utility for Connecting to MongoDB\u003cbr\u003e __7.5.2 Creating a Handlebars Custom Helper for Use in UI Pages\u003cbr\u003e __7.5.3 Setting up nodemon\u003cbr\u003e __7.5.4 Creating a Writing API\u003cbr\u003e __7.5.5 Creating a List API  \u003cbr\u003e__7.5.6 Creating a Detail Page API\u003cbr\u003e __7.5.7 Post Edit API\u003cbr\u003e __7.5.8 Delete Post API\u003cbr\u003e __7.5.9 Add Comment API\u003cbr\u003e __7.5.10 Comment Deletion API\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e \u003cb\u003eJumping to the Level 3 NestJS Framework\u003cbr\u003e\u003c\/b\u003e\u003cbr\u003e Chapter 8: Getting Started with NestJS\u003cbr\u003e _8.1 Why do we need NestJS?\u003cbr\u003e _8.2 Introduction to NestJS\u003cbr\u003e __8.2.1 Comparing Express and NestJS\u003cbr\u003e __8.2.2 NestJS Overview\u003cbr\u003e _8.3 Installing and Running NestJS\u003cbr\u003e __8.3.1 Installing Dependency Packages\u003cbr\u003e __8.3.2 Setting up TypeScript\u003cbr\u003e __8.3.3 Creating NestJS modules and controllers\u003cbr\u003e __8.3.4 Running the hello-nest app\u003cbr\u003e __8.3.5 NestJS Naming Conventions\u003cbr\u003e _8.4 Creating a Web API with NestJS\u003cbr\u003e __8.4.1 Project Creation and Configuration\u003cbr\u003e __8.4.2 Creating a Controller\u003cbr\u003e __8.4.3 Writing a Blog API\u003cbr\u003e __8.4.4 Creating an API that stores data in memory\u003cbr\u003e __Upgrading the API to store information in 8.4.5 files\u003cbr\u003e _8.5 Dependency Injection\u003cbr\u003e _8.6 Connecting to MongoDB\u003cbr\u003e __8.6.1 Installing dependencies\u003cbr\u003e __8.6.2 Creating a schema  \u003cbr\u003e__8.6.3 Adding a repository using MongoDB\u003cbr\u003e __8.6.4 Service Code Change\u003cbr\u003e __8.6.5 Adding MongoDB settings and provider settings to the module\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e Chapter 9: Setting NestJS Environment Variables\u003cbr\u003e _9.1 Introduction to Environment Variables\u003cbr\u003e _9.2 Creating and Setting Up a Project\u003cbr\u003e _9.3 Setting up and testing NestJS\u003cbr\u003e __9.3.1 Setting ConfigModule in app.module.ts\u003cbr\u003e __9.3.2 Creating a .env file\u003cbr\u003e __9.3.3 Add code to app.controller.ts\u003cbr\u003e __9.3.4 Testing\u003cbr\u003e _9.4 Setting ConfigModule as a global module\u003cbr\u003e __9.4.1 Setting environment variables in .env\u003cbr\u003e __9.4.2 Creating a weather module\u003cbr\u003e __9.4.3 Testing with a handler function for testing the weather API\u003cbr\u003e _9.5 Using Multiple Environment Variable Files\u003cbr\u003e __9.5.1 Modify the script to start the server according to the environment\u003cbr\u003e __9.5.2 Create local, dev, and prod environment variables\u003cbr\u003e __9.5.3 Modify the settings to use different environment variable files depending on the environment variable  \u003cbr\u003e__9.5.4 Testing with a test handler function\u003cbr\u003e _9.6 Using a custom configuration file\u003cbr\u003e __9.6.1 Creating an environment variable file\u003cbr\u003e __9.6.2 Adding load options to ConfigModule\u003cbr\u003e __9.6.3 Testing reading custom environment variables\u003cbr\u003e _9.7 Learn the order of server startup and configuration file initialization\u003cbr\u003e _9.8 Setting environment variables using a YAML file\u003cbr\u003e __9.8.1 Installing js-yaml\u003cbr\u003e __9.8.2 Creating a config.yaml file\u003cbr\u003e __9.8.3 Modify config.ts\u003cbr\u003e __9.8.4 Testing with a test handler function\u003cbr\u003e _9.9 Using the cache option\u003cbr\u003e _9.10 Using extended variables\u003cbr\u003e __9.10.1 Additional settings to enable use of extended variables\u003cbr\u003e __9.10.2 Testing with a test handler function\u003cbr\u003e _9.11 Using environment variables in main.ts\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e Chapter 10: Signing Up and Verifying Membership\u003cbr\u003e _10.1 Setting up a practice project\u003cbr\u003e __10.1.1 Creating a project with nest-cli\u003cbr\u003e __10.1.2 Creating a User Module\u003cbr\u003e __10.1.3 Setting up a SQLite database  \u003cbr\u003e_10.2 Creating entities, services, and controllers for the user module\u003cbr\u003e __10.2.1 Creating an Entity\u003cbr\u003e __10.2.2 Creating a Controller\u003cbr\u003e __10.2.3 Creating a Service\u003cbr\u003e Testing __10.2.4\u003cbr\u003e _10.3 Validating with Pipes\u003cbr\u003e __10.3.1 Setting up a global ValidationPipe\u003cbr\u003e __10.3.2 Creating UserDto\u003cbr\u003e __10.3.3 Testing\u003cbr\u003e _10.4 Creating an Authentication Module and Signing Up\u003cbr\u003e __10.4.1 Creating and Configuring an Authentication Module\u003cbr\u003e __10.4.2 Creating a member registration method\u003cbr\u003e __10.4.3 Checking tables with the sqlite extension\u003cbr\u003e _10.5 Implementing Authentication Using Cookies\u003cbr\u003e __10.5.1 Creating Email and Password Verification Logic in AuthService\u003cbr\u003e __10.5.2 Checking if authenticated using guard\u003cbr\u003e _10.6 Implementing Authentication Using Passport and Session\u003cbr\u003e __10.6.1 Library Installation and Configuration\u003cbr\u003e __10.6.2 Implementing a guard for login and authentication\u003cbr\u003e __10.6.3 Implementing a session serializer that stores and reads information in a session  \u003cbr\u003e__10.6.4 Creating a LocalStrategy file with email and password authentication logic\u003cbr\u003e __10.6.5 Add settings to auth.module.ts\u003cbr\u003e Testing __10.6.6\u003cbr\u003e __10.6.7 Sequence of login and session storage\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e Chapter 11: Authenticating Google Login Using OAuth\u003cbr\u003e _11.1 Introduction to OAuth\u003cbr\u003e __11.1.1 OAuth Protocol Flow\u003cbr\u003e __11.1.2 Flow for reissuing access tokens\u003cbr\u003e _11.2 Preparing to Use Google OAuth\u003cbr\u003e __11.2.1 Creating a Project in Google Cloud\u003cbr\u003e __11.2.2 Creating an OAuth consent screen\u003cbr\u003e __11.2.3 Creating an OAuth client ID and password\u003cbr\u003e _11.3 Google OAuth Implementation Sequence\u003cbr\u003e _11.4 Adding a NestJS configuration file\u003cbr\u003e _11.5 Creating a Google OAuth Strategy\u003cbr\u003e _11.6 Creating GoogleAuthGuard\u003cbr\u003e _11.7 Adding a handler method to the controller\u003cbr\u003e __11.7.1 Testing\u003cbr\u003e _11.8 Modifying the User Entity File\u003cbr\u003e _11.9 Adding Google user search and storage methods to UserService  \u003cbr\u003e_11.10 Applying a method to save Google users to GoogleStrategy\u003cbr\u003e _11.11 Change to use sessions in GoogleAuthGuard\u003cbr\u003e _11.12 Testing\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e Chapter 12: Implementing File Upload Functionality\u003cbr\u003e _12.1 Creating a Project and Installing Dependencies\u003cbr\u003e _12.2 Creating and Testing a File Upload API\u003cbr\u003e __12.2.1 Testing\u003cbr\u003e _12.3 Saving uploaded files to a specific path\u003cbr\u003e __12.3.1 Testing\u003cbr\u003e _12.4 Serving static files\u003cbr\u003e __12.4.1 Testing\u003cbr\u003e _12.5 Uploading with HTML form\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e Chapter 13: Implementing Real-Time Chat Using WebSockets\u003cbr\u003e _13.1 Introduction to WebSockets\u003cbr\u003e __13.1.1 How WebSockets Work\u003cbr\u003e _13.2 Creating an Echo Application: WebSockets\u003cbr\u003e __13.2.1 Installing the ws package\u003cbr\u003e __13.2.2 Building the server side: Creating the server.js file and running the server\u003cbr\u003e __13.2.3 Implementing the client side: Creating a client.html file\u003cbr\u003e __13.2.4 Testing\u003cbr\u003e __13.2.5 Checking future tasks  \u003cbr\u003e_13.3 Creating a Simple Chat Application: socket.io\u003cbr\u003e __13.3.1 Creating a socket.io project\u003cbr\u003e Installing the __13.3.2 package\u003cbr\u003e __13.3.3 Setting up main.ts to load html files\u003cbr\u003e __13.3.4 Creating a Gateway for Server-Side Tasks\u003cbr\u003e __13.3.5 Registering the Gateway with the Module\u003cbr\u003e __13.3.6 Modifying index.html for the client\u003cbr\u003e __13.3.7 Testing\u003cbr\u003e _13.4 Creating a Chat Application with Chat Room Functionality\u003cbr\u003e __13.4.1 Using Namespaces\u003cbr\u003e __13.4.2 Adding a nickname\u003cbr\u003e __13.4.3 Creating a Chat Room\u003cbr\u003e __13.4.4 Implementing the notice area and chat room entry\u003cbr\u003e __13.4.5 Implementing chat room conversation\u003cbr\u003e __13.4.6 Testing\u003cbr\u003e _Learning completion\u003cbr\u003e _Practice problems\u003cbr\u003e\u003cbr\u003e appendix A TypeScript: From Beginner to Advanced Features\u003cbr\u003e appendix B: 21 Linux Commands You Must Know\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eDetailed image\u003c\/b\u003e \u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg src=\"https:\/\/image.yes24.com\/momo\/TopCate4153\/MidCate002\/415213212(1).jpg\" border=\"0\" alt=\"Detailed Image 1\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003ePublisher's Review\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003eWelcome to the backend world\u003c\/b\u003e \u003cbr\u003eIntroducing the next book on HTML\/CSS\/JavaScript\u003cbr\u003e\u003cbr\u003e welcome.\u003cbr\u003e If you want to become a backend developer but don't know how or what to do, you've come to the right place.\u003cbr\u003e This book teaches you what beginners to JavaScript-based backends need to know after studying HTML\/CSS\/JavaScript.\u003cbr\u003e To grow as a developer in any field, you need to know a lot.\u003cbr\u003e You shouldn't just learn what's easy.\u003cbr\u003e Even if it's a little difficult, you need to learn in depth, focusing on techniques used in real life, to build your skills.\u003cbr\u003e So, this book is packed with useful content, focusing on Node.js, not only for beginners but also for working developers who want to brush up on the basics.\u003cbr\u003e Knowing TypeScript will help you learn.\u003cbr\u003e TypeScript syntax is explained in the appendix.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eJavaScript Backend: Start with the Three Masters\u003cbr\u003e\u003c\/b\u003e \u003cbr\u003eFor the JavaScript backend, start with the three major topics: “programming language,” “runtime,” and “web framework.”\u003cbr\u003e The core of the JavaScript backend environment is Node.js.\u003cbr\u003e To take full advantage of Node.js, you need TypeScript, which provides object-oriented programming techniques.\u003cbr\u003e Until now, Node.js has used Express as its server framework, but recently there has been a trend towards adopting NestJS.\u003cbr\u003e However, in the real world, you need to be able to handle both of these tools, so this book covers both Express and NestJS.\u003cbr\u003e So, shall we take a closer look at the three generals?\u003cbr\u003e\u003cbr\u003e TypeScript is a programming language that adds static type syntax based on JavaScript. \u003cbr\u003eIt's widely used in large-scale projects and is a mandatory choice for teamwork in most companies these days. It offers a new syntax based on ES6 and is fully compatible with JavaScript.\u003cbr\u003e Although it is a relatively new language, it has a strong ecosystem thanks to Microsoft support (see Appendix A).\u003cbr\u003e\u003cbr\u003e 〈Node.js〉 is a JavaScript runtime that can execute JavaScript on the server side.\u003cbr\u003e Node.js is a great choice for developers in demanding and fast-changing environments.\u003cbr\u003e You can also use the same code as the frontend, and Node.js has a very rich developer ecosystem, which has the advantage of reducing development time and increasing the stability of the system.\u003cbr\u003e\u003cbr\u003e Express is the most used web framework for Node.js. \u003cbr\u003eIt aims to be a minimalist framework and has an easily extensible structure, so there are many extension libraries.\u003cbr\u003e 〈NestJS〉 is a web framework that helps you create productive web applications quickly and reliably by applying the latest JavaScript technologies.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eThe Become a Developer series will show you the way forward.\u003cbr\u003e Check out our backend roadmap for beginners.\u003cbr\u003e\u003c\/b\u003e\u003cbr\u003e The author recalled the difficulties he faced when he first started out as a backend developer.\u003cbr\u003e I didn't know what to do or how to do it.\u003cbr\u003e We needed a roadmap.\u003cbr\u003e But no one provided a proper roadmap.\u003cbr\u003e So, the author first presents and explains the backend roadmap that beginners need.\u003cbr\u003e The roadmap lists numerous technologies. \u003cbr\u003eYou can't fit everything on the roadmap into one book, nor can you learn it all in one go.\u003cbr\u003e This book provides basic knowledge that can be used as a starting point, focusing on JavaScript Node.js.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eLearn practical skills\u003cbr\u003e\u003c\/b\u003e\u003cbr\u003e Technology changes rapidly.\u003cbr\u003e There are technologies that are trending now but are losing ground, and technologies that are still weak but are rising.\u003cbr\u003e There are good reasons why trends change.\u003cbr\u003e On the other hand, the fundamentals do not change regardless of trends.\u003cbr\u003e So, the basics are solid, and the skill set is trendy and practical.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e \u003cb\u003eExperience high-quality code with a wealth of experience.\u003cbr\u003e\u003c\/b\u003e\u003cbr\u003e If you search the Internet, you can easily get working code.\u003cbr\u003e Most of the code obtained in this way lacks functionality or causes various issues as the service grows.\u003cbr\u003e The code in this book is not that kind of copy-and-paste code from the Internet. \u003cbr\u003eThis code is a result of our experience developing and operating large-scale services.\u003cbr\u003e For example, there are many bulletin board codes, but there is no code on the Internet that properly provides the functions that are actually needed in practice.\u003cbr\u003e In this book, you'll discover a bulletin board with fully functional search, commenting, pagination, file upload, and social login features.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eClearly indicate which code has been changed or modified.\u003cbr\u003e\u003c\/b\u003e\u003cbr\u003e Just as in the real world, in this book we will be continuously revising and completing the code, so you need to be able to tell where you have modified or deleted existing code.\u003cbr\u003e To make it easier to find, I've marked the code with changes with a delete line and a yellow background.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eIntroducing the topics covered in this book\u003cbr\u003e\u003c\/b\u003e \u003cbr\u003eTo avoid interrupting the learning flow, this book builds a development environment in advance, and then builds JavaScript backend development skills, dividing it into levels 1 through 3, focusing on Node.js.\u003cbr\u003e Each chapter includes practice problems, Appendix A covers TypeScript from beginner to advanced features, and Appendix B covers 21 essential Linux commands.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e _Level 1 Introduction to Backend Developer\u003cbr\u003e After setting up the development environment in Chapter 0, Chapter 1 guides you through what a backend developer needs to know and do.\u003cbr\u003e Because I'm going to teach you a broad and shallow knowledge that will be helpful to know, you'll encounter a lot of unfamiliar words.\u003cbr\u003e You don't have to try to understand everything at once.\u003cbr\u003e Read it once the first time, then read it again after you've read the rest of the book. \u003cbr\u003eThen, you will be able to properly understand the ultimate goal of 'becoming a backend developer'.\u003cbr\u003e\u003cbr\u003e _Level 2 Getting Started with Backend with Node.js and Express\u003cbr\u003e The ultimate goal is to acquire the ability to create a bulletin board with Express.\u003cbr\u003e Creating a bulletin board that addresses, reflects, and modifies user requests will help you learn a variety of practical skills.\u003cbr\u003e Chapter 2 covers how Node.js works, Chapter 3 covers creating a web server with Express, Chapter 4 covers how to use npm, Chapter 5 covers asynchronous processing in JavaScript, and Chapter 6 covers MongoDB.\u003cbr\u003e In Chapter 7, we will create a bulletin board with search, comment editing, and pagination.\u003cbr\u003e\u003cbr\u003e _Jump to the Level 3 NestJS Framework\u003cbr\u003e Let's learn how to develop using NestJS. \u003cbr\u003eChapter 8 covers NestJS, Chapter 9 covers setting up NestJS environment variables, Chapter 10 covers member registration and login, Chapter 11 covers Google login authentication using OAuth, and Chapter 12 covers implementing a file upload feature.\u003cbr\u003e Finally, in Chapter 13, we implement real-time chat using WebSockets.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eHere's an example we'll create together.\u003cbr\u003e\u003c\/b\u003e\u003cbr\u003e Creating a bulletin board with comment editing and pagination using _express (Chapter 7)\u003cbr\u003e Bulletin boards are a common example when creating web frameworks.\u003cbr\u003e But there are more things to consider than you might think when creating a proper bulletin board.\u003cbr\u003e Providing search, paging, and handling comment areas on detail pages is quite challenging.\u003cbr\u003e It wouldn't be entirely wrong to say that if you can create a good bulletin board, you can create most of the logic needed in the field.\u003cbr\u003e Let's implement a bulletin board with enough functionality to actually be used.\u003cbr\u003e \u003cbr\u003e_Implementing Google Login Using Google OAuth (Chapters 10 and 11)\u003cbr\u003e Authentication is implemented using Google's OAuth. OAuth is an open authorization standard created by Google and Twitter in 2006.\u003cbr\u003e Naver, Google, KakaoTalk, and others support social login using OAuth. Using OAuth is relatively secure because it retrieves user authentication information from an external source.\u003cbr\u003e It is convenient for users because they do not have to register as members every time and do not have to memorize IDs and passwords.\u003cbr\u003e\u003cbr\u003e _Implementing File Upload (Chapter 12)\u003cbr\u003e Implement file upload functionality.\u003cbr\u003e Not only text, but also formats such as video and images are widely used in applications.\u003cbr\u003e To use these different formats in your application, you need a file upload feature.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e _Implementing Real-Time Chat (Chapter 13)\u003cbr\u003e Implement real-time chat.\u003cbr\u003e WebSockets allow servers to respond without a client request. \u003cbr\u003eIn Chapter 13, we'll learn what WebSockets are and get a feel for real-time updating applications by building echo and chat applications.\u003cbr\u003e\u003cbr\u003e \u003cb\u003eIntroduction to the Becoming series\u003cbr\u003e\u003c\/b\u003e\u003cbr\u003e The \"Becoming\" series, as the name suggests, is a book prepared for those who want to grow in the IT field.\u003cbr\u003e We present carefully selected IT technologies along with a roadmap and guide you through practical study.\u003cbr\u003e We will support you to quickly grow into a practitioner in your field. \u003cbr\u003e\n\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e GOODS SPECIFICS \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eDate of issue:\u003c\/strong\u003e April 15, 2023\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003ePage count, weight, size:\u003c\/strong\u003e 580 pages | 1,012g | 183*235*28mm\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN13:\u003c\/strong\u003e 9791191905274 \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cspan\u003e\u003c\/span\u003e\n\n\u003c\/center\u003e\n\n\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893821898794,"sku":"110506","price":50.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/5956237c869e997b93eec6c08376edeb.jpg?v=1765418753","url":"https:\/\/librairie.coreenne.fr\/en\/products\/110506","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}