لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش پیادهسازی 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
نمایش نظرات