آموزش جاوای مدرن - با کدنویسی ویژگی های جاوا 8 را بیاموزید

Modern Java - Learn Java 8 features by coding it

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: Lambdas، Streams، APIهای جدید Date، اختیاری و برنامه نویسی موازی را در جاوا 8 با کدگذاری آن بیاموزید. یادگیری برنامه نویسی تابعی در جاوا درک کامل Lambdas، Streams، اختیاری از طریق کد. دانش آموزان قادر خواهند بود مفاهیم جدید جاوا 8 را در زمان واقعی پیاده سازی کنند. کتابخانه های جدید تاریخ/زمان را در جاوا 8 بیاموزید استفاده از مرجع روش، نحو مرجع سازنده را بیاموزید. برنامه نویسی موازی را با استریم ها بیاموزید و درک کنید. دانش‌آموز می‌تواند دانش جاوا خود را با ویژگی‌های کاربردی جدید ارتقا دهد. این دوره به طور مداوم به روز خواهد شد. پیش نیازها:دانشجویان باید در مورد جاوا اطلاعات اولیه داشته باشند. دانش آموزان باید در مورد IDE مانند Eclipse، Intellij IDEA اطلاعات داشته باشند حداقل جاوا 8 برای این دوره مورد نیاز است. هر نسخه جاوا بزرگتر از جاوا 8 نیز کار می کند

ویژگی‌های جدید جاوا 8 را با کدگذاری آن بیاموزید. این یک دوره کد نویسی خالص است و با کدنویسی آن، درک کاملی از تمام ویژگی‌های جاوا 8 خواهید داشت.

چرا باید این دوره را بگذرانم؟

  • این دوره به توسعه دهندگان جاوا کمک می کند تا دانش خود را بر روی ویژگی های جدید جاوا 8 ایجاد کنند.

  • همه ویژگی‌های جدید مانند  Lambdas، Streams، گزینه‌ها، رابط‌های کاربردی و برنامه‌نویسی موازی از طریق کد توضیح داده می‌شوند.

  • این دوره به شما اعتماد به نفس در اجرای ویژگی‌های جدید جاوا 8 در پروژه‌های جاوا واقعی می‌دهد.

  • در پایان این دوره، درک کاملی از ویژگی‌های کاربردی جدید جاوا 8 خواهید داشت.

نمای کلی دوره: 

بخش 1 - شروع به کار:

  • این بخش در مورد آنچه در این دوره پوشش داده خواهد شد توضیح می دهد.

بخش 2 - چرا Java-8؟:

  • این بخش به این موضوع می‌پردازد که چرا جاوا 8 مهم است؟.

  • این بخش در مورد تفاوت بین برنامه نویسی ضروری و برنامه نویسی اعلامی توضیح می دهد.

بخش 3 - تنظیم فضای کاری - Mac/Windows:

  • این بخش نصب جاوا و IntelliJ در Mac و Windows را پوشش می‌دهد.

بخش 4: مقدمه ای بر لامبدا

  • این بخش به چرایی نیاز به لامبدا، نحو لامبدا و نحوه اجرای لامبدا می‌پردازد؟

  • رابط Runnable را با استفاده از Lambdas پیاده سازی کنید.

  • رابط مقایسه کننده را با استفاده از Lambdas پیاده سازی کنید.

بخش 5: لامبداها و رابط های کاربردی

  • این بخش رابط های کاربردی جدیدی را که به عنوان بخشی از جاوا 8 معرفی شده اند، پوشش می دهد.

    • رابط کاربری مصرف کننده

    • رابط عملکردی محمول

    • رابط عملکردی عملکرد

    • رابط عملکردی تامین کننده.

بخش 6: منابع سازنده و روش

  • این بخش مرجع روش جدید و مرجع سازنده را پوشش می دهد.

    • چگونه مرجع روش کد را ساده می کند.

    • نحوه استفاده از مرجع روش همراه با Lambdas.

    • نحوه استفاده از Constructor Reference برای ایجاد اشیاء جدید.

بخش 7 : متغیرهای لامبدا و محلی ( عملاً نهایی )

  • این بخش متغیر محلی و نحوه استفاده از آن در Lambdas را پوشش می‌دهد.

  • تعریف به طور موثر دامنه نهایی یک متغیر.

