دوره‌ی کامل و رایگان

آموزش زبان برنامه‌نویسی سلام

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

آغاز راه

  1. ۱نخستین برنامهتابع ریشه، اجرای برنامه، چاپ خروجی، کد خروج، ورودی، توضیح‌ها و ساختار یک برنامه
  2. ۲متغیرها و پایاهاتعریف متغیر با := و ناپایا، محدوده‌ی متغیر، متغیرهای سراسری، پایاها و نام‌گذاری
  3. ۳گونه‌هاعدد صحیح و اعشاری، سرریز، منطقی، نویسه، ترکیب گونه‌ها و تبدیل
  4. ۴عملگرهاحساب، تقسیم و باقی‌مانده، توان، مقایسه، منطق، سه‌تایی، عملگرهای ترکیبی، پرچم‌های بیتی و ترتیب اجرا
  5. ۵رشته‌ها و متنشکل‌های نوشتن رشته، چسباندن متن، بایت و نویسه، بسته‌ی رشته، مقایسه‌ی متن و خواندن عدد از متن

جریان برنامه

  1. ۶شرط‌هااگر، وگرنه اگر و وگرنه، واژه‌های مقایسه، و و یا، برگشت زودهنگام، مقایسه‌ی اعشاری‌ها و قواعد شرط
  2. ۷حلقه‌هاتکرار با تعداد و بازه و گام، حلقه‌ی تا و دام‌هایش، حلقه‌هایی که با بشکن تمام می‌شوند، هر در روی آرایه و وکتور و نگاشت و رشته، حلقه‌های تودرتو، بشکن چندلایه و گذر
  3. ۸همخوان و ترابردانتخاب میان حالت‌ها با همخوان و ترابرد: مقدار، رشته، جداشمار، بیرون کشیدن داده و نگهبان، الگوی ساختار، ریزش به حالت بعد و ترابرد درون حلقه

تابع‌ها

  1. ۹تابع‌هاتعریف و فراخوانی تابع، برگشت زودهنگام، مقدار پیش‌فرض، چند خروجی، تابع بازگشتی، هم‌نامی، ورودی ارجاعی و کد خروج ریشه
  2. ۱۰تابع‌های بی‌نامتابع به‌عنوان مقدار: تابع بی‌نام، گونه‌ی تابع، مرتب‌سازی با مقایسه‌گر، تابعی که تابع برمی‌گرداند و آن‌چه تابع بی‌نام از بیرون برمی‌دارد
  3. ۱۱دیرکن و ویژگی‌های تابعاجرای پاکسازی در پایان بلوک با دیرکن، ترتیب و زمان اجرای آن، و ویژگی‌های ناب، درخط، نادرخط، نابرگشت و بی‌کاره

داده‌ها و گونه‌ها

  1. ۱۲آرایه‌ها و برش‌هاآرایه، اندیس، آرایه با اندازه‌ی معین، جستجو و جمع زدن، آرایه‌ی دوبعدی، کپی شدن آرایه و برشی که در خود آرایه می‌نویسد
  2. ۱۳وکتور و نگاشتفهرست پویا با وکتور، جفت کلید و مقدار با نگاشت، مرتب‌سازی، و مجموعه و پشته و صف
  3. ۱۴ساختارهاداده‌های به‌هم‌پیوسته، روش‌ها و این، همگانی و خصوصی، چاپ، رونوشت، عضو ایستا و شامل
  4. ۱۵جداشمارهامجموعه‌ی بسته‌ای از حالت‌ها، مقدار دلخواه، جداشمار در ساختار، جداشمار داده‌دار، جداشمار عام و نگه داشتن نتیجه به عنوان یک مقدار با ?
  5. ۱۶گونه‌های تازه و عملگرهانام دیگر برای گونه، گونه‌ی متمایز با روش و عملگر خودش، بازتعریف عملگرها در ساختار، و گونه‌های یا
  6. ۱۷تابع‌های عام و میانجی‌هاتابع و ظرف عام، میانجی، کاربست، محدودیت گونه و مجموعه‌های پویا

