Please open Telegram to view this post
VIEW IN TELEGRAM
با توجه به اختلالات اخیر در اینترنت بینالملل، دسترسی به دورههای جاواپرو برای بسیاری از دانشجویان به خصوص دانشجویان خارج از کشور با محدودیت یا قطع کامل همراه بود.
از شکیبایی و همراهی شما سپاسگزاریم.
آکادمی جاواپرو
www.javapro.ir
www.academyjavapro.com
Please open Telegram to view this post
VIEW IN TELEGRAM
https://eitaa.com/javapro_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
به نشانه همدلی و آرامش،
دوره فریمورک Spring Boot آکادمی جاواپرو به مدت ۲ هفته رایگان شد❤
برای استفاده از این فرصت، هنگام ثبتنام کد تخفیف زیر رو وارد کنید:
🆓 JAVAPRO
📆 مهلت استفاده: تا [ ۱۸ تیر ۱۴٠۴]
🔺 جهت ثبت نام کلیک کنید
به اشتراک بگذارید تا شاید دل کسی آرومتر بشه...🕊
#درکنار_هم🌿
➡️ اشتراک 👍 لایک 💬 کامنت
➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖
⚡️ @javapro_ir
✈️ @group_javapro
➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖
#جاواپرو #SpringBoot #جاوا
دوره فریمورک Spring Boot آکادمی جاواپرو به مدت ۲ هفته رایگان شد
برای استفاده از این فرصت، هنگام ثبتنام کد تخفیف زیر رو وارد کنید:
📆 مهلت استفاده: تا [ ۱۸ تیر ۱۴٠۴]
به اشتراک بگذارید تا شاید دل کسی آرومتر بشه...
#درکنار_هم
#جاواپرو #SpringBoot #جاوا
Please open Telegram to view this post
VIEW IN TELEGRAM
آکادمی جاواپرو
دوره آموزش فریمورک Spring Boot
آموزش مباحث فریمورک (اسپرینگ بوت) Spring Boot در زبان برنامه نویسی جاوا همراه با آموزش پروژه محور ساخت کتاب فروشی با اسپرینگ بوت
آموزش برنامه نویسی جاوا | Java pinned «به نشانه همدلی و آرامش، دوره فریمورک Spring Boot آکادمی جاواپرو به مدت ۲ هفته رایگان شد❤ برای استفاده از این فرصت، هنگام ثبتنام کد تخفیف زیر رو وارد کنید: 🆓 JAVAPRO 📆 مهلت استفاده: تا [ ۱۸ تیر ۱۴٠۴] 🔺 جهت ثبت نام کلیک کنید به اشتراک بگذارید تا شاید دل…»
اگر تا حالا با جاوا کار کرده باشید، احتمالاً از HashMap استفاده کردهاید.
اما آیا واقعاً میدانید پشت صحنه چه اتفاقی میافتد؟
در ادامه به زبانی ساده و قابل فهم توضیح داده شده که HashMap چطور داخل خودش دادهها را مدیریت میکند 👇
🔹 ساختار کلی:
✅ در داخل HashMap، یک آرایه از «باکتها» وجود دارد.
✅ هر باکت میتواند چند «کلید-مقدار» را به صورت نود (گره) ذخیره کند.
✅ اگر چند کلید مختلف به یک باکت برسند، دادهها به صورت لیست پیوندی ذخیره میشوند (از نسخه ۸ جاوا به بعد، اگر تعداد زیاد شود، تبدیل به درخت Red-Black میشود).
🔹 هش کردن و پیدا کردن موقعیت:
🤔 وقتی یک کلید به HashMap اضافه میشود:
✅ جاوا با استفاده از متد hashCode() یک مقدار هش برای آن تولید میکند.
✅ بعد با این فرمول محل دقیق قرار گرفتن آن در آرایه مشخص میشود:
👨🏻💻 index = (n - 1) & hash
این روش باعث میشود کلیدها بهطور یکنواخت در آرایه پخش شوند و دسترسی سریعتر انجام شود.
🔹 برخورد چند کلید در یک جا:
🤔 اگر چند کلید به یک باکت برسند:
✅ اول جاوا بررسی میکند آیا کلید جدید با یکی از کلیدهای موجود برابر است (equals()).
✅ اگر برابر نباشد، کلید جدید به لیست یا درخت اضافه میشود.
🔹 تبدیل به درخت (در جاوا ۸ به بعد):
اگر تعداد نودها در یک باکت بیشتر از ۸ تا شود و کل اندازه نقشه حداقل ۶۴ باشد، لیست پیوندی به درخت Red-Black تبدیل میشود تا جستجوها سریعتر انجام شود (O(log n) بهجای O(n)).
🔹 ظرفیت، ضریب بار و آستانه:
✅ ظرفیت: تعداد باکتهای فعلی (پیشفرض ۱۶ عدد است)
✅ ضریب بار: عددی بین ۰ و ۱ (پیشفرض ۰٫۷۵) که مشخص میکند چه زمانی باید ظرفیت بیشتر شود
✅ آستانه: ظرفیت × ضریب بار؛ اگر تعداد عناصر از این مقدار بیشتر شود، HashMap بزرگتر میشود.
🔁 بزرگتر شدن (Resizing):
🤔 وقتی تعداد عناصر از آستانه عبور کند:
✅ ظرفیت آرایه دو برابر میشود
✅ همه کلیدها دوباره هش میشوند و در آرایه جدید قرار میگیرند
✅ این فرآیند زمانبر است، پس اگر از ابتدا ظرفیت مناسب انتخاب شود، کارایی بهتری خواهید داشت.
🔹 مدیریت null:
✅ HashMap فقط یک کلید null را قبول میکند
✅ اما میتواند چندین مقدار null داشته باشد
✅ کلید null همیشه در باکت شماره صفر ذخیره میشود.
💡 نکته مهم:
اگر از کلاسهای خودتان بهعنوان کلید استفاده میکنید، حتماً متدهای equals() و hashCode() را بازنویسی (override) کنید.
این کار از بروز خطا جلوگیری میکند و باعث میشود HashMap درست کار کند.
📈 چرا دانستن این نکات مهم است؟
✔️ به شما کمک میکند کدی سریعتر و بهینهتر بنویسید
✔️ برای مصاحبههای شغلی و طراحی سیستم آمادگی بیشتری خواهید داشت
✔️ درک عمیقتری از مجموعههای جاوا بهدست میآورید
اگر به جاوا، Spring Boot یا طراحی بکاند علاقهمندید، جاواپرو را دنبال نمایید 🙌
#جاواپرو #SpringBoot #جاوا
Please open Telegram to view this post
VIEW IN TELEGRAM
آموزش برنامه نویسی جاوا | Java
به نشانه همدلی و آرامش، دوره فریمورک Spring Boot آکادمی جاواپرو به مدت ۲ هفته رایگان شد❤ برای استفاده از این فرصت، هنگام ثبتنام کد تخفیف زیر رو وارد کنید: 🆓 JAVAPRO 📆 مهلت استفاده: تا [ ۱۸ تیر ۱۴٠۴] 🔺 جهت ثبت نام کلیک کنید به اشتراک بگذارید تا شاید دل…
بیش از 100 نفر در 24 ساعت در دوره فریمورک Spring Boot شرکت کردن.
ثبت نام در این دوره در جهت رسالت اجتماعی جاواپرو و حمایت از دانشجویان عزیز تا ۱۸ تیر رایگان شده است.
➗ با کد تخفیف 100% زیر ثبت نام کنید
✨ JAVAPRO
🖱 ثبت نام
شرایط سخت پایدار نیست، در کنار هم هستیم🌱
ثبت نام در این دوره در جهت رسالت اجتماعی جاواپرو و حمایت از دانشجویان عزیز تا ۱۸ تیر رایگان شده است.
شرایط سخت پایدار نیست، در کنار هم هستیم
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
آیا تا به حال به این فکر کردهاید که دادهها در برنامهنویسی چگونه منتقل میشوند؟ بیایید با دو روش بنیادی در این زمینه آشنا شویم:
در این روش، یک نسخهی کپی (copy) از مقدار متغیر ارسال میشود.
یعنی وقتی یک متغیر (variable) را به یک تابع (function) میفرستید، در واقع فقط یک نسخه از مقدار آن را منتقل کردهاید. بنابراین، هر تغییری که داخل تابع انجام شود، روی متغیر اصلی تأثیری ندارد.
این روش معمولاً در زبانهایی مانند C و جاوا (Java) برای نوعهای دادهای اولیه (primitive types) استفاده میشود.
در این روش، به جای ارسال یک نسخهی کپی، آدرس یا مرجعی (reference) به خود متغیر اصلی ارسال میشود.
به همین دلیل، تغییراتی که در تابع (function) انجام میشوند، مستقیماً روی متغیر اصلی تأثیر میگذارند.
این روش بیشتر در کار با اشیاء (objects) در زبانهایی مانند جاوا (Java) و پایتون (Python) دیده میشود.
چگونه میتوان مطمئن شد که از روش درست در کد (code) خود استفاده میکنید؟
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
ثبت نام در این دوره در جهت رسالت اجتماعی جاواپرو و حمایت از دانشجویان عزیز تا ۱۸ تیر رایگان شده است.
شرایط سخت پایدار نیست، در کنار هم هستیم
Please open Telegram to view this post
VIEW IN TELEGRAM
آموزش برنامه نویسی جاوا | Java
سعی کنید با ایمیل و شماره تلفن واقعی ثبت نام کنید چون اگر رمزتون فراموش کردید تنها رمز از طریق ایمیل ریکاوری میشه....
عزیزانی که همراه جاواپرو هستند، بهخوبی میدانند که ارائه چنین درصدی از تخفیف در شرایط عادی مرسوم نیست. این تخفیفات تنها با هدف حمایت از علاقهمندان به یادگیری در شرایط خاص امروز است و قصد دارن دورهها را با قیمت اقتصادی تهیه کنند، در نظر گرفته شده است.
دوره Spring Boot همچنان با کد تخفیف «Javapro» تا 18 تیر رایگان خواهد بود.
دوره Spring Boot همچنان با کد تخفیف «Javapro» تا 18 تیر رایگان خواهد بود.
همان طور که اعلام شد در طرح همدلی و در راستای رسالت اجتماعی جاواپرو دوره Spring Boot با کد تخفیف زیر تا 18 تیر رایگان شد
🎁 JAVAPRO
💎 دوره فریمورک Spring Boot
🫶 حال تصمیم جدیدی که گرفته شد اینکه دوره ارزشمند و پرتقاضای نخبگان میکروسرویس با Java و Spring Boot با تخفیف 70% ارائه شود و درآمد حاصل از فروش این دوره برای پرتو درمانی یک بیمار مبتلا به سرطان هزینه شود. اینجوری هم علاقمندان می توانند با قیمت بسیار مناسب این دوره را تهیه کنند هم کمک به درمان یک بیمار مبتلا به سرطان می شود.
➗ کد تخفیف 70% ویژه دوره نخبگان میکروسرویس با Java و Spring Boot:
❤️ MICRO
⚡️ دوره جامع نخبگان میکروسرویس با Java و Spring Boot
🎓 سایر دوره های جاواپرو را نیز با تخفیف 60% می توانید تهیه نمایید
➗ کد تخفیف 60%:
🎁 JAR
لیست سایر دوره ها:
💎 دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
💎 دوره مقدماتی جاوا
💎 دوره شاهکار پیشرفته جاوا
💎 دوره طلایی Spring Core
💎 دوره پروژه محور Spring Boot-سیستم دانشگاه
💎 دوره دژبان Spring Security
🔴 تمامی این شرایط تخفیف تا 18 تیر ماه برقرار است.
لیست سایر دوره ها:
Please open Telegram to view this post
VIEW IN TELEGRAM
آموزش برنامه نویسی جاوا | Java pinned «همان طور که اعلام شد در طرح همدلی و در راستای رسالت اجتماعی جاواپرو دوره Spring Boot با کد تخفیف زیر تا 18 تیر رایگان شد 🎁 JAVAPRO 💎 دوره فریمورک Spring Boot 🫶 حال تصمیم جدیدی که گرفته شد اینکه دوره ارزشمند و پرتقاضای نخبگان میکروسرویس با Java و Spring Boot…»
Please open Telegram to view this post
VIEW IN TELEGRAM
در ادامهی طرح همدلی و با توجه به رسالت اجتماعی جاواپرو،
---
یک تصمیم انسانی و ارزشمند گرفتهایم:
دورهی نخبگان میکروسرویس با Java و Spring Boot که یکی از پرفروشترین دورههای ماست،
با ۷۰٪ تخفیف ویژه ارائه میشود و درآمد آن صرف پرتودرمانی یک بیمار مبتلا به سرطان خواهد شد.
یعنی شما با ثبتنام در این دوره، هم یاد میگیرید، هم به درمان یک انسان کمک میکنید
---
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 بین اصطلاحات Java و Spring
POJO، DTO، Bean، Entity،
Repository و ... سردرگم شدی؟
بیا با هم راحت و خلاصه یاد بگیریمشون 👇
---
🧱 ۱. POJO (Plain Old Java Object)
کلاس ساده جاوا — بدون انوتیشن، بدون فریمورک
فقط فیلد، سازنده، Getter/Setter
📦 سادهترین ساختار داده در جاوا
---
🌱 ۲. Bean
POJOیی که توسط Spring مدیریت میشه
✅ باید JavaBean باشه (سازنده بدون پارامتر داشته باشه)
📌 با انوتیشنهایی مثل @Component، @Service یا @Repository ثبت میشه
👉 هر Bean یک POJO هست، ولی POJOییه که Spring ساخته و تزریق میکنه
---
📤 ۳. DTO (Data Transfer Object)
POJO مخصوص انتقال داده بین لایهها
🔁 فقط داده داره، نه منطق، نه انوتیشن
🎯 بیشتر بین Controller و Service استفاده میشه
📌 هر DTO یه POJO هست، ولی نه برعکس
---
📄 ۴. Entity
POJO نمایندهی یک رکورد دیتابیس
🧩 با @Entity مشخص میشه
🔗 فیلدهای کلاس به ستونهای جدول دیتابیس وصل میشن
---
🛠 ۵. DAO (Data Access Object)
کلاس سنتی برای دسترسی به دیتابیس
📝 دستی کوئری مینویسه (با JDBC یا Hibernate)
---
📚 ۶. Repository
نسخهی مدرن DAO در Spring
⚙️ با @Repository + Spring Data JPA
🚫 نیازی به نوشتن کوئری نیست!
✅ Spring خودش تولیدش میکنه – تمیزتر و راحتتر
---
🧠 ۷. Service
مرکز منطق تجاری برنامهت
📊 جایی که محاسبات و تصمیمگیریها انجام میشن
🏷 با @Service مشخص میشه
---
🌐 ۸. Controller
ورودی HTTP برنامهت
📥 درخواست میگیره، 📤 پاسخ میده
📎 با @Controller یا @RestController مشخص میشه
---
🧩 ۹. Component
انوتیشن پایه برای هر کلاس Spring
🌟 بقیه مثل @Service و @Repository نسخههای خاصش هستن
📌 برای ثبت Beanهای عمومی
---
🛠 ۱۰. Configuration
کلاسی برای پیکربندی Beanها
🔧 با @Configuration مشخص میشه
🧪 معمولاً شامل متدهایی برای ساخت Beanها در Spring هست
➡️ اشتراک 👍 لایک 💬 کامنت
➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖
⚡️ @javapro_ir
✈️ @group_javapro
➖ ➖ ➖ ➖ ➖ ➖ ➖ ➖
POJO، DTO، Bean، Entity،
Repository و ... سردرگم شدی؟
بیا با هم راحت و خلاصه یاد بگیریمشون 👇
---
🧱 ۱. POJO (Plain Old Java Object)
کلاس ساده جاوا — بدون انوتیشن، بدون فریمورک
فقط فیلد، سازنده، Getter/Setter
📦 سادهترین ساختار داده در جاوا
---
🌱 ۲. Bean
POJOیی که توسط Spring مدیریت میشه
✅ باید JavaBean باشه (سازنده بدون پارامتر داشته باشه)
📌 با انوتیشنهایی مثل @Component، @Service یا @Repository ثبت میشه
👉 هر Bean یک POJO هست، ولی POJOییه که Spring ساخته و تزریق میکنه
---
📤 ۳. DTO (Data Transfer Object)
POJO مخصوص انتقال داده بین لایهها
🔁 فقط داده داره، نه منطق، نه انوتیشن
🎯 بیشتر بین Controller و Service استفاده میشه
📌 هر DTO یه POJO هست، ولی نه برعکس
---
📄 ۴. Entity
POJO نمایندهی یک رکورد دیتابیس
🧩 با @Entity مشخص میشه
🔗 فیلدهای کلاس به ستونهای جدول دیتابیس وصل میشن
---
🛠 ۵. DAO (Data Access Object)
کلاس سنتی برای دسترسی به دیتابیس
📝 دستی کوئری مینویسه (با JDBC یا Hibernate)
---
📚 ۶. Repository
نسخهی مدرن DAO در Spring
⚙️ با @Repository + Spring Data JPA
🚫 نیازی به نوشتن کوئری نیست!
✅ Spring خودش تولیدش میکنه – تمیزتر و راحتتر
---
🧠 ۷. Service
مرکز منطق تجاری برنامهت
📊 جایی که محاسبات و تصمیمگیریها انجام میشن
🏷 با @Service مشخص میشه
---
🌐 ۸. Controller
ورودی HTTP برنامهت
📥 درخواست میگیره، 📤 پاسخ میده
📎 با @Controller یا @RestController مشخص میشه
---
🧩 ۹. Component
انوتیشن پایه برای هر کلاس Spring
🌟 بقیه مثل @Service و @Repository نسخههای خاصش هستن
📌 برای ثبت Beanهای عمومی
---
🛠 ۱۰. Configuration
کلاسی برای پیکربندی Beanها
🔧 با @Configuration مشخص میشه
🧪 معمولاً شامل متدهایی برای ساخت Beanها در Spring هست
Please open Telegram to view this post
VIEW IN TELEGRAM