نود جی اس

نود جی اس

Node.js یک محیط اجرایی (Runtime Environment) متن‌باز است که به توسعه‌دهندگان اجازه می‌دهد کدهای جاوا اسکریپت را در خارج از مرورگر (سمت سرور) اجرا کنند. این پلتفرم از معماری رویدادمحور و غیرمسدودکننده (Non-blocking I/O) استفاده می‌کند که آن را برای ساخت برنامه‌های تحت شبکه سریع و بسیار مقیاس‌پذیر، مانند سرورهای وب و APIهای بلادرنگ، ایده‌آل می‌سازد.

node js

Articles

شیء Process در Node.js

شیء process در Node.js اطلاعات و کنترل مربوط به پردازش جاری را فراهم می‌کند. این شیء یک نمونه از EventEmitter است و رویدادهای مختلفی مانند exit, beforeExit, uncaughtException, و سیگنال‌های سیستم را مدیریت می‌کند. همچنین متدها و ویژگی‌های متنوعی برای دسترسی به معماری CPU، آرگومان‌های خط فرمان، حافظه، و تغییر مسیر کاری ارائه می‌دهد.

/article/the-process-object-in-nodejs-fa

ماژول Punycode در Node.js

ماژول punycode در Node.js پیاده‌سازی ساده‌ای از استاندارد Punycode (RFC 3492) است که برای تبدیل نام‌های دامنهٔ بین‌المللی (IDN) به رشته‌های ASCII استفاده می‌شود. از آنجا که نام‌های میزبان در URLها باید فقط شامل کاراکترهای ASCII باشند، دامنه‌هایی با کاراکترهای غیر-ASCII باید با استفاده از Punycode رمزگذاری شوند. این ماژول از نسخهٔ 7.0.0 به بعد منسوخ شده و در نسخه‌های آینده حذف خواهد شد. توسعه‌دهندگان باید به جای آن از کتابخانهٔ مستقل Punycode.js یا APIهای WHATWG URL استفاده کنند.

/article/the-punycode-module-in-nodejs-fa

ماژول Readline در Node.js

ماژول readline در Node.js یک رابط برای خواندن داده‌ها از جریان‌های Readable (مانند process.stdin) به‌صورت خط‌به‌خط فراهم می‌کند. این ماژول برای ساخت رابط‌های خط فرمان (CLI)، دریافت ورودی کاربر، و پردازش فایل‌ها به‌صورت خطی بسیار کاربردی است. Node.js دو API برای استفاده از این ماژول ارائه می‌دهد: نسخهٔ مبتنی بر Promise و نسخهٔ مبتنی بر Callback.

/article/the-readline-module-in-nodejs-fa

ماژول REPL در Node.js

ماژول repl در Node.js یک محیط تعاملی Read-Eval-Print-Loop فراهم می‌کند که هم به‌صورت مستقل و هم درون برنامه‌ها قابل استفاده است. این محیط به توسعه‌دهندگان امکان می‌دهد کد جاوااسکریپت را خط‌به‌خط اجرا کنند، نتایج را مشاهده کنند، و با متغیرها و ماژول‌های داخلی تعامل داشته باشند. REPL از امکاناتی مانند تکمیل خودکار، تاریخچهٔ ورودی، و تعریف دستورات سفارشی پشتیبانی می‌کند.

/article/the-repl-module-in-nodejs-fa

گزارش‌های تشخیصی در Node.js

گزارش‌های تشخیصی در Node.js یک خلاصهٔ JSON از وضعیت پردازش فراهم می‌کنند که شامل اطلاعاتی دربارهٔ پشتهٔ جاوااسکریپت و بومی، حافظهٔ Heap، مصرف منابع، نسخه‌های کامپوننت‌ها، و محدودیت‌های سیستم است. این گزارش‌ها برای توسعه، تست، و محیط‌های تولید طراحی شده‌اند تا به شناسایی و رفع مشکلات کمک کنند. گزارش‌ها می‌توانند به‌صورت خودکار در شرایط خاص (مانند خطاهای کشف‌نشده یا خطاهای بحرانی) یا به‌صورت دستی از طریق API تولید شوند.

/article/diagnostic-reports-in-nodejs-fa

برنامه‌های تک‌اجرایی در Node.js

ویژگی Single Executable Applications (SEA) در Node.js امکان توزیع یک برنامهٔ Node.js به‌صورت یک فایل اجرایی مستقل را فراهم می‌کند، بدون نیاز به نصب Node.js روی سیستم مقصد. این قابلیت با تزریق یک blob آماده‌شده (شامل اسکریپت و منابع) به باینری Node.js کار می‌کند. در زمان اجرا، اگر blob تزریق‌شده وجود داشته باشد، اسکریپت داخل آن اجرا می‌شود؛ در غیر این صورت Node.js به‌صورت عادی عمل می‌کند.

