اپلیکیشن اندرویدی فلشکارت آموزشی برنامهنویسی تابعی در جاوا با 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)
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.