به زبان برنامه نویسی جاوا مسلط شوید

Master The Java Programming Language

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

من یک هدف بسیار خاص از طراحی این دوره دارم، به عنوان یک معمار، نقش دیگری در بالا بردن کارآموزان یا افراد تازه کار با سرعت توسعه جاوا دارم، و در این فرآیند باید یک برنامه آموزشی تهیه کنم که در آن آنها نیاز به درک مهم ترین جنبه های زبان برنامه نویسی جاوا و درک جنبه های مختلف توسعه Backend دارید.

این باعث شد که این دوره را برای پرداختن به بخش اول آن، یعنی زبان برنامه نویسی جاوا طراحی کنم، جایی که شما بر روی مهمترین ویژگی های زبان برنامه نویسی جاوا تمرکز خواهید کرد و ببینید کجا و چه زمانی ویژگی ها را به طور موثر و کارآمد اعمال کنید.

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

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

نکات برجسته دوره -

توجه - برای مبانی برنامه نویسی به بخش آرشیو مراجعه کنید.

  • ویژگی های برنامه نویسی شی گرا

    • کلاس ها، اشیاء

    • سازندگان

    • ارث

    • چند شکلی

    • کلاس های انتزاعی

    • رابط

    • ساخت کدهای با همبستگی ضعیف

  • رسیدگی به استثنا

  • IOStreams

  • اصول SOLID

  • چند الگوی طراحی انتخاب شده

    • سازنده

    • Singleton

    • روش کارخانه

    • روش الگو

    • نما

    • دکوراتور

    • پروکسی

      • پراکسی راه دور

      • پراکسی مجازی

      • پراکسی حفاظت

  • سایر ویژگی های زبان جاوا مانند

    • مجموعه ها

    • عمومی

    • لامبدا

    • جریان‌ها

    • API Reflection



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

مقدمه Introduction

  • معرفی دوره Introduction to the course

  • نصب IDE و HelloWorld IDE Installation and HelloWorld

  • مراحل نصب JDK JDK Installation Steps

  • رویکرد دستی HelloWorld HelloWorld Manual Approach

  • نمای کلی سطح بالای استقلال پلتفرم Platform Independence high level overview

  • کد منبع Source Code

  • کسب بهترین نتیجه از این دوره Getting the best out of this course

  • مسابقه مقدمه Introduction Quiz

مبانی زبان - آهنگ سریع Language Basics - Fast track

  • اولین برنامه شما Your first program

  • اپراتورها Operators

  • بیانیه های شعبه Branching statements

  • بیانیه های حلقه ای Looping Statements

  • معرفی آرایه ها Arrays Introduction

  • ارسال آرایه ها به توابع Passing arrays to functions

  • پیاده سازی جستجوی آرایه Implement array search

  • آرایه های چند بعدی Multidimensional Arrays

  • آزمون مبانی Basics Quiz

شروع برنامه نویسی شی گرا Kick start Object Oriented Programming

  • مقدمه ای بر کلاس ها Introduction to Classes

  • مقدمه ای بر DataHiding و Encapsulation Introduction to DataHiding and Encapsulation

  • پنهان کردن و کپسوله کردن داده ها - مثال 2 Data Hiding and Encapsulation - Example 2

  • تمرین برنامه نویسی - 1 Programming Exercise - 1

  • اعضای ایستا/کلاس در مقابل اعضای نمونه Static/Class Members vs Instance Members

  • توضیحات اعضای ثابت Static Members explanation

  • روش های سودمند با استفاده از استاتیک Utility methods using static

  • اضافه بار روش Method overloading

  • بارگذاری بیش از حد مثال 2 Overloading example 2

  • متغیر مرجع "این". `this` reference variable

  • آغازگرها Initializers

  • معرفی سازندگان Introduction to constructors

  • سازندگان - نکات فنی Constructors - Technical tips

  • فراخوانی سازنده از سازندگان دیگر Constructor invocation from other constructors

  • رشته ها و StringBuilder Strings and StringBuilder

  • بیان مشکل Problem Statement

  • راه حل Solution

  • مقدمه ای بر آزمون OOPs Introduction to OOPs Quiz

