کتاب صوتی از شی‌گرایی تا تابعی: یک راهنمای جامع برای مهاجرت

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

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 124,963 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره از شی‌گرایی تا تابعی: یک راهنمای جامع برای مهاجرت

موضوع کلی: برنامه نویسی

موضوع میانی: برنامه‌نویسی تابعی (Functional Programming)

📋 سرفصل‌های دوره

  • 1. مقدمه‌ای بر دوره: چرا از شی‌گرایی به تابعی مهاجرت کنیم؟
  • 2. بازنگری مفاهیم اصلی شی‌گرایی: کپسوله‌سازی، وراثت، چندریختی
  • 3. مشکلات رایج در پارادایم شی‌گرایی: مدیریت حالت پیچیده
  • 4. عوارض جانبی (Side Effects) و خطرات آن در کدهای شی‌گرا
  • 5. معرفی پارادایم برنامه‌نویسی تابعی: تاریخچه و فلسفه
  • 6. مقایسه سطح بالای دو پارادایم: دستوری (Imperative) در مقابل اعلانی (Declarative)
  • 7. تغییر ذهنیت: چگونه مانند یک برنامه‌نویس تابعی فکر کنیم؟
  • 8. توابع به عنوان شهروند درجه یک (First-Class Functions)
  • 9. توابع خالص (Pure Functions): تعریف و اهمیت
  • 10. شفافیت ارجاعی (Referential Transparency) و پیش‌بینی‌پذیری کد
  • 11. تغییرناپذیری (Immutability): کلید اصلی سادگی
  • 12. مقایسه مدیریت حالت: جهش‌پذیری (Mutability) در مقابل تغییرناپذیری
  • 13. ساختارهای داده تغییرناپذیر (Immutable Data Structures)
  • 14. عبارات لامبدا (Lambda Expressions) و توابع بی‌نام (Anonymous Functions)
  • 15. توابع سطح بالا (Higher-Order Functions): توابع به عنوان آرگومان
  • 16. توابع سطح بالا: توابع به عنوان خروجی
  • 17. ترکیب توابع (Function Composition): ساختن از قطعات کوچک
  • 18. پایپینگ (Piping) یا زنجیره‌سازی توابع
  • 19. کری کردن (Currying): تبدیل توابع چند آرگمانه به تک آرگمانه
  • 20. کاربرد جزئی (Partial Application) و مزایای آن
  • 21. بازگشت (Recursion) به جای حلقه‌ها
  • 22. بهینه‌سازی فراخوانی از انتها (Tail Call Optimization)
  • 23. پردازش لیست‌ها به روش تابعی: تابع `map`
  • 24. پردازش لیست‌ها به روش تابعی: تابع `filter`
  • 25. پردازش لیست‌ها به روش تابعی: تابع `reduce` (Fold)
  • 26. تفاوت `foldLeft` و `foldRight`
  • 27. ساختارهای داده جبری (Algebraic Data Types - ADTs)
  • 28. انواع محصول (Product Types): رکوردها و تاپل‌ها
  • 29. انواع مجموع (Sum Types): داده‌های شمارشی و Unionها
  • 30. تطبیق الگو (Pattern Matching): جایگزین قدرتمند `if/else` و `switch`
  • 31. استفاده از تطبیق الگو برای استخراج داده‌ها
  • 32. سیستم‌های نوع قوی و استنتاج نوع (Type Inference)
  • 33. مقدمه‌ای بر نظریه دسته‌ها (Category Theory) برای برنامه‌نویسان
  • 34. فانک‌تورها (Functors): کانتینرهایی که می‌توان روی آنها `map` کرد
  • 35. پیاده‌سازی یک فانک‌تور سفارشی
  • 36. اپلیکتیوها (Applicative Functors): اعمال توابع در یک زمینه (Context)
  • 37. مقدمه‌ای بر مونَدها (Monads): حل مشکل زنجیره‌سازی عملیات
  • 38. قوانین موندها (Monad Laws)
  • 39. موند `Maybe` یا `Option`: مدیریت مقادیر پوچ (Null)
  • 40. موند `Either` یا `Result`: مدیریت خطاها به روش تابعی
  • 41. موند `List`: مدیریت محاسبات غیرقطعی
  • 42. موند `State`: مدیریت حالت به روشی خالص
  • 43. موند `Reader`: مدیریت وابستگی‌ها (Dependency Injection)
  • 44. موند `IO`: جداسازی عوارض جانبی از منطق خالص
  • 45. ترکیب‌کننده‌های موندی (Monad Transformers)
  • 46. ارزیابی کند (Lazy Evaluation) و مزایای آن
  • 47. ساختارهای داده کند (Lazy Data Structures) مانند استریم‌ها
  • 48. مدیریت خطا در برنامه‌نویسی تابعی بدون Exception
  • 49. الگوی طراحی Railway Oriented Programming
  • 50. طراحی با قرارداد (Design by Contract) در دنیای تابعی
  • 51. جداسازی منطق خالص از کدهای ناخالص (Functional Core, Imperative Shell)
  • 52. تزریق وابستگی به سبک تابعی
  • 53. آزمون‌نویسی برای توابع خالص
  • 54. آزمون‌نویسی مبتنی بر ویژگی (Property-Based Testing)
  • 55. استراتژی‌های بازآفرینی (Refactoring) از شی‌گرایی به تابعی
  • 56. قدم اول مهاجرت: شناسایی و جداسازی عوارض جانبی
  • 57. بازآفرینی متدها به توابع خالص
  • 58. جایگزینی حالت‌های جهش‌پذیر با ساختارهای داده تغییرناپذیر
  • 59. تبدیل حلقه‌های `for` و `while` به `map`, `filter`, `reduce`
  • 60. جایگزینی وراثت با ترکیب (Composition over Inheritance)
  • 61. الگوی Strangler Fig برای مهاجرت تدریجی یک سیستم بزرگ
  • 62. ایجاد یک "حباب تابعی" در یک پایگاه کد شی‌گرا
  • 63. مدیریت پایگاه داده و I/O در یک معماری تابعی
  • 64. چالش‌های مهاجرت: عملکرد (Performance)
  • 65. چالش‌های مهاجرت: منحنی یادگیری تیم
  • 66. معماری‌های تابعی: مقایسه با MVC و MVVM
  • 67. بررسی یک مطالعه موردی: مهاجرت یک کلاس Controller شی‌گرا
  • 68. بررسی یک مطالعه موردی: بازنویسی یک سرویس مدیریت کاربر
  • 69. برنامه‌نویسی واکنشی تابعی (Functional Reactive Programming - FRP)
  • 70. همزمانی (Concurrency) و موازی‌سازی (Parallelism) در FP
  • 71. مدل اکتور (Actor Model) و ارتباط آن با FP
  • 72. حافظه تراکنشی نرم‌افزاری (Software Transactional Memory - STM)
  • 73. آشنایی با زبان‌های تابعی خالص: Haskell
  • 74. آشنایی با زبان‌های تابعی هیبریدی: Scala
  • 75. آشنایی با زبان‌های تابعی هیبریدی: F#
  • 76. آشنایی با زبان‌های تابعی روی JVM: Clojure
  • 77. آشنایی با زبان‌های تابعی روی BEAM: Elixir
  • 78. برنامه‌نویسی تابعی در جاوا اسکریپت (ES6+)
  • 79. برنامه‌نویسی تابعی در پایتون
  • 80. برنامه‌نویسی تابعی در جاوا (Stream API)
  • 81. برنامه‌نویسی تابعی در سی‌شارپ (LINQ)
  • 82. کتابخانه‌های محبوب تابعی در زبان‌های مختلف (مانند Lodash, Ramda, Vavr)
  • 83. عدسی‌ها (Lenses): راهی برای دستکاری ساختارهای داده تودرتو
  • 84. برنامه‌نویسی در سطح نوع (Type-Level Programming)
  • 85. انواع وابسته (Dependent Types): یک نگاه کلی
  • 86. موندهای آزاد (Free Monads) برای ساخت DSL
  • 87. الگوی Tagless Final برای انتزاع نهایی
  • 88. ملاحظات عملکردی: هزینه تغییرناپذیری و جمع‌آوری زباله
  • 89. الگوهای طراحی رایج در برنامه‌نویسی تابعی
  • 90. ساخت یک پروژه کوچک کاملاً تابعی از صفر تا صد
  • 91. اشتباهات متداول برنامه‌نویسان شی‌گرا در یادگیری FP
  • 92. اخلاقیات برنامه‌نویسی تابعی: سادگی، ترکیب‌پذیری و صراحت
  • 93. آینده برنامه‌نویسی تابعی و جایگاه آن در صنعت
  • 94. جمع‌بندی دوره: ادغام دو جهان
  • 95. مسیر پیش رو: ادامه یادگیری و مشارکت در جامعه تابعی
  • 96. **مدیریت خطا در برنامه‌نویسی تابعی: رویکردهای بدون Side Effect (مانند Maybe/Either)**
  • 97. **ساختارهای داده‌ای تغییرناپذیر (Immutable Data Structures) و مزایای آن‌ها**
  • 98. **الگوهای طراحی تابعی: Currying, Composition, Functors, Monads**
  • 99. **همزمانی و موازی‌سازی در برنامه‌نویسی تابعی**
  • 100. **تست و دیباگینگ کدهای تابعی: استراتژی‌ها و ابزارها**
