آموزش گام به گام Node.js
آموزش مقدمات Node.js

در اولین مقاله از سری مقالات آموزش گام به گام Node.js به معرفی Node.js و بررسی ویژگیهای کلیدی، مزایا و تفاوتهای آن میپردازیم.

در این بخش به آموزش نحوه نصب، راه اندازی و اجرای اولیه node.js و سرور آن بر روی کامپیوتر و وب پرداخته شده است.

ماژول ها (Modules) در Node.js همانند کتابخانه های کدهای آماده (Libraries) در جاوا اسکریپت هستند. هر ماژول یک یا چند تابع (Function) است که می توانید آن ها را در برنامه خود به کار بگیرید.

محیط اجرایی Node.js دارای یک ماژول درونی از پیش ساخته شده، به نام HTTP است. این ماژول به شما اجازه میدهد تا سرورهایی بسازید که به درخواستهای HTTP گوش داده و پاسخ مناسب ارسال کنند .

در این مقاله، به بررسی جامع این ماژول پرداخته و نحوه استفاده از آن برای انجام عملیات مختلف از جمله خواندن، ایجاد، ویرایش، حذف و تغییر نام فایلها را با مثالهای عملی توضیح میدهیم.

در این مقاله، با نحوه استفاده از ماژول URL در Node.js آشنا خواهید شد.این ماژول به شما اجازه میدهد تا URLها را به بخشهای مختلفی مانند پروتکل، نام دامنه، پورت، مسیر، کوئری استرینگ، و حتی بخشهایی مانند Slug تقسیم کنید.

NPM مخفف عبارت (Node.js Package manager) یک مدیر پکیج های کد آماده جهت Node.js است که حاوی هزاران برنامه و ماژول نوشته و آماده است که امکانات فراوانی را در اختیار کاربران قرار می دهد.

چهارچوب کاری Node.js یک برنامه مناسب و ایده آل برای برنامه های رویدادگرا (event-driven) است.در این مقاله به بررسی مفاهیم اساسی رویدادها در Node.js، نحوه کار با ماژول Events و مدیریت رویدادها با استفاده از EventEmitter میپردازیم.

یکی از قابلیتهای مهم Node.js، امکان آپلود فایل به سرور است. در این مقاله، نحوه استفاده از ماژول Formidable برای آپلود فایلها در Node.js را بررسی خواهیم کرد.

آموزش ارسال ایمیل Email در Node.js,ماژول آماده Nodemailer در Node.js، امکان این را فراهم کرده تا به راحتی از کامپیوتر خودتان ایمیل ارسال نمایید.
آموزش پایگاه داده MongoDB در Node.js

از Node.js می توانید در برنامه های مرتبط با پایگاده داده و یا پروژه هایی که دارای دیتابیس هستند نیز ، استفاده کنید. یکی از محبوب ترین پایگاه های داده غیر رابطه ای یا مجزا از SQL که به NoSQL Database معروف هستند، پایگاه داده MongoDB است. در این درس به معرفی پایگاه داده MongoDB و آموزش نحوه کار با آن در Node.js خواهیم پرداخت.

برای ایجاد یک پایگاده داده جدید در MongoDB با Node.js، بایستی ابتدا یک شی MongoClient Object تعریف نمایید. سپس برای شی مورد نظر مسیر ( URL ) ای که حاوی آدرس ip و نام پایگاه داده ای که می خواهید ایجاد نمایید است را تعیین نمایید.

در این درس به آموزش ساخت و ایجاد یک مجموعه یا Collection جدید در MongoDB خواهیم پرداخت که معادل جدول یا Table در پایگاه داده SQL است

در این درس به آموزش کار با دستور Insert در پایگاه داده MongoDB و اضافه کردن مقدار جدید به جدول پایگاه داده با Node.js پرداخته ایم

آموزش جستجو اطلاعات با متد Find در MongoDB Node.js ، در پایگاه داده MongoDB از دستورات find و findOne برای جستجو و پیدا کردن اطلاعات در یک مجموعه ( Collection ) استفاده می شود

پس از جستجو و پیدا کردن رکوردها از یک مجوعه ( Collection ) در یک پایگاه داده MongoDB، می توانید نتایج خروجی را بر حسب اطلاعات مورد نیازتان ، فیلتر نمایید.

