آموزش برنامه‌نویسی تابعی در جاوا: لامبداها و استریم‌های جاوا - آخرین آپدیت

دانلود Functional Programming in Java : Java Lambdas and Streams

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

یادگیری حرفه‌ای لامبدا و استریم در جاوا با مثال‌های کد فراوان

در این دوره جامع، به صورت کاملا کاربردی و با استفاده از کدهای نمونه فراوان، عبارات لامبدا و استریم‌ها در زبان برنامه‌نویسی جاوا را فرا خواهید گرفت.

تمامی نمونه کدها در مخزن گیت‌هاب من موجود است.

مباحث کلیدی این دوره:

لامبدا (Lambdas) در جاوا

  • واسط‌های تابعی (Functional Interfaces)

    • معرفی واسط‌های تابعی و ارتباط آن‌ها با عبارات لامبدا.
    • استفاده از لامبدا با واسط‌های تابعی سفارشی.
    • استفاده از لامبدا با واسط‌های تابعی از پیش تعریف شده در API جاوا:
      • Predicate/BiPredicate
      • Supplier
      • Consumer/BiConsumer
      • Function/BiFunction
      • UnaryOperator و BinaryOperator
    • سینتکس کلاس‌های درونی ناشناس (Anonymous Inner Classes) در مقابل عبارات لامبدا.
    • مفهوم `final` و "به طور مؤثر نهایی" (effectively final).
  • ارجاع متد (Method References)

    • ارتباط ارجاع متد با لامبداها.
    • انواع مختلف ارجاع متد با مثال‌های کد: محدود (bound)، نامحدود (unbound)، ایستا (static) و سازنده (constructor).
    • چگونگی تاثیر زمینه (context) در درک بهتر ارجاع متدها.
  • تمرین

    تمرین‌هایی برای تثبیت مطالب آموخته شده پیرامون لامبدا.

استریم‌ها (Streams) در جاوا

  • مفاهیم پایه استریم

    • استریم‌ها چیستند و چه کاربردی دارند.
    • خط لوله‌های استریم (stream pipelines) و تنبلی استریم (stream laziness).
    • نحوه ایجاد استریم.
  • عملیات پایانی (Terminal Operations)

    • عملیات پایانی مانند reduce().
    • عملیات collect() با مثال‌های کد:
      • Collectors.toMap()
      • Collectors.groupingBy()
      • Collectors.partitioningBy()
  • عملیات میانی (Intermediate Operations)

    • عملیات میانی با مثال‌های کد: filter()، distinct()، limit()، map()، flatMap() و sorted().
    • توضیح عملیات میانی حالت‌دار (stateful) و کوتاه‌کننده (short-circuiting).
  • استریم‌های اولیه (Primitive Streams)

    • نحوه ایجاد استریم‌های اولیه.
    • شکل ظاهری API آن‌ها.
    • نگاشت بین استریم‌های اولیه.
    • نگاشت بین استریم‌های اولیه و استریم‌های آبجکت (Object streams) و بالعکس.
  • Optional

    • Optional چیست و چرا مفید است.
    • نمونه کدهایی که استفاده از Optional را نشان می‌دهند.
  • استریم‌های موازی (Parallel Streams)

    • نحوه ایجاد استریم‌های موازی.
    • پردازش استریم به صورت ترتیبی (sequential) در مقابل موازی (parallel).
  • تمرین

    تمرین‌هایی برای تثبیت مطالب آموخته شده پیرامون استریم‌ها.

پیش‌نیازها:

سطح متوسط جاوا. در حالی که دوره "Java 8 OCA (1Z0-808) Course" من از پایه شروع می‌شود، این دوره فرض می‌کند که شما دانش متوسطی از زبان جاوا دارید.

برای درک بهتر لامبداها، آشنایی با کلاس‌های درونی ناشناس (anonymous inner classes) مفید خواهد بود. با این حال، لامبداها در این دوره در مقابل سینتکس کلاس‌های درونی ناشناس قرار گرفته و توضیح داده می‌شوند.