وراثت، چند شکلی و تولید کد Inheritance, Polymorphism and code generazilation

  • مقدمه ای بر وراثت Introduction to Inheritance

  • ترکیب Composition

  • فراگیر Overriding

  • تعمیم کد با استفاده از وراثت Code generalization using inheritance

  • اتصال پویا - مثال 1 Dynamic Binding - Example 1

  • Dynamic Binding و instanceof Dynamic Binding and instanceof

  • سازندگان در وراثت Constructors in Inheritance

  • اصلاح کننده نهایی در وراثت Final modifier in Inheritance

  • آزمون وراثت و چند شکلی Inheritance and Polymorphism Quiz

کلاس های چکیده Abstract Classes

  • مقدمه ای بر کلاس های انتزاعی Introduction to abstract classes

  • کلاس های چکیده - قسمت 2 Abstract classes - Part2

  • کلاس های چکیده - قسمت 3 Abstract classes - Part3

  • تمرین برنامه نویسی Programming Exercise

  • الگوی طراحی روش الگو Template Method Design Pattern

رابط ها Interfaces

  • مقدمه ای بر رابط ها Introduction to interfaces

  • رابط ها - قسمت 2 Interfaces - Part-2

  • رابط ها - قسمت - 3 Interfaces - Part - 3

  • رابط ها - قسمت - 4 Interfaces - Part - 4

  • رابط‌هایی برای کدهای جفت شده آزاد Interfaces for Loosely coupled code

اصول طراحی جامد SOLID Design Principles

  • کچاپ سریع Quick Catchup

  • اصل مسئولیت واحد Single Responsibility Principle

  • اصل بسته را باز کنید Open Closed Principle

  • اصل جایگزینی لیسکوف Liskov Substitution Principle

  • اصل جداسازی رابط Interface Segregation Principle

  • اصل وارونگی وابستگی Dependency Inversion Principle

بسته ها Packages

  • مقدمه ای بر پکیج ها Introduction to Packages

  • نسخه ی نمایشی بسته ها Packages Demo

رسیدگی به استثنا Exception Handling

  • مقدمه ای بر مدیریت استثنا Introduction to Exception handling

  • روش سنتی رسیدگی به استثنا Traditional way of Exception handling

  • مدیریت استثنا با استثنای سفارشی Exception Handling with Custom Exception

  • Multi-Catch و Generic Catch Multi-Catch and Generic Catch

  • در نهایت مسدود کردن و امتحان با منابع Finally block and try-with-resources

  • انواع Wrapper + بیان مسئله تمرین Wrapper Types + Exercise Problem Statement

  • راه حل - مثال پشته Solution - Stack Example

IOSStreams IOStreams

  • مقدمه ای بر کلاس File Introduction to File class

  • فایل های یک دایرکتوری را فهرست کنید List the files of a directory

  • کپی فایل - قسمت 1 File copy - Part 1

  • کپی فایل - قسمت 2 File copy - Part 2

  • کپی فایل - قسمت 3 File copy - Part 3

  • IO بافر شده Buffered IO

  • داده IO Data IO

  • سریال سازی اشیاء و سریال زدایی Object Serialization and Deserialization

ژنریک - قسمت - 1 Generics - Part - 1

  • مقدمه ای بر کلاس های عمومی Introduction to Generic Classes

مجموعه ها Collections

  • مقدمه ای بر مجموعه ها Introduction to Collections

  • مقدمه ای بر انواع مجموعه Introduction to Set types

  • متد toString() از کلاس Object toString() method of the Object class

  • برای هر حلقه برای پیمایش مجموعه For each loop for traversing the collection

  • تکرار از طریق مجموعه Iterating through the collection

  • مقدمه ای بر نقشه Introduction to Map

  • تمرین مشکل با استفاده از نقشه Exercise problem using Map

  • نادیده گرفتن برابر و هش کد Overriding equals and hashCode

  • مقایسه کردن اشیا Making objects Comparable

  • منطق مقایسه سفارشی با Comparators Custom comparison logic with Comparators

