جاوا اف ایکس (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
تفاوت 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
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
Bean در اسپرینگ چیست؟
هر آبجکتی که توسط کانتینر اسپرینگ مدیریت ،کنترل و یا ایجاد شود را Bean مینامیم
@this_java
هر آبجکتی که توسط کانتینر اسپرینگ مدیریت ،کنترل و یا ایجاد شود را Bean مینامیم
@this_java
hibernateapp.zip
42.5 KB
پروژه ی هایبرنت:
مثال استفاده از SessionFactory و EntityManagerFactory
مثال استفاده از Bean Validation (Jsr 303)
پروژه ی maven
#hibernate
@this_java
مثال استفاده از SessionFactory و EntityManagerFactory
مثال استفاده از Bean Validation (Jsr 303)
پروژه ی maven
#hibernate
@this_java
چرا به لایه ی سرویس احتیاج داریم؟
در خصوص اینکه چرا نیاز به لایه ی سرویس داریم بگذارید یک مثال بزنم براتون:
فرض کنید یک متد داخل لایه ی سرویس قزازه اطلاعاتی رو از دیتابیس واکشی کنه(یعنی بره از لایه ی dao بگیره یک سری چیزها رو)
بعد فرض کن میخوای اگه توی دیتابیست نبود بره از یه جای دیگه پیدا کنه..مثلا یک api خارجی..فرض کن میخوای هرکس توی سایت دوستت هم ثبت نام کرده بتونه داخل سایت خودت هم لاگین کنه..بعد از دوستت خواستی یک apiارائه بده برات..
آیا این قضیه که اگه داخل دیتابیس خودت نبود
بری از api دوستت استفاده کنی باید کجا پیاده بشه ؟ لایه ی دیتا اکسس؟
نخیر این لایه فقط باید با دیتابیس سر و کار داشته باشه نه بیشتر
بنابراین برای همچین قضایایی اومدن لایه ی سرویس رو گذاشتن
فرض کن اگر توی لایه ی دیتا اکسس همچین کاری میکردی..فردا پس فردا که مثلا پیاده سازی های مختلفی برای اینترفیس های لایه ی دیتا اکسس ات می نوشتی باید توی هرکدوم بیای بگی برن از api دوستت هم چک کنن..ولی لایه ی سرویس صرفا یکبار این اتفاق میوفته برای هر پیاده سازی ای
و اینکه درکل وظیفه ی لایه ی دیتا اکسس همونطور که اسمش معلومه فقط دسترسی به دیتابیس هست.. نه بیشتر.. در برنامه نویسی بایستی ما قسمت های مختلف رو از هم جدا کنیم تا بعدا اگر خواستیم توسعه بدیم راه هموار تری پیش روی خودمون داشته باشیم..
@this_java
در خصوص اینکه چرا نیاز به لایه ی سرویس داریم بگذارید یک مثال بزنم براتون:
فرض کنید یک متد داخل لایه ی سرویس قزازه اطلاعاتی رو از دیتابیس واکشی کنه(یعنی بره از لایه ی dao بگیره یک سری چیزها رو)
بعد فرض کن میخوای اگه توی دیتابیست نبود بره از یه جای دیگه پیدا کنه..مثلا یک api خارجی..فرض کن میخوای هرکس توی سایت دوستت هم ثبت نام کرده بتونه داخل سایت خودت هم لاگین کنه..بعد از دوستت خواستی یک apiارائه بده برات..
آیا این قضیه که اگه داخل دیتابیس خودت نبود
بری از api دوستت استفاده کنی باید کجا پیاده بشه ؟ لایه ی دیتا اکسس؟
نخیر این لایه فقط باید با دیتابیس سر و کار داشته باشه نه بیشتر
بنابراین برای همچین قضایایی اومدن لایه ی سرویس رو گذاشتن
فرض کن اگر توی لایه ی دیتا اکسس همچین کاری میکردی..فردا پس فردا که مثلا پیاده سازی های مختلفی برای اینترفیس های لایه ی دیتا اکسس ات می نوشتی باید توی هرکدوم بیای بگی برن از api دوستت هم چک کنن..ولی لایه ی سرویس صرفا یکبار این اتفاق میوفته برای هر پیاده سازی ای
و اینکه درکل وظیفه ی لایه ی دیتا اکسس همونطور که اسمش معلومه فقط دسترسی به دیتابیس هست.. نه بیشتر.. در برنامه نویسی بایستی ما قسمت های مختلف رو از هم جدا کنیم تا بعدا اگر خواستیم توسعه بدیم راه هموار تری پیش روی خودمون داشته باشیم..
@this_java
Rest.zip
195.3 KB
نمونه ی وب سرویس رست با اسپرینگ بوت
استفاده از Jwt و توکن دادن بعد از اعتبار سنجی یوزرنیم و پسورد کاربر
و یک مثال از وب سرویس برای اپلود فایل
نکته:استفاده از انوتیشن های prePost امکان پذیر است (roleخاصی تعریف نکردم میتونید خودتون دیتابیس مورد نظرتون رو بزارید داخلش)
@this_java
استفاده از Jwt و توکن دادن بعد از اعتبار سنجی یوزرنیم و پسورد کاربر
و یک مثال از وب سرویس برای اپلود فایل
نکته:استفاده از انوتیشن های prePost امکان پذیر است (roleخاصی تعریف نکردم میتونید خودتون دیتابیس مورد نظرتون رو بزارید داخلش)
@this_java