دوره برنامهنویسی تابعی در جاوا با Stream API و Lambda همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره برنامهنویسی تابعی در جاوا با Stream API و Lambda
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی تابعی (Functional Programming)
📋 سرفصلهای دوره
- 1. مقدمه ای بر برنامه نویسی تابعی
- 2. تفاوت های برنامه نویسی تابعی و دستوری
- 3. چرا برنامه نویسی تابعی؟ مزایا و معایب
- 4. مفهوم تابع در برنامه نویسی تابعی
- 5. توابع خالص (Pure Functions)
- 6. توابع بدون اثر جانبی (Side-Effect Free Functions)
- 7. نودم (Immutability) و اهمیت آن
- 8. توابع مرتبه اول (First-Class Functions)
- 9. توابع مرتبه بالاتر (Higher-Order Functions)
- 10. تابع سازی (Function Composition)
- 11. توابع ناشناس (Anonymous Functions)
- 12. عبارات لامبدا (Lambda Expressions)
- 13. سینتکس لامبدا در جاوا
- 14. کاربرد لامبدا در جاوا
- 15. اینترفیس های تابعی (Functional Interfaces)
- 16. اینترفیس های تابعی پیش تعریف شده در جاوا
- 17. `java.util.function.Function`
- 18. `java.util.function.Consumer`
- 19. `java.util.function.Supplier`
- 20. `java.util.function.Predicate`
- 21. استفاده از لامبدا با اینترفیس های تابعی
- 22. متد abstract در اینترفیس های تابعی
- 23. متد default و static در اینترفیس های تابعی
- 24. استفاده از لامبدا با متدهای default و static
- 25. مفهوم Stream API در جاوا
- 26. چرا Stream API؟ مزایا و معایب
- 27. مفهوم Stream
- 28. نحوه ایجاد Stream
- 29. ایجاد Stream از Collection
- 30. ایجاد Stream از Array
- 31. ایجاد Stream از مقادیر ثابت
- 32. ایجاد Stream از فایل
- 33. ایجاد Stream از Generator Function
- 34. Stream های بی نهایت (Infinite Streams)
- 35. متدهای واسطه (Intermediate Operations)
- 36. متدهای نهایی (Terminal Operations)
- 37. کاربرد متدهای واسطه و نهایی
- 38. فیلتر کردن عناصر Stream با `filter()`
- 39. استخراج عناصر با `map()`
- 40. تبدیل عناصر با `flatMap()`
- 41. انتخاب منحصر به فرد عناصر با `distinct()`
- 42. مرتب سازی عناصر Stream با `sorted()`
- 43. ادغام عناصر Stream با `reduce()`
- 44. جمع آوری عناصر Stream با `collect()`
- 45. استفاده از `Collectors` برای جمع آوری
- 46. `Collectors.toList()`
- 47. `Collectors.toSet()`
- 48. `Collectors.toMap()`
- 49. `Collectors.joining()`
- 50. `Collectors.groupingBy()`
- 51. `Collectors.partitioningBy()`
- 52. پردازش موازی با Stream API
- 53. تفاوت Stream های موازی و ترتیبی
- 54. انتخاب بین Stream های موازی و ترتیبی
- 55. مدیریت خطا در Stream API
- 56. مفهوم Optional در جاوا
- 57. چرا Optional؟ مزایا و معایب
- 58. استفاده از Optional برای جلوگیری از NullPointerException
- 59. ایجاد Optional
- 60. متدهای `get()`, `isPresent()`, `orElse()`, `orElseThrow()`
- 61. متدهای `map()`, `flatMap()`, `filter()` در Optional
- 62. ترکیب Optional و Stream API
- 63. برنامه نویسی تابعی در Java 8 به بعد
- 64. قابلیت های جدید Java 8 مرتبط با Functional Programming
- 65. استفاده از Streams در پردازش داده ها
- 66. کاربرد Stream API در عملیات CRUD
- 67. بهینه سازی کد با استفاده از Functional Programming
- 68. مفهوم Memoization
- 69. پیاده سازی Memoization در جاوا
- 70. مفهوم Currying
- 71. پیاده سازی Currying در جاوا
- 72. مفهوم Partial Application
- 73. پیاده سازی Partial Application در جاوا
- 74. مفهوم Monads (معرفی اولیه)
- 75. Monad های ساده در جاوا (مانند Optional)
- 76. بررسی عمیق تر `Stream.reduce()`
- 77. استفاده از `Optional` در `reduce()`
- 78. پردازش داده های تو در تو با `flatMap()`
- 79. پیاده سازی عملیات پیچیده با ترکیب متدها
- 80. مثال های عملی و کاربردی از Stream API
- 81. کاربرد در پردازش فایل های بزرگ
- 82. کاربرد در پردازش شبکه
- 83. کاربرد در تحلیل داده
- 84. کاربرد در توسعه بازی (مفاهیم اولیه)
- 85. کاربرد در برنامه های وب
- 86. استفاده از Stream API در Spring Framework
- 87. استفاده از Stream API در Hibernate
- 88. پرهیز از حلقه های for و while
- 89. تبدیل کد دستوری به کد تابعی
- 90. نکات پیشرفته در استفاده از `Collectors`
- 91. `Collectors.averagingInt()`, `averagingLong()`, `averagingDouble()`
- 92. `Collectors.summingInt()`, `summingLong()`, `summingDouble()`
- 93. `Collectors.counting()`
- 94. `Collectors.minBy()`, `Collectors.maxBy()`
- 95. `Collectors.collectingAndThen()`
- 96. `Collectors.teeing()`
- 97. استفاده از `Stream.iterate()`
- 98. استفاده از `Stream.generate()`
- 99. مدیریت منابع در Stream API (مانند بستن فایل)
- 100. معرفی کتابخانه های Functional Programming در جاوا (مانند Vavr)
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.