کتاب صوتی معماری تمیز (Clean Architecture) در پروژههای گو
دوره جامع معماری تمیز (Clean Architecture) در پروژههای گو دوره جامع معماری تمیز (Clean Architecture) در پروژههای گو (Golang) از کدهای اسپاگتی و غیرقابل نگهداری خلاص شوید و پروژههای غولپیکر، مقیاس...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره معماری تمیز (Clean Architecture) در پروژههای گو
موضوع کلی: برنامه نویسی
موضوع میانی: گو (Go)
📋 سرفصلهای دوره
- 1. مقدمهای بر Go برای مهندسان نرمافزار
- 2. مدیریت ماژولها و ساختار پروژه Go
- 3. انواع دادههای پایه و متغیرها در Go
- 4. ساختارهای کنترلی: If, For, Switch
- 5. توابع، متدها و رسیورها
- 6. بستهها و قوانین قابلیت دید (Visibility)
- 7. مدیریت خطا در Go به روش اصولی
- 8. اینترفیسها در Go: قدرت و انعطافپذیری
- 9. استراکتها و انواع سفارشی
- 10. پرایمریهای همزمانی: گوروتینها و کانالها
- 11. چرا معماری نرمافزار اهمیت دارد؟
- 12. مقدمهای بر اصول طراحی نرمافزار
- 13. اصل مسئولیت واحد (SRP)
- 14. اصل باز/بسته (OCP)
- 15. اصل جایگزینی لیسکوف (LSP)
- 16. اصل تفکیک اینترفیس (ISP)
- 17. اصل وارونگی وابستگی (DIP)
- 18. اصول DRY, KISS, YAGNI
- 19. همبستگی (Cohesion) و کوپلینگ (Coupling)
- 20. هزینه طراحی ضعیف
- 21. معماریهای مونولیتیک در مقابل توزیعشده
- 22. معماری لایهای
- 23. معماری N-Tier
- 24. معماری ششضلعی (Ports & Adapters)
- 25. معماری پیاز (Onion Architecture)
- 26. مقدمهای بر طراحی دامنهمحور (DDD)
- 27. Bounded Contexts در DDD
- 28. طراحی استراتژیک در DDD
- 29. مقدمهای بر معماری تمیز (دیدگاه رابرت سی. مارتین)
- 30. دایرههای متحدالمرکز معماری تمیز
- 31. قانون وابستگی (The Dependency Rule) تشریح شده
- 32. Entity ها: درونیترین لایه
- 33. Use Case ها (Interactor ها): قوانین کسبوکار برنامه
- 34. Interface Adapter ها: پل زدن بین لایههای داخلی و خارجی
- 35. Framework ها و Driver ها: بیرونیترین لایه
- 36. جریان کنترل و داده در بین لایهها
- 37. تعریف مرزها و Abstraction ها
- 38. چه زمانی از معماری تمیز استفاده کنیم؟
- 39. مزایای معماری تمیز
- 40. تصورات غلط و اشتباهات رایج در معماری تمیز
- 41. ساختار پروژه برای معماری تمیز در Go
- 42. تعریف Domain Entity ها در Go
- 43. Value Object ها و Aggregate ها در Go
- 44. پیادهسازی اینترفیس Use Case (Ports)
- 45. پیادهسازی منطق Use Case (Interactors)
- 46. مدلهای درخواست و پاسخ برای Use Case ها
- 47. تعریف اینترفیس Repository (Gateway Ports)
- 48. پیادهسازی Repository های واقعی (Gateway Adapters)
- 49. تزریق وابستگی (Dependency Injection) دستی در Go
- 50. تزریق وابستگی با کتابخانههای شخص ثالث (مانند Wire, Fx)
- 51. استراتژی مدیریت خطا در بین لایهها
- 52. اعتبارسنجی ورودی در لایه بیرونی
- 53. اعتبارسنجی قوانین کسبوکار در Use Case ها
- 54. استفاده از Context برای دادههای Scope دار و لغو عملیات
- 55. جنریکها در Go برای الگوهای معماری
- 56. Handler های HTTP به عنوان Interface Adapter (Controller ها)
- 57. نقشهبرداری درخواستهای HTTP به ورودیهای Use Case
- 58. نقشهبرداری خروجیهای Use Case به پاسخهای HTTP
- 59. انتخاب فریمورک HTTP (net/http در مقابل Gin/Echo)
- 60. پیادهسازی Controller ها با net/http
- 61. پیادهسازی Controller ها با یک فریمورک (مانند Gin)
- 62. Presenter ها و View Model ها (اختیاری برای API ها)
- 63. DTO های درخواست و DTO های پاسخ
- 64. سریالیزه و دیسریالیزه کردن JSON
- 65. مدیریت مسیرها و Middleware ها در معماری تمیز
- 66. الگوی Repository با جزئیات
- 67. انتخاب پایگاه داده برای پروژههای Go
- 68. پیادهسازی Repository های پایگاه داده SQL
- 69. استفاده از ORM ها یا SQL Builder ها (GORM, SQLC, Squirrel)
- 70. مدیریت Pool اتصال و پیکربندی پایگاه داده
- 71. Repository های پایگاه داده NoSQL (مانند MongoDB, Redis)
- 72. ادغام API ها و سرویسهای خارجی
- 73. مدیریت کلاینتهای API شخص ثالث
- 74. Circuit Breaker ها برای سرویسهای خارجی
- 75. مدیریت تراکنشها در Repository ها
- 76. اهمیت تست در معماری تمیز
- 77. تست واحد (Unit Test) Entity های دامنه
- 78. تست واحد Use Case ها (منطق کسبوکار)
- 79. تست واحد پیادهسازی Repository ها
- 80. Mock کردن و Stub کردن وابستگیهای خارجی
- 81. Test Double ها: Mocks, Stubs, Fakes, Spies
- 82. تست یکپارچهسازی (Integration Test) لایهها
- 83. نوشتن کدهای قابل تست
- 84. هرم تست در معماری تمیز
- 85. توسعه مبتنی بر رفتار (BDD) با Go
- 86. تفکیک مسئولیتهای Command و Query (CQRS) در Go
- 87. اصول معماری مبتنی بر رویداد (EDA)
- 88. پیادهسازی Event Sourcing (مفاهیم پایه)
- 89. ادغام صفهای پیام (Kafka, RabbitMQ)
- 90. الگوی Saga برای تراکنشهای توزیعشده
- 91. قابلیت مشاهده: Log کردن، Metrics، Tracing
- 92. خاموش شدن نرم (Graceful Shutdown) در برنامههای Go
- 93. استراتژیهای استقرار برای سرویسهای Go
- 94. کانتینرسازی با Docker
- 95. مقدمهای بر ارکستراسیون با Kubernetes
- 96. ادغام احراز هویت و مجوزدهی
- 97. بهترین شیوههای امنیتی (OWASP Top 10)
- 98. تکنیکهای بهینهسازی عملکرد
- 99. بازسازی و تکامل معماری تمیز
- 100. موازنه و زمان مناسب برای انحراف از اصول
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
Clean Architecture
clean code
Go
Go programming
Go Testing
software design
SOLID principles
اصول SOLID
الگوهای طراحی نرم افزار
برنامه نویسی گو
تست نویسی در گو
طراحی نرم افزار
کد تمیز
گو
معماری تمیز
معماری نرم افزار
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.