نکته مهم: دوره پیشرفته من با نام "Java 21, Java 17, Java 11, Java 8 (adv.) and Spring Boot 3" این دوره را به عنوان زیرمجموعه‌ای شامل می‌شود. دوره پیشرفته من بیش از 31 ساعت محتوا دارد و توصیه می‌شود قبل از سرمایه‌گذاری در این دوره، نگاهی به آن بیندازید (چون به نظر من، ارزش پول بیشتری دارد).

نظرات نمونه دانشجویان:

  • "دوره عالی در مورد لامبدا و استریم‌های جاوا. دکتر Sean Kennedy تمام مفاهیم و تکنیک‌ها را با حجم زیادی مثال به وضوح توضیح داد. تمرین‌ها منعکس‌کننده آموخته‌های ما در دوره بود. از دکتر Sean Kennedy سپاسگزارم!" [Jing H]
  • "این دوره دانش عملی در مورد نحوه کار با برنامه‌نویسی تابعی در جاوا را ارائه می‌دهد. از لامبدا تا Optional، روشی که API جاوا 8 این ویژگی‌های جدید را اضافه می‌کند، عامل کلیدی برای بهره‌وری و عملکرد است." [Calebe O]
  • "مختصر، آسان برای دنبال کردن، بسیار مفید. مدرس بسیار با استعداد." [Luka K]
  • "Sean لامبدا و استریم‌ها را توضیح داد و تمام موضوعات را در سطح جزئی پوشش داد." [Kalpana M]
  • "دوره بسیار خوبی است، چیزهای جدید زیادی یاد گرفتم. دکتر کندی باید دوره‌های بیشتری ارائه دهد." [Vasudha S.]
  • "دوره بسیار خوب سازماندهی شده و به وضوح ارائه شده است. متشکرم، دکتر Seán Kennedy." [Ricardo R.]
  • "دوره فوق‌العاده، کمک بزرگی در این زمینه مهم برنامه‌نویسی جاوا." - David F.
  • "دوره عالی و توضیحات مدرس." - E. A.
  • "دوره فوق‌العاده، بسیار جذاب و به شیوه‌ای قابل فهم ارائه شده است." - Gary W.
  • "دوره عالی، مفاهیم به صورت واضح و مختصر توضیح داده شده‌اند و درک آنها را آسان می‌کنند." - Bv
  • "محتوا به وضوح و به طور دقیق توضیح داده شده است. توصیه می‌شود." - Daniel M.

این دوره یک رویکرد سیستماتیک برای توضیح عبارات لامبدا و استریم‌ها در جاوا، هم در قالب یادداشت و هم در قالب مثال‌های کد، ارائه می‌دهد.

این دوره برای گواهینامه‌های جاوا طراحی شده است؛ به عنوان مثال، بخش‌های لامبدای Predicate برای Java 8 OCA (1Z0-808) مناسب است. بخش‌های باقی‌مانده لامبدا و بخش‌های استریم برای هر نسخه‌ای از Java OCP مناسب است. این دوره مفاهیم را از طریق مثال‌های کد کوچک، ساده و هدفمند توضیح می‌دهد.

توجه داشته باشید که دو دوره دیگر من، یعنی "Java 8 OCA (1Z0-808) Certification - Master the Fundamentals" و "Java 21, Java 17, Java 11, Java 8 (advanced) and Spring Boot" هر دو برای سبد محصولات Udemy Business انتخاب شده‌اند (تنها 3% از دوره‌ها واجد شرایط هستند).