بخش 8 : Streams API

  • این بخش Streams API را پوشش می‌دهد که یکی از ویژگی‌های مهمی است که به عنوان بخشی از Java8 معرفی شده است.

  • Stream API در داخل چگونه کار می‌کند؟

  • مجموعه‌ها چه تفاوتی با Streams دارند؟

  • چگونه یک جریان را اشکال زدایی کنیم؟

بخش 9: عملیات API جریانی

  • این بخش عملیات‌های مختلف API Streams را پوشش می‌دهد که می‌توانند در Streams برای دستیابی به یک هدف استفاده شوند.

  • عملیات جریانی مانند:

    • map()

    • flatMap()

    • distinct()

    • count()

    • filter()

    • reducer()

    • نقشه، فیلتر و کاهش الگو.

    • max()

    • min()

    • limit()

    • skip()

    • allMatch()، anyMatch() و noneMatch()

    • findAny() و findFirst()

  • توضیح عملیات جریان که عملیات اتصال کوتاه هستند.

بخش 10 : Streams API - Factory Methods

  • این بخش روش‌های مختلف کارخانه‌ای Streams API را پوشش می‌دهد که می‌توان از آن برای ایجاد جریان استفاده کرد.

بخش 11: جریان های عددی

  • این بخش مقدمه‌ای بر جریان‌های عددی را پوشش می‌دهد که می‌توان از آن برای انجام برخی عملیات مربوط به عددی استفاده کرد.

بخش 12: جریان های عملیات ترمینال

  • این بخش روش های مختلفی را برای جمع آوری داده ها از خط لوله جریان ها پوشش می دهد.

  • عملیات ترمینال مانند:

    • پیوستن ()

    • counting()

    • نقشه نگاری()

    • max()، min()

    • sum()

    • متوسط()

    • groupingBy()

    • partitioningBy()

بخش 12: Streams API - پردازش موازی

  • این بخش نحوه انجام پردازش موازی با استفاده از Streams را پوشش می‌دهد.

  • برنامه‌نویسی موازی چگونه از پردازنده‌های دستگاه شما برای انجام عملیات همزمان استفاده می‌کند؟

  • برنامه نویسی موازی چگونه در داخل کار می کند؟

  • چگونه عملکرد بین برنامه نویسی متوالی و موازی را بررسی کنیم؟

  • سناریوهایی که نباید از برنامه نویسی موازی استفاده کرد.

بخش 12: اختیاری

  • این بخش موارد اختیاری و مزایای اختیاری را پوشش می‌دهد.

  • چگونه اختیاری می تواند به شما کمک کند از استثنای اشاره گر تهی اجتناب کنید.

  • کاوش در عملیات های مختلف که بخشی از اختیاری هستند مانند :

    • خالی()

    • ofNullable()

    • از()

    • orElse()

    • orElseGet()

    • orElseThrow()

    • isPresent()

    • ifPresent()

    • map()

    • flatMap()

    • filter()

بخش 12: کتابخانه های جدید تاریخ/زمان

  • این بخش کتابخانه‌های جدید تاریخ/زمان مانند LocalDate، LocalTime، LocalDateTime را پوشش می‌دهد.

  • نحوه ایجاد/ویرایش نمونه‌های LocalDate، LocalTime و LocalDateTime با استفاده از رویکردهای مختلف.

  • نحوه پیدا کردن تفاوت بین LocalDate، LocalTime و LocalDateTime با استفاده از Period, Duration.

  • نحوه نمایش زمان در قالب قابل خواندن ماشین با استفاده از Instant.

  • نحوه استفاده از TimeZone با استفاده از ZonedDateTime.

  • نحوه قالب‌بندی تاریخ با استفاده از DateTimeFormatter.

در پایان این دوره، درک کاملی از تمام ویژگی‌های جاوا 8 خواهید داشت و آن را در پروژه‌های جاوا واقعی پیاده‌سازی خواهید کرد.


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

شروع شدن Getting Started

  • درباره دوره About Course

اسلایدهای دوره Slides for the course

  • اسلایدها Slides

چرا جاوا 8؟ Why Java 8 ?

  • چرا جاوا 8 مهم است؟ Why Java 8 is important ?

  • برنامه نویسی امری در مقابل اعلامی - مثال 1 Imperative vs Declarative Programming - Example 1

  • برنامه نویسی امری در مقابل اعلامی - مثال 2 Imperative vs Declarative Programming - Example 2