برنامه‌های بزرگ‌تر

  1. ۱۸بسته‌ها و پرونده‌هابسته، فراخوانی و واردسازی، همگانی و خصوصی، بسته‌ی چندپرونده‌ای و چیدمان پروژه
  2. ۱۹قواعد مترجمقواعد سخت‌گیرانه‌ی سلام، کد خطای هر کدام و راه درست کردنشان
  3. ۲۰مقدار، ارجاع و حافظهرونوشت و اشتراک، رونوشت عمیق، آزاد کردن حافظه، صاحب رشته، اشاره‌گر و بررسی حافظه
  4. ۲۱ترجمه‌ی شرطیکد ویژه‌ی هر سیستم‌عامل و پردازنده، پرچم‌های ساخت با ‎-D و بررسی‌های مخصوص نسخه‌ی اشکال‌زدایی، همه در زمان ترجمه
  5. ۲۲همکاری با Cصدا زدن تابع‌های C با درون‌داد، printf و تابع‌های با ورودی متغیر، اشاره‌گر و بافر، پیوند کتابخانه‌ها و سپردن تابع‌های سلام به C
  6. ۲۳کار همزماننخ‌ها با نخ‌ساز و نخ‌پیوند، اشتراک امن داده، کانال و حلقه‌ی موازی

