رفتن به محتوا

لوپ ایکس (LoopX)؛ آموزش فارسی لینوکس، داکر و DevOps

یاد بگیر، اجرا کن،
تکرار کن.

از اولین مفهوم کامپیوتر تا راه‌اندازی یک سرور واقعی با داکر و Nginx. هر درس از یک مسئله‌ی واقعی شروع می‌شود و هر دستورش قبل از انتشار، واقعاً اجرا شده است.

  • ۱۶۴ درس منتشرشده
  • ۵۰۰+ تمرین با جواب
  • رایگان و بدون ثبت‌نام

همین الان امتحان کن

اولین دستورهایت را بزن

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

  1. کجا هستی؟

    اول ببین ترمینال الان کجای سیستم است.

  2. دور و برت را ببین

    فایل‌ها و پوشه‌های همین‌جا را فهرست کن.

  3. یک پوشه بساز

    پوشه‌ای به اسم project بساز.

  4. برو داخلش

    وارد پوشه‌ی تازه شو؛ به prompt نگاه کن که چطور عوض می‌شود.

  5. اولین فایلت

    یک فایل notes.txt بساز که یک خط متن داخلش باشد.

  6. بخوانش

    محتوای فایلی را که ساختی چاپ کن.

loopx@lab: bashشبیه‌سازی در مرورگر
Welcome to the LoopX lab. Type help to see what works here.
امتحان کن:

ابزارهایی که در درس‌ها واقعاً با آن‌ها کار می‌کنی

  • Linux
  • GNU Bash
  • Git
  • GitHub
  • GitLab
  • GitHub Actions
  • Docker
  • NGINX
  • Let's Encrypt
  • Python
  • PostgreSQL
  • MySQL
  • Redis
  • Ubuntu
  • Debian
  • Vim

دوره‌ها

از صفر تا یک سرور واقعی

۹ دوره به ترتیب پیشنهادی؛ هر کدام روی قبلی بنا می‌شود. مسیر یادگیری

مرحله‌ی ۱

مبانی کامپیوتر و اینترنت

قبل از هر ابزاری: کامپیوتر چطور کار می‌کند، داده و متن چطور ذخیره می‌شود، اینترنت و وب چه هستند و سرور یعنی چه.

No such file or directory
  1. چطور با LoopX یاد بگیری
  2. کامپیوتر از چه ساخته شده؟
  3. بیت، بایت و اعداد باینری
  4. متن در کامپیوتر: ASCII و UTF-8
  5. صفحه‌کلید و نمادها برای کار با ترمینال
  6. و ۱۱ درس دیگر
مقدماتی (از صفر مطلق)۱۶ درس، کامل
مرحله‌ی ۲

لینوکس از صفر

از اولین دستور در ترمینال تا راه‌اندازی و ایمن‌کردن یک سرور واقعی.

uname -a
  1. لینوکس چیست؟
  2. راه‌اندازی محیط تمرین
  3. ترمینال و shell
  4. و ۳۱ درس دیگر
مقدماتی تا متوسط۳۴ درس، کامل
مرحله‌ی ۳

اسکریپت‌نویسی Bash

کارهای تکراری را به اسکریپت تبدیل کن و سرورت را خودکار کن.

bash script.sh
  1. اولین اسکریپت
  2. متغیرها و نقل‌قول
  3. ورودی و آرگومان‌ها
  4. و ۱۱ درس دیگر
متوسط۱۴ درس، کامل
مرحله‌ی ۴

Git و GitHub

کنترل نسخه از اولین commit تا کار تیمی، Pull Request و CI.

git --version
  1. Git چیست؟
  2. نصب و تنظیم اولیه
  3. اولین مخزن و commit
  4. و ۱۷ درس دیگر
مقدماتی تا پیشرفته۲۰ درس، کامل
مرحله‌ی ۵

داکر از صفر تا حرفه‌ای

کانتینر، image، Compose و اجرای واقعی برنامه‌ها، با راه‌حل‌های مخصوص ایران.

docker --version
  1. مرور سریع لینوکس برای داکر
  2. WSL2 برای کاربرهای ویندوز
  3. داکر چیست؟
  4. و ۴۰ درس دیگر
مقدماتی تا پیشرفته۴۳ درس، کامل
مرحله‌ی ۶

Nginx کاربردی

وب‌سرور، reverse proxy، HTTPS و load balancing برای سایت‌های واقعی.

nginx -v
  1. Nginx چیست؟
  2. نصب و اجرا
  3. ساختار فایل‌های تنظیمات
  4. و ۱۳ درس دیگر