راه اندازی فضای کاری - مک WorkSpace Setup - Mac

  • راه اندازی IntelliJ Setting up IntelliJ

راه اندازی فضای کاری - ویندوز WorkSpace Setup - Windows

  • راه اندازی IntelliJ Setting up IntelliJ

کد منبع این دوره Source Code for this Course

  • کد منبع Source Code

آشنایی با لامبدا Introduction to Lambda

  • لامبدا چیست؟ What is Lambda ?

  • آزمایشگاه: اجرای Runnable با استفاده از Lambda Lab : Implement Runnable using Lambda

  • آزمایشگاه: مقایسه کننده را با استفاده از Lambda پیاده سازی کنید Lab : Implement Comparator using Lambda

لامبدا و رابط های کاربردی Lambdas and Functional Interfaces

  • مقدمه ای بر رابط های کاربردی Introduction to Functional Interfaces

  • آزمایشگاه: رابط عملکردی مصرف کننده - قسمت 1 Lab : Consumer Functional Interface - Part 1

  • آزمایشگاه: رابط عملکردی مصرف کننده - قسمت 2 Lab : Consumer Functional Interface - Part 2

  • آزمایشگاه: رابط کاربردی BiConsumer Lab : BiConsumer Functional Interface

  • آزمایشگاه: محمول - رابط عملکردی - قسمت 1 Lab : Predicate - Functional Interface - Part 1

  • آزمایشگاه: محمول - رابط عملکردی - قسمت 2 Lab : Predicate - Functional Interface - Part 2

  • آزمایشگاه: ترکیب محمول + مصرف کننده Lab : Combining Predicate + Consumer

  • آزمایشگاه: BiPredicate Lab : BiPredicate

  • آزمایشگاه: Function - Function Interface- قسمت 1 Lab : Function - Function Interface- Part 1

  • آزمایشگاه: تابع - رابط تابع - قسمت 2 Lab : Function - Function Interface- Part 2

  • آزمایشگاه: رابط عملکردی BiFunction Lab : BiFunction Functional Interface

  • آزمایشگاه: رابط عملکردی UnaryOperaror و BinaryOperator Lab : UnaryOperaror and BinaryOperator Functional Interface

  • آزمایشگاه: تامین کننده - رابط عملکردی Lab : Supplier - Functional Interface

منابع سازنده و روش Constructor and Method References

  • مرجع روش Method Reference

  • آزمایشگاه: مرجع روش - تابع Lab : Method Reference - Function

  • آزمایشگاه : مرجع روش - مصرف کننده Lab : Method Reference - Consumer

  • آزمایشگاه: Refactor بیان لامبدا به روش مرجع Lab : Refactor Lambda Expression to Method Reference

  • مرجع سازنده Constructor Reference

متغیرهای لامبدا و محلی (عملاً نهایی) Lambdas and Local variables ( Effectively Final )

  • آزمایشگاه: متغیرهای محلی در بیان لامبدا Lab : Local Variables in Lambda Expression

  • متغیرهای نهایی موثر در لامبدا و مزایای آن Effectively Final Variables in Lambda and its advantages

Streams API Streams API

  • مقدمه ای بر استریم ها Introduction to Streams

  • Stream API چگونه کار می کند؟ How Stream API works ?

  • مقایسه جریان ها با مجموعه ها Comparing Streams vs Collections

  • آزمایشگاه: چگونه عملیات جریان را اشکال زدایی کنیم؟ Lab : How to debug Stream Operations?