از متد sort() در Node.js، برای مرتب کردن نتایج جستجو اطلاعات از پایگاه داده MongoDB، به صورت صعودی ( ascending ) یا نزولی ( descending ) استفاده می شود.

برای حذف یک رکورد (Record)،یا آنطور که در MongoDB به آن سند یا document می گویند،از متد deleteOne() استفاده می شود.

به وسیله متد drop() در Node.js،می توانید یک جدول (Table) یا آن طور که در MongoDB به آن Collection یا مجموعه می گویند را از پایگاه داده حذف نمایید.

می توانید اطلاعات یک رکورد (Record) جدول یا آن طور که در پایگاه داده MongoDB به آن سند (Document) می گویند را به وسیله متد update One() در Node.js ویرایش یا update کنید.

در Node.js،به وسیله متد limit()،می توانید نتایج جستجوی اطلاعات در پایگاه داده MongoDB را محدود نمایید.برای مثال فقط 10 رکورد از کلیه رکوردهای یافت شده را در خروجی نمایش دهید.

MongoDB یک پایگاه داده رابطه ای (Relational Database) نیست،اما می توانید با استفاده از نقطه $lookup،یک اتصال چپ جدولی (left join) انجام داده و به وسیله یک فیلد،دو جدول را به هم متصل یا join کنید.
آموزش پایگاه داده MySQL در Node.js

یکی از محبوب ترین پایگاه های داده فعلی،پایگاه داده MySQL Database است که در این بخش به آموزش نحوه کار با MySQL در Node.js خواهیم پرداخت.

برای ایجاد یک پایگاه داده MySQL با Node.js،از عبارت “CREATE DATABASE” استفاده می شود.

برای ایجاد یک جدول جدید در پایگاه داده MySQL با Node.js،از عبارت “CREATE TABLE” استفاده می شود.

جهت ورود اطلاعات جدید به یک جدول پایگاه داده MySQL از دستور “INSERT INTO” استفاده می شود.از چارچوب کاری Node.js،برای عملیات ورود اطلاعات در دیتابیس MySQL می توانید بهره ببرید.

برای انتخاب اطلاعات مورد نظر از یک جدول (Table) پایگاه داده MySQL از دستور SELECT،استفاده می شود.

هنگام انتخاب اطلاعات (SELECT) از یک جدول (Table) در MySQL می توانید با به کار بردن عبارت WHERE اطلاعات خروجی را فیلتر کرده و فقط اطلاعات مورد نظرتان را نمایش دهید.

از کید واژه ORDER BY در Node.js MySQL جهت مرتب کردن اطلاعات خروجی یک جستجو (Query) به صورت صعودی یا نزولی، استفاده می شود.

به وسیله دستور DELETE FROM، می توانید اطلاعات یک یا چندین رکورد در یک جدول (Table) پایگاه داده MYSQL را حذف نمایید.

در چهارچوب کاری Node.js و پایگاه داده MySQL می توانید توسط دستور DROP TABLE یک جدول دیتابیس را به طور کامل حذف نمایید.

به وسیله دستور UPDATE در پایگاه داده MySQLمی توانید اطلاعات رکوردهای مورد نظر خود را ویرایش نمایید.

به وسیله کلمه کلیدی LIMIT می توانید تعداد رکوردهایی که در هر جستجو یا Query پایگاه داده MySQL برگردانده می شوند را محدود نمایید.

می توانید به وسیله دستور Join و با استفاده از فیلدهای همسان در دو یا چند جدول، رکوردهای این جدول ها را با هم ترکیب (Join) کرده و خروجی جدید ایجاد نمایید. از عملیات Join برای استخراج اطلاعات بیش از یک جدول استفاده می شود. برای درک بهتر، چند مثال عملی را نشان خواهیم داد.
آموزش مرجع ماژول پیش ساخته (Modules) در Node.js

چهارچوب کاری Node.js دارای تعداد زیادی تابع یا ماژول پیش ساخته (built-in modules) است که از آن ها می توانید جهت انجام کارهای مختلف بدون نیاز به کدنویسی یا نصب موارد اضافه، به صورت آماده استفاده کنید.

