آنچه یاد خواهید گرفت:
با تسلط به اصول اساسی + برنامهنویسی شیگرا، جاوای مدرن را با اطمینان بنویسید و همزمان از AI برای سرعت دادن به یادگیری و پیادهسازی استفاده کنید.
پیادهسازیهای واقعی جاوا را مرحلهبهمرحله بسازید (اپلیکیشنهای کوچک + سناریوهای کاربردی) و یاد بگیرید کد را مثل یک توسعهدهنده حرفهای ساختاردهی کنید.
از توسعه مبتنی بر AI با GitHub Copilot برای تولید کدهای boilerplate، تکمیل خودکار کد، ریفکتور کردن سریعتر و تمرکز بیشتر بر حل مسئله استفاده کنید.
با استریمها، Lambdas و رابطهای تابعی، قابلیتهای واقعی بسازید و بگذارید Copilot به شما کمک کند الگوها و جایگزینها را سریعتر بررسی کنید.
یاد بگیرید چگونه مسئولانه با AI کار کنید: محدودیتهای دانش را مدیریت کنید، خروجیها را اعتبارسنجی کرده و از پرامپتهایی استفاده کنید که کد قابلاعتماد و آماده تولید ایجاد میکنند.
پیشنیازهای دوره
یک کامپیوتر (Mac و Windows و Linux) با امکان نصب نرمافزار - ما Java (JDK) و IntelliJ IDEA را مرحلهبهمرحله راهاندازی میکنیم.
آشنایی راحت با ترمینال و خط فرمان برای تسکهای ساده (اجرای فرمانها، جابهجایی بین پوشهها)
حساب GitHub (توصیه میشود) تا بتوانید کدهای خود را ذخیره کنید، پیشرفتتان را ردیابی کنید و همراه پروژهها جلو بروید.
نیازی به تجربه قبلی در Java نیست. آشنایی پایه با برنامهنویسی مفید است و آشنایی با GitHub Copilot و پرامپتنویسی AI یک امتیاز محسوب میشود، اما الزامی نیست.
توضیحات دوره
به برنامهنویسی مدرن جاوا برای مبتدیان با GitHub Copilot AI خوش آمدید!
در این دوره، Java را از پایه یاد میگیرید، اما به شکلی مدرن، یعنی با ترکیب مبانی قوی و توسعه مبتنی بر AI با استفاده از GitHub Copilot
ابتدا Java و پروژه خود را به درستی راهاندازی میکنید، سپس مفاهیم اصلی Java مانند متغیرها، کنترل جریان، OOP، رشتهها، آرایهها، کالکشنها، استثناها و قابلیتهای مدرن Java را یاد میگیرید. در طول مسیر، میبینید چگونه از Copilot به طور مؤثر برای سرعت دادن به کدنویسی تکراری، تولید کدهای boilerplate و تمرکز بیشتر بر منطق، طراحی و حل مسئله واقعی استفاده کنید.
در پایان دوره، فقط «Java را نخواهید شناخت»، بلکه میتوانید با اطمینان اپلیکیشنهای واقعی بسازید و همزمان مهارت کار با ابزارهای AI را مثل یک توسعهدهنده مدرن به دست آورید.
شروع کار با دوره - در این بخش، یک معرفی کامل از دوره و انتظاراتی که باید از آن داشته باشید ارائه میکنیم.
معرفی دوره - در این درس، دوره را معرفی میکنیم و توضیح میدهیم چه انتظاری باید از آن داشته باشید.
پیشنیازها - در این درس، پیشنیازهای دوره را بررسی میکنیم.
توسعه AI محور: آینده مهندسی نرمافزار - یاد بگیرید AI چگونه گردشکار توسعهدهنده را متحول میکند و چگونه از ابزارهای AI برای یادگیری سریعتر Java و ساخت هوشمندانهتر اپلیکیشنها استفاده خواهید کرد.
مقدمهای بر توسعه AI محور: این موضوع برای شما چه معنایی دارد؟ - با توسعه مبتنی بر AI آشنا شوید، بدانید چرا امروز اهمیت دارد و چگونه شیوه یادگیری Java در این دوره را شکل میدهد.
معرفی Java مدرن: جزئیات مهم - در این بخش، یک معرفی کلی از Java مدرن ارائه میکنیم.
چرا Java مهم است؟ - یادگیری برنامهنویسی در عصر AI
مسیر Java مدرن - از 1995 تا عصر AI - در این درس، یک معرفی از روند تکامل Java از 1995 تا امروز ارائه میکنیم.
نصب Java و راهاندازی پروژه اولیه - در این بخش، جدیدترین محیط Java و پروژه پایه این دوره را راهاندازی میکنیم.
نصب Java با استفاده از SDK man - در این درس، Java را روی سیستم شما دانلود و نصب میکنیم.
نصب IntelliJ و راهاندازی پروژه پایه - در این درس، پروژه پایه و IntelliJ را راهاندازی میکنیم.
راهاندازی دستیار هوش مصنوعی - GitHub Copilot - در این درس یاد میگیریم Copilot را راهاندازی کنیم.
استفاده از Maven برای ساخت پروژه - در این درس یاد میگیریم چگونه از Maven برای ساخت پروژهها استفاده کنیم.
پیکربندی پروژه Maven در IntelliJ - در این درس یاد میگیریم چگونه پروژه Maven را در IntelliJ پیکربندی کنیم.
تبدیل پروژه به Maven - در این درس، تبدیل پروژه به Maven را بررسی میکنیم.
تمرین ساخت پروژه Maven - در این درس، یک تمرین انجام میدهیم تا پروژه Maven را با موفقیت بسازیم.
شروع برنامهنویسی Java - یاد بگیرید چگونه اولین برنامه Java خود را بنویسید و اجرا کنید، خروجی را در کنسول چاپ کنید و برای خروجی فرمتبندی شده از دنبالههای فرار استفاده کنید.
HelloWorld: آموزش گامبهگام و نکات مهم - یاد بگیرید چگونه اولین برنامه Java خود را بسازید و ساختار یک کلاس Java را درک کنید.
نمایش ویژوال اجرای یک برنامه در IntelliJ - با یک توضیح ویژوال ساده، درک کنید یک برنامه Java چگونه مرحلهبهمرحله در IntelliJ اجرا میشود.
متد main در Java - یاد بگیرید متد main چیست و چرا نقطه ورود هر اپلیکیشن Java محسوب میشود.
System.out.println - یاد بگیرید چگونه با System.out.println خروجی را در کنسول چاپ کنید.
System.out.printf - یاد بگیرید چگونه با System.out.printf و استفاده از جایبانها و گزینههای فرمتبندی، خروجی را فرمت کنید.
دنبالههای فرار در Java - با دنبالههای فرار مثل \n، \t و " برای فرمتبندی خروجی کنسول آشنا شوید.
متدهای چاپ: کنار هم گذاشتن همه موارد - println و printf و دنبالههای فرار را ترکیب کنید تا خروجی کنسول تمیز و فرمتبندی شده بسازید.
چرخه عمر برنامه Java: نوشتن، کامپایل، اجرا - چرخه عمر کامل برنامه Java را درک کنید؛ از نوشتن کد تا کامپایل و اجرای موفق آن
بررسی چرخه عمر برنامه Java - چرخه عمر کامل یک برنامه Java را از کد منبع تا اجرا درک کنید.
Bytecode در Java - یاد بگیرید bytecode چیست و چگونه استقلال پلتفرمی Java را ممکن میکند.
JVM و JRE و JDK در Java - تفاوت JVM و JRE و JDK را درک کنید و ببینید چگونه با هم کار میکنند.
چگونه کد Java به یک اپلیکیشن در حال اجرا تبدیل میشود؟ - یاد بگیرید کد منبع Java چگونه توسط JVM کامپایل و اجرا میشود.
تایپهای primitive در Java - بلوکهای سازنده بنیادی Java را درک کنید: تایپهای داده primitive، عملیاتهای حسابی و قوانین متغیرها را به درستی دنبال کنید.
متغیرها در Java - یاد بگیرید متغیرها چه هستند و چگونه در Java آنها را تعریف و استفاده کنید.
تایپهای داده primitive در Java - تایپهای داده primitive در Java را بررسی کنید و یاد بگیرید هر کدام را چه زمانی استفاده کنید.
اعداد صحیح در Java - انواع عدد صحیح (byte و short و int و long) را یاد بگیرید و با اعداد کامل کار کنید.
اعداد اعشاری در Java - تایپهای float و double را یاد بگیرید و با مبانی دقت اعشاری آشنا شوید.
کاراکتر و بولی در Java - یاد بگیرید تایپهای کاراکتر و بولی چگونه کار میکنند و کجا استفاده میشوند.
لیترالهای عددی و Underscores - یاد بگیرید چگونه با استفاده از Underscoresا، مقادیر عددی خواناتر بنویسید.
Type Casting در Java - روش type casting از نوع implicit و explicit را یاد بگیرید و ببینید چگونه بین تایپهای مختلف به صورت ایمن تبدیل انجام دهید.
عملگرهای حسابی در Java - عملگرهای حسابی مانند +، -، *، / و % را در Java تمرین کنید.
اولویت عملگرها - قوانین اولویت عملگرها را درک کنید و ببینید عبارات در Java چگونه ارزیابی میشوند.
افزایش، کاهش، پیشوند و پسوند - یاد بگیرید عملگرهای افزایش و کاهش در حالت پیشوند و پسوند چگونه کار میکنند.
عملگرهای تخصیص و تخصیص ترکیبی - عملگرهای تخصیص و میانبرهایی مانند +=، -=، *= و /= را یاد بگیرید.
قوانین و نامگذاری متغیرها - قوانین نامگذاری متغیرها در Java و بهترین شیوهها را یاد بگیرید.
برنامهنویسی شیگرا: کلاسها، متدها، Constructors، متغیرها - اصول اساسی برنامهنویسی شیگرا را با ساخت کلاسها، کار با Constructors و بررسی مفاهیم پیشرفته مانند کپسولهسازی، enumها و کلاسهای رکورد یاد بگیرید.
مقدمهای بر OOP: چرا آبجکتها مهم هستند؟ - درک کنید چرا Java شیگراست و آبجکتها چگونه مفاهیم دنیای واقعی را مدلسازی میکنند.
ساخت اولین کلاس - یاد بگیرید چگونه یک کلاس تعریف کنید و از آن آبجکت بسازید.
فیلدها و ویژگیها - یاد بگیرید فیلدها چگونه state آبجکت را نشان میدهند و چگونه به آنها دسترسی پیدا کنید.
متدها چه هستند، چرا مهم هستند و چگونه استفاده میشوند؟ - یاد بگیرید متدها چه هستند و چگونه آنها را بهطور مؤثر بنویسید و استفاده کنید.
متد نمونه و مزایای متدها - متدهای نمونه را درک کنید و ببینید چگونه به سازماندهی رفتار در کلاسها کمک میکنند.
Overloading متد - مفهوم overloading متدها و اینکه Java چگونه امضای درست متد را انتخاب میکند، یاد بگیرید.
برنامهنویسی شیگرا: کپسولهسازی - مفهوم کپسولهسازی را یاد بگیرید و ببینید چگونه با مودیفایرهای دسترسی و getter/setterها از state آبجکت محافظت کنید.
متدهای ایستا - یاد بگیرید متدهای ایستا چه هستند و چه زمانی باید از آنها استفاده کرد.
متدهای ایستا: بایدها و نبایدها - بهترین شیوهها و اشتباهات رایج در استفاده از متدهای ایستا را یاد بگیرید.
تغییر state آبجکت - مرجعها، Aliases و تاثیرات جانبی - مرجعها و aliasing و اینکه هنگام تغییر آبجکتها چگونه تاثیرات جانبی رخ میدهند را درک کنید.
آبجکتها چگونه و کجا ذخیره میشوند؟ - یاد بگیرید آبجکتها چگونه در حافظه ذخیره میشوند و تفاوت stack و heap را در سطحی مناسب مبتدیان درک کنید.
Constructors در Java: مقداردهی اولیه و اعتبارسنجی آبجکتها - یاد بگیرید Constructors چگونه آبجکتها را مقداردهی اولیه میکنند و چگونه هنگام ایجاد، state آنها را اعتبارسنجی کنید.
Constructors - ساخت آبجکت با state معتبر - تمرین کنید Constructors بسازید که مطمئن شوند آبجکتها همیشه با داده معتبر شروع میشوند.
متدها: انتقال مرجعها و اثرات جانبی آن - درک کنید چگونه انتقال مرجعهای آبجکت به متدها میتواند آبجکت اصلی را تغییر دهد.
برابری آبجکتها در جاوا - ()equals و ()toString - یاد بگیرید چگونه ()equals و ()toString را برای مقایسه و چاپ معنادار آبجکتها پیادهسازی کنید.
متغیرها - Local، نمونه و ایستا - متغیرهای local، نمونه و ایستا و محدوده و چرخه عمر آنها را درک کنید.
کلاسهای Enum در Java - نمایش ژانرهای فیلم - با مدلسازی ثابتهای واقعی مانند ژانرهای فیلم، کلاسهای enum را یاد بگیرید.
قواعد نامگذاری کلاسها بر اساس نقش - یاد بگیرید چگونه کلاسها را بر اساس مسئولیت و نقششان در سیستم نامگذاری کنید.
کلاسهای رکورد - کلاسهای رکورد را به عنوان روشی مدرن و خلاصه برای ساخت آبجکتهای داده تغییرناپذیر یاد بگیرید.
کلاس آبجکت - با کلاس آبجکت و متدهایی که هر کلاس Java از آن به ارث میبرد آشنا شوید.
null در Java چیست؟ - درک کنید null در Java چه معنایی دارد و چگونه از اشتباهات رایج مرتبط با null جلوگیری کنید.
تمرینی برای تبدیل پلتفرم استریمینگ به enum - در این بخش، تمرینی را بررسی میکنیم که در آن پلتفرم استریمینگ را به enum تبدیل میکنیم.
تمرین - تبدیل پلتفرم استریمینگ به enum - در این درس، با یک تمرین هدایت شده روی تبدیل پلتفرم استریمینگ به enum کار میکنیم.
ساختارهای کنترل - if و else if و switch و while و عملگر سهگانه - یاد بگیرید ساختارهای کنترل چگونه جریان برنامه Java را با شرطیها، عبارتهای switch، حلقهها و سادهسازی شرطی ها با عملگر سهگانه شکل میدهند.
if و else if و else در Java - یاد بگیرید چگونه در Java با بلوکهای if و else if و else تصمیمگیری کنید.
switch در Java - یاد بگیرید چگونه از switch برای منطق برنچینگ تمیز استفاده کنید.
عبارت switch در Java - با عبارات مدرن switch آشنا شوید و ببینید چگونه خوانایی را بهتر میکنند.
حلقه while در Java - یاد بگیرید حلقههای while چگونه کار میکنند و چه زمانی باید از آنها استفاده کرد.
حلقه do while در Java - حلقههای do-while را یاد بگیرید و ببینید چه زمانی مفید هستند.
حلقه for در Java - حلقه for را یاد بگیرید و ببینید چگونه با شمارندهها تکرار انجام میشود.
حلقه for پیشرفته - در این درس، حلقه for پیشرفته را بررسی میکنیم.
break و continue - یاد بگیرید چگونه اجرای حلقه را با break و continue کنترل کنید.
عملگر سهگانه در Java - یاد بگیرید چگونه با عملگر سهگانه منطق ساده if/else را خلاصه کنید.
رشتهها و بلوکهای متنی - بررسی کنید Java چگونه متن را از طریق رشتهها و بلوکهای متنی مدرن مدیریت میکند، از جمله عملیاتهای رایج، نکات عملکردی و بهترین شیوهها
مقدمهای بر رشتهها - یاد بگیرید رشتهها در Java چه هستند و چرا تغییرناپذیر هستند.
متدهای رایج در رشته - متدهای پرکاربرد رشته مانند length و substring و contains و replace را یاد بگیرید.
مقایسه رشتهها در Java - یاد بگیرید چگونه رشتهها را به درستی با equals مقایسه کنید و از مشکلات == جلوگیری کنید.
StringBuilder - یاد بگیرید چگونه از StringBuilder برای الحاق کارآمد رشتهها استفاده کنید.
بلوکهای متنی در Java - با بلوکهای متنی آشنا شوید تا رشتههای چندخطی را در Java مدرن بهصورت تمیز بسازید.
رشته و بلوکهای متنی - جمعبندی - آنچه درباره رشتهها و بلوکهای متنی یاد گرفتید را مرور کنید و ببینید چگونه بهطور مؤثر از آنها استفاده کنید.
ساخت اپلیکیشن ماشینحساب - یک پروژه ساده و واقعی با استفاده از AI Assistant Copilot، دانش Java خود را با ساخت پروژههای کوچک واقعی به کار بگیرید و با کمک AI سرعت توسعه را بالا ببرید، در حالی که تمرکز شما روی منطق و درک مسئله باقی میماند.
بررسی پروژه - اپلیکیشن ماشینحساب - الزامات اپلیکیشن ماشینحساب و نحوهی ساخت آن را درک کنید.
طراحی و جریان کار - اپلیکیشن ماشینحساب - یاد بگیرید چگونه جریان ورودی و خروجی ماشینحساب کنسولی را طراحی کنید.
پیادهسازی عملیاتهای ماشینحساب - عملیاتهای جمع، تفریق، ضرب و تقسیم را در Java پیادهسازی کنید.
مدیریت ورودیهای نامعتبر - یاد بگیرید چگونه ورودیهای کاربر را اعتبارسنجی کنید و موارد نامعتبر را بهخوبی مدیریت کنید.
ریفکتور کردن اپلیکیشن ماشینحساب - خوانایی و طراحی کد را از طریق ریفکتور کردن بهبود دهید.
اپلیکیشن ماشینحساب - جمعبندی - آنچه ساختید و نتایج کلیدی یادگیری از پروژه را مرور کنید.
ساختارهای داده: آرایهها - یاد بگیرید آرایهها چگونه پایه ساختارهای داده در Java را تشکیل میدهند، از جمله نحوه ایجاد، دسترسی، بروزرسانی، حلقهسازی و استفاده از آرایهها در سناریوهای عملی
آرایهها: مقدمه - یاد بگیرید آرایهها چه هستند و چه زمانی باید از آنها استفاده کرد.
آرایهها: مقداردهی اولیه - یاد بگیرید چگونه آرایهها را به روشهای مختلف اعلان و مقداردهی اولیه کنید.
آرایهها: بروزرسانی عناصر - یاد بگیرید چگونه با استفاده از indexها مقادیر آرایه را بروزرسانی کنید.
آرایهها: حلقه زدن روی عناصر - یاد بگیرید چگونه با حلقهها آرایهها را تکرار کنید.
آرایهها: استفاده از حلقه for پیشرفته - تمرین کنید آرایهها را با حلقه for پیشرفته تکرار کنید.
آرایهها: مرتبسازی عناصر- یاد بگیرید چگونه آرایهها را مرتب کنید و ترتیبپذیری را درک کنید.
آرایهها: جستجوی عناصر - روشهای پایه جستجو در آرایه را یاد بگیرید.
آرایهها: آرایههای چندبعدی - یاد بگیرید چگونه با آرایههای دوبعدی و تکرار تودرتو کار کنید.
آرایهها - جمعبندی - مفاهیم آرایه و بهترین شیوهها را مرور کنید.
Regex: عبارات منظم و StringTokenizer - یاد بگیرید چگونه با استفاده از عبارات منظم Java و StringTokenizer متن را بهصورت کارآمد پردازش و دستکاری کنید، همراه با مثالهای واقعی
عبارت منظم: مقدمه - یاد بگیرید عبارات منظم چه هستند و چرا مفیدند.
الگو و Matcher - یاد بگیرید چگونه از کلاسهای الگو و Matcher برای عملیاتهای regex استفاده کنید.
متا کاراکترها - با متا کاراکترهای رایج regex و نحوه کار آنها آشنا شوید.
Quantifierها - quantifierهایی مانند *، +، ? و {n,m} را یاد بگیرید تا الگوهای تطبیق را کنترل کنید.
کلاسهای کاراکتر - با کلاسهای کاراکتر و میانبرهایی مانند \d و \w آشنا شوید.
گروهها در Regex - گروههای capture و نحوه استخراج بخشهای تطبیقیافته را یاد بگیرید.
جایگزینی و تقسیم با Regex - یاد بگیرید چگونه با regex متن را جایگزین کنید و رشتهها را تقسیم کنید.
StringTokenizer - یاد بگیرید چگونه با StringTokenizer و جداکنندهها رشتهها را توکنبندی کنید.
Regex - جمعبندی - مفاهیم regex و اینکه چه زمانی از هر روش استفاده کنید را مرور کنید.
کالکشنها: مقدمهای بر ArrayList - وارد دنیای کالکشنها در Java شوید و روی ArrayList تمرکز کنید؛ یاد بگیرید چگونه لیستها را بهطور مؤثر اضافه، حذف، جستجو و تکرار کنید.
کالکشنها: مقدمه - یاد بگیرید کالکشنها چه هستند و چرا برای داده پویا از آرایهها بهترند.
ArrayList: مقدمه - یاد بگیرید چگونه ArrayList بسازید و از آن استفاده کنید.
ArrayList: افزودن عناصر - یاد بگیرید چگونه عناصر را به ArrayList اضافه کنید.
ArrayList: بروزرسانی عناصر - یاد بگیرید چگونه عناصر را در ArrayList بروزرسانی کنید.
ArrayList: حذف عناصر - یاد بگیرید چگونه عناصر را بهصورت ایمن از ArrayList حذف کنید.
ArrayList: جستجوی عناصر - یاد بگیرید چگونه با contains و indexOf و روشهای دیگر عناصر را جستجو کنید.
ArrayList: مرتبسازی عناصر - یاد بگیرید چگونه با ابزارهای داخلی ArrayListها را مرتب کنید.
ArrayList: حلقهزنی روی عناصر - یاد بگیرید چگونه با تکنیکهای مختلف تکرار، ArrayListها را مرور کنید.
ArrayList :ArrayList با آبجکتها - یاد بگیرید چگونه آبجکتهای سفارشی را در ArrayList ذخیره کنید.
ArrayList - جمعبندی - مفاهیم ArrayList و خطاهای رایج را مرور کنید.
Wrapper Classها - در این بخش، Wrapper Classها را بررسی میکنیم.
Wrapper Classها: مقدمه - یاد بگیرید Wrapper Classها چه هستند و چرا مفیدند.
Wrapper Classها: Autoboxing و Unboxing - Autoboxing و Unboxing را یاد بگیرید و ببینید Java چگونه تبدیلها را بهصورت خودکار انجام میدهد.
برنامهنویسی تابعی: Lambdas و استریمها - قدرت برنامهنویسی تابعی در Java را با استفاده از Lambdaها، استریمها و رابطهای تابعی داخلی بپذیرید تا کدی تمیزتر و مدرنتر بنویسید.
برنامهنویسی تابعی - مقدمه - یاد بگیرید برنامهنویسی تابعی در Java چه معنایی دارد.
رابطهای تابعی - مقدمه - یاد بگیرید رابطهای تابعی چه هستند و چگونه Lambdaها را ممکن میکنند.
عبارات لامبدا - مقدمه - با سینتکس لامبدا آشنا شوید و اولین لامبدای خود را بنویسید.
عبارات لامبدا - با پارامترها - یاد بگیرید چگونه لامبداهایی بنویسید که ورودی میپذیرند.
عبارات لامبدا - بدون پارامتر - یاد بگیرید چگونه لامبداهایی بنویسید که هیچ پارامتری ندارند.
عبارات لامبدا - بادی بلوک - لامبداهای چندخطی با بادی بلوک را یاد بگیرید.
عبارات لامبدا - جمعبندی - مفاهیم لامبدا و بهترین شیوهها را مرور کنید.
Streams API - عملیات flatMap - در این بخش، عملیات flatMap در Streams API را بررسی میکنیم.
استریمها - flatMap - یاد بگیرید flatMap چگونه کار میکند و چگونه ساختارهای تودرتو را در استریمها تخت کنید.
Streams API: عملیاتهای استریم - باید Stream API end-to-end را یاد بگیرید، از جمله نحوه ساخت استریمها، اعمال عملیاتهای رایج و ساخت پایپلاینهای واقعی برای پردازش داده
استریمها - مقدمه - یاد بگیرید استریمها چه هستند و چرا مفیدند.
استریمها - ساخت استریم - روشهای مختلف ساخت استریم را یاد بگیرید.
استریمها - فیلتر - یاد بگیرید چگونه عناصر استریم را با predicateها فیلتر کنید.
استریمها - نقشه - یاد بگیرید چگونه با نقشه داده را تبدیل کنید.
استریمها - sorted - یاد بگیرید چگونه عناصر استریم را مرتب کنید.
استریمها - limit و skip - یاد بگیرید چگونه با limit و skip اندازه استریم را کنترل کنید.
استریمها - distinct - یاد بگیرید چگونه با distinct داپلیکیتها را حذف کنید.
استریمها - reduce - یاد بگیرید چگونه با reduce مقادیر را تجمیع کنید.
استریمها : collect - یاد بگیرید چگونه نتایج را با collectorها در کالکشنها جمعآوری کنید.
استریمها - groupingBy - یاد بگیرید چگونه داده را با groupingBy گروهبندی کنید.
استریمها - partitioningBy - یاد بگیرید چگونه داده را با partitioningBy به 2 گروه تقسیم کنید.
استریمها - toMap - یاد بگیرید چگونه از استریمها به صورت ایمن نقشه بسازید.
استریمها - findFirst و findAny - یاد بگیرید چگونه با findFirst/findAny عناصر را بازیابی کنید.
استریمها - anyMatch و allMatch و noneMatch - عملیاتهای match را برای اعتبارسنجی شرطیها روی عناصر استریم یاد بگیرید.
استریمها - Optional - یاد بگیرید Optional چگونه با نتایج استریم کار میکند.
استریمها - جمعبندی - Streams API و نکات کلیدی آن را مرور کنید.
استفاده از Streams API در دامنه فیلمهای ما - در این بخش، استفاده از Streams API در دامنه فیلمها را بررسی میکنیم.
فیلترینگ فیلمها با Streams API - یاد بگیرید چگونه فیلمها را با پایپلاینهای استریم فیلتر کنید.
نگاشت فیلمها با Streams API - یاد بگیرید چگونه داده فیلمها را با استریمها، نگاشت و تبدیل کنید.
عملیاتهای تجمیع روی فیلمها با Streams API - در این درس، عملیاتهای تجمیع روی فیلمها با Streams API را بررسی میکنیم.
ترکیب عملیاتهای فیلتر و نگاشت در دامنه فیلم - در این درس، ترکیب عملیاتهای فیلتر و نگاشت در دامنه فیلم را بررسی میکنیم.
رابطهای تابعی در Java - با رابطهای تابعی داخلی Java مانند Predicate و Consumer و Supplier و تابع و نسخههای Bi آنها برای رفتارهای قدرتمند و قابلاستفاده مجدد آشنا شوید.
Functional Interface Predicate - یاد بگیرید Predicate چگونه شرطیها را نمایش میدهد و چگونه از آن بهطور مؤثر استفاده کنید.
Functional Interface Consumer - یاد بگیرید Consumer چگونه بدون بازگرداندن نتیجه، عمل انجام میدهد.
Functional Interface Supplier - یاد بگیرید Supplier چگونه مقادیر را بهصورت lazy فراهم میکند.
Functional Interface Function - یاد بگیرید تابع چگونه داده را از یک نوع به نوع دیگر تبدیل میکند.
Functional Interface BiFunction - یاد بگیرید BiFunction چگونه با 2 ورودی کار میکند.
رابطهای تابعی BiConsumer و BiPredicate - در این درس، BiConsumer و BiPredicate را بررسی میکنیم.
رابطهای تابعی - جمعبندی - مرور کنید هر رابط تابعی را چه زمانی و چگونه باید استفاده کرد.
کالکشنها - نقشه و مجموعه - کالکشنهای قدرتمند نقشه و مجموعه در Java را بررسی کنید، یکتایی و مدلسازی کلید-مقدار را یاد بگیرید و آنها را در سناریوهای واقعی به کار ببرید.
مجموعه- مقدمه - یاد بگیرید مجموعه چیست و چگونه یکتایی را تضمین میکند.
HashSet - یاد بگیرید HashSet چگونه کار میکند و چه زمانی باید از آن استفاده کرد.
TreeSet - یاد بگیرید TreeSet چگونه عناصر را مرتب میکند و کاربردهای آن چیست.
نقشه - مقدمه - یاد بگیرید نقشه چیست و چگونه جفتهای کلید-مقدار را ذخیره میکند.
HashMap - یاد بگیرید چگونه از HashMap و عملیاتهای رایج آن استفاده کنید.
TreeMap - یاد بگیرید TreeMap چگونه کلیدها را مرتب نگه میدارد.
تکرار نقشه - روشهای مختلف تکرار ورودیها، کلیدها و مقادیر نقشه را یاد بگیرید.
نقشه و مجموعه - جمعبندی - نکات کلیدی مجموعههای نقشه و مجموعه را مرور کنید.
استثناها - یاد بگیرید استثناهای Java چگونه کار میکنند، چگونه آنها را ایمن مدیریت کنید و چگونه در برنامههایتان مدیریت خطای بهتری طراحی کنید.
استثناها: مقدمه - یاد بگیرید استثناها چه هستند و چرا رخ میدهند.
try و catch و finally - یاد بگیرید چگونه با try/catch/finally استثناها را مدیریت کنید.
استثناهای چک شده در برابر استثناهای چک نشده - تفاوت بین آنها را یاد بگیرید.
Throw کردن استثناها - یاد بگیرید چگونه و چه زمانی عمداً استثنا را Throw کنید.
استثناهای سفارشی - یاد بگیرید چگونه کلاسهای استثنای سفارشی خود را بسازید.
بهترین شیوههای مدیریت استثنا - بهترین روشها برای مدیریت تمیز استثناها را یاد بگیرید.
استثناها - جمعبندی - مفاهیم و نکات مدیریت استثنا را مرور کنید.
مفاهیم برنامهنویسی شیگرا - وراثت، پلیمورفیسم، انتزاع - ارکان اصلی OOP مانند وراثت، پلیمورفیسم، انتزاع و نحوه بهکارگیری آنها در طراحیهای واقعی Java را یاد بگیرید.
وراثت: مقدمه - اصول وراثت و اینکه کلاسها چگونه میتوانند کلاسهای دیگر را extend کنند، یاد بگیرید.
کلیدواژه super و زنجیرهسازی constructor - یاد بگیرید super چگونه کار میکند و constructor در وراثت چگونه زنجیره میشوند.
Overriding متد - یاد بگیرید چگونه متدها را در کلاسهای فرزند override کنید.
پلیمورفیسم - یاد بگیرید پلیمورفیسم چیست و چگونه طراحیهای انعطافپذیر و قابل استفاده مجدد را ممکن میکند.
کلاسهای انتزاعی - یاد بگیرید کلاسهای انتزاعی چگونه قراردادهای مشترک و پیادهسازیهای ناقص را تعریف میکنند.
رابطها - یاد بگیرید رابطها چگونه قابلیتها و قراردادها را در Java تعریف میکنند.
متدهای پیشفرض و ایستا در رابطها - با قابلیتهای مدرن رابط مانند متدهای پیشفرض و ایستا آشنا شوید.
وراثت و پلیمورفیسم - جمعبندی - نکات کلیدی OOP از وراثت و پلیمورفیسم را مرور کنید.
مفاهیم برنامهنویسی شیگرا - الگوهای طراحی - الگوهای طراحی کاربردی را یاد بگیرید و ببینید چگونه ساختار کد، انعطافپذیری و قابلیت نگهداری را بهبود میدهند.
الگوهای طراحی - مقدمه - یاد بگیرید الگوهای طراحی چه هستند و چرا اهمیت دارند.
الگوی Singleton - الگوی Singleton را یاد بگیرید و مزایا و معایب آن را درک کنید.
الگوی Factory - الگوی Factory را برای ساخت تمیز آبجکتها یاد بگیرید.
الگوی Strategy - الگوی Strategy را یاد بگیرید تا رفتارها را در ران تایم جابهجا کنید.
الگوی Observer - یاد بگیرید الگوهای سبک Observer چگونه طراحی رویداد محور را ممکن میکنند.
الگوهای طراحی - جمعبندی - الگوهای یادگرفته شده و زمان استفاده از آنها را مرور کنید.
ساخت یک اپلیکیشن واقعی: اعلانها، پرداختها، پاداشها - یک جریان پرداخت واقعی همراه با اعلانها و پاداشها بسازید تا طراحی ماژولار و معماری تمیز در Java را یاد بگیرید.
پرداختها، اعلانها و پاداشها: بررسی - دامنه و الزامات اپلیکیشن واقعی را درک کنید.
ساخت رابط PaymentProcessor و پیادهسازیهای آن - یاد بگیرید چگونه پردازش پرداخت را با رابطها و پیادهسازیها طراحی کنید.
پیادهسازی NotificationSender - یاد بگیرید چگونه یک کامپوننت اعلان را بهشکل تمیز پیادهسازی کنید.
افزودن منطق پاداشها - یاد بگیرید چگونه محاسبه و پیگیری پاداشها را به جریان اضافه کنید.
ریفکتور کردن و تست جریان - یاد بگیرید چگونه برای شفافیت ریفکتور کرده و رفتار end-to-end را تست کنید.
جمعبندی - معماری و نکات کلیدی پروژه را مرور کنید.
Java Time API - باید API مدرن تاریخ زمان Java را یاد بگیرید و مسائل واقعی زمان مانند time zoneها، مقایسهها و تغییر ساعت تابستانی را بهدرستی مدیریت کنید.
LocalDate در Java - مبانی - یاد بگیرید چگونه با LocalDate در Java کار کنید.
LocalTime در Java - مبانی - یاد بگیرید چگونه با LocalTime در Java کار کنید.
LocalDateTime در Java - مبانی - یاد بگیرید چگونه با LocalDateTime در Java کار کنید.
LocalDateTime - مقایسه و تغییر - در این درس، LocalDateTime: مقایسه و تغییر را بررسی میکنیم.
ZonedDateTime در Java - مبانی - یاد بگیرید ZonedDateTime چگونه کار میکند و چرا time zoneها مهماند.
ZonedDateTime در Java - در این درس، بازیابی ZonedDateTime در Java را بررسی میکنیم.
ZonedDateTime در Java - در این درس تغییر ZonedDateTime در Java را بررسی میکنیم.
ZonedDateTime در Java - مقایسه - یاد بگیرید چگونه مقادیر ZonedDateTime را بهدرستی مقایسه کنید.
تبدیل Time Zoneها در عمل - یاد بگیرید چگونه با Java Time API بین time zoneها تبدیل انجام دهید.
سناریوی واقعی: محاسبه زمان در سفر هوایی - یاد بگیرید چگونه زمان پرواز را با استفاده از zoneها و durationها محاسبه کنید.
Daylight Savings با ZonedDateTimne - یاد بگیرید چگونه موارد مرزی مربوط به تغییر ساعت تابستانی را در Java مدیریت کنید.
Instant در Java - در این درس، Instant در Java را بررسی میکنیم.
Instant در Java - مقایسه و تغییر - در این درس مقایسه و تغییر Instant در Java را بررسی میکنیم.
Duration در Java - یاد بگیرید Duration چگونه اختلافهای مبتنی بر زمان را نمایش میدهد.
Period در Java - سالها، ماهها و روزها به سادگی - یاد بگیرید Period چگونه اختلافهای مبتنی بر تاریخ را نمایش میدهد.
با تکمیل دوره، شما یک پایه قوی در برنامهنویسی مدرن Java از جمله سینتکس اصلی، برنامهنویسی شیگرا، کالکشنها، برنامهنویسی تابعی با استریمها و lambdas، مدیریت استثناها، کار با APIs زمان، کار با فایل، پردازش JSON و CSV و حتی تعامل با APIهای خارجی ساختهاید.
مهمتر از همه، یاد گرفتهاید چگونه با GitHub Copilot به عنوان یک همراه عملی در کدنویسی کار کنید تا بتوانید سریعتر بسازید و در عین حال دقیقاً بدانید چه چیزی میسازید.
برای اینکه دانش خود را به سطح بالاتری ببرید، چند گام پیشنهادی اینها هستند:
1 تا 2 پروژه کوچک و واقعی Java بسازید (اپلیکیشنهای CLI و APIهای کوچک، پردازشگرهای فایل و غیره)
با کد خودتان تمرین کد تمیز +مسیریابی انجام دهید.
فریمورکهایی مثل Spring Boot را یاد بگیرید تا اپلیکیشنهای backend واقعی بسازید.
مهارتهای تست را تقویت کنید و تستهای خودکار به پروژههایتان اضافه کنید.
به صورت استراتژیک از Copilot استفاده کنید و بگذارید AI در کارهای boilerplate کمک کند، در حالی که شما طراحی و تصمیمها را هدایت میکنید.
این دوره برای چه کسانی است؟
مبتدیان کامل که میخواهند Java مدرن را از ابتدا، با توضیحات روشن و تمرین عملی یاد بگیرند.
توسعهدهندگانی که از زبان دیگری (Python و JavaScript و #C و غیره) میآیند و میخواهند با یک رویکرد یادگیری مبتنی بر AI سریع به Java مهاجرت کنند.
دانشجویانی که میخواهند توسعه مبتنی بر AI را با GitHub Copilot یاد بگیرند تا بتوانند سریعتر کدنویسی کنند و در عین حال مبانی را هم بفهمند.
کسی که با ساختن بهتر یاد میگیرد. شما به جای تماشای صرفِ تئوری، مثالهای واقعی و پروژههای کوچک را پیادهسازی خواهید کرد.
توسعهدهندگان Java که مبانی را میدانند اما میخواهند مهارتهای خود را با سینتکس مدرن، استریمها، lambdas و الگوهای کاربردی کدنویسی بروز و مدرن کنند.