کلاس های تو در تو Nested classes

  • مقدمه ای بر کلاس های تودرتو Introduction to Nested classes

  • کلاس های داخلی Inner classes

  • کلاس های داخلی استاتیک Static Inner Classes

  • کلاس های محلی Local classes

  • کلاس های ناشناس Anonymous classes

  • کلاس های ناشناس - قسمت 2 Anonymous classes - Part 2

بیان لامبدا Lambda Expression

  • مقدمه ای بر عبارات لامبدا Introduction to Lambda expressions

  • عبارات لامبدا با مراجع روش Lambda Expressions with Method references

  • عبارات لامبدا - مثال 3 Lambda Expressions - Example 3

Generics - قسمت - 2 Generics - Part - 2

  • روش های عمومی Generic Methods

  • پارامترهای نوع محدود Bounded Type Parameters

  • پاک کردن را تایپ کنید Type Erasure

  • اجرای اصلاح شده پشته (با استفاده از تامین کننده) Revised Stack Implementation(using Supplier)

  • پشته عمومی ساده شده است Generic Stack Simplified

Enums و VarArgs Enums and VarArgs

  • مقدمه ای بر enums Introduction to enums

  • با حالت فهرست می شود Enums with state

  • آرگومان های متغیر Variable Arguments

  • آرگومان های متغیر با انواع عمومی Variable arguments with generic types

Reflection API و Annotations Reflection API and Annotations

  • مقدمه ای بر انعکاس Introduction to Reflection

  • فراخوانی روش پویا از طریق بازتاب Dynamic method invocation through reflection

  • حاشیه نویسی ها Annotations

الگوهای طراحی انتخاب شده Selected Design Patterns

  • الگوی روش الگو Template Method Pattern

  • الگوی سازنده Builder Pattern

  • الگوی روش کارخانه Factory Method Pattern

  • الگوی تک تن - پایه Singleton Pattern - Basic

  • الگوی Singleton - بازتاب و سریال سازی را کنترل کنید Singleton Pattern - handle reflection and serialization

  • الگوی Singleton - Threadsafety Singleton Pattern - Threadsafety

  • الگوی پروکسی - پراکسی از راه دور Proxy Pattern - Remote Proxy

  • الگوی پروکسی - پروکسی مجازی و پروکسی حفاظت Proxy Pattern - Virtual Proxy and Protection Proxy

  • الگوی نما Facade Pattern

  • الگوی دکوراتور Decorator Pattern

جریان ها Streams

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

  • منابع جریانی مختلف Different stream sources

  • منابع جریان - قسمت 2 Stream sources - Part 2

  • عملیات متوسط ​​- متمایز، فیلتر و نقشه Intermediate Operations - distinct, filter and map

  • عملیات میانی - map() در مقابل flatMap() Intermediate operations - map() vs flatMap()

  • عملیات متوسط ​​- پرش و محدود کردن Intermediate Operations - skip and limit

  • عملیات میانی - مرتب سازی جریان ها Intermediate Operations - sorting streams

  • عملیات متوسط ​​- زیرچشمی برای رفع اشکال Intermediate Operations - peek for debugging

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

  • استفاده از کلکتورها Using Collectors

  • تاشو جریان ها با ()reduce Folding streams with reduce()