ماژول assert در Node.js امکان تست کردن عبارات شرطی، ریاضی یا دستوری و ... کدها را فراهم کرده است.

ماژول Buffer در Node.js راهکار مناسبی جهت پردازش و مدیریت اطلاعات باینری (Binary Data) را در سرور فراهم می کند.

ماژول Cluster Process این امکان را فراهم می کند تا یک پردازش بزرگ را به پردازش های کوچکتر (Child Process) تقسیم نمایید که به صورت همزمان و با استفاده از یک سرور و پورت یکسان، اجرا می شوند.

ماژول Crypto در چهارچوب کاری Node.js راه حلی جهت مدیریت داده های رمزگذاری شده (encrypted data) را فراهم کرده است.

ماژول dgram در Node.js امکانات لازم جهت کار با سوکت های Datagram Sockets را فراهم کرده است.

ماژول DNS در چهارچوب کاری Node.js، امکانات لازم برای مدیریت نام های DNS یا (DNS Resolution) را فراهم کرده است.

ماژول events در Node.js امکانات لازم جهت کار با رویدادهای را فراهم کرده است.

ماژول fs یا file system در Node.js، ابزار و امکانات لازم را جهت کار با فایل سیستم کامپیوتر و سرور، فراهم کرده است.

ماژول HTTP در چهارچوب کاری Node.js امکانات لازم را فراهم کرده تا نود جی اس بتواند اطلاعات (data) مورد نظر خود را از طریق پروتکل HTTP یا Hyper Text Transfer Protocol انتقال دهد.

ماژول HTTP در چهارچوب کاری Node.js امکانات لازم را فراهم کرده تا نود جی اس بتواند اطلاعات (data) مورد نظر خود را از طریق پروتکل HTTPS TSL/SSL یا Hyper Text Transfer Protocol Secure که مدل امن و محافظت شده HTTP است، انتقال دهد.

ماژول Net در چهارچوب کاری Node.js امکانات لازم جهت ایجاد سرور ها و کلاینت های TCP را فراهم کرده است.

ماژول os یا Operating System در چهارچوب کاری Node.js امکانات لازم جهت کار با سیستم عامل کامپیوتر کاربر یا سرور را فراهم کرده است .

ماژول Path در چهارچوب کاری Node.js امکانات لازم جهت کار با مسیر (path) فایل ها و پوشه های کامپیوتر را فراهم کرده است.

ماژول Query String در چهارچوب کاری Node.js، امکانات لازم جهت پردازش و تجزیه اطلاعات query string های یک URL را فراهم کرده است.

ماژول Readline در چهارچوب کاری Node.js، امکان خواندن خط به خط یک فایل داده ای datastream مثل یک فایل متنی را فراهم کرده است.

ماژول Stream در چهارچوب کاری Node.js، امکانات لازم جهت کار با اطلاعات ورودی و خروجی به سیستم (Streaming Data) را فراهم کرده است.

ماژول String Decoder در چهارچوب کاری Node.js، امکانات لازم جهت تبدیل اشیای بافر (Buffer Objects)به رشته های متنی Stringرا فراهم کرده است.

ماژول timers در چهارچوب کاری Node.js امکاناتی را فراهم کرده تا بتوانید تابع یا توابع مورد نظر خود را پس از تعیین مدت زمان خاصی، اجرا نمایید.

ماژول TLS در چهارچوب کاری Node.js، امکانات لازم جهت پیاده سازی سیستم های TLS یا (Transport Layer Security) و یا سیستم های SSL امنیتی (Secur Socket Layer) فراهم کرده است.

ماژول URL در چهارچوب کاری Node.js، امکانات لازم جهت پردازش آدرس های متنی (URL String) را فراهم کرده است.

ماژول Util در چهارچوب کاری Node.js، امکانات لازم برای کار با برخی توابع کاربردی (Utility functions) را فراهم کرده است.

ماژول VM در چهارچوب کاری Node.js، امکانات لازم جهت اجرای کدهای جاوا اسکریپت را بر روی یک ماشین مجازی (Virtual Machine) فراهم کرده است.

ماژول Zlip در Node.js، امکانات لازم جهت فشرده سازی (zip) و از فشرده سازی درآوردن (unzip) فایل ها را فراهم کرده است.