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



@parsa8113
@bardiademon
Download Telegram
یافتن اعداد کامل در جاوا:

عدد کامل عددی صحیح و مثبت است که مجموع مقسوم علیه های آن جز خودش برابر خود عدد شود.
مثال : 6عددی کامل هست
که به عدد های 1,2,3 بخش پذیره و جمع این عدد ها برابر با خود 6 است.

public class Dcoder{
public static void main(String[] args){
for(long i = 1;i<=Long.MAX_VALUE;i++){
long m=0;
for(long i2=1;i2<i;i2++){
if(i%i2==0){
m+=i2;
}
}
if(m==i){
System.out.println(i);
m=0;
}
}
}
}

@this_java
انوتیشن @Required در اسپرینگ منسوخ شده است جایگزین ان چیست؟
لینک

@Required :برای این است که اعلام شود یک وابستگی حتما باید تامین شود تا بین ساخته شود

استفاده از انوتیشن بالا در عمل تفاوتی با استفاده از سازنده ندارد .
میتوان به جای انوتیشن @Required از سازنده و یا از اینترفیس InitializingBean(و نه از انوتیشن @PostConstruct زیرا منسوخ شده است) استفاده نمود.

انوتیشن @PostConstruct @PreDestroy منسوخ شده اند ..جایگزین انها چیست؟
لینک
استفاده از دو اینترفیس InitializingBeanو DisposableBean


@this_java
رمز سزار:

اصولا رمزنگاری به دو بخش رمزنگاری با کلید متقارن(دو روش مدرن برای مثال جایگزینی و کلاسیک برای مثال AES) و رمزنگاری با کلید نامتقارن تقسیم میشود.

رمزنگاری جایگزینی یا جانیشنی: هر واحد از متن اصلی بر طبق یک سیستم معین با متن رمز شده جایگزین میشود. یک واحد ممکن است یک حرف باشد(معمولا اینطور است) یا دو حرف . رمزگشایی ان با کمک عکس عمل جایگذاری امکان پذیر است

تفاوت با رمزنگاری جابجایی:جابجایی مکان حروف را تغییر میدهد و نه خود حرف را اما جایگزینی خود حرف را تغییر میدهد

یکی از ساده ترین و ابتدایی ترین مثال برای برای رمزنگاری جایگزینی رمز سزار میباشد

تابع رمزنگاری در رمز سزار:
E(x) =(x+n) mod 26
n = ضریب انتقال
(۲۶ همان پیمانه است که در اینجا تعداد حروف انگلیسی میباشد)

تابع رمزگشایی در رمز سزار:

D(x)=(x-n)mod26

ابتدا هر حرف یک عدد نظیر میکند: (برای a صفر و برای z بیست و شش)

شکستن رمز سزار: از انجایی که انتقال های ممکن (n) محدود است (در زبان انگلیسی ۲۶) میتوان حالات ممکن را بررسی کرد تا به یک عبارت با معنی رسید و ضریب انتقال را پیدا کرد.

در واقع در رمز سزار ما میایم به هر حرف توی زبان انگلیسی یک عدد میدیم از صفر تا بیست و شش و یک ضریب جابجایی در نظر میگیریم ..مثلا ۱...در این صورت اگر حرف ما A باشد (شماره اش صفر است) یک واحد به جلو میرویم و میشود ۱ که همان حرف B است...

نکته : اگر x-n منفی شد باید قدر مطلق این عدد منفی را از ۲۶ کم کنیم

@this_java
SpringProject.zip
41.2 KB
اسپرینگ و هایبرنیت(جهت تمرین)
دیتابیس: h2
@this_java
springboot.zip
139.5 KB
یک وب سرویس ساده resT با اسپرینگ بوت

@this_java'
Forwarded from Iran Open Source Community (🕯SOLIDARITY🕯)
iropensource.com - What’s New in Java 13.zip
53.1 MB
📌 مباحث جدید عرضه شده در ورژن ۱۳ جاوا

تایپ : ‌ویدئو
زبان : انگلیسی
مدت زمان : ۴۶ دقیقه

🔗 @iropensource
‏لیست محبوب ترین زبان های برنامه نویسی سال 2019 توسط IEEE Spectrum

@this_java
لیست محبوب ترین زبان های برنامه نویسی سال 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 هست
سورس کدش رو قرار میدم که ازش استفاده کنید