آرشیو شده - (سخنرانی های دوره جاوا قدیمی برای مرجع بیشتر) Archived - (Old Java Course Lectures for additional reference)

  • بخش مقدمه Section Introduction

  • HelloWorld با Eclipse HelloWorld with Eclipse

  • انواع داده های اولیه Primitive Datatypes

  • اعلان های متغیر و لفظ Variable Declarations and Literals

  • جریان‌ها و اسکنر استاندارد (خواندن داده‌ها از صفحه‌کلید) Standard Streams and Scanner (Reading data from Keyboard)

  • نمونه برنامه های نمونه Sample Example Programs

  • عملگرها - عملگرهای حسابی و افزایشی Operators - Arithmetic and Increment Operators

  • اپراتورها - عملگرهای رابطه ای و منطقی Operators - Relational and Logical Operators

  • اپراتورها - عملگرهای Bitwise و Shift Operators - Bitwise and Shift operators

  • اپراتورها - انتساب و اپراتورهای سه تایی Operators - Assignment and Ternary operators

  • ارزیابی بیان Expression Evaluation

  • تبدیل نوع Type Conversions

  • ساختارهای کنترل - عبارت If Control Structures - If statement

  • ساختارهای کنترل - دستور سوئیچ Control Structures - switch statement

  • ساختارهای کنترل - بیانیه while Control Structures - while statement

  • ساختارهای کنترل - do..while و برای با استراحت و ادامه دادن Control Structures - do..while and for with break and continue

  • آرایه های تک بعدی - قسمت 1 Single Dimensional Arrays - Part 1

  • آرایه های تک بعدی - قسمت 2 - بزرگترین آرایه Single Dimensional Arrays - Part 2 - Biggest of the array

  • مقدمه ای بر توابع Introduction to functions

  • نیاز به توابع با مثال Need for functions with an example

  • تماس بر اساس مقدار در مقابل تماس با مرجع Call by value vs Call by reference

  • معرفی کلاس ها Introduction to classes

  • کپسوله سازی و پنهان کردن داده ها Encapsulation and Data Hiding

  • نیاز به شی Need for Object

  • اضافه بار روش - قسمت 1 Method overloading - Part 1

  • روش اضافه بار - قسمت 2 Method Overloading - Part 2

  • آرگومان های متغیر Variable Arguments

  • استاتیک در مقابل غیر استاتیک Static vs Non-Static

  • آغازگرها Initializers

  • سازندگان Constructors

  • این مرجع This reference

  • استفاده مجدد از کد از طریق وراثت Code reuse through Inheritance

  • ارث و غلبه Inheritance and Overriding

  • کلمه کلیدی فوق العاده Super keyword

  • تعمیم کلاس شی و کد Object class and Code generalization

  • کلاس های انتزاعی Abstract classes

  • اصلاح کننده نهایی final modifier

  • رابط ها Interfaces

  • چند شکلی Polymorphism

  • رشته ها - تغییر ناپذیری Strings - Immutability

  • String - برابر است و متدهای compareTo String - equals and compareTo methods

  • رشته - جستجوی الگو String - pattern search

  • StringBuilder StringBuilder

  • کد منبع بایگانی شده Archived-source code

بعدش چی؟ What's next?

  • سخنرانی جایزه: کوپن پیشنهادی برای دوره های دیگر من Bonus Lecture: Offer Coupon for my other courses

نمایش نظرات

به زبان برنامه نویسی جاوا مسلط شوید
جزییات دوره
19 hours
171
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
32,266
4.2 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Sagar Uppuluri Sagar Uppuluri

مهندس نرم افزار و یک مربی پرشور ساگر فارغ التحصیل M.Tech از ANU ، یک توسعه دهنده برنامه و یک مربی پرشور جدا از اینکه یک یادگیرنده و شنونده خوب است ، کار خود را به عنوان یک مربی آغاز کرد و بعداً او بخشی از طراحی و توسعه چندین پروژه نرم افزاری بود و محصولات شهرت خود را به عنوان یک توسعه دهنده سخت افزار جاوا و متخصص یکپارچه سازی سیستم به دست آورد و با مهارت های فنی ، رهبری و راهنمایی خود در موفقیت در چندین پروژه نقش مهمی داشت.