متوسط۱۶ درس، کامل
مرحله‌ی ۷

پایتون از صفر

اولین زبان برنامه‌نویسی: از متغیر و شرط تا فایل، تابع، کلاس و ساخت یک API کوچک.

python3 --version
  1. اولین برنامه
  2. متغیر و نوع داده
  3. شرط و حلقه
  4. و ۷ درس دیگر
مقدماتی تا متوسط۱۰ درس، کامل
مرحله‌ی ۸

دیتابیس و SQL

داده را درست نگه دار و بپرس: از SELECT ساده تا join، ایندکس و بکاپ، با PostgreSQL.

sudo apt install postgresql
  1. دیتابیس چیست؟
  2. SELECT و فیلتر
  3. افزودن، ویرایش و حذف
  4. و ۷ درس دیگر
مقدماتی تا متوسط۱۰ درس، کامل
مرحله‌ی ۹

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

از دید مهاجم و مدافع: اسکن، حمله‌های رایج، سخت‌سازی و پایش، فقط روی ماشین‌های آزمایشی خودت.

sudo ss -tulpn
  1. مدل تهدید
  2. اسکن پورت و سرویس
  3. حمله‌های رایج وب
  4. و ۷ درس دیگر
متوسط تا پیشرفته۱ از ۱۰ درس

مسیر یادگیری

از مرورگر تا کرنل لینوکس

هر بار که صفحه‌ای را باز می‌کنی، درخواستت از چند لایه رد می‌شود: شبکه و HTTP، وب‌سرور، کانتینر، برنامه و دیتابیس، و در آخر سیستم‌عامل. دوره‌های LoopX دقیقاً همین لایه‌ها هستند؛ Git و Bash هم ابزارهایی‌اند که کد و کار تکراری را به همه‌ی لایه‌ها می‌رسانند.

پیشنهاد ما: از مبانی شروع کن، بعد لینوکس، و هر دوره را روی دوره‌ی قبلی بساز.

نقشه‌ی راه کامل و پیش‌نیاز هر دوره
مسیر یک درخواست، از مرورگر تا کرنل لینوکس و برگشت. روی هر لایه بزن تا به دوره‌اش بروی.

داخل هر درس

به عمق یک فصل کتاب،
ولی قابل اجرا

  1. سناریوی واقعی۱۶۰+ سناریو

    هر درس از یک مسئله‌ی واقعی در محیط کار شروع می‌شود، نه از تعریف.

  2. نمودار۲۲۰+ نمودار

    معماری، لایه‌ها و جریان داده با نمودارهایی که برای همان درس کشیده شده‌اند.

  3. مثال اجراشدهخروجی واقعی

    دستورها در Ubuntu واقعی یا روی خود داکر اجرا شده‌اند و خروجی از همان اجراست.

  4. اشتباهات رایجخطای واقعی

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

  5. تمرین با جواب۵۰۰+ تمرین

    سه سطح سختی؛ اول خودت حل کن، بعد جواب را باز کن.

  6. آزمونک و برگه‌ی تقلب۱۹۰+ آزمونک

    چند سؤال برای سنجیدن خودت و فهرست دستورهای همان درس.

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

فرض کن توی یک شرکت کوچک کار می‌کنی. تیم سه نفره است: سارا بک‌اند می‌نویسد، رضا فرانت‌اند، و ندا که تازه استخدام شده است.

اشتباه رایج: «پورت اشغال است»
$ docker run -d -p 8099:80 --name lx-web2 nginx
docker: Error response from daemon: ... Bind for 0.0.0.0:8099 failed: port is already allocated
تمرین آسان

با یک دستور از یک کانتینر ubuntu بخواه که جمله‌ی Hello from a container را چاپ کند، و کانتینر بعد از کار خودکار پاک شود.

▸ دیدن جواب
همه از درس «داکر چیست؟»

مرجع و ابزار

وقتی فقط شکل دقیق دستور یادت رفته

۱٬۴۳۶ دستور تست‌شده از همه‌ی درس‌ها در برگه‌های تقلب با جستجو، و معنی ۸۷ اصطلاح به فارسی ساده.

متین کابلی (Matin Kaboli)

چه کسی این درس‌ها را می‌نویسد

متین کابلی Matin Kaboli

بنیان‌گذار LoopX
من همیشه سعی کردم دنیا رو همون‌طور که هست ببینم، نه اون‌طور که باید باشه.
معرفی کامل و راه‌های ارتباط

از درس اول شروع کن.

رایگان، بدون ثبت‌نام، و با سرعت خودت. پیشرفتت در همین مرورگر ذخیره می‌شود.