کتاب Docker: استفاده از Docker در توسعهی نرمافزار با رویکرد Test-Driven Development (TDD) با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره جامع Docker و TDD: از توسعه تا استقرار حرفهای Docker: استفاده از Docker در توسعهی نرمافزار با رویکرد Test-Driven Development (TDD) از آشفتگی تا استقرار: ساخت نرمافزارهای پایدار و مقیاسپذیر ب...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Docker: استفاده از Docker در توسعهی نرمافزار با رویکرد Test-Driven Development (TDD)
موضوع کلی: برنامه نویسی
موضوع میانی: داکر (Docker)
📋 سرفصلهای دوره
- 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
تگها:
Containerization
Docker
Docker TDD
Docker فارسی
TDD
Test-Driven Development
آموزش Docker
آموزش برنامه نویسی
برنامه نویسی
برنامه نویسی Docker
توسعه نرمافزار
توسعه نرمافزار با Docker
داکر
داکر TDD
کانتینریسازی
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.