/article/single-executable-applications-in-nodejs-fa

ماژول SQLite در Node.js

ماژول node:sqlite یک رابط بومی برای کار با پایگاه‌داده‌های SQLite در Node.js فراهم می‌کند. این ماژول از APIهای همگام (synchronous) برای اتصال به پایگاه‌داده، اجرای کوئری‌ها، مدیریت prepared statements، نشست‌ها (sessions)، تغییرات (changesets)، و قابلیت‌های پیشرفته مانند توابع سفارشی، توابع تجمعی (aggregate)، و پرچم‌های امنیتی پشتیبانی می‌کند. هدف این ماژول، ساده‌سازی و ایمن‌سازی ادغام SQLite در برنامه‌های Node.js است.

/article/the-sqlite-module-in-nodejs-fa

راهنمای جامع Streams در Node.js (ماژول node:stream)

ماژول node:stream یکی از بنیادی‌ترین بخش‌های Node.js است و یک رابط انتزاعی برای کار با داده‌های جریان‌محور فراهم می‌کند. Streams برای مدیریت ورودی/خروجی‌های حجیم، درخواست‌های شبکه، خواندن/نوشتن فایل‌ها و انجام تبدیل‌های داده‌ای ضروری هستند. Streams نمونه‌هایی از EventEmitter بوده و در چهار نوع اصلی ارائه می‌شوند: Readable، Writable، Duplex و Transform.

/article/comprehensive-guide-to-nodejs-streams-nodestream-api-fa

ماژول StringDecoder در Node.js

ماژول node:string_decoder در Node.js ابزاری برای تبدیل امن و دقیق داده‌های باینری (Buffer) به رشته‌هاست، به‌ویژه زمانی که داده شامل کاراکترهای چندبایتی UTF‑8 یا UTF‑16 باشد. برخلاف buffer.toString() که ممکن است کاراکترهای ناقص را خراب کند، StringDecoder با نگه‌داشتن بایت‌های ناقص در یک بافر داخلی، از تولید خروجی‌های اشتباه جلوگیری می‌کند.

/article/the-stringdecoder-module-in-nodejs-fa

راهنمای جامع Test Runner در Node.js (ماژول node:test)

ماژول node:test یک فریم‌ورک تست داخلی و مدرن در Node.js است که بدون نیاز به هیچ وابستگی خارجی، امکاناتی مانند تست‌های همگام و ناهمگام، تست‌های Promise و Callback، زیرتست‌ها، هوک‌ها، Mocking، Snapshot، پوشش کد، حالت Watch و گزارشگرهای سفارشی را ارائه می‌دهد. این ماژول پایدار، قدرتمند و مناسب پروژه‌های مدرن Node.js است.

/article/comprehensive-guide-to-the-nodejs-test-runner-nodetest-module-fa

راهنمای جامع TLS/SSL در Node.js

ماژول node:tls پیاده‌سازی پروتکل‌های TLS و SSL را در Node.js فراهم می‌کند. این ماژول بر پایهٔ OpenSSL ساخته شده و امکان ایجاد ارتباطات رمزنگاری‌شده، مدیریت گواهی‌ها، احراز هویت، امنیت پیشرفته، و ویژگی‌هایی مانند ALPN، SNI، PSK، Session Resumption و کنترل Cipher Suite را ارائه می‌دهد. این ماژول برای ساخت سرورهای HTTPS، سرویس‌های امن TCP، و هر نوع ارتباط رمزنگاری‌شده ضروری است.

/article/comprehensive-guide-to-tlsssl-in-nodejs-fa

راهنمای جامع Trace Events و TTY در Node.js

ماژول‌های node:trace_events و node:tty دو بخش مهم و تخصصی در Node.js هستند. Trace Events ابزاری قدرتمند برای جمع‌آوری داده‌های عملکردی، رویدادهای V8، async_hooks، فایل‌سیستم، شبکه و سایر بخش‌های داخلی Node.js است. این داده‌ها برای پروفایلینگ، دیباگینگ عمیق و تحلیل رفتار برنامه استفاده می‌شوند. TTY نیز امکان تعامل با ترمینال را فراهم می‌کند و برای ساخت ابزارهای CLI، مدیریت رنگ‌ها، اندازهٔ ترمینال، حالت raw و کنترل مکان‌نما کاربرد دارد. این مقاله هر دو ماژول را به‌صورت کامل و ساختاریافته توضیح می‌دهد.

/article/comprehensive-guide-to-trace-events-and-tty-in-nodejs-fa