</>مدرسه زیب‌موجیاد بگیر، تمرین کن، بساز
مدرسهNode.jsدرس 1
درس 1 از 20 · ۴۰ دقیقه

Node.js؛ JavaScript بیرون مرورگر

با یک نیاز واقعی شروع می‌کنیم و «Node.js؛ JavaScript بیرون مرورگر» را همان لحظه در مرورگر می‌بینیم.

۰امتیاز شما
نقشه این درس

بعد از این درس چه کاری می‌توانی انجام بدهی؟

  • Node.js کد JavaScript را در runtime سرور اجرا می‌کند و APIهای فایل، شبکه و process را در اختیار می‌گذارد.
  • نمونه را اجرا کنی و نتیجه را پیش از تغییر حدس بزنی
  • یک تغییر کوچک بدهی و اثرش را در مرورگر توضیح بدهی
  • خطای این درس را با DevTools یا اعتبارسنج پیدا و اصلاح کنی
به زبان زندگی واقعی

Node.js را ساده بفهم

Node.js درخواست شبکه را به منطق برنامه و منبع داده وصل می‌کند و باید مرز هر خطا روشن باشد.

نکته مهم برای شروع Node.js

اگر نتیجه عجیب بود، اول همان عنصر را در DevTools انتخاب کن؛ ساختار و قانون‌های واقعاً اعمال‌شده از حدس‌زدن سریع‌تر راه را نشان می‌دهند.

چرا مهم است؟ Node.js کد JavaScript را در runtime سرور اجرا می‌کند و APIهای فایل، شبکه و process را در اختیار می‌گذارد.

اولین تمرین تو: یک متغیر محیطی PORT را بخوان و مقدار fallback نشان بده. پیش از تازه‌کردن صفحه، نتیجه را در یک جمله حدس بزن و بعد حدست را با مرورگر مقایسه کن.

کلاس پایه · بدون پیش‌نیاز

این درس را از چهار زاویه بفهم

قرار نیست چیزی را حفظ کنی. یک مفهوم را با چند تعبیر می‌بینی تا بالاخره تصویر ذهنی روشن خودت را بسازی.

1

خیلی ساده

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

2

تشبیه اول: دستور کار

کد مثل دستور کار یک همکار دقیق است: ترتیب مهم است، نام‌ها باید روشن باشند و هر مرحله باید نتیجه مشخصی داشته باشد.

3

تشبیه دوم: خط تولید

داده وارد خط می‌شود، چند ایستگاه آن را تغییر می‌دهند و خروجی بیرون می‌آید. با بررسی هر ایستگاه می‌توانیم خطا را پیدا کنیم.

4

مدل فنی

در مدل فنی، محیط اجرای زبان کد را می‌خواند، ساختارش را بررسی می‌کند و دستورها را به‌ترتیب اجرا یا ارزیابی می‌کند.

مدل ذهنی ثابت برای همه برنامه‌ها
۱

ورودی

چه داده‌ای وارد می‌شود؟ نام، عدد، کلیک یا درخواست؟

۲

پردازش

برنامه چه قانون یا محاسبه‌ای را اجرا می‌کند؟

۳

خروجی

چه نتیجه‌ای باید ببینی و چطور درستی آن را می‌سنجی؟

خواندن کد، خط‌به‌خط

هر خط دقیقاً چه کاری انجام می‌دهد؟

از بالا به پایین بخوان. ابتدا توضیح را ببین، سپس همان خط را در کارگاه پایین صفحه تغییر بده.

  1. console.log('Node:', process.version);

    نتیجه یا پیام را از داخل برنامه بیرون می‌آورد تا آن را ببینیم.

  2. console.log('Platform:', process.platform);

    نتیجه یا پیام را از داخل برنامه بیرون می‌آورد تا آن را ببینیم.

  3. console.log('Task API is starting');

    نتیجه یا پیام را از داخل برنامه بیرون می‌آورد تا آن را ببینیم.