صفحه‌های وب

  1. ۲۴زبان صفحهساختن صفحه‌ی وب با زبان صفحه: عنصرها، ویژگی‌ها، سبک‌ها، رویدادگیر کلیک، بخش‌ها، صفحه‌ی پارامتردار و فرستادن صفحه از یک برنامه‌ی سلام
  2. ۲۵صفحه و متنساختار یک صفحه، سرتیترها، پاراگراف، رفتن به سطر بعد و همه‌ی عنصرهای متن: تأکید، نقل قول، کد، ویرایش، تاریخ، کوته‌نوشت و متن با جهت‌های آمیخته
  3. ۲۶ساختار صفحه و فهرست‌هانشانه‌های صفحه مثل سرصفحه، ناوبری، اصلی و پاورقی، سپس فهرست‌ها، فهرست تعریف، جزئیات، پنجره گفتگو، شکل و آدرس، و ساختن یک صفحه‌ی کامل وبلاگ با آن‌ها
  4. ۲۷پیوند، تصویر و رسانهپیوند و لنگر، تصویر با متن جایگزین و منبع‌های واکنش‌گرا، نقشه‌ی تصویر، صدا و ویدیو با زیرنویس، قاب، جاسازی، بوم، اس‌وی‌جی و ریاضی
  5. ۲۸جدول‌هاجدول برای داده‌ها: عنوان، بخش‌های سرصفحه و اصلی و پاورقی، خانه‌های سرستون با دامنه، خانه‌های ادغام‌شده، گروه ستون، و آراستن و پیمایش جدول
  6. ۲۹فرم‌هافرم و همه‌ی کنترل‌های آن: برچسب، همه‌ی نوع‌های ورودی، اعتبارسنجی، متن بلند، تیک و رادیویی، فهرست‌ها، دکمه‌ها، خروجی و پیشرفت و سنجه، پرونده‌ها و رسیدگی به ارسال در برنامه
  7. ۳۰سر صفحه، اسکریپت و ویژگی‌های همگانیتنظیم‌های خود صفحه، سر صفحه با متا و پیوند، سبک و اسکریپت، قالب و درخت سایه، ویژگی‌هایی که هر عنصر دارد، ARIA، ویژگی‌های داده و تقسیم یک سایت به پرونده‌ها
  8. ۳۱سبک و الگوی جعبهCSS از صفر: ویژگی‌های سبک به شکل ویژگی عنصر، مقدارها، یکاها و رنگ‌ها، الگوی جعبه، اندازه‌ها، فضاها، نمایش، سرریز، تابع‌های CSS، قاعده‌های سراسری و بخش‌های قابل استفاده‌ی دوباره
  9. ۳۲قلم و سبک متنخانواده و اندازه‌ی قلم، وزن، قلم وب، قلم متغیر، تراز، تزیین، فاصله‌ها، شکستن سطر، جهت متن، نوشتار عمودی، آوانما و حروف‌چینی فارسی، با همه‌ی ویژگی‌های قلم و متن
  10. ۳۳رنگ، پس‌زمینه و جلوه‌هارنگ متن و پس‌زمینه، شفافیت، پس‌زمینه‌ی چندلایه، رنگ‌شیب‌ها، جاگیری تصویر، پالایه‌ها، حالت‌های آمیختگی، ماسک، مسیر برش و متنی که دور یک شکل می‌پیچد
  11. ۳۴کادر، دورخط و سایهکوتاه‌نویسی کادر و هر سمت آن، سمت‌های منطقی، گوشه‌های گرد، تصویر کادر، دورخط و حلقه‌ی تمرکز، سایه‌ی جعبه، جعبه‌های شکسته و شکل تازه‌ی گوشه‌ها
  12. ۳۵چیدمان: جریان، فلکس و شبکهجریان عادی، موقعیت و ترتیب لایه، شناوری، فلکس، شبکه، ترازبندی، متن چندستونی و صفحه‌های راست‌به‌چپ، با همه‌ی ویژگی‌های چیدمان و یک نمونه برای هر کدام
  13. ۳۶صفحه‌ی واکنش‌گرا و حالت‌هاصفحه‌ای که در هر صفحه‌نمایشی جا می‌شود: اندازه‌های شناور، پرس‌وجوی رسانه و نگهدارنده، حالت تاریک، اشاره، تمرکز و محتوای تولیدی، و ویژگی‌های اشاره‌گر، پیمایش و چاپ
  14. ۳۷گذار و پویانماییحرکت روی صفحه: گذار، دگرگونی و سه‌بعدی، پویانمایی با قاب‌های کلیدی، حرکت روی مسیر، پویانمایی با پیمایش، گذار نما و احترام به کاهش حرکت
  15. ۳۸بقیه‌ی CSSفهرست‌ها و شمارنده‌ها، گیومه، تنظیم جدول، پیمایش چسبنده و فضای پیمایش، جایگذاری لنگری، پرکردن و خط دور در SVG، ریاضی، ترتیب خواندن و ویژگی‌های دیگری که تا اینجا نیامده بودند
  16. ۳۹رویدادهای ماوسواکنش صفحه به ماوس: نوشتن رویدادگیر، کلیک، دو کلیک، دکمه‌های دیگر، منوی زمینه، مکان اشاره‌گر، نقاشی، ورود و خروج، حباب شدن رویداد و چرخ ماوس
  17. ۴۰صفحه‌کلید و فرم‌هاکلیدها، فوکوس، نوشتن در کادر، انتخاب متن، ارسال، بازنشانی و وارسی فرم، حافظه‌ی موقت، جزئیات، واشو و پنجره‌ی گفتگو: رویدادهای هر جای صفحه که مردم در آن تایپ می‌کنند
  18. ۴۱کشیدن، لمس، پیمایش و پنجرهکشیدن و رها کردن میان فهرست‌ها، رویدادهای اشاره‌گر و لمس، رویدادهای پیمایش و پنجره، و رویدادهای بار شدن، خطا و لغو در تصویرها
  19. ۴۲رسانه، پویانمایی و رویدادهای دیگررویدادهای صدا و ویدیو، یک پخش‌کننده‌ی سفارشی، رویدادهای پویانمایی و گذار، تغییر شکاف، زیرنویس، از دست رفتن زمینه‌ی بوم و نقض سیاست امنیتی
  20. ۴۳حالت، DOM و زمان‌سنج‌هااجزای یک صفحه‌ی تعاملی چطور کنار هم می‌نشینند: حالت در متغیرها، خواندن و عوض کردن عنصرها، کلاس و سبک، ساختن و برداشتن عنصر، زمان‌سنج‌ها، ذخیره‌سازی، پنجره‌های پرسش، بخش‌ها با رویدادگیر و اشکال‌یابی
  21. ۴۴صفحه‌های کامل: شش پروژهشش صفحه‌ی کامل که درس‌ها را کنار هم می‌گذارند: صفحه‌ی فرود، نوشته‌ی وبلاگ با ستون کناری، فرم عضویت با بررسی زنده، پیشخوان با نمودار میله‌ای CSS، فهرست کاری که به یاد می‌ماند و آلبوم عکس با نمایش بزرگ، و اینکه برنامه‌ی سلام چطور صفحه را می‌فرستد

مرجع

  1. ۴۵واژه‌نامه‌ی فارسی و انگلیسیهمه‌ی واژه‌های کلیدی، گونه‌ها، تابع‌ها و روش‌های درون‌ساخت و ثابت‌های زمان ترجمه‌ی سلام به فارسی و انگلیسی
  2. ۴۶بهترین شیوه‌هانخست کتابخانه‌ی استاندارد را ببینید، بعد با ساختار و جداشمار و میانجی و تابع عام طراحی کنید، تابع‌ها را کوچک نگه دارید و برنامه را به پرونده‌ها بشکنید

سرور و استقرار

  1. ۴۷سرور وب salam serve: از یک پوشه تا چند دامنهراهنمای کامل salam serve؛ سرو کردن یک پوشه، نوشتن پیکربندی، میزبان‌های مجازی، چند دامنه و چند زیردامنه، PHP با php-fpm، پایتون و گو، اتصال به خود سلام، HTTPS و استقرار

این دوره درباره‌ی خودِ زبان است. برای کتابخانه‌ی استاندارد (پرونده، متن، عدد، شبکه و…) به مرجع کتابخانه‌ها سر بزنید.