دوره Docker: استفاده از Docker در توسعهی نرمافزار با رویکرد Test-Driven Development (TDD) همراه با فلشکارت آموزشی — ارائه روی فلش مموری
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب Docker: استفاده از Docker در توسعهی نرمافزار با رویکرد Test-Driven Development (TDD)
موضوع کلی: برنامه نویسی
موضوع میانی: داکر (Docker)
📋 سرفصلهای کتاب (100 موضوع)
- 1. معرفی دوره: Docker و TDD برای توسعهدهندگان
- 2. چرا Docker در توسعه نرمافزار ضروری است؟
- 3. اصول Test-Driven Development (TDD) و مزایای آن
- 4. نصب و راهاندازی Docker Desktop
- 5. اولین کانتینر شما: Hello World با Docker
- 6. مفاهیم پایه: ایمیج (Image) و کانتینر (Container)
- 7. چرخه عمر کانتینر: Start, Stop, Pause, Remove
- 8. مدیریت کانتینرها با `docker ps` و `docker rm`
- 9. مخزن Docker Hub: یافتن و Pull کردن ایمیجها
- 10. اجرای کانتینرها با `docker run` و تنظیمات اولیه
- 11. معرفی Dockerfile: گامی به سوی ایجاد ایمیج سفارشی
- 12. دستور `FROM`: انتخاب ایمیج پایه
- 13. دستور `RUN`: اجرای دستورات در زمان Build
- 14. دستور `CMD` و `ENTRYPOINT`: تفاوتها و کاربردها
- 15. دستور `COPY` و `ADD`: انتقال فایلها به ایمیج
- 16. دستور `EXPOSE` و `WORKDIR`: تعریف پورتها و مسیر کاری
- 17. Build کردن اولین ایمیج سفارشی
- 18. اجرای ایمیج سفارشی شما
- 19. نگهداری دادهها با Docker Volumes: مفاهیم پایه
- 20. استفاده از Bind Mounts برای توسعه لوکال
- 21. Named Volumes برای دادههای پایدار
- 22. معرفی Docker Networks: ایزولهسازی و ارتباطات
- 23. شبکه Bridge پیشفرض و شبکههای تعریف شده توسط کاربر
- 24. بازرسی کانتینرها و ایمیجها با `docker inspect`
- 25. پاکسازی منابع Docker: ایمیجها و کانتینرهای اضافی
- 26. بهینهسازی حجم ایمیج با Multi-stage Builds
- 27. کاهش لایهها در Dockerfile برای Build سریعتر
- 28. استفاده از `.dockerignore` برای Build های کارآمد
- 29. متغیرهای محیطی در Dockerfile و زمان اجرا
- 30. معرفی Docker Compose: ارکستراسیون کانتینرهای چندگانه
- 31. ساختار فایل `docker-compose.yml`: Services, Networks, Volumes
- 32. اولین پروژه Docker Compose: یک وباپلیکیشن ساده
- 33. دستورات `docker-compose up` و `down`
- 34. اصول TDD: چرخه Red-Green-Refactor
- 35. مزایای TDD: کد با کیفیتتر و نگهداری آسانتر
- 36. انواع تستها: Unit, Integration, End-to-End
- 37. نوشتن اولین تست (Red Phase)
- 38. پیادهسازی کد برای پاس شدن تست (Green Phase)
- 39. Refactoring: بهبود ساختار کد بدون تغییر رفتار
- 40. اصول F.I.R.S.T برای تستهای خوب
- 41. استفاده از Test Doubles: Mocks, Stubs, Spies
- 42. TDD و طراحی نرمافزار: تاثیر تست بر معماری
- 43. راهاندازی محیط توسعه با Docker: مزایای ایزولهسازی
- 44. مدیریت وابستگیها با Docker در محیط توسعه
- 45. Hot-reloading کد با Docker Volumes در توسعه لوکال
- 46. Docker برای راهاندازی پایگاه داده در توسعه
- 47. اجرای تستهای واحد (Unit Tests) در Docker
- 48. پیکربندی Test Runner در یک کانتینر مجزا
- 49. مثال: Python Pytest در کانتینر Docker
- 50. مثال: Node.js Jest در کانتینر Docker
- 51. مثال: Java JUnit در کانتینر Docker
- 52. ایزولهسازی محیط تست با Docker
- 53. گذراندن متغیرهای محیطی به کانتینرهای تست
- 54. Mount کردن کد پروژه به کانتینر تست
- 55. تولید گزارش تست از کانتینرهای Docker
- 56. خودکارسازی اجرای Unit Tests با Docker
- 57. معرفی Integration Testing و چالشهای آن
- 58. استفاده از Docker Compose برای محیط Integration Test
- 59. تست با یک کانتینر پایگاه داده (PostgreSQL/MySQL)
- 60. تست با یک کانتینر Message Queue (RabbitMQ/Kafka)
- 61. پیکربندی سرویسهای وابسته برای تست یکپارچگی
- 62. ارکستراسیون سرویسهای چندگانه در تست Integration
- 63. کاستومایز کردن کانتینرهای تست Integration
- 64. دادهریزی (Data Seeding) برای تستهای Integration در Docker
- 65. مدیریت پایداری دادهها در تست Integration
- 66. اجرای موازی تستهای Integration با Docker Compose
- 67. بررسی وضعیت سلامت سرویسها (Health Checks) در Compose
- 68. معرفی End-to-End (E2E) Testing
- 69. اجرای ابزارهای اتوماسیون مرورگر در Docker
- 70. Cypress/Selenium با کانتینرهای Docker
- 71. راهاندازی Headless Browser در Docker برای E2E
- 72. تست E2E یک Full Stack App با Docker Compose
- 73. ارکستراسیون Front-end و Back-end برای E2E
- 74. ثبت Screenshot و Video از تستهای E2E در Docker
- 75. Debugging تستهای E2E در محیط Docker
- 76. ملاحظات عملکردی در تستهای E2E با Docker
- 77. سناریو: TDD برای یک API با Docker و Postman/Newman
- 78. استفاده از Docker برای تستهای امنیتی (مثلاً Linting)
- 79. Docker Compose Profiles برای سناریوهای تست مختلف
- 80. Extends در Docker Compose: استفاده مجدد از پیکربندی
- 81. Overriding پیکربندی Compose برای محیطهای تست
- 82. استفاده از فایلهای `.env` در Docker Compose برای تست
- 83. استراتژیهای Build ایمیجها در Docker Compose
- 84. معرفی CI/CD و نقش Docker در آن
- 85. ادغام تستهای Dockerized در Pipeline CI
- 86. GitHub Actions برای TDD با Docker
- 87. GitLab CI برای TDD با Docker
- 88. Jenkins Pipelines برای TDD با Docker
- 89. مدیریت Artifacts و گزارشها در CI با Docker
- 90. استراتژیهای کش کردن ایمیجها در CI
- 91. عیبیابی عمومی در Docker: لاگها و `docker exec`
- 92. رفع خطاهای رایج Docker در Build و Run
- 93. بهینهسازی عملکرد برنامههای Dockerized و تستها
- 94. بهترین شیوهها برای امنیت کانتینرها
- 95. مدیریت منابع (CPU, Memory) در Docker
- 96. بروزرسانی ایمیجهای پایه و وابستگیها
- 97. معرفی Dev Containers (VS Code) برای توسعهدهندگان
- 98. نگاهی کوتاه به Docker در Production
- 99. مقدمهای بر ارکستراسیون کانتینر (Kubernetes/Swarm)
- 100. جمعبندی و مسیرهای آینده Docker و TDD
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.