یافتن اعداد کامل در جاوا:
عدد کامل عددی صحیح و مثبت است که مجموع مقسوم علیه های آن جز خودش برابر خود عدد شود.
مثال : 6عددی کامل هست
که به عدد های 1,2,3 بخش پذیره و جمع این عدد ها برابر با خود 6 است.
عدد کامل عددی صحیح و مثبت است که مجموع مقسوم علیه های آن جز خودش برابر خود عدد شود.
مثال : 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_javaBetter-Coding
Spring @PostConstruct and @PreDestroy alternatives in Java 9+
Both @PostConstruct and @PreDestroy annotations (often used in spring applications) are located in java.xml.ws.annotation package which is a part of Java EE module. J2EE has been deprecated in Java 9 and it’s scheduled to be removed in Java 11. Let’s look…
رمز سزار:
اصولا رمزنگاری به دو بخش رمزنگاری با کلید متقارن(دو روش مدرن برای مثال جایگزینی و کلاسیک برای مثال AES) و رمزنگاری با کلید نامتقارن تقسیم میشود.
رمزنگاری جایگزینی یا جانیشنی: هر واحد از متن اصلی بر طبق یک سیستم معین با متن رمز شده جایگزین میشود. یک واحد ممکن است یک حرف باشد(معمولا اینطور است) یا دو حرف . رمزگشایی ان با کمک عکس عمل جایگذاری امکان پذیر است
تفاوت با رمزنگاری جابجایی:جابجایی مکان حروف را تغییر میدهد و نه خود حرف را اما جایگزینی خود حرف را تغییر میدهد
یکی از ساده ترین و ابتدایی ترین مثال برای برای رمزنگاری جایگزینی رمز سزار میباشد
تابع رمزنگاری در رمز سزار:
(۲۶ همان پیمانه است که در اینجا تعداد حروف انگلیسی میباشد)
تابع رمزگشایی در رمز سزار:
شکستن رمز سزار: از انجایی که انتقال های ممکن (n) محدود است (در زبان انگلیسی ۲۶) میتوان حالات ممکن را بررسی کرد تا به یک عبارت با معنی رسید و ضریب انتقال را پیدا کرد.
در واقع در رمز سزار ما میایم به هر حرف توی زبان انگلیسی یک عدد میدیم از صفر تا بیست و شش و یک ضریب جابجایی در نظر میگیریم ..مثلا ۱...در این صورت اگر حرف ما A باشد (شماره اش صفر است) یک واحد به جلو میرویم و میشود ۱ که همان حرف B است...
نکته : اگر x-n منفی شد باید قدر مطلق این عدد منفی را از ۲۶ کم کنیم
@this_java
اصولا رمزنگاری به دو بخش رمزنگاری با کلید متقارن(دو روش مدرن برای مثال جایگزینی و کلاسیک برای مثال AES) و رمزنگاری با کلید نامتقارن تقسیم میشود.
رمزنگاری جایگزینی یا جانیشنی: هر واحد از متن اصلی بر طبق یک سیستم معین با متن رمز شده جایگزین میشود. یک واحد ممکن است یک حرف باشد(معمولا اینطور است) یا دو حرف . رمزگشایی ان با کمک عکس عمل جایگذاری امکان پذیر است
تفاوت با رمزنگاری جابجایی:جابجایی مکان حروف را تغییر میدهد و نه خود حرف را اما جایگزینی خود حرف را تغییر میدهد
یکی از ساده ترین و ابتدایی ترین مثال برای برای رمزنگاری جایگزینی رمز سزار میباشد
تابع رمزنگاری در رمز سزار:
E(x) =(x+n) mod 26n = ضریب انتقال
(۲۶ همان پیمانه است که در اینجا تعداد حروف انگلیسی میباشد)
تابع رمزگشایی در رمز سزار:
D(x)=(x-n)mod26ابتدا هر حرف یک عدد نظیر میکند: (برای a صفر و برای z بیست و شش)
شکستن رمز سزار: از انجایی که انتقال های ممکن (n) محدود است (در زبان انگلیسی ۲۶) میتوان حالات ممکن را بررسی کرد تا به یک عبارت با معنی رسید و ضریب انتقال را پیدا کرد.
در واقع در رمز سزار ما میایم به هر حرف توی زبان انگلیسی یک عدد میدیم از صفر تا بیست و شش و یک ضریب جابجایی در نظر میگیریم ..مثلا ۱...در این صورت اگر حرف ما A باشد (شماره اش صفر است) یک واحد به جلو میرویم و میشود ۱ که همان حرف B است...
نکته : اگر x-n منفی شد باید قدر مطلق این عدد منفی را از ۲۶ کم کنیم
@this_java
Forwarded from Iran Open Source Community (🕯SOLIDARITY🕯)
iropensource.com - What’s New in Java 13.zip
53.1 MB
چرا نباید کامنت گذاری کنیم 🤔
🔻 اگر زبان برنامه نویسی ما به اندازه کافی گویا میبود و یا اگر ما استعداد این را داشتیم که با استفاده از این زبان مقصود خودمان را به خوبی بیان کنیم، شاید نیازی به نوشتن کامنت های بسیاری نبود و شاید اصلا نیازی نبود.
✅ بنابراین هنگامی که در موقعیتی قرار میگیرید که نیاز به نوشتن کامنت دارید، فکر کنید و سپس ببینید که آیا راهی برای تبدیل جداول و گویا کردن کدتان وجود دارد یا خیر. هر زمانی که کد خودتان را به درستی نشان دادید باید خودتان را تشویق کنید. هر بار که شما کامنتی مینویسید باید در توانایی بیان خود احساس شکست کنید.
نظور خودتان را درون کد توضیح دهید
مطمئنا زمان هایی وجود دارد که کد وسیله ای ضعیف برای بیان توضیحات میباشد. متاسفانه برخی از برنامه نویسان این را بدین معنا میدانند که کد به ندرت ابزاری خوب برای توضیح دادن است. این به وضوح غلط است. کدامیک از اینها از نظر شما بهتر است ؟
یا این
✅تنها چند ثانیه طول میکشد که فکر کنید و مقصود خود را بیشتر در کد توضیح دهید. در بسیاری از موارد کاری را که میخواهید در کامنت بگویید به سادگی با ایجاد یک تابع میتوان بیان کرد.
چکیده ای از کتاب Clean Code
@this_java
🔻 اگر زبان برنامه نویسی ما به اندازه کافی گویا میبود و یا اگر ما استعداد این را داشتیم که با استفاده از این زبان مقصود خودمان را به خوبی بیان کنیم، شاید نیازی به نوشتن کامنت های بسیاری نبود و شاید اصلا نیازی نبود.
✅ بنابراین هنگامی که در موقعیتی قرار میگیرید که نیاز به نوشتن کامنت دارید، فکر کنید و سپس ببینید که آیا راهی برای تبدیل جداول و گویا کردن کدتان وجود دارد یا خیر. هر زمانی که کد خودتان را به درستی نشان دادید باید خودتان را تشویق کنید. هر بار که شما کامنتی مینویسید باید در توانایی بیان خود احساس شکست کنید.
نظور خودتان را درون کد توضیح دهید
مطمئنا زمان هایی وجود دارد که کد وسیله ای ضعیف برای بیان توضیحات میباشد. متاسفانه برخی از برنامه نویسان این را بدین معنا میدانند که کد به ندرت ابزاری خوب برای توضیح دادن است. این به وضوح غلط است. کدامیک از اینها از نظر شما بهتر است ؟
یا این
✅تنها چند ثانیه طول میکشد که فکر کنید و مقصود خود را بیشتر در کد توضیح دهید. در بسیاری از موارد کاری را که میخواهید در کامنت بگویید به سادگی با ایجاد یک تابع میتوان بیان کرد.
چکیده ای از کتاب Clean Code
@this_java
آرزوی بهروزی و سلامتی برای خسرو آواز ایران استاد محمدرضا شجریان داریم.
محمدرضا شجریان، استاد بی بدیل آواز ایران است که طی نیم قرن، جاوادانههای بزرگی در موسیقی ایران خلق کردهاست. طبق آنچه اساتید و کارشناسان موسیقی باور دارند، استاد محمدرضا شجریان صدای بیهمتای یک قرن گذشته موسیقی ایران بودهاست.
نماند بی پدر، آسمان موسیقی ایران..❤️
@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
یک کتابخانه جاوا است که برای ساخت 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
Telegram
Learn Java
swing در مقابل AWT
درواقع دو مجموعه از کامپوننت های GUI در جاوا وجود دارد . قبل از اینکه swing در java SE 1.2 معرفی شود, GUI های جاوا با کامپوننت هایی از Abstract window Tolkit که به اختصار awt نامیده میشود در پکیج java.awt ایجاد میشدند. زمانیکه یک برنامه…
درواقع دو مجموعه از کامپوننت های GUI در جاوا وجود دارد . قبل از اینکه swing در java SE 1.2 معرفی شود, GUI های جاوا با کامپوننت هایی از Abstract window Tolkit که به اختصار awt نامیده میشود در پکیج java.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
کتابخانهی 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