Stream API - عملیات Stream API - Operations

  • آزمایشگاه: عملیات جریان - map() Lab : Stream Operation - map()

  • آزمایشگاه: عملیات جریان - flatMap() Lab : Stream Operation - flatMap()

  • آزمایشگاه: عملیات جریان - distinct() , count(), sorted() Lab : Stream Operation - distinct() , count(), sorted()

  • آزمایشگاه: عملیات جریان - مرتب سازی سفارشی با استفاده از مقایسه کننده Lab : Stream Operation - Customized sort using Comparator

  • آزمایشگاه: عملیات جریان - filter() Lab : Stream Operation - filter()

  • Lab: Stream Operation - reduce() - Part 1 Lab : Stream Operation - reduce() - Part 1

  • Lab: Stream Operation - reduce() - Part 2 Lab : Stream Operation - reduce() - Part 2

  • آزمایشگاه: عملیات جریان - نقشه + فیلتر + الگوی کاهش Lab : Stream Operations - Map + Filter + Reduce Pattern

  • آزمایشگاه: عملیات جریان: حداکثر با استفاده از تابع ()reduce Lab : Stream Operation : max using reduce() function

  • آزمایشگاه: عملیات جریان - min() با استفاده از تابع کاهش. Lab : Stream Operation - min() using reduce function.

  • آزمایشگاه: عملیات جریان - limit() و skip() Lab : Stream Operation - limit() and skip()

  • آزمایشگاه: عملیات جریان allMatch()، anyMatch() و noneMatch() Lab : Stream Operation allMatch(), anyMatch() and noneMatch()

  • آزمایشگاه: عملیات جریان - findAny() و findFirst() Lab : Stream Operation - findAny() and findFirst()

  • جریان: عملیات اتصال کوتاه Streams: Short Circuiting Operations

Streams API - Factory Methods Streams API - Factory Methods

  • آزمایشگاه: عملیات جریان - of(), iterate(),gene() Lab : Streams Operation - of(), iterate(), generate()

Streams API - جریان های عددی Streams API - Numeric Streams

  • مقدمه ای بر جریان های عددی Introduction to Numeric Streams

  • آزمایشگاه: NumericStream - range() , rangeClosed(), count(), foreach() Lab : NumericStream - range() , rangeClosed(), count(), foreach()

  • آزمایشگاه: NumericStream - sum() , max(), min(), average() Lab : NumericStream - sum() , max(), min(), average()

  • آزمایشگاه: NumericStream - Boxing، Unboxing، mapToInt() Lab : NumericStream - Boxing ,Unboxing, mapToInt()

  • آزمایشگاه: NumericStream - mapToObj()، mapToDouble()، maptoLong() Lab : NumericStream - mapToObj(), mapToDouble(), maptoLong()

Streams API - عملیات ترمینال Streams API - Terminal Operations

  • آزمایشگاه: joining() Lab : joining()

  • آزمایشگاه: counting() Lab : counting()

  • آزمایشگاه: نقشه برداری () Lab : mapping()

  • آزمایشگاه: minBy() , maxBy() با استفاده از collect() Lab : minBy() , maxBy() using collect()

  • آزمایشگاه: sum() , avg() با استفاده از collect() Lab : sum() , avg() using collect()

  • آزمایشگاه: groupingBy() - نوع 1 Lab : groupingBy() - Type 1

  • آزمایشگاه: groupingBy() - نوع 2 Lab : groupingBy() - Type 2

  • آزمایشگاه: groupingBy() - نوع 3 Lab : groupingBy() - Type 3

  • آزمایشگاه: groupingBy() - maxBy()، minBy()، collectingAndThen() Lab : groupingBy() - maxBy(), minBy(), collectingAndThen()

  • آزمایشگاه: partitioningBy() Lab : partitioningBy()

Streams API - پردازش موازی Streams API - Parallel Processing

  • مقدمه ای بر جریان های موازی Introduction to Parallel Streams

  • آزمایشگاه: مقایسه عملکرد جریان های متوالی و موازی Lab : Comparing Performance of Sequential vs Parallel Streams

  • جریان موازی چگونه کار می کند؟ How Parallel Stream works ?

  • آزمایشگاه: ساخت یک خط لوله جریان موازی Lab : Build a Parallel Stream Pipeline

  • آزمایشگاه: چه زمانی نباید از جریان موازی استفاده کرد - مثال 1 Lab : When not to use Parallel Stream - Example 1

  • آزمایشگاه: چه زمانی از جریان موازی استفاده نکنیم؟ - قسمت 2 Lab : When not to use Parallel Stream ? - Part 2

اختیاری Optional

  • مقدمه ای بر اختیاری Introduction to Optional

  • آزمایشگاه : اختیاری : خالی()، ofNullable()، Of() Lab : Optional : empty(), ofNullable(), Of()

  • آزمایشگاه: orElse()، orElseGet() ,orElseThrow() Lab : orElse(), orElseGet() ,orElseThrow()

  • آزمایشگاه: ifPresent()، isPresent() Lab : ifPresent(), isPresent()

  • آزمایشگاه: map()، flatMap()، filter() - Part1 Lab : map(), flatMap(), filter() - Part1

  • آزمایشگاه: map()، flatMap()، filter() - Part2 Lab : map(), flatMap(), filter() - Part2

روش‌های پیش‌فرض/استاتیک در رابط‌ها Default/Static Methods in Interfaces

  • مقدمه ای بر روش های پیش فرض/استاتیک Introduction to Default/static Methods

  • آزمایشگاه: روش‌های پیش‌فرض Lab : Default Methods

  • آزمایشگاه: کاوش عملیات sort() با استفاده از Comparator - Part 1 Lab : Exploring sort() operations using Comparator - Part 1

  • آزمایشگاه: کاوش عملیات sort() با استفاده از Comparator - Part 2 Lab : Exploring sort() operations using Comparator - Part 2

  • آزمایشگاه: ایجاد یک رابط با روش های پیش فرض/ایستا Lab : Creating an Interface with Default/Static methods

  • کلاس های انتزاعی در مقابل رابط ها Abstract Classes vs Interfaces

  • آزمایشگاه: ارث چندگانه Lab : Multiple Inheritance

  • آزمایشگاه: ارث چندگانه - حل تعارض Lab : Multiple Inheritance - Resolving Conflicts

APIهای جدید تاریخ/زمان New Date/Time APIs

  • مقدمه ای بر کتابخانه های داده/زمان جدید Introduction to the new Data/Time Libraries

  • آزمایشگاه: LocalDate - ایجاد، مقادیر LocalDate را دریافت کنید Lab : LocalDate - Create, Get the LocalDate values

  • آزمایشگاه: LocalDate - LocalDate را تغییر دهید Lab : LocalDate - Modify the LocalDate

  • آزمایشگاه: LocalDate - توابع اضافی LocalDate Lab : LocalDate - Additional LocalDate functions

  • آزمایشگاه: زمان محلی Lab : LocalTime

  • آزمایشگاه: LocalDateTime - ایجاد/تغییر LocalDateTime Lab : LocalDateTime - Create/Modify LocalDateTime

  • آزمایشگاه: تبدیل از LocalDate/LocalTime به LocalDateTime Lab : Converting from LocalDate/LocalTime to LocalDateTime

  • آزمایشگاه: مقایسه تاریخ - دوره Lab : Comparing Dates - Period

  • آزمایشگاه: مقایسه زمان - مدت Lab : Comparing Times - Duration

  • آزمایشگاه: فوری Lab : Instant

  • آزمایشگاه: TimeZones - ZonedDateTime، ZoneId، ZoneOffset Lab : TimeZones - ZonedDateTime, ZoneId , ZoneOffset

  • آزمایشگاه: Time Zones - تبدیل Instant، LocalDateTime به ZonedDateTime Lab : TimeZones - Converting Instant,LocalDateTime to ZonedDateTime

  • آزمایشگاه: تبدیل java.util.Date/java.sql.date به LocalDate Lab : Converting java.util.Date/java.sql.date to LocalDate

  • آزمایشگاه: LocalDate را با استفاده از DateTimeFormatter قالب‌بندی/تجزیه کنید Lab : Format/parse LocalDate using DateTimeFormatter

  • آزمایشگاه: LocalTime را با استفاده از DateTimeFormatter قالب‌بندی/تجزیه کنید Lab : Format/parse LocalTime using DateTimeFormatter

  • آزمایشگاه: LocalDateTime را با استفاده از DateTimeFormatter قالب‌بندی/تجزیه کنید Lab : Format/parse LocalDateTime using DateTimeFormatter

بعد چی؟ What's Next ?

  • بعد چه می شود؟ - آموزش برنامه نویسی موازی و ناهمزمان با استفاده از API های کاربردی What's Next? - Learn Parallel and Asynchronous Programming using Functional APIs

نمایش نظرات

نظری ارسال نشده است.

آموزش جاوای مدرن - با کدنویسی ویژگی های جاوا 8 را بیاموزید
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
11 hours
102
Udemy (یودمی) udemy-small
25 دی 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
37,179
4.5 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Pragmatic Code School Pragmatic Code School

علاقه مندان به فناوری، مدرس آنلاین

Udemy (یودمی)

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

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.