برای کسانی که من را نمی‌شناسند، من از سال 2002 مدرس هستم و از سال 2013 به نمایندگی از یک شرکت نرم‌افزاری معتبر، سرفصل‌های Java OCA و OCP را تدریس کرده‌ام. پس از اتمام دوره‌ها با من، فارغ‌التحصیلان با آزمون داخلی صدور گواهینامه جاوا شرکت روبرو می‌شوند (شبیه به آزمون Oracle). من هیچ دیدی نسبت به سوالاتی که با آن‌ها روبرو خواهند شد ندارم. این یک آزمون فشرده 3 ساعته است. شرکت از نرخ قبولی (100% از سال اول) بسیار خشنود است. من عاشق تدریس هستم و این دوره تمام تجربه من در توضیح لامبداها و استریم‌ها در جاوا را در بر دارد.


سرفصل ها و درس ها

لمبدا ها (عبارات لمبدا) Lambdas (Lambda Expressions)

  • مقدمه Introduction

  • کلون کردن ریپازیتوری گیت‌هاب من Cloning my GitHub Repo(sitory)

  • لمبدا ها در کد (با استفاده از رابط تابعی سفارشی) Lambdas in code (using a custom functional interface)

  • لمبدا ها در کد (با استفاده از Predicate) Lambdas in code (using Predicate)

  • رابط‌های تابعی از API - Predicate و BiPredicate Functional Interfaces from the API - Predicate and BiPredicate

  • رابط‌های تابعی از API - Supplier Functional Interfaces from the API - Supplier

  • رابط‌های تابعی از API - Consumer و BiConsumer Functional Interfaces from the API - Consumer and BiConsumer

  • رابط‌های تابعی از API - Function و BiFunction Functional Interfaces from the API - Function and BiFunction

  • رابط‌های تابعی از API - UnaryOperator و BinaryOperator Functional Interfaces from the API - UnaryOperator and BinaryOperator

  • لمبدا ها - نهایی و به‌طور مؤثر نهایی Lambdas - final and effectively final

  • ارجاعات متد Method References

  • ارجاعات متد پیوندی Bound Method References

  • ارجاعات متد بدون پیوند Unbound Method References

  • ارجاعات متد استاتیک Static Method References

  • ارجاعات متد سازنده Constructor Method References

  • ارجاعات متد و زمینه Method References and Context

  • آزمایشگاه لمبدا ها Lambdas Lab

  • لمبدا ها و ارجاعات متد Lambdas and Method References

استریم‌ها Streams

  • مقدمه و خطوط لوله استریم Introduction and Stream Pipelines

  • تنبل‌سازی استریم Stream Laziness

  • ایجاد استریم‌ها Creating Streams

  • عملیات پایانی Terminal Operations

  • عملیات پایانی - reduce() Terminal Operations - reduce()

  • عملیات پایانی - collect() Terminal Operatons - collect()

  • عملیات پایانی - collect() - Collectors.toMap() Terminal Operations - collect() - Collectors.toMap()

  • عملیات پایانی - collect() - Collectors.groupingBy() Terminal Operations - collect() - Collectors.groupingBy()

  • عملیات پایانی - collect() - Collectors.partitioningBy() Terminal Operations - collect() - Collectors.partitioningBy()

  • عملیات میانی - filter(), distinct() و limit() Intermediate Operations - filter(), distinct() and limit()

  • عملیات میانی - map(), flatMap() و sorted() Intermediate Operations - map(), flatMap() and sorted()

  • استریم‌های اولیه - ایجاد Primitive Streams - creating

  • استریم‌های اولیه - API Primitive Streams - API

  • استریم‌های اولیه - رابط‌های تابعی Primitive Streams - Functional Interfaces

  • استریم‌های اولیه - نگاشت Primitive Streams - mapping

  • نگاشت استریم‌های شیء Mapping Object Streams

  • نگاشت استریم‌های اولیه Mapping Primitive Streams

  • اختیاری‌ها Optionals

  • استریم‌های موازی Parallel Streams

  • تکلیف استریم‌ها Streams Assignment

محتوای جایزه Bonus Content

  • درس جایزه Bonus Lecture

نمایش نظرات

آموزش برنامه‌نویسی تابعی در جاوا: لامبداها و استریم‌های جاوا
جزییات دوره
4.5 hours
36
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
640
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar