CodeCraft with Rubel
13/10/2024
đ Blog Project: Tech Tips & Tricks Hub
I developed a blog project using Next.js and NextUI for a modern and responsive frontend experience, coupled with an Express and Mongoose backend to manage data efficiently. Leveraging React Hook Form for user interactions, I implemented features that enhance usability and performance. This project showcases my skills in full-stack development and my commitment to creating user-friendly web applications.
Live Link : https://tech-tips-trick-hub-frontend-lac.vercel.app/
04/04/2024
.0
āĻŽāϰā§āĻĄāĻžāύ āĻā§ā§āĻŦ āĻĄā§āĻā§āϞāĻĒāĻŽā§āύā§āĻā§āϰ āĻāĻāϤ⧠Node/Express-
Node.js āĻāϰ āĻāϤāĻŋāĻšāĻžāϏ:
Node.js āĻāĻŋ āϤāĻž āĻāĻžāύāĻžāϰ āĻāĻā§ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāύāϤ⧠āĻšāĻŦā§ Node.js āĻāϰ āĻāϤāĻŋāĻšāĻžāϏ āϏāĻŽā§āĻĒāϰā§āĻā§āĨ¤ ⧧⧝⧝ā§Ģ āϏāĻžāϞ⧠āĻŦā§āϰā§āύā§āĻĄāύ āĻāĻ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻŦāĻŋāώā§āĻāĻžāϰ āĻāϰā§āύāĨ¤ āĻāĻŋāύā§āϤ⧠āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻŦā§āϰāĻžāĻāĻāĻžāϰā§āĻ āĻāϞāϤ⧠āĻĒāĻžāϰāϤā§āĨ¤ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĻāĻŋā§ā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĢā§āϰāύā§āĻāĻāύā§āĻĄā§āϰ āĻāĻžāĻāĻ āĻāϰāĻž āĻšāϤā§āĨ¤ āϏāĻžāϞāĻāĻž āĻāĻŋāϞ⧠⧍ā§Ļā§Ļā§Ž āϏāĻžāϞāĨ¤ Google āϤāĻžāĻĻā§āϰ āύāϤā§āύ āĻā§ā§āĻŦ āĻŦā§āϰāĻžāĻāĻāĻžāϰ Google Chrome āϰāĻŋāϞāĻŋāĻ āĻāϰā§āĨ¤ Google Chrome āĻāĻŋāϞ⧠āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āĻĄ āϰāĻžāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻ
āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻāĻāĻŋ āĻŦā§āϰāĻžāĻāĻāĻžāϰāĨ¤ Google Chrome āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āĻĄ āĻāĻžāϞā§āĻāĻžāĻŦā§ āĻĻā§āϰā§āϤ āϰāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰāĻžāϰ āĻŽā§āϞ āĻāĻžāϰāĻŖ āĻāĻŋāϞ⧠Chrome āĻŦā§āϰāĻžāĻāĻāĻžāϰ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž V8 āĻāĻā§āĻāĻŋāύāĨ¤ V8 āĻāĻā§āĻāĻŋāύ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āĻĄāĻā§ āĻ
āĻĒāĻāĻŋāĻŽāĻžāĻāĻ āĻāϰāϤ⧠āĻĒāĻžāϰāϤā§āĨ¤ āĻāĻ V8 āĻāĻā§āĻāĻŋāύ āĻā§āϞāĻžā§ā§āύā§āĻ āϏāĻžāĻāĻĄā§ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ
āύā§āϝ āĻĒāϰā§āϝāĻžā§ā§ āύāĻŋā§ā§ āϝāĻžā§āĨ¤ āĻāϰ āĻĢāϞ⧠Chrome āϤāĻāύāĻāĻžāϰ āϏāĻŽā§ āĻŦā§āϰāĻžāĻāĻāĻžāϰā§āϰ āĻāĻŋāϤāϰ⧠āϏāĻŦāĻžāϰ āĻļā§āϰā§āώ⧠āĻāĻ ā§ āĻāϏā§āĨ¤
⧍ā§Ļā§Ļ⧝ āϏāĻžāϞ⧠āϰāĻžā§āĻžāύ āĻĄāĻžāĻšāϞ āύāĻžāĻŽāĻ āĻāĻ āϏāĻĢāĻāĻā§ā§āϝāĻžāϰ āĻāĻā§āĻāĻŋāύāĻŋā§āĻžāϰ āϤāĻāύāĻāĻžāϰ āϏāĻŽā§ āϏāĻŦāĻā§ā§ā§ āĻāύāĻĒā§āϰāĻŋā§ āĻŦā§āϝāĻžāĻāĻāύā§āĻĄ āĻā§ā§āĻ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻĒāĻžāϰāĻĢāϰā§āĻŽā§āύā§āϏā§āϰ āĻāĻĒāϰ āĻāĻāĻā§āϞ āϤā§āϞā§āĻāĻŋāϞā§āύāĨ¤ āϤāĻāύ āϏāĻžāϰā§āĻāĻžāϰ āϏāĻžāĻāĻĄā§āϰ āĻāύā§āϝ āϏāĻŦāĻā§ā§ā§ āĻāύāĻĒā§āϰāĻŋā§ āĻāĻŋāϞ⧠Apache HTTP Server. āϰāĻžā§āĻžāύ āĻĄāĻžāĻšāϞ āĻĻāĻžāĻŦā§ āĻāϰā§āύ āϝ⧠Apache HTTP Server āĻāĻāĻ āϏāĻŽā§ā§ āĻ
āϧāĻŋāĻ āĻĒāϰāĻŋāĻŽāĻžāύ āϰāĻŋā§ā§āϞ āĻāĻžāĻāĻŽ āĻāĻāĻāĻžāϰ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āύāĻžāĨ¤
āĻāĻ āĻāĻžāϰāĻŖā§āĻ āϰāĻžā§āĻžāύ āĻĄāĻžāĻšāϞ āĻ āϤāĻžāϰ āĻāĻŋāĻŽ āĻŽāĻŋāϞ⧠āϤā§āϰāĻŋ āĻāϰā§āύ Node.js. āϝāĻž āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻāĻā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻā§āϞāĻžā§ā§āύā§āĻ āϏāĻžāĻāĻĄā§ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧ āύāĻž āϰā§āĻā§ āϏāĻžāϰā§āĻāĻžāϰ āϏāĻžāĻāĻĄā§āĻ āĻāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āĨ¤ āϏāĻžāϰā§āĻāĻžāϰ āϏāĻžāĻāĻĄā§ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āĻĄ āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝ Node.js, Chrome āĻāϰ V8 āĻāĻā§āĻāĻŋāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ Node.js āĻāĻŦāĻŋāώā§āĻāĻžāϰā§āϰ āĻŽā§āϞ āĻāĻĻā§āĻĻā§āĻļā§āϝāĻ āĻāĻŋāϞ⧠āϏāĻžāϰā§āĻāĻžāϰ āϏāĻžāĻāĻĄā§ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻžāĨ¤ āĻŦāϰā§āϤāĻŽāĻžāύ āϏāĻŽā§ Netflex, NASA, LinkedIn, Paypal āĻāϰ āĻŽāϤ⧠āĻŦā§ āĻŦā§ āĻĒā§āϰāϤāĻŋāώā§āĻ āĻžāύāĻā§āϞ⧠āϤāĻžāĻĻā§āϰ āĻāĻĒā§āϞāĻŋāĻā§āĻļāύ⧠Node.js āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻā§āĨ¤ Node.js āĻāĻŦāĻŋāώā§āĻāĻžāϰā§āϰ āĻāϞā§āĻĒāĻāĻž āĻ
āύā§āĻāĻāĻž āύāĻžāĻāĻā§ā§āĨ¤ āĻ āύāĻŋā§ā§ āϏāĻŽā§āĻĒā§āϰāϤāĻŋ Honeypot āύāĻžāĻŽāĻ āĻāĻāĻāĻŋāĻāĻŦ āĻā§āϝāĻžāύā§āϞ āĻāĻāĻāĻŋ āĻĄāĻā§āĻŽā§āύā§āĻāĻžāϰāĻŋ āϤā§āϰāĻŋ āĻāϰā§āĻā§āĨ¤ āϝāĻž āĻĻā§āĻāϞ⧠Node.js āĻāĻŦāĻŋāώā§āĻāĻžāϰā§āϰ āĻāĻžāĻšāĻŋāύāĻŋ āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ āĻāĻžāύāĻž āĻāĻžāύāĻž āϝāĻžāĻŦā§āĨ¤
Node.js āĻāĻŋ?
āĻ
āύā§āĻā§ Node.js āĻā§ āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āϞā§āϝāĻžāĻāĻā§ā§ā§āĻ āĻā§āĻŦā§ āĻā§āϞ āĻāϰā§āύāĨ¤ āĻāĻŋāύā§āϤ⧠āĻŽā§āϞāϤ Node.js āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ āĻāĻĒā§āύ āϏā§āϰā§āϏ, āĻā§āϰāϏ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ, āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āϰāĻžāύāĻāĻžāĻāĻŽ āĻāύāĻāĻžā§āϰāύāĻŽā§āύā§āĻāĨ¤ āĻāĻĨāĻžāĻāĻž āĻāĻāĻā§ āĻāĻ āĻŋāύ āĻŽāύ⧠āĻšāĻā§āĻā§ āϤāĻžāĻ āύāĻžāĨ¤ āĻā§āύ āĻŦā§āϝāĻžāĻĒāĻžāϰ āύāĻžāĨ¤ āϏāĻšāĻ āĻāϰ⧠āĻŦā§āĻāĻŋā§ā§ āĻŦāϞāĻāĻŋāĨ¤ Node.js āĻāϰ āĻŽā§āϞ āϤāĻŋāύāĻāĻŋ āĻāĻŋāύāĻŋāϏ āĻšāĻā§āĻā§- ā§§. āĻāĻĒā§āύ āϏā§āϰā§āϏ ⧍. āĻā§āϰāϏ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ ā§Š. āϰāĻžāύāĻāĻžāĻāĻŽ āĻāύāĻāĻžā§āϰāύāĻŽā§āύā§āĻāĨ¤
āĻāĻĒā§āύ āϏā§āϰā§āϏ:
āĻāĻĒā§āύ āϏā§āϰā§āϏā§āϰ āĻāĻ āĻāĻĨāĻžā§ āϏāĻšāĻ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻšāĻā§āĻā§- āϏāĻŦāĻžāϰ āĻāύā§āϝ āĻāĻŽā§āĻŽā§āĻā§āϤāĨ¤ āĻāĻĒā§āύ āϏā§āϰā§āϏ āϏāĻĢāĻāĻā§ā§āϝāĻžāϰāĻā§āϞ⧠āϝā§āĻā§āύ āĻŽāĻžāύā§āώāĻ āĻāĻĄāĻŋāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϝāĻžāϰ āĻāĻžāϰāĻŖā§ āϏāĻĢāĻāĻā§ā§āϝāĻžāϰ⧠āϝāĻĻāĻŋ āĻā§āύ āĻŦāĻžāĻ āĻĨāĻžāĻā§ āϤāĻžāĻšāϞ⧠āϝā§āĻā§āύ āĻāĻāĻāύ āϝāĻĻāĻŋ āϤāĻž āĻā§āĻā§ āĻĒāĻžā§ āϤāĻžāĻšāϞ⧠āĻāĻŽ āϏāĻŽā§ā§āĻ āϤāĻž āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻž āϝāĻžā§āĨ¤ āϝā§āĻšā§āϤ⧠Node.js āĻāĻāĻāĻŋ āĻāĻĒā§āύ āϏā§āϰā§āϏ āϏāĻĢāĻāĻā§ā§āϝāĻžāϰ āϤāĻžāĻ Node.js āϤā§āϰāĻŋāϰ āĻĒā§āĻāύ⧠āĻ
āύā§āĻā§āϰ āĻāύā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻļāĻžāύ āĻāĻā§āĨ¤ āĻāύā§āĻā§āϰāĻŋāĻŦāĻŋāĻāĻāϰāϰāĻž āĻĒā§āϰāϤāĻŋāύāĻŋā§āϤ Node.js āĻ āύāϤā§āύ āύāϤā§āύ āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āϝā§āĻā§āϤ āĻāϰ⧠āϝāĻžāĻā§āĻā§āύ āĻāĻŦāĻ āĻā§āύ āϤā§āϰā§āĻāĻŋ āĻĨāĻžāĻāϞ⧠āϤāĻž āϏāĻŽāĻžāϧāĻžāύ āĻāϰāĻā§āύāĨ¤
āĻā§āϰāϏ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ:
āĻā§āϰāϏ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§āϰ āĻŽāĻžāύ⧠āĻšāĻā§āĻā§ āĻāĻāĻŋ āĻļā§āϧ⧠āĻāĻāĻāĻŋ āĻ
āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻŽāϧā§āϝā§āĻ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧ āύā§āĨ¤ āĻāĻāĻāĻžāϰ āĻāĻžāĻāϞ⧠Window, Linux, MacOS āϏāĻš āϝā§āĻā§āύ āĻ
āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽā§ Node.js āĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āĨ¤
āϰāĻžāύāĻāĻžāĻāĻŽ āĻāύāĻāĻžā§āϰāύāĻŽā§āύā§āĻ:
āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āϞā§āϝāĻžāĻāĻā§ā§ā§āĻā§āϰ āϰāĻžāύāĻāĻžāĻāĻŽ āĻāύāĻāĻžā§āϰāύāĻŽā§āύā§āĻ āĻšāĻā§āĻā§ āĻāĻŽāύ āĻāĻāĻāĻŋ āĻāύāĻāĻžā§āϰāύāĻŽā§āύā§āĻ āϝā§āĻāĻžāύ⧠āĻāĻāĻāĻžāϰ āĻā§āύ āĻāĻāĻāĻŋ āϏā§āĻĒā§āϏāĻŋāĻĢāĻŋāĻ āϞā§āϝāĻžāĻāĻā§ā§ā§āĻā§āϰ āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻ āĻāύāĻāĻžā§āϰāύāĻŽā§āύā§āĻ āĻāĻā§āϤ āϞā§āϝāĻžāĻāĻā§ā§ā§āĻā§āϰ āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĒā§āϰā§ā§āĻāύā§ā§ āϏāĻāϞ āĻāĻŋāύāĻŋāϏ āϏāϰāĻŦāϰāĻžāĻš āĻāϰā§āĨ¤ Node.js āĻšāĻā§āĻā§ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āϰāĻžāύāĻāĻžāĻāĻŽ āĻāύāĻāĻžā§āϰāύāĻŽā§āύā§āĻāĨ¤ Node.js āĻāĻžā§āĻžāĻ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻ
āύā§āϝāϤāĻŽ āϏāĻšāĻ āϰāĻžāύāĻāĻžāĻāĻŽ āĻāύāĻāĻžā§āϰāύāĻŽā§āύā§āĻā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖ āĻšāĻā§āĻā§ āĻā§ā§āĻŦ āĻŦā§āϰāĻžāĻāĻāĻžāϰāĨ¤ āϝāĻž āĻā§āϞāĻžā§ā§āύā§āĻ āϏāĻžāĻāĻĄā§ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āϏāĻāϞ āϰāĻŋāϏā§āϰā§āϏ āϏāϰāĻŦāϰāĻžāĻš āĻāϰā§āĨ¤
āĻāĻļāĻž āĻāϰāĻāĻŋ āĻāĻŦāĻžāϰ āϏāĻŦāĻžāĻ āĻŦā§āĻāϤ⧠āĻĒā§āϰā§āĻā§āύ āϝ⧠Node.js āϝ⧠āĻā§āύ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻŋāĻ āϞā§āϝāĻžāĻāĻā§ā§ā§āĻ āύāĻž āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āύ āĻĢā§āϰā§āĻŽāĻā§āĻžāϰā§āĻāĻ āύāĻžāĨ¤ āĻāĻāĻŋ āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ āϏāĻĢāĻāĻā§ā§āϝāĻžāϰ āϝāĻž āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāϰ⧠āϏāĻšāĻāĻāĻžāĻŦā§ āĻŦāϞāϤ⧠āĻā§āϞā§, Node.js āĻšāĻā§āĻā§ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āϰāĻžāύāĻāĻžāĻāĻŽ āĻāύāĻāĻžā§āϰāύāĻŽā§āύā§āĻāĨ¤ āĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ āϏāĻžāĻāĻĄā§ āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āϤā§āϰāĻŋ āĻāϰāĻž āĻšā§ā§āĻā§āĨ¤
Node.js āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰā§?
Node.js āĻāϰ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āĻā§āĻĄ āϞā§āĻāĻž āĻšā§ā§āĻāĻŋāϞ⧠C āĻāĻŦāĻ C++ āĻĻāĻŋā§ā§āĨ¤ C āĻāϰ āĻŽāϤ⧠āϞ⧠āϞā§āĻā§āϞ āϞā§āϝāĻžāĻāĻā§ā§ā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāĻžāϰāĻŖā§ āϏāĻĢāĻāĻā§ā§āϝāĻžāϰāĻāĻŋ āĻ
āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āϰāĻŋāϏā§āϰā§āϏāĻā§āϞā§āĻā§ āĻāĻā§āϏā§āϏ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āĻĻāĻŋā§ā§ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰāĻžāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻŋāύā§āϤ⧠Node.js āĻāĻžāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻŋ āĻāĻžā§āĻžāĻ āĻ
āύā§āϝāĻžāύā§āϝ āĻ
āύā§āĻ āĻāĻāĻŋāϞāϤāĻž āĻāĻā§āĨ¤
Node.js āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰ⧠āϤāĻž āĻŦā§āĻāϤ⧠āĻšāϞ⧠āĻāĻŽāĻžāĻĻā§āϰ āϏāĻŦāĻžāϰ āĻāĻā§ āĻāϰ āϤāĻŋāύāĻāĻŋ āĻŽā§āϞ āĻāĻĒāĻžāĻĻāĻžāύ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻžāύāϤ⧠āĻšāĻŦā§āĨ¤
V8 āĻāĻā§āĻāĻŋāύ
Libuv
Event Loop
V8 āĻāĻā§āĻāĻŋāύ:
V8 āĻāĻā§āĻāĻŋāύ āĻšāϞ⧠āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻāĻāĻāĻŋ āĻāĻā§āĻāĻŋāύ āϝāĻž Chrome āĻŦā§āϰāĻžāĻāĻāĻžāϰ⧠āĻāĻžāĻāĻžāĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰā§āĨ¤ Chrome āĻāĻžā§āĻžāĻ āĻ
āύā§āϝāĻžāύā§āϝ āĻŦā§āϰāĻžāĻāĻāĻžāϰāĻā§āϞ⧠āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻŋāύā§āύ āĻāĻŋāύā§āύ āĻāĻā§āĻāĻŋāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĨāĻžāĻā§āĨ¤ āϝā§āĻŽāύ, Firefox āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠SpiderMonkey, Safari āĻŦā§āϰāĻžāĻāĻāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠JavascriptCore. V8 āĻāĻā§āĻāĻŋāύ⧠āĻāĻāĻāĻŋ āĻŽā§āĻŽā§āϰāĻŋ āĻšāĻŋāĻĒ āĻāĻŦāĻ āĻāϞ āϏā§āĻā§āϝāĻžāĻ āĻĨāĻžāĻā§āĨ¤ āĻāĻā§āϞ⧠āĻšāĻā§āĻā§ V8 āĻāĻā§āĻāĻŋāύā§āϰ āĻŦāĻŋāϞā§āĻĄāĻŋāĻ āĻŦā§āϞāĻāĨ¤ āĻāĻā§āϞ⧠āĻŦā§āϰāĻžāĻāĻāĻžāϰ⧠āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰā§āĨ¤
āĻŽā§āĻŽā§āϰāĻŋ āĻšāĻŋāĻĒ āĻšāĻā§āĻā§ V8 āĻāĻā§āĻāĻŋāύā§āϰ āĻĄāĻžāĻāĻž āϏā§āĻā§āϰāĨ¤ āϝāĻāύāĻ āĻāĻŽāϰāĻž āĻā§āύ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āϤā§āϰāĻŋ āĻāϰāĻŋ V8 āĻāĻā§āĻāĻŋāύ āϏā§āĻ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻāĻŋāĻā§ āĻŽā§āĻŽā§āϰāĻŋ āĻšāĻŋāĻĒā§ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āĨ¤ āĻŽā§āĻŽā§āϰāĻŋ āĻšāĻŋāĻĒāĻā§ āĻŦā§āϝāĻžāĻāĻĒā§āϝāĻžāĻā§āϰ āϏāĻžāĻĨā§āĻ āϤā§āϞāύāĻž āĻāϰāĻž āϝāĻžā§āĨ¤ āĻāĻžāϰāĻŖ āĻāϰ āĻā§āϤāϰ⧠āĻā§āϰāĻŋā§ā§āĻŦāϞāĻā§āϞā§āϤ⧠āĻ
āĻŦāĻā§āĻā§āĻ āĻāĻŦāĻ āĻĢāĻžāĻāĻļāύ āĻā§āϞ⧠āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻž āĻĨāĻžāĻā§āĨ¤
āĻāĻā§āĻāĻŋāύ āϝāĻāύ āĻā§āύ āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰ⧠āϤāĻāύ āĻŽā§āĻŽā§āϰāĻŋ āĻšāĻŋāĻĒ āĻĨā§āĻā§ āĻā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύā§āϰ āĻāύā§āϝ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āϏāϰāĻŦāϰāĻžāĻš āĻāϰāĻž āĻšā§āĨ¤
āĻāĻŦāĻžāϰ āĻāϏāĻŋ āĻāϞ āϏā§āĻā§āϝāĻžāĻā§āĨ¤ āĻāϞ āϏā§āĻā§āϝāĻžāĻ āĻšāĻā§āĻā§ V8 āĻāĻā§āĻāĻŋāύā§āϰ āĻāϰā§āĻāĻāĻŋ āĻŦāĻŋāϞā§āĻĄāĻŋāĻ āĻŦā§āϞāĻāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻž āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ āϝāĻž āĻĢāĻžāĻāĻļāύ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύā§āϰ āĻ
āϰā§āĻĄāĻžāϰ āĻŽā§āĻāύāĻā§āĻāύ āĻāϰ⧠āĻĨāĻžāĻā§āĨ¤ āϝāĻāύ āĻā§āύ āĻĢāĻžāĻāĻļāύāĻā§ āĻāϞ āĻāϰāĻž āĻšāϝāĻŧ, āϏā§āĻāĻŋ āϏāĻŦāĻžāϰ āĻāĻā§ āĻāĻ āĻāϞ āϏā§āĻā§āϝāĻžāĻā§āϰ āĻāĻŋāϤāϰ āĻāϏā§āĨ¤ āĻāĻā§āĻāĻŋāύ āϝāĻāύ āϏā§āĻ āĻĢāĻžāĻāĻļāύāĻā§ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰ⧠āĻĢā§āϞ⧠āϤāĻāύ āϏā§āĻāĻŋ āĻāϞ āϏā§āĻā§āϝāĻžāĻā§āϰ āĻāĻžā§āĻāĻž āϤā§āϝāĻžāĻ āĻāϰā§āĨ¤
Libub:
Libub āĻšāĻā§āĻā§ Node.js āĻāϰ āĻāϰā§āĻāĻāĻŋ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻāĻĒāĻžāĻĻāĻžāύāĨ¤ Libub āĻšāĻā§āĻā§ C āĻāϰ āĻāĻāĻāĻŋ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϝāĻž āĻāύāĻĒā§āĻ/āĻāĻāĻāĻĒā§āĻ (I/O) āĻ
āĻĒāĻžāϰā§āĻļāύ āĻĒāĻžāϰāĻĢāϰā§āĻŽ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšā§āĨ¤
Libub āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ āĻā§āϰāϏ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āϝāĻž āϝā§āĻā§āύ āĻ
āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽā§āĻ āĻāϞāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻŋ āĻŽā§āϞāϤ āĻĢā§āĻāĻžāϏ āĻāϰ⧠asynchronous I/O āĻ
āĻĒāĻžāϰā§āĻļāύā§āϰ āĻāĻĒāϰāĨ¤ āĻāĻāĻŋ āĻāĻāĻŦāĻžāϰ⧠āĻ
āύā§āĻāĻā§āϞ⧠I/O āĻ
āĻĒāĻžāϰā§āĻļāύ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
Event Loop:
Node.js āĻāϰ āĻ
āύā§āϝāϤāĻŽ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻāĻĒāĻžāĻĻāĻžāύ āĻšāĻā§āĻā§ Event LoopāĨ¤ āϝāĻāύ āĻāĻŽāϰāĻž āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻā§āĻĄ āϰāĻžāύ āĻāϰāĻŋ āϤāĻāύ āϏā§āĻā§āϞā§āϰ āĻāĻŋāϤāϰ āĻāĻŋāĻā§ Asynchronous āĻā§āĻĄ āĻĨāĻžāĻā§āĨ¤ Node.js āϏā§āĻā§āϞā§āĻā§ Node.js API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰā§āĨ¤ Asynchronous āĻĢāĻžāĻāĻļāύāĻā§āϞ⧠āϏāĻžāϧāĻžāϰāĻŖāϤ Normal āĻĢāĻžāĻāĻļāύ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻšāĻā§āĻžāϰ āĻĒāϰ āϰāĻžāύ āĻšā§āĨ¤ āϏā§āĻāύā§āϝ āϏā§āĻā§āϞā§āĻā§ Callback Queue āĻāϰ āĻā§āϤāϰ⧠āϰāĻžāĻāĻž āĻšā§āĨ¤ Callback Queue FIFO(First In First Out) āĻĒāĻĻā§āϧāϤāĻŋ āĻ
āύā§āϏāϰāĻŖ āĻāϰ⧠āĻāĻžāĻ āĻāϰā§āĨ¤ āϝāĻžāϰ āĻŽāĻžāύ⧠āĻšāĻā§āĻā§ āϝ⧠āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύāĻāĻŋ Queue āϤ⧠āĻāĻā§ āĻĒā§āϰāĻŦā§āĻļ āĻāϰāĻŦā§ āϏā§āĻāĻŋāĻ āĻāĻā§ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻšāĻŦā§āĨ¤
Event Loop āϝāĻāύ āϰāĻžāύ āĻāϰāĻŦā§ āϤāĻāύ āĻāĻāĻŋ āĻā§āĻ āĻāϰ⧠āϝ⧠āĻāϞ āϏā§āĻā§āϝāĻžāĻ āĻāĻžāϞāĻŋ āĻāĻŋāύāĻžāĨ¤ āϝāĻĻāĻŋ āĻāϞ āϏā§āĻā§āϝāĻžāĻ āĻāĻžāϞāĻŋ āĻšā§ āϤāĻāύ āĻāĻāĻŋ āĻĒā§āϰāĻĨāĻŽ āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύāĻā§ Callback Queue -āϤ⧠āĻāϰ⧠āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻā§āĻāĻŋāύ⧠āĻĒāĻžāĻ āĻžā§āĨ¤
āĻāĻāĻāĻĨāĻžā§ āĻŦāϞāϤ⧠āĻā§āϞ⧠Event Loop āĻāĻžāĻāĻžāϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ V8 āĻāĻā§āĻāĻŋāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠Asynchronous āĻāύāϏā§āĻā§āϰāĻžāĻāĻļāύāĻā§āϞā§āϰ āĻŽāϧā§āϝ āĻĨā§āĻā§ Callback āĻā§āϞā§āĻā§ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻāϰā§āĨ¤
Node.js āĻĻāĻžāĻŦā§ āĻāϰ⧠āϝ⧠āĻāĻāĻŋ Event-Driven āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰ āĻ
āύā§āϏāϰāĻŖ āĻāϰā§āĨ¤ āĻāϰ āĻŽāĻžāύ⧠āĻšāĻā§āĻā§ Node.js āĻĒā§āϰāĻĨāĻŽā§ āĻā§āύ Event -āĻā§ Listen āĻāϰ⧠āĻāĻŦāĻ āĻĒāϰ⧠āϏā§āĻ Event āĻāϰ āĻŦāĻŋāĻĒāϰā§āϤ⧠āĻĒā§āϰāϤāĻŋāĻā§āϰāĻŋā§āĻž āĻāϰā§āĨ¤
āϝāĻāύāĻ āĻā§āύ Event Trigger āĻāϰāĻž āĻšā§ Node.js, Event -āĻā§ Event Loop āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠Event āĻāĻŋāĻā§ Callback āĻāϰ āĻāĻŋāϤāϰ āϞā§āĻĄ āĻāϰā§āĨ¤ āĻāĻ āĻāĻžāϰāĻŖā§ Real Time Data transfer āĻāϰ āĻāύā§āϝ Node.js āĻ
āύā§āϝāϤāĻŽ āϏā§āϰāĻž āĻāĻāĻāĻŋ āĻŽāĻžāϧā§āϝāĻŽāĨ¤
Node.js āĻāϰ Module:
Node.js āĻāϰ āĻĢāĻžāύāĻļāύāĻžāϞāĻŋāĻāĻŋāĻā§āϞ⧠āĻāϰ āĻāĻŋāϤāϰ āĻĨāĻžāĻāĻž āĻŦāĻŋāĻāĻŋāύā§āύ Module āĻāϰ āĻāĻŋāϤāϰ āϏā§āĻā§āϰ āĻāϰāĻž āĻĨāĻžāĻā§āĨ¤ Node.js āĻāĻŋāĻā§ āĻāϞā§āϞā§āϝā§āĻāϝā§āĻā§āϝ Module āĻšāϞā§- HTTP, File System, URL etc.
Express.js āĻāĻŋ:
Express.js āĻšāĻā§āĻā§ Node.js āĻāϰ āĻāύāĻĒā§āϰāĻŋā§ āĻāĻāĻāĻŋ Backend FrameworkāĨ¤ āĻŦāϰā§āϤāĻŽāĻžāύ āĻā§ā§āĻŦ āĻĄā§āĻā§āϞāĻĒāĻŽā§āύā§āĻ āĻāϰ āĻāĻāϤ⧠Mordern Web Application āϤā§āϰāĻŋāϤ⧠Express.js āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āĻā§āĻŽāĻŋāĻāĻž āĻĒāĻžāϞāύ āĻāϰāĻā§āĨ¤
Express.js āĻāϰ āĻāϤāĻŋāĻšāĻžāϏ:
āϏāĻžāϞāĻāĻž āĻāĻŋāϞ⧠⧍ā§Ļā§§ā§Ļ. Node.js āϤāĻāύāĻ āύāϤā§āύ āĻāĻŋāϞā§āĨ¤ āĻāĻ āϏāĻŽā§āĻāĻžāϤā§āĻ Express.js āϤā§āϰāĻŋ āĻāϰāĻž āĻšā§āĨ¤ āĻāĻĒā§āύ āϏā§āϰā§āϏ āĻĄā§āĻĒā§āϞāĻĒāĻžāϰ āĻāĻŋāĻā§ āĻšāϞāĻā§ā§āĻā§āĻ Express.js āϤā§āϰāĻŋāϰ āĻāύā§āϝ āĻĒā§āϰāĻĨāĻŽ āĻĒāĻĻāĻā§āώā§āĻĒ āĻā§āϰāĻšāĻŖ āĻāϰā§āĨ¤ āϤāĻŋāύāĻŋ āĻāĻāĻŋ āϤā§āϰāĻŋāϰ āĻāύā§āϝ āĻ
āύā§āϝāĻžāύā§āϝ āĻĢā§āϰā§āĻŽāĻā§āĻžāϰā§āĻāĻā§āϞ⧠āĻĨā§āĻā§ āĻāĻŋāĻā§ āĻāύāϏā§āĻĒā§āĻ āϤā§āϞ⧠āύā§āύāĨ¤ Node.js āĻāϰ āĻ
āĻā§āϰāĻāϤāĻŋāϰ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§ Express.js āĻ āĻāύā§āύāϤāĻŋ āĻāϰāϤ⧠āĻĨāĻžāĻā§āĨ¤
Express.js āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰā§:
Express.js, Node.js āĻāĻŋāϤā§āϤāĻŋāĻ Backend Application āĻŦāĻžāύāĻžāύā§āϰ āĻāύā§āϝ middleware based āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻšāĻŋāϏā§āĻŦā§ āĻāĻžāĻ āĻāϰā§āĨ¤ Express.js, backend āĻāϰ API āϤā§āϰāĻŋāϰ āĻāύā§āϝ āĻāĻŦāĻ Static āĻ Dynamic web application āĻāϰ Server āĻšāĻŋāϏā§āĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšā§āĨ¤
āĻĢā§āϰā§āĻŽāĻā§āĻžāϰā§āĻāĻāĻŋāϰ āĻāĻāĻāĻŋ Modular Architecture āϰā§ā§āĻā§āĨ¤ āϝāĻž āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āύāĻŋāϰā§āĻŦāĻŋāĻā§āύ⧠Middleware āĻĢāĻžāĻāĻļāύ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĻā§ā§āĨ¤ āϝ⧠āĻĢāĻžāĻāĻļāύāĻā§āϞ⧠āĻā§āύ āϰāĻžāĻāĻ āĻšāĻŋāĻ āĻāϰāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻšā§āĨ¤
Express.js āϏā§āĻ āĻāĻĒ:
āύāĻŋāĻā§āϰ āĻā§ā§āĻāĻāĻŋ āĻĒāĻĻā§āϧāϤāĻŋ āĻ
āύā§āϏāϰāĻŖ āĻāϰ⧠āĻāĻāĻāĻŋ Express Application āϏā§āĻ āĻāĻĒ āĻāϰāĻž āϝāĻžā§-
āĻĒā§āϰāĻĨāĻŽā§ āύāĻŋāĻā§āϰ āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ āĻĻāĻŋā§ā§ Node.js āĻāϰ āĻĒā§āϰāĻā§āĻā§āĻ Initialize āĻāϰāϤ⧠āĻšāĻŦā§-
npm init -y
āϤāĻžāϰāĻĒāϰ Express.js āĻāϰ Dependency āĻā§āϞ⧠āĻāύāϏā§āĻāϞ āĻāϰāϤ⧠āĻšāĻŦā§-
npm install express
āĻāĻŦāĻžāϰ āĻāĻāĻāĻŋ āϰā§āĻ āĻĢāĻžāĻāϞ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āĻšāĻŦā§ āϝāĻžāϰ āύāĻžāĻŽ āĻšāĻŦā§ index.js. āĻāĻ āĻĢāĻžāĻāϞāĻāĻŋāϰ āĻāĻŋāϤāϰ āύāĻŋāĻā§āϰ āĻā§āĻĄāĻā§āϞ⧠āϞāĻŋāĻāϞā§āĻ āĻāĻāĻāĻŋ āϏāĻŋāĻŽā§āĻĒāϞ Express.js āϏāĻžāϰā§āĻāĻžāϰ āϤā§āϰāĻŋ āĻšā§ā§ āϝāĻžāĻŦā§-
const express = require('express')
// initialize an Express application
const app = express()
// define a simple "/api/my-server" route
app.get('/api/my-server', (req, res) => {
res.send('Welcome to my server')
})
const PORT = process.env.PORT || 3000
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`)
}
āϏāĻžāϰā§āĻāĻžāϰāĻāĻŋ āϰāĻžāύ āĻāϰāĻžāϰ āĻāύā§āϝ āύāĻŋāĻā§āϰ āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ āĻĻāĻŋāϤ⧠āĻšāĻŦā§-
node index.js
āϰāĻžāύ āĻāϰāĻžāϰ āĻĒāϰ āύāĻŋāĻā§āϰ āĻāύā§āĻĄāĻĒā§ā§āύā§āĻā§ āĻšāĻŋāĻ āĻāϰāϞā§āĻ āϰā§āϏāĻĒāύā§āϏ āĻĻā§āĻāĻž āϝāĻžāĻŦā§-
http://localhost:3000/api/my-server
āĻā§āύ Express.js āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŦā§:
Performance:
Express.js āĻāϰ āĻāϰā§āĻāĻŋāĻā§āĻāĻāĻžāϰ āĻ
āύā§āĻ āĻšāĻžāϞāĻāĻž āϧāϰāĻŖā§āϰāĨ¤ āϝāĻžāϰ āĻāĻžāϰāĻŖā§ āĻāĻāĻŋ āĻā§āύ āϰāĻŋāĻā§ā§ā§āϏā§āĻā§āϰ āĻŦāĻŋāĻĒāϰā§āϤ⧠āĻĻā§āϰā§āϤ āϰā§āϏāĻĒāύā§āϏ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻŋ āϰāĻŋāĻā§ā§ā§āώā§āĻ āĻāϰ āϰā§āϏāĻĒāύā§āϏ āĻĻā§āĻā§āĻžāϰ āĻāύā§āϝ āĻāĻāĻŋ Node.js āĻāϰ non-blocking I/O āĻŽāĻĄā§āϞā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§āĨ¤ āϝāĻžāϰ āĻĢāϞ⧠Express.js āĻā§āύ āĻĒā§āϰāĻāĻžāϰ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ āĻĄā§āϰāĻĒ āĻāϰāĻž āĻāĻžā§āĻžāĻ āĻšāĻžāĻāĻžāϰ āĻšāĻžāĻāĻžāϰ āϰāĻŋāĻā§ā§ā§āώā§āĻ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
Developer Experience:
Express.js āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ āϏāĻŋāĻŽā§āĻĒāϞ, āĻŽāĻŋāύāĻŋāĻŽāĻžāϞ āĻāĻŦāĻ āĻĢā§āϞā§āĻā§āϏāĻŋāĻŦāϞ āĻā§ā§āĻŦ āĻĢā§āϰā§āĻŽāĻā§āĻžāϰā§āĻāĨ¤ āĻāĻāĻŋāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏāĻšāĻā§āĻ āϰāĻžāĻāĻ āĻĄāĻŋāĻĢāĻžāĻāύ āĻāϰāĻž āĻāĻŦāĻ Middleware āϤā§āϰāĻŋ āĻāϰāĻž āϝāĻžā§āĨ¤ Express.js āĻĒā§āϰā§āĻā§āĻā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĄā§āĻā§āϞāĻĒāĻžāϰāϰāĻž āϏāĻšāĻā§āĻ āϤāĻžāĻĻā§āϰ Backend application āĻŽā§āĻāύāĻā§āĻāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
Community:
āϏā§āĻāĻžāĻāĻŋāϏā§āĻāĻžāϰ (Statista) āĻŽāϤā§, Express.js āϏāĻžāϰāĻžāĻŦāĻŋāĻļā§āĻŦā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻ
āύā§āϝāϤāĻŽ āĻāĻāĻāĻŋ Backend āĻĢā§āϰā§āĻŽāĻā§āĻžāϰā§āĻāĨ¤ āĻŦāĻŋāĻļā§āĻŦā§āϰ ⧍ā§Ļ āĻļāϤāĻžāĻāĻļ āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āĻĨā§āĻā§ āύā§āĻā§āĻž āĻāϰāĻŋāĻĒā§ āĻ āϤāĻĨā§āϝ āĻāĻ ā§ āĻāϏā§āĻā§āĨ¤ āϏāĻžāϰāĻžāĻŦāĻŋāĻļā§āĻŦā§ Express.js āĻāϰ āĻŽāĻŋāϞāĻŋā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻā§āĨ¤ āĻāĻŽāύāĻāĻŋ Express.js āĻāϰ āĻ
āĻĢāĻŋāϏāĻŋā§āĻžāϞ āĻāĻŋāĻāĻšāĻžāĻŦ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϤ⧠ā§Ŧā§Ļ āĻšāĻžāĻāĻžāϰā§āϰ āĻŦā§āĻļāĻŋ āϏā§āĻāĻžāϰ āϰā§ā§āĻā§āĨ¤
Documentation:
āĻ
āύā§āϝāϤāĻŽ āĻāĻāĻāĻŋ āĻāύāĻĒā§āϰāĻŋā§ āĻĢā§āϰā§āĻŽāĻā§āĻžāϰā§āĻ āĻšāĻā§āĻž āϏā§āĻŦāϤā§āϤā§āĻ Express.js āĻāϰ āĻ
āĻĢāĻŋāϏāĻŋā§āĻžāϞ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āϤā§āĻŽāύ āĻāĻāĻāĻž āĻāĻžāϞ⧠āύāĻžāĨ¤ āĻāĻāĻŋ āĻĨā§āĻā§ āĻĒā§āϰāĻā§āĻā§āĻ āϏā§āĻ āĻāĻĒ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻŋāĻā§ āĻāĻžāĻāĻĄāϞāĻžāĻāύ āĻĒāĻžāĻā§āĻž āϝāĻžā§āĨ¤ āĻāĻŋāύā§āϤ⧠Express.js āĻāϰ āĻ
āĻĢāĻŋāϏāĻŋā§āĻžāϞ API āϰā§āĻĢāĻžāϰā§āύā§āϏ⧠Express.js āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ āĻāĻāĻāĻŋ āϧāĻžāϰāĻŖāĻž āĻĒāĻžāĻā§āĻž āϝāĻžā§āĨ¤ āϏā§āĻāĻžāύ⧠Express.js āĻāϰ āϏāĻāϞ āϰāĻŋāϏā§āϰā§āϏ āĻĻā§āĻā§āĻž āĻāĻā§āĨ¤
āϤāĻžāĻāĻžā§āĻžāĻ Stack Overflow āϤ⧠Express.js āύāĻŋā§ā§ āĻšāĻžāĻāĻžāϰ āĻšāĻžāĻāĻžāϰ āĻĒā§āϰāĻļā§āύ āĻ āĻāϤā§āϤāϰ āĻĻā§āĻā§āĻž āĻāĻā§āĨ¤
āĻāϏāĻŦ āĻāĻžāϰāĻŖā§ āĻāĻāĻāĻžāϰāϰāĻž Express.js āĻĒā§āϰāĻā§āĻā§āĻā§ āύāĻŋāϰā§āĻŦāĻŋāĻā§āύ⧠āĻāĻžāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
Integration:
Express.js āĻĢā§āϰā§āĻŽāĻā§āĻžāϰā§āĻā§ āϏāĻšāĻā§āĻ āĻ
āύā§āϝāĻžāύā§āϝ āĻā§āĻāύā§āϞāĻāĻŋ āϝā§āĻā§āϤ āĻāϰāĻž āϝāĻžā§āĨ¤ āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏāĻšāĻā§ āϝā§āĻā§āύ⧠āĻĄāĻžāĻāĻžāĻŦā§āĻāĻ āϝā§āĻŽāύ: MySQL, PostgreSQL, MongoDB āĻāϤā§āϝāĻžāĻĻāĻŋ āĻāĻžāύā§āĻā§āĻ āĻāϰāĻž āϝāĻžā§āĨ¤ āϤāĻžāĻāĻžā§āĻž āĻāĻŋāĻā§ āϏāĻšāĻ āĻĒāĻĻā§āϧāϤāĻŋ āĻ
āύā§āϏāϰāĻŖ āĻāϰ⧠Express.js āĻĒā§āϰā§āĻā§āĻā§āĻā§ āĻŦāĻŋāĻāĻŋāύā§āύ āĻā§āĻĄāĻŋāĻ āĻā§āϞāϏ āϝā§āĻŽāύ- Prettier, ESlint āĻāϤā§āϝāĻžāĻĻāĻŋ āϝā§āĻā§āϤ āĻāϰāĻž āϝāĻžā§āĨ¤
Express.js āĻāϰ Key Features:
Define Restful API endpoints:
Express.js āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻā§āĻŦ āϏāĻšāĻā§āĻ API āϰāĻžāĻāĻ āϤā§āϰāĻŋ āĻāϰāĻž āϝāĻžā§āĨ¤ Express.js āĻāϰ app āĻ
āĻŦāĻā§āĻā§āĻ āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ HTTP method āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āύāĻŋāĻā§āϰ āĻĒāĻĻā§āϧāϤāĻŋāϤ⧠āϰāĻžāĻāĻ āĻĄāĻŋāĻĢāĻžāĻāύ āĻāϰāĻž āϝāĻžā§:
app.get(): GET Request
app.post(): POST Request
app.put(): PUT Request
app.patch(): PATCH Request
app.delete(): DELETE Request
āϰāĻžāĻāĻāĻŋāĻā§ā§āϰ āĻāĻ āĻŽā§āĻĨāĻĄāĻā§āϞ⧠āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻšāĻŋāϏā§āĻŦā§ āĻāĻāĻāĻŋ API endpoint string āĻ āĻāĻāĻāĻŋ Callback Function āϰāĻŋāϏāĻŋāĻ āĻāϰā§āĨ¤ āϝāĻāύ āύāĻŋāϰā§āϧāĻžāϰāĻŋāϤ API endpoint string āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻā§āύ āϰāĻŋāĻā§ā§ā§āώā§āĻ āĻāϰāĻž āĻšā§ āϤāĻāύ āϏā§āĻ endpoint string āĻāϰ āϏāĻžāĻĨā§ āĻĨāĻžāĻāĻž Callback Function āĻāĻŋ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ āĻšā§āĨ¤
āύāĻŋāĻā§ Express.js āϰāĻžāĻāĻ āĻĄāĻŋāĻĢāĻžāĻāύ āĻāϰāĻžāϰ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻā§āĻā§āĻž āĻšāϞā§:
app.get('/api/users/:id', (req, res) => {
// read the id parameter from the URL
const userId = req.params.id
// retrieve users
const users = getUsers(userId) // getUsers() is a function for retrieve the user data
res.json({ user: user })
})
Database āĻāϰ āϏāĻžāĻĨā§ āĻāĻžāύā§āĻā§āĻ āĻāϰāĻž:
āĻĄāĻžāĻāĻž āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻžāϰ āĻāύā§āϝ Backend Development āĻāϰ āϏāĻŦāĻā§ā§ā§ āĻ
āĻĒāϰāĻŋāĻšāĻžāϰā§āϝ āĻāĻĒāĻžāĻĻāĻžāύ āĻšāĻā§āĻā§ Database. āϤāĻžāĻ Database āĻāĻžāύā§āĻā§āĻ āĻāϰāĻž āϝā§āĻā§āύ Backend āĻĢā§āϰā§āĻŽāĻā§āĻžāϰā§āĻā§āϰ āĻāύā§āϝ āĻā§āĻŦāĻ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖāĨ¤ Express.js āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϝā§āĻā§āύ āϧāϰāύā§āϰ Database āϏāĻžāϰā§āĻāĻžāϰā§āϰ āϏāĻžāĻĨā§ āĻāĻžāύā§āĻā§āĻ āĻāϰāĻž āϝāĻžā§āĨ¤ āϤāĻžāĻāĻžā§āĻž Database āϏāĻšāĻā§ āĻŽā§āϝāĻžāύā§āĻ āĻāϰāĻžāϰ āĻāύā§āϝ Express.js āĻāĻŽāĻžāĻĻā§āϰ āĻĻā§āĻ āϧāϰāύā§āϰ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āĻāĻā§āϞ⧠āĻšāĻā§āĻā§ ORM (Object Relational Mapping) āϝāĻž āĻŽā§āϞāϤ Sequelize Database āĻāϰ āĻā§āώā§āϤā§āϰ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšā§ āĻāĻŦāĻ āĻ
āύā§āϝāĻāĻŋ āĻšāĻā§āĻā§ ODM (Object Document Mapping) āϝāĻž NoSQL Database āĻāϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšā§āĨ¤
Middleware Modules:
Express.js āĻāϰ Middleware āĻĢāĻžāύāĻļāĻāĻā§āϞā§āϰ āĻŽāϧā§āϝ⧠āϤāĻŋāύāĻāĻŋ āĻāĻŋāύāĻŋāϏā§āϰ āĻāĻā§āϏā§āϏ āĻĨāĻžāĻā§āĨ¤ req (Request), res (Response) āĻāĻŦāĻ next Function. āϝāĻāύ āĻā§āύ API endpoint āĻ āĻšāĻŋāĻ āĻāϰāĻž āĻšā§ Middleware āϤāĻāύ āϏā§āĻ Request āĻāϰ āĻŦāĻŋāĻĒāϰā§āϤ⧠āĻāĻāĻāĻŋ Response āĻĻāĻŋā§ā§ āĻĨāĻžāĻā§āĨ¤ next() function āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻāĻāĻŋ Middleware āĻāϰ āĻāĻžāĻ āĻļā§āώ āĻšāϞ⧠āĻĒāϰāĻŦāϰā§āϤ⧠Middleware āĻ āϝāĻžāĻā§āĻž āϝāĻžā§āĨ¤
āύāĻŋāĻā§ Middleware āĻāϰ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻā§āĻā§āĻž āĻšāϞā§:
const exampleOfMiddleware = (req, res, next) => {
// log the body of the request
console.log(req.body)
// call the next middleware
next()
}
Cookies āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻŦāĻ Session Management:
HTTP āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ Stateless āĻĒā§āϰāĻā§āĻāϞāĨ¤ āϝāĻžāϰ āĻŽāĻžāύ⧠āĻšāĻā§āĻā§ āĻāĻāĻŋ āĻā§āϞāĻžā§ā§āύā§āĻā§āϰ āϏāĻžāĻĨā§ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻāĻŽāĻŋāĻāύāĻŋāĻā§āĻļāύā§āϰ āĻā§āύ āϤāĻĨā§āϝ āĻāĻŽāĻž āϰāĻžāĻā§ āύāĻžāĨ¤ āĻāĻ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āĻĨā§āĻā§ āĻŦā§āϰ āĻšāĻā§āĻžāϰ āĻāύā§āϝ Cookies āĻāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻļā§āϰ⧠āĻšā§āĨ¤ Cookies āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻā§āϞāĻžā§ā§āύā§āĻ āĻ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻŽāϧā§āϝāĻžāĻāĻžāϰ Request āĻāϰ āϏā§āĻā§āĻāĻā§āϞ⧠āĻŽā§āĻāύāĻā§āĻāύ āĻāϰāĻž āϝāĻžā§āĨ¤ āĻāĻāĻžā§āĻžāĻ Cookies āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻāĻāĻžāϰā§āϰ āϏā§āĻļāύā§āϰ āĻā§āϰâā§āϝāĻžāĻ āϰāĻžāĻāĻž āϝāĻžā§āĨ¤
Cookies āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāϰ āĻāύā§āϝ Express.js āĻāϰ āĻāύāĻĒā§āϰāĻŋā§ āĻĒā§āϝāĻžāĻā§āĻ āĻšāĻā§āĻā§ cookie-parser. āĻāĻāĻŋ Request Header āĻ āĻĨāĻžāĻāĻž Cookies āĻā§ Parse āĻāϰ⧠req.cookies āĻāϰ āĻāĻŋāϤāϰ āĻĒā§ā§āĻžāϰ⧠āϤāĻž āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āĨ¤
āύāĻŋāĻā§ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻā§āĻā§āĻž āĻšāϞā§:
const express = require('express')
const cookieParser = require('cookie-parser')
const app = express()
app.use(cookieParser())
app.post('/set-cookie', (req, res) => {
res.cookie('user', 'Nazmus Sakib')
res.send('Cookie set!')
})
app.get('/get-user', (req, res) => {
const username = req.cookies.user // "Nazmus Sakib"
res.send(`Hello, ${username}!`) // "Hello, Nazmus Sakib"
})
Error Handling:
Error Handling āĻāϰ āĻāύā§āϝ Express.js āĻĄāĻŋāĻĢāϞā§āĻāĻāĻžāĻŦā§ āĻāĻŽāĻžāĻĻā§āϰ āĻāĻāĻāĻŋ Middleware āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āϏāĻžāϧāĻžāϰāĻŖ Middleware āĻā§āϞā§āϤ⧠āϤāĻŋāύāĻāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻĨāĻžāĻāϞā§āĻ āĻāĻ Error Handling Middleware āĻāĻŋāϤ⧠āĻāĻžāϰāĻāĻŋ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻĨāĻžāĻā§āĨ¤ āϏā§āĻā§āϞ⧠āĻšāĻā§āĻā§- err (Error), req (Request), res (Response) āĻāĻŦāĻ next function.
āύāĻŋāĻā§ Error Handling Middleware āĻāϰ āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻā§āĻā§āĻž āĻšāϞā§-
app.use((err, req, res, next) => {
console.error(err)
res.status(500).json('Something went wrong!')
})
User Authentication:
āĻāĻāĻāĻŋ Secure Web Application āϤā§āϰāĻŋāϰ āĻāύā§āϝ User Authentication āĻā§āĻŦāĻ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖāĨ¤ Express.js Authentication āĻāϰ āĻāύā§āϝ Client-side token based authentication āĻāĻŦāĻ Server-side session-based authentication āĻāĻ āĻĻā§āĻ āϧāϰāύā§āϰ āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤
āĻāĻ āĻŦā§āϞāĻāĻāĻŋāϤ⧠āĻāĻŽāĻŋ āĻā§āώā§āĻāĻž āĻāϰā§āĻāĻŋ Node.js āĻāĻŦāĻ āĻāϰ āĻāύā§āϝāĻĒā§āϰāĻŋā§ āĻĢā§āϰā§āĻŽāĻā§āĻžāϰā§āĻ Express.js āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ āĻāĻāĻāĻŋ āϧāĻžāϰāĻŖāĻž āĻĻā§āĻā§āĻžāϰ āĻā§āώā§āĻāĻž āĻāϰā§āĻāĻŋāĨ¤ āĻāϰ⧠āĻāĻžāϞā§āĻāĻžāĻŦā§ āĻāĻŋāύāĻŋāϏāĻā§āϞ⧠āĻŦā§āĻāĻžāϰ āĻāύā§āϝ āĻāĻŽāĻžāĻĻā§āϰ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύāĻā§āϞ⧠āĻāĻžāϞā§āĻāĻžāĻŦā§ āĻĻā§āĻāϤ⧠āĻšāĻŦā§āĨ¤ Node.js āĻāĻŦāĻ Express.js āĻā§ āύāĻŋā§ā§ āĻāϰāĻž āĻ
āύā§āϝāĻžāύā§āϝ āĻŦā§āϞāĻāĻā§āϞ⧠āĻĒā§āϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻļāĻž āĻāϰāĻāĻŋ āĻāĻ āĻŦā§āϞāĻāĻāĻŋ āĻĒāϰ⧠Node.js āĻ āĻāϰ āĻĢā§āϰā§āĻŽāĻā§āĻžāϰā§āĻ Express.js āϏāĻŽā§āĻĒāϰā§āĻā§ āĻŽā§āĻāĻžāĻŽā§āĻāĻŋ āĻāĻāĻāĻŋ āϧāĻžāϰāĻŖāĻž āĻĒāĻžāĻā§āĻž āϝāĻžāĻŦā§āĨ¤
āϝāĻĻāĻŋāĻ āĻāĻŽāĻžāϰ āϞā§āĻāĻžāϞā§āĻāĻŋāϰ āĻ
āĻā§āϝāĻžāϏ āĻāĻā§ āĻĨā§āĻā§āĻ āĻāĻŋāϞā§āĨ¤ āĻāĻŋāύā§āϤ⧠āĻŦā§āϞāĻāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āύāĻŋāĻā§ āĻāϰāĻŋāύāĻŋāĨ¤ āĻ
āύā§āϝāĻžāύā§āϝ āĻā§ā§āĻāĻāĻŋ āĻŦā§āϞāĻā§āϰ āϏāĻžāĻšāĻžāϝā§āϝ āύāĻŋāϤ⧠āĻšā§ā§āĻā§āĨ¤ āĻāĻŋāύā§āϤ⧠āϞāĻŋāĻāϤ⧠āĻšā§ā§āĻā§ āĻāĻŽāĻžāĻā§āĻāĨ¤ āύāĻŋāĻā§ āϝā§āϏāĻŦ āĻāĻžā§āĻāĻž āĻĨā§āĻā§ āϰāĻŋāϏā§āϰā§āϏ āĻāĻžāϞā§āĻā§āĻ āĻāϰā§āĻāĻŋ āϏā§āĻā§āϞā§āϰ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻĻāĻŋā§ā§ āĻĻāĻŋāϞāĻžāĻŽ-
https://www.freecodecamp.org/news
https://medium.com/
https://blog.logrocket.com/
Node.js āĻāϰ āĻāĻĒāϰ āϤā§āϰāĻŋ āĻšāĻā§āĻž āĻĄāĻā§āĻŽā§āύā§āĻāϰāĻŋ-
https://www.youtube.com/results?search_query=node+js+history
freeCodeCamp.org Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice.
Click here to claim your Sponsored Listing.
Category
Culinary Team
Attire
Contact the school
Telephone
Address
Vadodara
391760