Learn Java
304 subscribers
92 photos
1 video
94 files
84 links
یاد گیری زبان برنامه نویسی جاوا و نکات و مفاهیم
کاربردی ان



@parsa8113
@bardiademon
Download Telegram
لیست محبوب ترین زبان های برنامه نویسی سال 2019
TIOBE

@this_java
چرا نباید کامنت گذاری کنیم 🤔

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

یا این

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

چکیده ای از کتاب Clean Code

@this_java
آرزوی بهروزی و سلامتی برای خسرو آواز ایران استاد محمدرضا شجریان داریم.

محمدرضا شجریان، استاد بی بدیل آواز ایران است که طی نیم قرن، جاوادانه‌های بزرگی در موسیقی ایران خلق کرده‌است. طبق آنچه اساتید و کارشناسان موسیقی باور دارند، استاد محمدرضا شجریان صدای بی‌همتای یک قرن گذشته موسیقی ایران بوده‌است.

نماند بی پدر، آسمان موسیقی ایران..❤️
@this_java
جاوا اف ایکس (JavaFX) چیست؟

یک کتابخانه جاوا است که برای ساخت Rich Internet Application مورد استفاده قرار می گیرد. برنامه های نوشته شده با استفاده از این کتابخانه می توانند به طور مداوم در چندین سیستم عامل اجرا شوند. برنامه های توسعه یافته با استفاده از Java Fx می توانند بر روی دستگاه های مختلفی مانند رایانه های رومیزی ، تلفن های همراه ، تلویزیون ، تبلت و غیره اجرا شوند.

سوال: Rich Internet application چیست؟(RIA)

اپلیکیشن های تحت وب هستند که بسیاری از ویژگی های اپلیکیشن های دسکتاپ را دارند. این اپلیکیشن ها روی ویندوز، لینوکس، مکینتاش، اندروید، آی او اس، مرورگرهای اینترنت، کنسول های بازی و حتی تلویزیون های هوشمند به خوبی اجرا می شوند.
نمونه پرکاربرد این نوع اپلیکیشن ها Adobe Flash می باشد.
اپلیکیشن های RIA معمولا با تکنولوژی های Adobe Flash ، Microsoft Silverlight و JavaFX طراحی می شوند.

اپلیکیشن های JavaFX روی پلتفرم های JavaSE و JavaME طراحی شده و تمام قدرت این پلتفرم ها را در اختیار گرفته است.

به وسیله JavaFX شما میتوانید اپلیکیشن هایی با گرافیک فوق العاده بسازید که بدون کوچکترین تغییری روی تمامی سیستم عامل ها و پلتفرم های دسکتاپ و موبایل و … اجرا شوند

برای توسعه برنامه های کاربردی GUI با استفاده از زبان برنامه نویسی جاوا ، برنامه نویسان به کتابخانه هایی مانند Abstract Windowing Toolkit و Swing اکتفا می کردند. پس از ظهور JavaFX ، این برنامه نویسان جاوا اکنون می توانند برنامه های GUI را با محتوای غنی به طور مؤثر توسعه دهند.

قبلا درمورد Swing و Awt توضیح داده شده است
@this_java
پاسخ تمرین فوق
عید شب پرسه تو خیابونه ، عید آوازِ زیر بارونه
عید خوابِ خوشِ زمستونه ، عید لبخندِ هردوتامونه

سال نو رو تبریک میگم به همه شما عزیزان، امیدوارم حال دلتون و خودتون همیشه خوب باشه، خوبِ خوبِ خوب ♥️

سالی پر از کد ها و پروژه های خفن داشته باشید😉
@this_java
معرفی کتابخانه‌ی Lombok

کتابخانه‌ی Lombok ابزاری است که می‌تواند متدهایی همانند زیر را به صورت خودکار برای کلاس‌های شما تولید کند:
-getter
-setter
-equals
-hashCode
-toString
, ...
به عنوان مثال به جای نوشتن کلاس زیر:
public class JavaLand {
private int reloads;
private long timeSaved;

public int getReloads {return reloads;}
public setReloads(int reloads) { this.reloads = reloads; }
public long getTimeSaved{ return timeSaved;}
public setTimeSaved(long timeSaved) { this.timeSaved = timeSaved; }
}

می‌توانید از این شیوه استفاده کنید:
@Data
public class JavaLand {
private int reloads;
private long timeSaved;
}

و یا حتی ترکیبی با کتابخانه‌های دیگر:
@Entity
public class SampleEntity {
// ID
@Id
@Getter
@Setter
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

// USER
@Getter
@Setter
@ManyToOne(fetch = FetchType.LAZY, optional = false)
private UserEntity user;
}

قابلیت‌های بیشتر این کتابخانه در سایت رسمی این پروژه قابل مشاهده است:
https://projectlombok.org/features/all
پروژه‌ی Lombok در مخازن Maven:
https://mvnrepository.com/artifact/org.projectlombok/lombok

@this_java
این پروژه با spring boot هست
سورس کدش رو قرار میدم که ازش استفاده کنید
تفاوت sendRedirect با forward و include در servlet

forward و include هردو از اینترفیس RequestDispatcher هستند
در حالی که sendResirect متدی از اینترفیس ServletResponse می‌باشد


زمانی که شما sendRedirect میفرستی
توسط مرورگر کاربر handle میشه اما forwardو include توسط container

متد sendRedirect میتونه برای url هایی خارج از سرور شما استفاده بشه درحالی که include و forward حتما باید منابعی که فراخوانی کردید در سرور خودتون موجود باشه مثال زیر بیشتر توضیح میده در این مورد:

response.sendRedirect("http://www.google.com");
این کد بدون هیچ خطایی اجرا میشه

 HttpRequest.getRequestDispatcher("http://www.google.com");
اما این کد خطا میده

sendRedirectلینک بالای صفحه رو به لینک اون جایی که ریدارکت فرستادید تغییر میده..در مثال بالا گوگل
اما includeو forward همون url اولیه ی خودشون رو نمایش میدن.

include متد
محتوای اون صفحه رو به صفحه ی فعلی شما اضافه می‌کنه(response اون صفحه رو) ‌ اما forward اینطور نیست و requestرو به اون آدرسی که بهش دادید ارسال می‌کنه

@this_java
👍1
حل تمرین فوق در کوئرا
لینک :
https://quera.ir/problemset/contest/3561/
حل تمرین فوق از سایت کوئرا
لینک :
https://quera.ir/problemset/contest/2530/
Bean در اسپرینگ چیست؟

هر آبجکتی که توسط کانتینر اسپرینگ مدیریت ،کنترل و یا ایجاد شود را Bean مینامیم
@this_java
hibernateapp.zip
42.5 KB
پروژه ی هایبرنت:
مثال استفاده از SessionFactory و EntityManagerFactory

مثال استفاده از Bean Validation (Jsr 303)

پروژه ی maven
#hibernate
@this_java
springhibernateexample.zip
24.7 KB
مثال استفاده از Jpa در اسپرینگ
#spring
#hibernate
@this_java