واژه‌نامه خیلی ساده

کلمه‌هایی که نباید گنگ بمانند

کد

متنی با قواعد مشخص که کار مورد انتظار را برای کامپیوتر توضیح می‌دهد.

نحو یا Syntax

دستور زبان کد؛ مثل جای درست کلمات و نشانه‌ها در یک جمله.

متغیر

یک نام خوانا برای نگه‌داشتن مقداری که بعداً لازم داریم.

خروجی

نتیجه قابل مشاهده‌ای که برای بررسی برنامه بیرون می‌آید.

استاد جواب می‌دهد

سه «چرا»ی مهم درس اول

چرا کامپیوتر خودش منظور من را حدس نمی‌زند؟

چون برنامه بر اساس دستورهای دقیق و قابل تکرار کار می‌کند. این دقت باعث می‌شود همان ورودی، نتیجه‌ای پیش‌بینی‌پذیر بسازد. ابهام برای گفت‌وگوی انسانی طبیعی است، اما در کد باید تصمیم‌ها را روشن بنویسیم.

چرا از برنامه‌ای به این کوچکی شروع می‌کنیم؟

در نمونه کوچک، رابطهٔ علت و نتیجه واضح است. اگر فقط یک مقدار را تغییر بدهی، دقیقاً می‌فهمی چرا خروجی عوض شده؛ بعد همین فهم را به پروژه‌های بزرگ منتقل می‌کنی.

اگر خطا دیدم یعنی برای برنامه‌نویسی مناسب نیستم؟

نه. خطا گزارش محیط اجرا دربارهٔ چیزی است که نفهمیده یا نتوانسته انجام دهد. خط اول پیام، شماره خط و آخرین تغییری که داده‌ای سه سرنخ اصلی تو هستند.

تمرین پلکانی

از مشاهده تا نوشتن مستقل

هر مرحله فقط کمی سخت‌تر از مرحله قبل است؛ لازم نیست یک‌باره همه‌چیز را بلد باشی.

۱خیلی آسان

خروجی را حدس بزن

بدون اجرا، نتیجه نمونه را روی کاغذ بنویس. سپس آن را با نتیجه کارگاه مقایسه کن.

۲با راهنما

یک داده را تغییر بده

فقط نام یا عدد را عوض کن. توضیح بده کدام بخش خروجی باید تغییر کند و کدام بخش ثابت می‌ماند.

۳مستقل

یک خروجی تازه بساز

یک داده جدید مثل شهر یا هدف یادگیری بساز و با همان الگوی ساده آن را نمایش بده.

معیار موفقیت: نسخه Node، پلتفرم و پیام شروع در ترمینال چاپ می‌شوند.

روش مطالعه این درس
  1. یک‌بار کد را فقط بخوان.
  2. خروجی را قبل از اجرا حدس بزن.
  3. فقط یک مقدار را تغییر بده.
  4. نتیجه را با یک جمله برای خودت توضیح بده.
توضیح ساده و قدم‌به‌قدم

از یک مثال کوچک شروع کن

Node.js کد JavaScript را در runtime سرور اجرا می‌کند و APIهای فایل، شبکه و process را در اختیار می‌گذارد. نمونه کوتاه زیر را در فایل «src/index.js» بنویس و صفحه را تازه کن. بعد از دیدن نتیجه، سراغ تغییر پیشنهادی برو؛ هدف حفظ‌کردن نشانه‌ها نیست، باید بفهمی کدام خط چه اثری روی صفحه گذاشت.

1

۱. نمونه را خودت تایپ کن

فایل را ذخیره کن و نتیجه را با انتظار این درس مقایسه کن.

2

۲. تغییر درس را انجام بده

یک متغیر محیطی PORT را بخوان و مقدار fallback نشان بده.

3

۳. خطا را عمداً ببین

اجرای فایل با مسیر اشتباه خطای MODULE_NOT_FOUND می‌دهد؛ cwd و نام فایل را بررسی کن. سپس DevTools یا HTML Validator را باز کن و فقط همان علت را اصلاح کن.

نکته مهم

اگر نتیجه عجیب بود، اول همان عنصر را در DevTools انتخاب کن؛ ساختار و قانون‌های واقعاً اعمال‌شده از حدس‌زدن سریع‌تر راه را نشان می‌دهند.

مفهوم‌های اصلی

سه قطعه‌ای که باید بفهمی

Node.js؛ JavaScript بیرون مرورگر

Node.js کد JavaScript را در runtime سرور اجرا می‌کند و APIهای فایل، شبکه و process را در اختیار می‌گذارد.

نتیجه قابل مشاهده

نسخه Node، پلتفرم و پیام شروع در ترمینال چاپ می‌شوند.

نشانه خطا

اجرای فایل با مسیر اشتباه خطای MODULE_NOT_FOUND می‌دهد؛ cwd و نام فایل را بررسی کن.

سناریوی واقعی

می‌خواهی API کارها روی سرور اجرا شود و به درخواست چند کاربر پاسخ بدهد.

فرض کن می‌خواهی API کارها روی سرور اجرا شود و به درخواست چند کاربر پاسخ بدهد. صفحه باز می‌شود، اما هنوز این بخش برای کاربر درست و قابل فهم نیست. در این درس فقط همان قسمت را می‌سازیم تا رابطه کد و نتیجه گم نشود.

بازی ساختن کد

قطعه‌ها را به ترتیب درست بچین

روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمه‌های جابه‌جایی هم می‌توانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.

مرحله ۲ از ۳ · مرتب‌کردن کد
بانک قطعه‌هاقطعه مناسب را انتخاب کن
ترتیب پاسخ تواز بالا به پایین اجرا می‌شود

    هنوز پاسخی بررسی نشده است.

    کارگاه تعاملی

    بررسی ساختار تمرین

    این صفحه کامپایلر کامل Node.js نیست؛ ساختار تمرین را صادقانه بررسی می‌کند و خروجی مورد انتظار را نشان می‌دهد. برای اجرای کامل به محیط رسمی همان زبان نیاز است.

    src/index.js
    خروجیآماده
    یک بخش را تغییر بده و دکمه بررسی را بزن.
    بعد از هر تغییر، نتیجه را دوباره بررسی کن.
    تمرین هدایت‌شده

    یک متغیر محیطی PORT را بخوان و مقدار fallback نشان بده. پیش از تازه‌کردن صفحه، نتیجه را در یک جمله حدس بزن و بعد حدست را با مرورگر مقایسه کن.

    دام‌های رایج

    این سه اشتباه را انجام نده

    1

    اجرای فایل با مسیر اشتباه خطای MODULE_NOT_FOUND می‌دهد؛ cwd و نام فایل را بررسی کن.

    2

    تغییر چند بخش هم‌زمان و نامشخص‌شدن علت نتیجه

    3

    اعتماد به ظاهر یک اندازه صفحه و بررسی‌نکردن موبایل یا صفحه‌کلید

    سنجش چندمرحله‌ای

    با 5 سؤال مطمئن شو که مفهوم را گرفته‌ای

    سؤال 1 از 5

    در این درس چه چیزی باید در مرورگر دیده شود؟

    سؤال 2 از 5

    چرا فقط یک بخش را تغییر می‌دهیم؟

    سؤال 3 از 5

    اولین سرنخ خطای این درس چیست؟

    سؤال 4 از 5

    بعد از تغییر کد چه کاری مفید است؟

    سؤال 5 از 5

    چه زمانی آماده درس بعدی هستی؟

    پایان درس 1

    فهمیدی، تغییر دادی، نتیجه را توضیح دادی؟

    فقط در این صورت درس را کامل کن و سراغ مرحله بعد برو.