کتاب صوتی Refactoring با TDD: چگونه کدهای قدیمی را مدرن و قابل تست کنیم
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Refactoring با TDD: چگونه کدهای قدیمی را مدرن و قابل تست کنیم
موضوع کلی: برنامه نویسی
موضوع میانی: توسعه آزمونمحور (TDD)
📋 سرفصلهای دوره
- 1. مقدمهای بر مهندسی نرمافزار و متدولوژیهای چابک
- 2. اصول توسعه مبتنی بر تست (TDD) و اهمیت آن
- 3. چرخه حیات توسعه مبتنی بر تست: قرمز، سبز، بازسازی
- 4. نوشتن اولین تست واحد: درک رفتار مورد انتظار
- 5. پیادهسازی کد برای گذراندن تست: اولین گام در TDD
- 6. بازسازی کد: پاکسازی و بهبود ساختار بدون تغییر رفتار
- 7. ابزارهای رایج برای توسعه مبتنی بر تست در زبانهای مختلف
- 8. محیطهای توسعه یکپارچه (IDE) و پشتیبانی از TDD
- 9. مدیریت وابستگیها در پروژههای نرمافزاری
- 10. تکنیکهای تست واحد برای کلاسها و توابع
- 11. تست واحد برای کلاسهای با وابستگیهای خارجی
- 12. استفاده از Mocking و Stubbing برای شبیهسازی وابستگیها
- 13. اصول طراحی نرمافزار SOLID و ارتباط آن با TDD
- 14. اصل مسئولیت واحد (Single Responsibility Principle) و TDD
- 15. اصل باز (Open/Closed Principle) و TDD
- 16. اصل جایگزینی لیسکوف (Liskov Substitution Principle) و TDD
- 17. اصل جداسازی رابط (Interface Segregation Principle) و TDD
- 18. اصل وارونگی وابستگی (Dependency Inversion Principle) و TDD
- 19. الگوهای طراحی (Design Patterns) و کاربرد آنها در TDD
- 20. الگوهای GOF: کارخانهها (Factories) و TDD
- 21. الگوهای GOF: مشاهدهگر (Observer) و TDD
- 22. الگوهای GOF: استراتژی (Strategy) و TDD
- 23. بازسازی کد: شناسایی کدهای تکراری و کدهای بدبو (Code Smells)
- 24. تکنیکهای بازسازی: استخراج متد (Extract Method)
- 25. تکنیکهای بازسازی: استخراج کلاس (Extract Class)
- 26. تکنیکهای بازسازی: جابجایی متد (Move Method)
- 27. تکنیکهای بازسازی: جابجایی فیلد (Move Field)
- 28. تکنیکهای بازسازی: حذف کد مرده (Remove Dead Code)
- 29. تکنیکهای بازسازی: سادهسازی شرطها (Simplify Conditionals)
- 30. تکنیکهای بازسازی: جایگزینی عبارت با متد (Replace Magic Number with Symbolic Constant)
- 31. تکنیکهای بازسازی: جایگزینی عبارت با شیء (Replace Temp with Query)
- 32. مدیریت خطا و استثنائات در TDD
- 33. نوشتن تست برای سناریوهای خطا و استثنائات
- 34. تستهای ادغام (Integration Tests) و نقش آنها
- 35. تستهای سیاه جعبه (Black Box Testing)
- 36. تستهای سفید جعبه (White Box Testing)
- 37. تستهای پذیرش (Acceptance Tests) و TDD
- 38. توسعه مبتنی بر رفتار (BDD) و ارتباط آن با TDD
- 39. ابزارهای BDD مانند Cucumber و SpecFlow
- 40. بازسازی پایگاه داده در کنار بازسازی کد
- 41. اصول طراحی پایگاه داده بدون ربا و سازگار با فقه اسلامی
- 42. مدیریت تراکنشها در پایگاه داده
- 43. تست واحد برای منطق پایگاه داده
- 44. تست ادغام با پایگاه داده
- 45. امنیت نرمافزار و TDD
- 46. تستهای امنیتی در چرخه توسعه
- 47. پیادهسازی احراز هویت و مجوزها با TDD
- 48. محافظت در برابر حملات رایج (SQL Injection، XSS)
- 49. اصول برنامهنویسی ایمن در چارچوب قوانین جمهوری اسلامی ایران
- 50. بازسازی کدهای قدیمی (Legacy Code)
- 51. شناسایی نقاط ضعف در کدهای قدیمی
- 52. ایجاد پوشش تست برای کدهای قدیمی
- 53. استفاده از تکنیکهای Parasoft Jtest یا SonarQube برای تحلیل کد
- 54. مهاجرت کد به معماریهای مدرن
- 55. استفاده از الگوهای معماری میکروسرویس با رویکرد TDD
- 56. مدیریت وابستگی بین میکروسرویسها
- 57. تست در معماری میکروسرویس
- 58. پیادهسازی CI/CD (Continuous Integration/Continuous Deployment)
- 59. نقش TDD در فرآیند CI/CD
- 60. ابزارهای CI/CD مانند Jenkins، GitLab CI، GitHub Actions
- 61. خودکارسازی فرآیند تست در CI/CD
- 62. مانیتورینگ و گزارشدهی در طول فرآیند توسعه
- 63. استفاده از ابزارهای مانیتورینگ مانند Prometheus و Grafana
- 64. تحلیل لاگها و ردیابی خطاها
- 65. مدیریت عملکرد (Performance Management)
- 66. تستهای بار (Load Testing) و تستهای استرس (Stress Testing)
- 67. بهینهسازی کد برای بهبود عملکرد
- 68. اصول اخلاق حرفهای در مهندسی نرمافزار
- 69. رعایت حقوق مالکیت معنوی و مجوزهای نرمافزار
- 70. مسئولیتپذیری در قبال کیفیت کد و امنیت نرمافزار
- 71. توسعه پایدار و ملاحظات زیستمحیطی در فناوری اطلاعات
- 72. کار تیمی و همکاری در پروژههای نرمافزاری
- 73. مدیریت دانش در تیمهای توسعه
- 74. بازخورد مستمر و بهبود فرآیندها
- 75. حل تعارض در تیمهای توسعه
- 76. مدیریت زمان و اولویتبندی وظایف
- 77. مستندسازی کد و فرآیندها
- 78. اهمیت مستندسازی فنی و کاربر
- 79. استفاده از ابزارهای مستندسازی خودکار
- 80. مدیریت تغییرات و نسخهبندی کد
- 81. استفاده از Git و Gitflow
- 82. مدیریت شاخهها (Branches) و ادغام (Merging)
- 83. کنترل کیفیت نرمافزار
- 84. فرآیندهای بازبینی کد (Code Review)
- 85. مدیریت عیوب (Defect Management)
- 86. استانداردهای کدنویسی و راهنماهای سبک (Style Guides)
- 87. تطبیق استانداردهای کدنویسی با چارچوبهای شرعی و قانونی
- 88. آموزش مداوم و بهروزرسانی دانش فنی
- 89. بررسی روندهای جدید در مهندسی نرمافزار
- 90. یادگیری از تجربیات موفق و ناموفق
- 91. کاربرد TDD در توسعه وب (Frontend & Backend)
- 92. تست واحد برای کامپوننتهای UI
- 93. تست واحد برای APIهای Backend
- 94. تست End-to-End با ابزارهایی مانند Selenium
- 95. کاربرد TDD در توسعه اپلیکیشنهای موبایل
- 96. تست واحد برای منطق اپلیکیشن
- 97. تست UI/UX در موبایل
- 98. تستهای عملکردی و امنیتی اپلیکیشنهای موبایل
- 99. ملاحظات حقوقی و شرعی در توسعه نرمافزار در ایران
- 100. قوانین حفاظت از دادهها و حریم خصوصی
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
sp.express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.