EXPRESS24 AUDIO EXPERIENCE
یادگیری را بشنوید؛ زندگی کنید
کتاب‌های صوتی و پادکست‌های آموزشی، راهی دلنشین برای کشف ایده‌های تازه، گسترش دانش و استفاده بهتر از لحظه‌های روزمره هستند.
دانش، الهام و تجربه؛ این بار با صدای زندگی
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفت‌وآمد هستید، قدم می‌زنید، استراحت می‌کنید یا کارهای روزمره‌تان را انجام می‌دهید. محتوای صوتی کمک می‌کند از این لحظه‌ها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفت‌وآمد، پیاده‌روی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربه‌ای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازه‌ای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایده‌های تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادت‌های شخصی‌تان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، می‌توانید داستان‌ها، آموزش‌ها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتاب‌ها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفت‌وگو، روایت، توضیح آموزشی یا مجموعه‌ای از قسمت‌های صوتی؛ مناسب برای کشف ایده‌ها و آشنایی با دیدگاه‌های گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاه‌های تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپ‌تاپ
با پخش‌کننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکته‌های مهم را یادداشت کنید یا پس از پایان شنیدن، آن‌ها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتاب‌های صوتی و پادکست‌های آموزشی، دنیای تازه‌ای از ایده‌ها، روایت‌ها و آموختنی‌ها را به لحظه‌های خود اضافه کنید.
کشف محصولات بیشتر در اکسپرس ۲۴
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرم‌افزار مورد استفاده بستگی دارد.
AUDIO PREVIEW
قبل از انتخاب، گوش کنید!
بخشی از سبک محتوای محصولات صوتی ما را بشنوید و با فضای آن آشنا شوید.
♫
نمونه صوتی از سبک محصولات صوتی ما
پیش‌نمایش کوتاهی از سبک پادکست های صوتی محصولات ما
پخش آنلاین
برای تجربه بهتر، می‌توانید از هدفون استفاده کنید.
تگ‌ها: آموزش آنلاین از شی‌گرایی تا تابعی: یک راهنمای جامع برای مهاجرت برنامه نویسی برنامه‌نویسی تابعی (Functional Programming) دوره آموزشی

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.