دورهی کامل و رایگان
آموزش زبان برنامهنویسی سلام
این دوره همهی زبان سلام را، از نخستین برنامه تا ویژگیهای پیشرفته، در درسهای کوتاه و پشتسرهم آموزش میدهد. هر درس نمونهکدهای کامل فارسی دارد که خروجی واقعیشان کنارشان آمده است؛ آنها را رونوشت کنید و در ویرایشگر آنلاین اجرا کنید.
آغاز راه
- ۱نخستین برنامهتابع ریشه، اجرای برنامه، چاپ خروجی، کد خروج، ورودی، توضیحها و ساختار یک برنامه
- ۲متغیرها و پایاهاتعریف متغیر با := و ناپایا، محدودهی متغیر، متغیرهای سراسری، پایاها و نامگذاری
- ۳گونههاعدد صحیح و اعشاری، سرریز، منطقی، نویسه، ترکیب گونهها و تبدیل
- ۴عملگرهاحساب، تقسیم و باقیمانده، توان، مقایسه، منطق، سهتایی، عملگرهای ترکیبی، پرچمهای بیتی و ترتیب اجرا
- ۵رشتهها و متنشکلهای نوشتن رشته، چسباندن متن، بایت و نویسه، بستهی رشته، مقایسهی متن و خواندن عدد از متن
جریان برنامه
- ۶شرطهااگر، وگرنه اگر و وگرنه، واژههای مقایسه، و و یا، برگشت زودهنگام، مقایسهی اعشاریها و قواعد شرط
- ۷حلقههاتکرار با تعداد و بازه و گام، حلقهی تا و دامهایش، حلقههایی که با بشکن تمام میشوند، هر در روی آرایه و وکتور و نگاشت و رشته، حلقههای تودرتو، بشکن چندلایه و گذر
- ۸همخوان و ترابردانتخاب میان حالتها با همخوان و ترابرد: مقدار، رشته، جداشمار، بیرون کشیدن داده و نگهبان، الگوی ساختار، ریزش به حالت بعد و ترابرد درون حلقه
تابعها
- ۹تابعهاتعریف و فراخوانی تابع، برگشت زودهنگام، مقدار پیشفرض، چند خروجی، تابع بازگشتی، همنامی، ورودی ارجاعی و کد خروج ریشه
- ۱۰تابعهای بینامتابع بهعنوان مقدار: تابع بینام، گونهی تابع، مرتبسازی با مقایسهگر، تابعی که تابع برمیگرداند و آنچه تابع بینام از بیرون برمیدارد
- ۱۱دیرکن و ویژگیهای تابعاجرای پاکسازی در پایان بلوک با دیرکن، ترتیب و زمان اجرای آن، و ویژگیهای ناب، درخط، نادرخط، نابرگشت و بیکاره
دادهها و گونهها
- ۱۲آرایهها و برشهاآرایه، اندیس، آرایه با اندازهی معین، جستجو و جمع زدن، آرایهی دوبعدی، کپی شدن آرایه و برشی که در خود آرایه مینویسد
- ۱۳وکتور و نگاشتفهرست پویا با وکتور، جفت کلید و مقدار با نگاشت، مرتبسازی، و مجموعه و پشته و صف
- ۱۴ساختارهادادههای بههمپیوسته، روشها و این، همگانی و خصوصی، چاپ، رونوشت، عضو ایستا و شامل
- ۱۵جداشمارهامجموعهی بستهای از حالتها، مقدار دلخواه، جداشمار در ساختار، جداشمار دادهدار، جداشمار عام و نگه داشتن نتیجه به عنوان یک مقدار با ?
- ۱۶گونههای تازه و عملگرهانام دیگر برای گونه، گونهی متمایز با روش و عملگر خودش، بازتعریف عملگرها در ساختار، و گونههای یا
- ۱۷تابعهای عام و میانجیهاتابع و ظرف عام، میانجی، کاربست، محدودیت گونه و مجموعههای پویا
برنامههای بزرگتر
- ۱۸بستهها و پروندههابسته، فراخوانی و واردسازی، همگانی و خصوصی، بستهی چندپروندهای و چیدمان پروژه
- ۱۹قواعد مترجمقواعد سختگیرانهی سلام، کد خطای هر کدام و راه درست کردنشان
- ۲۰مقدار، ارجاع و حافظهرونوشت و اشتراک، رونوشت عمیق، آزاد کردن حافظه، صاحب رشته، اشارهگر و بررسی حافظه
- ۲۱ترجمهی شرطیکد ویژهی هر سیستمعامل و پردازنده، پرچمهای ساخت با -D و بررسیهای مخصوص نسخهی اشکالزدایی، همه در زمان ترجمه
- ۲۲همکاری با Cصدا زدن تابعهای C با درونداد، printf و تابعهای با ورودی متغیر، اشارهگر و بافر، پیوند کتابخانهها و سپردن تابعهای سلام به C
- ۲۳کار همزماننخها با نخساز و نخپیوند، اشتراک امن داده، کانال و حلقهی موازی
صفحههای وب
- ۲۴زبان صفحهساختن صفحهی وب با زبان صفحه: عنصرها، ویژگیها، سبکها، رویدادگیر کلیک، بخشها، صفحهی پارامتردار و فرستادن صفحه از یک برنامهی سلام
- ۲۵صفحه و متنساختار یک صفحه، سرتیترها، پاراگراف، رفتن به سطر بعد و همهی عنصرهای متن: تأکید، نقل قول، کد، ویرایش، تاریخ، کوتهنوشت و متن با جهتهای آمیخته
- ۲۶ساختار صفحه و فهرستهانشانههای صفحه مثل سرصفحه، ناوبری، اصلی و پاورقی، سپس فهرستها، فهرست تعریف، جزئیات، پنجره گفتگو، شکل و آدرس، و ساختن یک صفحهی کامل وبلاگ با آنها
- ۲۷پیوند، تصویر و رسانهپیوند و لنگر، تصویر با متن جایگزین و منبعهای واکنشگرا، نقشهی تصویر، صدا و ویدیو با زیرنویس، قاب، جاسازی، بوم، اسویجی و ریاضی
- ۲۸جدولهاجدول برای دادهها: عنوان، بخشهای سرصفحه و اصلی و پاورقی، خانههای سرستون با دامنه، خانههای ادغامشده، گروه ستون، و آراستن و پیمایش جدول
- ۲۹فرمهافرم و همهی کنترلهای آن: برچسب، همهی نوعهای ورودی، اعتبارسنجی، متن بلند، تیک و رادیویی، فهرستها، دکمهها، خروجی و پیشرفت و سنجه، پروندهها و رسیدگی به ارسال در برنامه
- ۳۰سر صفحه، اسکریپت و ویژگیهای همگانیتنظیمهای خود صفحه، سر صفحه با متا و پیوند، سبک و اسکریپت، قالب و درخت سایه، ویژگیهایی که هر عنصر دارد، ARIA، ویژگیهای داده و تقسیم یک سایت به پروندهها
- ۳۱سبک و الگوی جعبهCSS از صفر: ویژگیهای سبک به شکل ویژگی عنصر، مقدارها، یکاها و رنگها، الگوی جعبه، اندازهها، فضاها، نمایش، سرریز، تابعهای CSS، قاعدههای سراسری و بخشهای قابل استفادهی دوباره
- ۳۲قلم و سبک متنخانواده و اندازهی قلم، وزن، قلم وب، قلم متغیر، تراز، تزیین، فاصلهها، شکستن سطر، جهت متن، نوشتار عمودی، آوانما و حروفچینی فارسی، با همهی ویژگیهای قلم و متن
- ۳۳رنگ، پسزمینه و جلوههارنگ متن و پسزمینه، شفافیت، پسزمینهی چندلایه، رنگشیبها، جاگیری تصویر، پالایهها، حالتهای آمیختگی، ماسک، مسیر برش و متنی که دور یک شکل میپیچد
- ۳۴کادر، دورخط و سایهکوتاهنویسی کادر و هر سمت آن، سمتهای منطقی، گوشههای گرد، تصویر کادر، دورخط و حلقهی تمرکز، سایهی جعبه، جعبههای شکسته و شکل تازهی گوشهها
- ۳۵چیدمان: جریان، فلکس و شبکهجریان عادی، موقعیت و ترتیب لایه، شناوری، فلکس، شبکه، ترازبندی، متن چندستونی و صفحههای راستبهچپ، با همهی ویژگیهای چیدمان و یک نمونه برای هر کدام
- ۳۶صفحهی واکنشگرا و حالتهاصفحهای که در هر صفحهنمایشی جا میشود: اندازههای شناور، پرسوجوی رسانه و نگهدارنده، حالت تاریک، اشاره، تمرکز و محتوای تولیدی، و ویژگیهای اشارهگر، پیمایش و چاپ
- ۳۷گذار و پویانماییحرکت روی صفحه: گذار، دگرگونی و سهبعدی، پویانمایی با قابهای کلیدی، حرکت روی مسیر، پویانمایی با پیمایش، گذار نما و احترام به کاهش حرکت
- ۳۸بقیهی CSSفهرستها و شمارندهها، گیومه، تنظیم جدول، پیمایش چسبنده و فضای پیمایش، جایگذاری لنگری، پرکردن و خط دور در SVG، ریاضی، ترتیب خواندن و ویژگیهای دیگری که تا اینجا نیامده بودند
- ۳۹رویدادهای ماوسواکنش صفحه به ماوس: نوشتن رویدادگیر، کلیک، دو کلیک، دکمههای دیگر، منوی زمینه، مکان اشارهگر، نقاشی، ورود و خروج، حباب شدن رویداد و چرخ ماوس
- ۴۰صفحهکلید و فرمهاکلیدها، فوکوس، نوشتن در کادر، انتخاب متن، ارسال، بازنشانی و وارسی فرم، حافظهی موقت، جزئیات، واشو و پنجرهی گفتگو: رویدادهای هر جای صفحه که مردم در آن تایپ میکنند
- ۴۱کشیدن، لمس، پیمایش و پنجرهکشیدن و رها کردن میان فهرستها، رویدادهای اشارهگر و لمس، رویدادهای پیمایش و پنجره، و رویدادهای بار شدن، خطا و لغو در تصویرها
- ۴۲رسانه، پویانمایی و رویدادهای دیگررویدادهای صدا و ویدیو، یک پخشکنندهی سفارشی، رویدادهای پویانمایی و گذار، تغییر شکاف، زیرنویس، از دست رفتن زمینهی بوم و نقض سیاست امنیتی
- ۴۳حالت، DOM و زمانسنجهااجزای یک صفحهی تعاملی چطور کنار هم مینشینند: حالت در متغیرها، خواندن و عوض کردن عنصرها، کلاس و سبک، ساختن و برداشتن عنصر، زمانسنجها، ذخیرهسازی، پنجرههای پرسش، بخشها با رویدادگیر و اشکالیابی
- ۴۴صفحههای کامل: شش پروژهشش صفحهی کامل که درسها را کنار هم میگذارند: صفحهی فرود، نوشتهی وبلاگ با ستون کناری، فرم عضویت با بررسی زنده، پیشخوان با نمودار میلهای CSS، فهرست کاری که به یاد میماند و آلبوم عکس با نمایش بزرگ، و اینکه برنامهی سلام چطور صفحه را میفرستد
مرجع
- ۴۵واژهنامهی فارسی و انگلیسیهمهی واژههای کلیدی، گونهها، تابعها و روشهای درونساخت و ثابتهای زمان ترجمهی سلام به فارسی و انگلیسی
- ۴۶بهترین شیوههانخست کتابخانهی استاندارد را ببینید، بعد با ساختار و جداشمار و میانجی و تابع عام طراحی کنید، تابعها را کوچک نگه دارید و برنامه را به پروندهها بشکنید
سرور و استقرار
این دوره دربارهی خودِ زبان است. برای کتابخانهی استاندارد (پرونده، متن، عدد، شبکه و…) به مرجع کتابخانهها سر بزنید.