آموزش پیاده‌سازی TDD با کمک هوش مصنوعی: از مفاهیم پایه تا محیط عملیاتی - آخرین آپدیت

دانلود TDD in Action with AI: From Fundamentals to Production

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: با استفاده از توسعه تست‌محور (TDD) و هوش مصنوعی، نرم‌افزارهایی آماده برای محیط عملیاتی (Production-Ready) با استفاده از Kotlin و Spock بسازید. در این دوره، اپلیکیشن‌های واقعی را از صفر و با متدولوژی TDD توسعه خواهید داد. تست‌های واحد (Unit Tests) سریع، قطعی و ایزوله‌ای بنویسید که هم به عنوان مستندات زنده و هم به عنوان یک شبکه ایمنی برای بازسازی کد (Refactoring) عمل کنند. طراحی و تست RESTful APIها را با استفاده از متدولوژی Outside-In TDD بیاموزید. از ابزارهای هوش مصنوعی برای بهبود جریان توسعه و افزایش بهره‌وری استفاده کنید، بدون اینکه کنترل کد از دست شما خارج شود. اصول و تکنیک‌های اصلی TDD را به طور کامل فرا گرفته و با اعتماد به نفس در کدهای عملیاتی به کار ببرید. پیشنیازها: برای شروع این دوره نیازی به تجربه قبلی در TDD نیست. داشتن درک پایه از Kotlin، Spock و Spring Boot مفید است اما اجباری نیست. تمرکز این دوره بر اصول تست و متدولوژی‌های توسعه است و از این تکنولوژی‌ها تنها به عنوان ابزاری برای آموزش استفاده می‌شود. هر آنچه نیاز داشته باشید در طول مسیر خواهید آموخت.

توسعه تست‌محور در عمل با هوش مصنوعی - نیکوس وولگاریس


توسعه تست‌محور (TDD) را در نرم‌افزارهای واقعی پیاده‌سازی کنید، ابزارهای هوش مصنوعی را در جریان کاری خود ادغام نمایید و مهارت‌های حرفه‌ای خود را ارتقا دهید.

آیا TDD برای شما جذاب و امیدوارکننده به نظر می‌رسد، اما احساس می‌کنید آموزش‌های موجود تنها به مثال‌های ساده‌ای مثل دوز یا FizzBuzz محدود شده‌اند؟

من هم همین تجربه را داشتم. دیدن تکنیک قدرتمندی که به صورت گسسته از پیچیدگی‌های دنیای واقعی آموزش داده می‌شد، ناامیدکننده بود. به همین دلیل این دوره را طراحی کردم تا به مهندسان نرم‌افزار کمک کنم با اعتماد به نفس TDD را در پروژه‌های واقعی پیاده کنند و پتانسیل کامل آن را فراتر از مبانی ساده کشف نمایند.

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

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


چه چیزی خواهید ساخت؟

در طول این دوره، یک اپلیکیشن مدیریت تسک (Task Manager) می‌سازیم که دارای یک RESTful API است. کاربران می‌توانند ثبت‌نام کنند، تسک بسازند، وضعیت تسک‌ها را به‌روزرسانی کنند و لیست تسک‌های خود را دریافت نمایند.

ما از اصول معماری هگزاگونال (Hexagonal Architecture) پیروی می‌کنیم؛ نه به صورت تعصب‌گونه، بلکه اجازه می‌دهیم این معماری به طور طبیعی در طول فرآیند TDD شکل بگیرد. برای سادگی، از ذخیره‌سازی در حافظه (In-memory) استفاده خواهیم کرد.

تکنولوژی‌های مورد استفاده: Spring Boot، Kotlinو Spock. نیازی به دانش عمیق قبلی از این ابزارها نیست. تمرکز ما بر تسلط بر متدولوژی، طرز فکرو انضباطتوسعه تست‌محور است.

همچنین یاد می‌گیرید چگونه ابزارهای هوش مصنوعیرا به گونه‌ای هوشمندانه ادغام کنید تا از تصمیم‌گیری‌های شما حمایت کنند (نه اینکه جایگزین شما شوند) و جریان کاری TDD را بهبود بخشند.


چرا از من یاد بگیرید؟

من مهندس نرم‌افزار با بیش از ۱۲ سال تجربه حرفه‌ای هستم. حدود یک دهه پیش کاوش در TDD را شروع کردم و در ۸ سال گذشته به طور گسترده از آن در محیط‌های عملیاتی استفاده کرده‌ام. در این مسیر، به ده‌ها مهندس کمک کرده‌ام تا از طریق کوچینگ حضوری، برنامه‌نویسی دو نفره (Pair Programming) و ورکشاپ‌های آنلاین، TDD را بپذیرند.

من با تمام چالش‌ها، مقاومت‌ها، ابهامات و لحظات «یافتم!» (aha moments) آشنا هستم که باعث می‌شود همه چیز برای شما روشن شود. این دوره را ساختم تا این بینش‌ها را به شما منتقل کنم.


سرفصل ها و درس ها

مقدمه Introduction

  • مقدمه Introduction

  • ساختار دوره Course structure

  • راه‌اندازی محیط Environment setup

مبانی تست واحد Unit Testing Fundamentals

  • مقدمه بخش Section intro

  • مخزن گیت‌هاب Github repo

  • نحوه تست نرم‌افزار How we test software

  • هرم تست Test pyramid

  • تست واحد چیست What's a unit test

  • چرا باید تست واحد بنویسیم Why bother writing unit tests

  • نام‌گذاری Naming

  • خوانایی Readability

  • قانون AAA The AAA rule

  • قانون تک-تأیید (Single Assertion) The Single Assertion rule

  • همیشه شکست تست را مشاهده کنید Always watch the test fail

  • ایزولاسیون (جداسازی) Isolation

  • ماکینگ (استاب‌ها) Mocking (stubs)

  • ماکینگ (اشیاء دامی) Mocking (dummy objects)

  • تست رفتار در مقابل تست وضعیت Testing behavior vs testing state

  • جمع‌بندی Wrap up

