متخصص جاوا سون لرن
محتوای این دوره، شامل ویدئوها، فایلهای پیوست، پروژهها و یادداشتها، با هدف یادگیری سریعتر و مؤثرتر طراحی شدهاند. تمامی دوره های رایگان کده بهصورت رایگان و همچنین از طریق خرید اشتراکی در دسترس بوده و سعی شده همواره تمامی دوره ها بدون قفل و دارای آخرین آپدیت باشند. دوره ها فقط از سمت ربات تلگرامی رایگان کده قابل دانلود هستند.
متخصص جاوا سون لرن
محتوای این دوره، شامل ویدئوها، فایلهای پیوست، پروژهها و یادداشتها، با هدف یادگیری سریعتر و مؤثرتر طراحی شدهاند. تمامی دوره های رایگان کده بهصورت رایگان و همچنین از طریق خرید اشتراکی در دسترس بوده و سعی شده همواره تمامی دوره ها بدون قفل و دارای آخرین آپدیت باشند.
این دوره تا آخرین پارت منتشر شده از سوی سازنده (پرسش و پاسخ انتهای جلسه و معرفی منابع مفید) قرار گرفته است!
این دوره بدون هیچ لایسنس و قفل نرمافزاری با فرمت MP4 قرار گرفته است!
در ۴ سال ابتدایی زندگی حرفه ایم برنامه نویسی تنها یک راه کسب درآمد برای من بود. هر روز صبح به زور از خواب بیدار میشدم و با بی انگیزگی به محل کار میرفتم و از خودم این سوال رو میپرسیدم که واقعاً آیا نیاز بود من ۶ سال تحصیل کنم تا یاد بگیرم چند خط کد رو از جایی کپی کنم و با کمی تغییر در برنامه خودم استفاده کنم ؟
حتی به این فکر افتادم که برنامه نویسی رو کنار بگذارم و رو به کار پر درآمدتری برم. تأسیس پمپ بنزین, برگزار کننده مجلس عروسی, فروشگاه آب میوه فروشی …
تا اینکه یک روز در زندگی من اتفاق خاصی افتاد. یک نفر جدید وارد زندگی من شد. نیکلاس, مدیر پروژه جدید ما بود که بر خلاف خیلی از مدیران دیگه بلد بود کد بزنه و در پروژه با ما همکاری میکرد. یک روز صبح همه اعضای تیم رو جمع کرد و از ما خواست تا کدی که خودمون با دستان خودمون نوشته بودیم رو بخونیم و بگیم این کد چه کاری انجام میده. کد بسیار ناخوانا بود و زمان زیادی از ما گرفت تا اون رو متوجه بشیم. نیکلاس به ما گفت من این کد رو تغییر میدم و فردا بهتون یک کد جدید نشون میدم. کد نیکلاس به طرز عجیبی خوانا بود.
از اون روز درب جدیدی در زندگی من باز شد. تازه متوجه شدم فرق بین یک برنامه نویس ساده با یک مهندس نرم افزار چیه.
از اون روز به بعد همیشه به خودم گفتم ای کاش نیکلاس زودتر سر راه من قرار میگرفت و تصمیم گرفتم نیکلاس دیگران باشم.
من خوش شانس بودم چون با زبان برنامه نویسی قدرتمندی مثل جاوا کار میکردم. زبان جاوا خواصی داره که با اونها میشه اصول برنامه نویسی شئ گرا رو به خوبی حس و تجربه کرد. علاوه بر اون کامیونیتی بسیار بزرگی در دنیا برای این زبان وجود داره و یکی از ابر غولهای دنیای نرم افزار یعنی Oracle با مهندسین درجه یک پشت این زبان هستند و به صورت منظم این زبان برنامه نویسی رو گسترش میدن.
نه تنها فهم اصول معماری و استاد کاری با زبان برنامه نویسی جاوا خیلی ملموستر از برخی زبانهای دیگر برنامه نویسی هست, بلکه بازار کار بسیار خوبی هم در سر تا سر دنیا براش وجود داره.
شاید اگر از ابتدا زبانی مثل جاوا رو برای خودم انتخاب نکرده بودم با فردی مثل نیکلاس آشنا نمیشدم و شاید الان حتی یک خط کد هم نمیزدم!
- چگونه یک برنامه نویس خوب شویم
- نصب و راه اندازی Chocolatey
- نکاتی که جاوا را منحصر به فرد میکند
- دانلود و نصب JDK 8
- نصب و تنظیم Maven
- معرفی محیطهای توسعه جاوا
- نصب و آشنایی با محیط توسعه IntelliJ Idea
- نوشتن اولین برنامه به کمک تست
- کامنت ها, تایپهای اولیه و متغیر ها
- اجرای عملیات ریاضی به کمک اپراتورها
- گردآوری دادهها با استفاده از آرایه
- تصمیم گیری به کمک واژه کلیدی if
- جلوگیری از تکرار کدها به کمک متدها
- نوشتن منطق یک ماشین حساب
- تایپهای غیر اولیه و استفاده از خاصیتهای آنها
- تکرار چند باره یک برنامه با استفاده از ساختار for
- کاتا for loop
- تکرار چند باره یک برنامه با استفاده از ساختار while
- محاسبه مجموع اعداد با استفاده از ساختار تکرار
- سوئیچ کردن در کدها با switch case
- Debug کردن یک برنامه به کمک IntelliJ
- Git چیست و چگونه به ما کمک میکند؟
- Git چگونه از کد ما محافظت میکند ؟
- استفاده از GitHub جهت اشتراک گذاری کد
- ساختن اولین ریپوزیتوری در GitHub
- ساختن کلید SSH برای رمز گذاری تبادل اطلاعات
- نصب و راه اندازی ابزار Git Extensions برای سهولت در استفاده از Git
- تنظیمات Git Extensions
- آشنایی با مهمترین دستورات Git
- merge و Pull Request در GitHub برای ادغام کد ها
- ساختن اولین پروژه جاوا
- آشنایی با کلاسها
- اشیا و درست کردن نمونه از آنها
- تغییر سطح دسترسی به اشیاء
- اصل وراثت گیری در اشیاء
- ساخت کلاسهای انتزاعی (abstract)
- ساخت اشیای رابط (interface)
- مفهوم dependency injection
- اصل کپسول سازی (encapsulation)
- اصل چند شکلی (polymorphism)
- متغیرهای ایستا
- متدهای ایستا
- قطعات کد ایستا
- کلاسهای ایستا
- اجرای برنامه با تابع main
- برقراری ارتباط با برنامه هنگام اجرا
- با swing یک ماشین حساب طراحی کنیم (اولین رابط کاربری من)
- تشخیص وقایع در رابط کاربری و برقراری ارتباط با برنامه
- اتصال منطق ماشین حساب به رابط کاربری
- متغیرهای ثابت
- کلاسهای ثابت
- متدهای ثابت
- ارتباط یک شیء با شیء مادر
- ارتباط اجزای یک کلاس با یکدیگر
- تفاوت overloading و overriding به کمک مثال
- ساخت یک enum و تعریف چند حالت برای آن
- اضافه کردن پارامتر به حالتهای یک enum
- ArrayList
- آشنایی با لیستها
- تفاوت بین ArrayList و LinkedList
- Stack & Queue
- جلوگیری از تکرار دادهها به استفاده از Set
- به ترتیب منظم کردن دادههای یکتا با ساختار درختی
- ساختار داده دیکشنری با map
- دیکشنری با دادههای مرتب
- انواع دیگر ساختار داده
- مقایسه تایپهای اولیه و غیر اولیه
- استفاده از متد equals برای مقایسه اشیا
- استفاده از متد hashCode برای مقایسه اشیای هش شده
- استفاده از Comparable برای تعریف مقایسه چگونگی یک شی
- استفاده از Comparator برای تعریف چند نوع مدل مقایسه برای یک شی
- انواع Exception در جاوا
- مدیریت Exceptionها به کمک try catch
- مدیریت اتفاقات بعد از خطا به کمک بلاک finally
- نوشتن Exception تعریف نشده
- تعریف ورودی و خروجی
- نوشتن اطلاعات در یک فایل
- بستن ورودی و خروجیها بعد از استفاده از آنها
- خواندن اطلاعات از یک فایل
- مقدمه
- پایگاه داده چیست؟
- آشنایی با پایگاه دادههای رابطه ای (RDBMS)
- آشنایی با SQL و امکانات آن
- آشنایی با MySQL
- اتصال به پایگاه داده از طریق Cammand Line
- Show ، Use و Drop : ایجاد، حذف و نمایش پایگاههای داده در SQL
- Create و Alter: ایجاد، حذف و مدیریت جداول در SQL
- دستور INSERT : درج و افزودن رکورد به یک جدول
- دستور Delete : حذف رکورد از جداول
- دستور UPDATE : ویرایش اطلاعات سطرهای جداول
- دستور SELECT : گزارش گیری از اطلاعات (مرتب سازی، aggrigates و عملگرها)
- دستور LIMIT : محدودسازی تعداد رکوردهای برگشتی و ایجاد صفحه بندی (pagination) در پروژه ها
- انواع عملیات JOIN و دریافت اطلاعات از چند جدول
معرفی پروژه سبد خرید
جداسازی لایههای معماری از یک دیگر
نوشتن منطق پروژه
جداسازی لایه منطق از لایه داده
نصب پایگاه داده MySQL
اتصال به پایگاه داده
خواندن و نوشتن اطلاعات در پایگاه داده
برقراری ارتباط بین لایه داده و پایگاه داده
توضیح اصل Dependency Injection
Test Doubles
جداسازی تنظیمات اتصال به پایگاه داده از برنامه
- فواید تایپهای ژنریک
- چگونه از تایپهای ژنریک استفاده کنیم
- Wildcard
- تفاوت برنامه نویسی اعلانی و دستوری
- توابع مرتبه یک (First Class Citizen)
- توابع مرتبه بالاتر
- توابع خالص
- اصل تغییر ناپذیری
- توابع بازگشتی
- Function
- Primitive Function Part 1
- Primitive Function Part 2
- Primitive Function Part 3
- BiFunction
- Primitive BiFunction
- Supplier
- Consumer
- BiConsumer
- Predicates
- UnaryOperator
- BinaryOperator
- فواید استفاده از Stream و چگونگی ساخت آن
- چگونه از Streamها در کالکشنهای داده استفاده کنیم؟
- فیلتر کردن داده
- map کردن داده
- حذف داده تکراری با عمل distinct
- مرتب کردن دادهها به کمک اپراتور sorted
- تولید Side Effect با استفاده از متود Peek
- انتخاب تعدادی از عناصر به کمک Skip & Limit
- جمع آوری اطلاعات Stream به صورت مجموعه داده (Collection) به کمک متود collect
- انجام عملیات ریاضی بر روی دادههای Stream
- گروه بندی دادهها به کمک GrouppingBy
- کاهش مقدار خروجی به کمک reduce
- تطابق خروجی Stream با یک شرط به کمک match
- پیدا کردن یک خروجی از Stream به کمک find
- فراخوانی تنبل
- کار با دادههای پیچیده
- Streamهای همزمان
- Primitive Stream
- کاهش مجموعه String به کمک اپراتور پایان دهنده joining
- Kata Stream API Java 8
- مقدار null و مشکلات آن
- فواید Optional
- چگونه Optional بسازیم
- تعیین مقدار پیش فرض
- مدیریت خطا
- اشتباهات رایج
- مشکلات کار با تاریخ و زمان قبل از جاوا ۸
- استفاده از تاریخ و زمان
- محدودههای زمانی
- تغییر فرمت تاریخ
- مقایسه تاریخها با یک دیگر
- رعایت اصل DRY در Interfaceها به کمک کلید واژه default
- رعایت اصل DRY در Interfaceها به کمک کلید واژه static
- خواندن خط به خط فایلها و دسترسی به منابع
- مراحل تغییر ورژن جاوا
- دانلود AdopteOpenJDK ۹
- افزودن جاوا ۹ به سیستم
- تنظیمات IntelliJ برای استفاده از ورژن جدید
- ساختن ریپازیتوری جدید برای جاوا ۹
- درست کردن ماژول با استفاده از پروژه Jigsaw
- اجرای دستورات جاوا با استفاده از JShell
- تبدیل Optional به Stream
- استفاده از اعضای private در Interface
- تسهیل ساخت کالکشنهای تغییر ناپذیر
- استفاده از var بجای تایپ اشیا
- درست کردن کپیهای تغییر ناپذیر از کالکشنها
- مقدمه
- معرفی مفاهیم پایه و پروتکل ها
- پروتکل چیست؟
- مدل و معماری شبکه اینترنت
- آشنایی با مرورگرهای وب
- آشنایی با سرور و وب سرورها
- آشنایی با مدلهای لایه بندی شبکه
- پروتکل IP ورژن 4 و 6
- پروتکل HTTP و HTTPS
- آشنایی با CORS Policy در پروتکل HTTP
- پروتکل DNS – دفترچه تلفن اینترنت
- پروتکل SSL/TLS
- پروتکل FTP
- پروتکل WebSocket
- آشنایی با Ajax
- آموزش JSON و کاربردهای آن
- نکتهها و ابزارهای مفید کار با JSON
- ایجاد سرور ساختگی برای تست درخواستهای HTTP
- استفاده از سرویس GET پروتکل HTTP
- تبدیل کردن JSON به شی
- استفاده از سرویس POST پروتکل HTTP
- تفاوت درخواستهای هم زمان و غیر هم زمان
- چطور با درخواستهای طولانی کنار بیاییم
- متودهای اضافه شده به کلاس String
- استفاده از چند collector در یک stream
- پیدا کردن تفاوت در ۲ file
- معرفی قابلیتهای اضافه شده preview
- قابلیتهای اضافه شده به switch
- NullPointerExceptionهای گویا برای کمک به فهمیدن مشکل
- استفاده از بلوکهای متنی در جاوا
- تسهیل ساخت لیست در Stream
- ساخت کلاسهای تغیر ناپذیر به سادگی هر چه تمامتر
- کنترل وراثت
- سرور وب و پروژه
- وبینار نقشه راه یادگیری جاوا
- قوانین نام گذاری صحیح
- چگونه متودهای تمیز بنویسیم
- تمام آنچه در مورد تستها باید بدانیم
- بازار کار جاوا در ایران و خارج از ایران
- Fizz Buzz
- Roman Numerals
- Video Store Kata
- Approval Tests
- معرفی وبینار و محتوای آن
- بخش اول: آشنایی با Domain Deriven Design
- بخش دوم: ریفکتور کردن کد با استفاده از Sandwich Pattern (الگوی طراحی ساندویچ)
- بخش سوم: استفاده از الگوی ساندویچ و Approval Testها برای ریفکتور کردن سریع کدها
- پرسش و پاسخ انتهای جلسه و معرفی منابع مفید
- این دوره مناسب چه کسانی است؟
- دانشجویان رشتههای علوم کامپیوتر و مهندسی نرمافزار که میخواهندبه صورت حرفه ای برنامهنویسی جاوا را فرا بگیرند.
- برنامهنویسان مبتدی که قصد یادگیری زبان برنامهنویسی جاوا را دارند.
- افرادی که به دنبال یادگیری یک زبان برنامهنویسی پرکاربرد و با بازاریابیبالا میباشند.
- کسانی که به دنبال توسعه فرصت های شغلی خود در زمینه برنامه نویسی هستند.
- این دوره مناسب چه کسانی نیست؟
- کسانی که تمایلی به شروع یا پیشرفت در حوزه برنامهنویسی ندارند و به دنبال فعالیتهای دیگر میباشند.
- افرادی که زمان و تمرکز کافی برای پیگیری دوره را ندارند.
- برای افرادی که برنامه نویسی را به صورت جدی شروع نکرده اند.
زبان برنامه نویسی جاوا پیش نیار خاصی ندارد، و در دوره متخصص جاوا بدون نیاز به دانش خاصی میتوانید ثبتنام کنید.
درآمد زبان برنامهنویسی جاوا بستگی دارد به: سطح شما و شرکت و یا حتی کشوری که در آن فعالیت میکنید.
زبان برنامه نویسی جاوا در برنامه نویسی بک اند (backend) تحت وب و برنامه نویسی موبایل و برنامه نویسی سخت افزاری و بیگ دیتا و کلاد کاربرد زیادی دارد. جاوا در بک اند طراحی وب واقعا حرف برای گفتن دارد.
تفاوت زبان c با زبانهای برنامه نویسی c++ و جاوا این است که زبانهای برنامه نویسی c++ و جاوا از پارادایم شی گرایی استفاده میکنند. البته زبان برنامه نویسی جاوا پارادایم فانکشنال را هم پشتیبانی میکند. اما زبان c از پارادایم شی گرایی استفاده نمیکند. در واقع زبان c++ همان c زبان است که به آن پارادایم شی گرایی اضافه شده است.
زبان c و c++ سرعت بالاتری در زمان اجرا دارند. برای همین در بازیها و ساخت هواپیما از این دو زبان بیشتر استفاده میشود. زبان برنامه نویسی جاوا در زمینههای تحت وب و موبایل بیشتر استفاده میشود. این دو زبان دسترسی بیشتری به سطح پایین سخت افزاری دارند و در نتیجه کار کردن با آنها به نسبت جاوا سختتر است.
بله زبان برنامه نویسی جاوا و c# خیلی به هم شبیه هستند.
c# و کلا محصولات .net تحت لیسانس مایکروست است و فقط روی سیستمهای تحت ویندوز اجرا میشود.
در حالی که جاوا روی هر سیستمی قابل اجرا است. بدون اینکه نیاز به ابزار خاصی داشته باشید.
تفاوت دیگری که بین جاوا و c# است. اکوسیستم اطراف آن و فریم ورک هایی که از آن استفاده میشود.
زبان برنامه نویسی جاوا و جاوااسکریپت هیچ ربطی به هم ندارند. فقط شباهت اسمی دارند.
همانطور که در وبینار مسیر یادگیری جاوا توضیح دادم کلا زبانهای برنامه نویسی را به دو دسته تقسیم میکنیم زبانهایی که تایپ دارند و زبانهایی که تایپ ندارند. جاوا زبانی است که تایپ دارد اما زبان جاوااسکریپت تایپ ندارد.
برای اجرای زبان برنامه نویسی جاوا به ابزارهای خاصی نیاز داریم در حالی که جاوااسکریپت به ابزار خاصی نیاز ندارد.
با جاوااسکریپت بیشتر میتوان اسکریپت نوشت و یک خروجی خیلی سریع گرفت در حالی که زبان برنامه نویسی جاوا زبان سنگینتری است و مفاهیم بسیار عمیقتر و پیشرفتهتری دارد.
در نتیجه مشخص است که این دو زبان هیچ ارتباطی با هم ندارند.
ورژن ۸ جاوا تغییرات بنیادی در جاوا ایجاد کرد. دستورات برنامه نویسی این زبان تغییرات زیادی کرد.
در این ورژن ویژگیهای زیادی از جمله پارادایم فانکشنال اضافه شد و این زبان را تبدیل به زبان هیبرید کرد.