توسعه تست‌محور کلاسیک Classicist Test-Driven Development

  • مقدمه بخش Section intro

  • مخزن دوم گیت‌هاب Second Github repo

  • چرخه TDD The TDD cycle

  • نیازمندی‌ها Requirements

  • نوشتن اولین تست واحد شکست‌خورده Writing the first failing unit test

  • شبیه‌سازی تا رسیدن به نتیجه Fake it till you make it

  • تثلیث (Triangulation) Triangulation

  • پیاده‌سازی بدیهی Obvious implementation

  • تسک برای انتقال به DONE باید تخصیص یابد Task must be assigned to move to DONE

  • تسک برای انتقال به DONE نباید مسدود باشد Task must not be blocked to move to DONE

  • بازسازی کد (Refactoring) Refactoring

  • تسک نباید از قبل در وضعیت DONE باشد Task must not be already in DONE to move to DONE

  • جمع‌بندی Wrap up

توسعه تست‌محور از بیرون به درون (Outside-In) Outside-In Test-Driven Development

  • مقدمه بخش Section intro

  • چرخه Outside-In TDD The Outside-In TDD cycle

  • نیازمندی‌های مدیریت تسک Task manager requirements

  • نوشتن اولین تست فانکشنال شکست‌خورده Writing the first failing functional test

  • اولین تست واحد شکست‌خورده برای User API User API first failing unit test

  • رساندن تست به مرحله کامپایل Making the test compile

  • پاس کردن تست Making the test pass

  • تکمیل User API Completing the user API

  • تست‌های فانکشنال به عنوان ستاره راهنما The functional tests as a north star

  • اولین تست واحد شکست‌خورده برای User Service User service first failing unit test

  • تکمیل User Service Completing the user service

  • پیاده‌سازی User Repository و تکمیل ویژگی ثبت‌نام کاربر Implementing the user repository and completing the user registration feature

  • نوشتن تست فانکشنال شکست‌خورده برای ویژگی ایجاد تسک Writing a failing functional test for the task creation feature

  • اولین تست واحد شکست‌خورده برای Task API Task API first failing unit test

  • رساندن تست به مرحله کامپایل Making the test compile

  • تکمیل Task API Completing the task API

  • یافتن گام بعدی Finding the next step

  • اولین تست واحد شکست‌خورده برای Task Service Task service first failing unit test

  • تکمیل Task Service Completing the task service

  • بهبود User Repository Enhancing the user repository

  • تکمیل ویژگی ایجاد تسک Completing the task creation feature

  • نوشتن تست فانکشنال شکست‌خورده برای به‌روزرسانی وضعیت تسک Writing a failing functional test for the task status update feature

  • نوشتن تست واحد شکست‌خورده برای Task API Writing a failing unit test for the task API

  • تکمیل Task API Completing the task API

  • پاس کردن تست و افزودن تست واحد دوم به Task API Making the test pass and adding a second unit test to the task API

  • تزریق منطق اعتبارسنجی تسک به Task Service Injecting the task validation logic to the task service

  • افزودن تست دوم به Task Service و پاس کردن آن Adding a second test to the task service and making it pass

  • تکمیل Task Service Completing the task service

  • تکمیل ویژگی به‌روزرسانی وضعیت تسک Completing the task status update feature

  • جمع‌بندی Wrap up

مقایسه دو سبک توسعه تست‌محور Comparison of the two Test-Driven Development styles

  • مقدمه بخش Section intro

  • نقاط قوت Classicist TDD Classicist TDD strengths

  • نقاط ضعف Classicist TDD Classicist TDD weaknesses

  • نقاط قوت Outside-In TDD Outside-In TDD strengths

  • نقاط ضعف Outside-In TDD Outside-In TDD weaknesses

  • نظر شخصی من My personal opinion

توسعه تست‌محور با هوش مصنوعی Test-Driven Development with AI

  • مقدمه بخش Section intro

  • نوشتن تست فانکشنال شکست‌خورده برای ویژگی تسک‌های من Writing a failing functional test for the my tasks feature

  • نوشتن تست‌های واحد شکست‌خورده برای Task API Writing the failing unit tests for the task API

  • پاس کردن تست‌ها و نوشتن تست‌های واحد شکست‌خورده برای Task Service Making them pass and writing the failing unit tests for the task service

  • پاس کردن تست‌ها و نوشتن تست‌های شکست‌خورده برای Task Repository Making them pass and writing the failing tests for the task repository

  • پاس کردن تست‌ها و تکمیل ویژگی تسک‌های من Making them pass and completing the my tasks feature

  • جمع‌بندی Wrap up

تبریکات Congratulations

  • از دوره لذت بردید؟ با ثبت نظر به دیگران کمک کنید! Enjoyed the course? Help others by leaving a review!

  • ارتباط و در تماس ماندن Reach out and stay in touch

  • تبریکات Congratulations

نمایش نظرات

آموزش پیاده‌سازی TDD با کمک هوش مصنوعی: از مفاهیم پایه تا محیط عملیاتی
جزییات دوره
3.5 hours
78
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
77
4.9 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Nikos Voulgaris Nikos Voulgaris

متخصص توسعه و معماری نرم‌افزار