برای دسترسی سریعتر به هر قسمت، روی آن کلیک
کنید:
- مخاطبین دوره
- سرفصل های دوره جاوا پیشرفته
- بخش 1: آموزش برنامهنویسی
پویا
- بخش 2: آموزش کار با Application
Server
- بخش 3: آموزش JSP (جاوا تحت سرور)
- بخش 4: آموزش Servlet جاوا
- بخش 5: آموزش معماری لایه ای
MVC
- بخش 6: آموزش فریمورک Hibernate و
همچنین کار با JPA
- بخش 7: آموزش پیادهسازی وب سرویس
مبتنی بر REST
- بخش 8: آموزش کار با API ایمیل در
جاوا JavaMail
- بخش 9: آموزش تزریق وابستگی
(Dependency Injection)
- بخش 10: آموزش فریمورک Spring و
اجزای آن
- بخش 11: آموزش امنیت
- بخش 12: آموزش کوئرینویسی
- پروژه های دوره J2EE همراه با spring MVC
مخاطبین این دوره
این دوره برای افرادی در نظر گرفته
شده که تمایل به تولید برنامه های کاربردی تحت وب و یا کلان را
دارند. همچنین افرادی که قصد ورود به بازار کار را دارند با
گذراندن این دوره میتوانند با تکنولوژیهای جدید توسعه آشنایی
پیدا کنند.
سرفصلهای دوره جاوا پیشرفته
JavaEE
بخش 1: آموزش برنامهنویسی پویا
در این بخش به معرفی برنامهنویسی پویا و مزایای
استفاده از بستر وب برای تولید برنامه و نقش جاوا در این نوع از
برنامه ها خواهیم پرداخت.
بخش 2: آموزش کار با Application
Server
- معرفی اپلیکیشن سرورهای مختلف در جاوا
- آموزش نصب و راه اندازی Apache Tomcat Application Server
- آموزش تنظیمات اپلیکیشن سرور
- آموزش راه اندازی برنامههای جاوا در اپلیکیشن سرور
بخش 3: آموزش JSP (جاوا تحت سرور)
java Server Pages یا به اختصار JSP (جاوا تحت سرور) یک فناوری
برای توسعه صفحات وب است و از محتوای پویا پشتیبانی میکند این
فناوری به توسعه دهندگان کمک می کند تا با استفاده از تگهای ویژه
JSP (جاوا تحت سرور)، کدهای جاوا را در صفحاتHTML وارد کنند. با استفاده از JSP (جاوا تحت سرور)، می
توانید از طریق فرمها، اطلاعات کاربران را جمع آوری کنید، سوابق
را از یک پایگاه داده یا منابع دیگر بخوانید و صفحات وب را به صورت
پویا ایجاد کنید. ما در این آموزش به بررسی مدل استفاده از JSP (جاوا تحت سرور) و
همچنین ارسال و دریافت اطلاعات از صفحات وب از طریق JSP (جاوا تحت سرور) به یک
پایگاه داده خواهیم پرداخت.
- آموزش چگونگی استفاده از کدهای جاوا در کدهای HTML
- بررسی تگهای JSP (جاوا تحت سرور)
- آموزش JSP (جاوا تحت سرور) directives
- بررسی Exception Handling در صفحات JSP
- آموزش ارسال و دریافت اطلاعات در صفحات JSP
- آموزش کار با Session و Cookie در صفحات JSP
- آموزش استفاده از تگهای JSTL
بخش 4: آموزش Servlet جاوا
Servlet را میتوان یک تکنولوژی برای ساخت وب
اپلیکیشنها دانست. یک Servlet، کلاس جاوایی است که میتواند به
درخواستهای HTTP که به یک URL خاص ارسال میشود پاسخ دهد. وقتی
کاربر از طریق مرورگر یک درخواست HTTP به Servlet container می
فرستد، Servlet container پس از دریافت آن درخواست Servlet متناظر
با URL درخواست را پیدا میکند و از Servlet میخواهد جواب HTTP
برای کاربر تولید کند و جواب HTTP تولید شده توسط Servlet را برای
نمایش به کاربر به مرورگر ارسال میکند. با استفاده از Servlets،
میتوانید ورودیهای کاربران را از طریق فرمهای صفحه وب جمعآوری
کنید، سوابق را از پایگاه داده یا منبع دیگری ارائه دهید و صفحات
وب را به صورت پویا ایجاد کنید. در تصویر زیر نحوه دریافت و پاسخ
یک Servlet را مشاهده میکنید.
در این آموزش با تنظیمات اولیه یک Servlet اشنا
میشویم و برنامهای مبتی بر Servlet پیادهسازی میکنیم تا تمامی
مراحل ارسال و دریافت اطلاعات از طریق Servlet به پایگاه داده رو
آموزش دهیم.
- آموزش ساخت و راه اندازی وب اپلیکیشن با استفاده از Servlet
- بررسی متدهای مختلف Servlet مانند get و post و ....
- آموزش فراخوانی یک Servlet از Servlet دیگر
- آموزش چرخه حیات Servlet و تفاوت بین RequestDispatcher و
Redirect
- آموزش استفاده از sendRedirect و بررسی URL rewriting در
Servlet
- آموزش کار با Session و Cookie در Servlet
بخش 5: آموزش معماری لایه ای MVC
MVC که مخفف Model-View-Controller است، یک قالب
معماری است که برنامه را از نظر منطقی به سه کامپوننت اصلی مدل
(Model)، ویو (View) و کنترلر (Controler) تقسیم میکند. هر یک از
این کامپوننتها برای مدیریت جنبه خاصی از توسعه یک برنامه ساخته
می شود. این معماری با بهره مندی از فلسفه Separation of Concerns
همه بخش های یک پروژه نرم افزاری را از همدیگر مستقل میکند.
Model تمامی دادهها و منطق مربوط به آنها را
شامل میشود. داده ها و منطق مربوط به آنها در کامپوننت مدل ذخیره
میشود. این کامپوننت، داده هایی که در میان کامپوننتهای کنترلر
یا هر منطق تجاری دیگری انتقال داده میشوند را نمایش میدهد. برای
مثال، یک آبجکت کنترلر اطلاعات کاربر را از پایگاه داده بازیابی و
آن را دستکاری کرده و دوباره به پایگاه داده میفرستد یا آن را
برای انتقال دادههای یکسان بکار میگیرد. کامپوننت مدل به
درخواستهای فرستاده شده از View و همینطور دستوراتController پاسخ
میدهد تا خود را بروزرسانی کند. این بخش همینطور پایین ترین سطح
از قالب است که مسئول حفظ و نگهداری داده هاست.
View بخشی از یک برنامه است که مسئولیت نمایش
اطلاعات را بعهده دارد. ویوها بوسیله دادههای جمع آوری شده از
دادههای مدل ایجاد میشوند
Controller رابط کاربری میان کامپوننتهای View و
Model است. کنترلر بخشی از یک برنامه است که تعامل کاربر با برنامه
را مدیریت میکند. کنترلر، ورودیهای کیبورد و موس را تفسیر کرده،
و به مدل و ویو اطلاع رسانی میکند تا تغییرات را بصورت مناسب
اعمال کند. کنترلر دستورات را به مدل میفرستد تا وضعیت خود را
بروزرسانی کند. کنترلر همینطور دستورات را به ویو مربوطه ارسال
میکند تا نمایش ویو را تغییر دهد.
در این آموزش ما مدل MVC را به کمک JSP (جاوا تحت سرور) و Servlet
در جاوا پیادهسازی خواهیم کرد و پروژهای برای ذخیره و بازیابی
اطلاعات از دیتابیس با پیادهسازی مدل MVC خواهیم ساخت.
- معرفی معماری لایهای
- آموزش پیادهسازی وب اپلیکیشن با استفاده از JSP و Servlet
منطبق بر معماری MVC
بخش 6: آموزش فریمورک Hibernate
و همچنین کار با JPA
تکنولوژی ORM یا Object-relational mapping به
برنامه نویس این امکان را میدهد تا دیدگاه خود را نسبت به جداول
موجود در پایگاه داده را تغییر دهد و به دیدگاه شیگرایی تبدیل
کند. یعنی رفتاری مشابه کلاسهای جاوا را میتوان با جدولهای
پایگاه داده و متادیتای آن داشته باشیم. چرا که با روش های پیشین
یعنی SQL مشکلات و محدودیتهایی مواجه هستیم که سعی می کنیم با
ORMها این مشکلات را حل و روند کار را سادهتر کنیم.
ORM یک Code Library است که انتقال خودکار داده
هایی که در جدول های یک پایگاه داده رابطه ای ذخیره شده اند را به
آبجکتهایی که بطور معمول در کد برنامه استفاده می شوند،
امکانپذیر میسازد. رویکرد Code First در میان برنامهنویسانی که
از معماری MVC استفاده میکنند بسیار معمول است. در این روش، کنترل
کامل بر روی کد صورت میگیرد. با استفاده از این رویکرد میتوان
تمامی فعالیت پایگاه داده را با استفاده از کد پیادهسازی کرد.
بنابراین، میتوان گفت در نتیجه استفاده از این رویکرد، تغییراتی
که بصورت دستی بر روی پایگاه داده انجام می شدند، حذف می شوند و
همه چیز وابسته به کد خواهد بود.
Hibernate محبوبترین ORM موجود در زبان جاوا است.
این محبوبیت حاکی از قدرت Hibernate است که حتی با فریمورکهایی
نظیر Springنیز قابل تلفیق یا Integrate شدن است. Hibernate به هیچ
وجه جایگزین JDBC نمیشود بلکه یک لایه بالاتر از آن و مبتنی بر آن
است در واقع Hibernate رابطی است که به برنامه نویسان کمک میکند،
بدون درگیر شدن با جزئیات یک پایگاه داده، تمام اعمال مربوط به
ذخیره و بازیابی اشیا را مستقل از نوع پایگاه داده انجام دهند. با
استفاده از Hibernate برنامهنویسان درگیر ماهیت و تفاوتهای
دیتابیسهای مختلف نمیشود.
در این آموزش به بررسی فریمورک Hibernate خواهیم
پرداخت و یک پروژه به همراه JPA پیاده سازی خواهیم کرد.
- بررسی مفاهیم DBMS, SQL, ORM, JPA
- مقدمه ای بر Hibernate ORM و تاریخچه پیدایش آن
- آموزش معماری Hibernate و پیکربندی پروژه
- آموزش کار با Annotation ها و ساخت Model ها توسط آن
- ساخت Data Base براساس Class Diagram
- نوشتن اطلاعات در پایگاه داده (Create)
- خواندن اطلاعات از پایگاه داده (Retrieve)
- حذف از پایگاه داده (Delete)
- بروزرسانی اطلاعات در پایگاه داده (Update)
- بررسی انواع استراتژی های موجود برای واکشی داده ها از DB
(Fetching Strategy)
- آموزش کار با زبان Hibernate Query Language (HQL)
- آموزش Mapping در جاوا One-to-One, Many-to-One, One-to-Many,
Many-to-Many
- آموزش مفهوم Cascade Types
بخش 7: آموزش پیادهسازی وب
سرویس مبتنی بر REST
وب سرویسها، سرویسهای نرم افزاری هستند که تحت
پروتکلهای مشخص وب مانند HTTP با استانداردهای مشخص کار میکنند.
وب سرویسها مستقل از زبان برنامه نویسی هستند و مفهوم یکسانی در
زبانهای برنامه نویسی مختلف دارند. سیستمهای نرمافزاری از
ماژولهای مختلفی تشکیل شدهاند که باید مستقل از یکدیگر و در کنار
یکدیگر بتوانند کار کنند. ماژولها هر کدام میتوانند با زبانهای
برنامه نویسی مختلفی پیادهسازی شوند. برای ایجاد ارتباط بین این
ماژولها از وب سرویسها استفاده میشود.
RESTful یا Representational State Transfer یک
نوعی از وب سرویس است ما در این آموزش به بررسی مفاهیم آن خواهیم
پرداخت و سپس با نحوه پیادهسازی این وب سرویس در زبان برنامه
نویسی جاوا آشنا میشویم.
- مقدمه ای بر مفهوم وب سرویس ها
- آموزش مفاهیم Client Server در Rest
- آموزش مفهوم State Less بودن Request ها در REST API
- آموزش مفهوم Cacheable بودن Request ها در REST
- آموزش و معرفی پایهای JAX-RS
- آموزش استفاده از برخی Annotationها در پیادهسازی وب سرویس
- آموزش پردازش JSON در ورودی و خروجی وب سرویسها
- آموزش مفاهیم اساسی حاکم بر وب سرویسها همچون Status Code ها
و انواع خروجی
- آموزش پیاده سازی کلاینت Rest در جاوا
بخش 8: آموزش کار با API ایمیل
در جاوا javaMail
- آموزش تنظیمات اولیه ایمیل در جاوا
- آموزش ارسال و دریافت ایمیل
- آموزش اتصال به سرور Gmail SMTP
بخش 9: آموزش تزریق وابستگی
(Dependency Injection)
- آشنایی با وابستگی و مشکلات آن
- معرفی اصل معکوس سازی وابستگی
- آشنایی با تزریق وابستگی
- چندین پیاده سازی برای یک سرویس
بخش 10: آموزش فریمورک Spring و
اجزای آن
Spring یک فریمورک متن باز برای برنامههای
کاربردی و همچنین محبوبترین فریمورک در جاوا است. هدف از ایجاد
این فریمورک توسعه و ایجاد نرم افزارهای Enterprise است.Spring بر
پایه برنامهنویسی جنبه گرا (aspect oriented) و معکوس کردن کنترل
(inversion of control) طراحی شده است. Spring به شکل ماژولار
طراحی شده است و از ماژول های مختلف برای رفع نیاز برنامه نویسان
استفاده میکند. قسمت وب spring بر مبنای معماری MVC ساخته شده
است. ما در این آموزش به موارد زیر در فریمورک Spring اشاره خواهیم
کرد همچنین نیازهای بازار کار نیز در بخش در نظر گرفته شده است تا
بعد از آموزش به راحتی بتوانید پروژههای مختلف رو با این فریمورک
پیادهسازی کنید برخی از مهمترین موضوعاتی که در این آموزش به آن
اشاره خواهیم کرد شامل موارد زیر میشود.
- معرفی چهارچوب Spring و اجزای آن
- آموزش مفهوم Inversion of Control یا وابستگی معکوس
- مفهوم تزریق وابستگی یا Dependency injection
- مفهوم جستجوی وابستگی یا Dependency lookup
- مقدمه ای بر Spring container
- آموزش پیکربندی فایلهای Spring
- آموزش پیکربندی با استفاده از Annotation
- آموزش چرخه حیات Bean ها در Spring
- آموزش استراتژیهای مقدار دهی Bean ها در Spring یا
Initialized Strategy
- آموزش حوزه فعالیت Bean ها یا Bean Scope
- آموزش ساختار پروژه در Spring Boot
- آموزش پیادهسازی وب اپلیکیشن با معماری Spring MVC
- آموزش پیادهسازی صفحات با Thymeleaf
- آموزش پیاده سازی Controller و Annotation های مورد
نیاز
- آموزش ساخت Model
- آموزش کار با Hibernate و پیکربندی آن در Spring
- آموزش Spring Data و اتصال به پایگاه داده
- آموزش کار با Spring Security و تنظیمات آن در وب اپلیکیشن
بخش 11: آموزش امنیت
JSON Web Token (JWT) یک استاندارد میباشد که
روشی کم حجم و جامعی را برای انتقال امن اطلاعات بین طرفین، در
قالب یک JSON object تعریف میکند. این اطلاعات تبادل شده، مطمئن و
قابل اعتماد میباشند زیرا به صورت دیجیتالی امضا شدهاند. توکن را
میتوان با استفاده از یک Secret یا جفت کلید عمومی و خصوصی امضا
نمود. یکی از متداولترین استفادههای JWT در فرآیند احراز هویت
میباشد. پس از اینکه فرایند احراز هویت یک کاربر انجام شد، تمامی
منابع، سرویسها و .. که کاربر میتواند به آن دسترسی پیدا کند به
وسیله JWT فراهم میشود.
- آموزش امنیت مبتنی بر نقش (Role Base Security)
- آموزش انواع رمز گذاری مزایا و معایب هر کدام
- آموزش رمز گذاری اطلاعات با فرمتهای مختلف
- آموزش امنیت مبتنی بر Token و ایمن سازی WEB API بر اساس JWT
Token
- آموزش راه اندازی سرویس احراز هویت برمبنای توکن JWT
- آموزش تعریف دسترسی به سرویسهای مختلف
بخش 12: آموزش کوئرینویسی
- آموزش کوئرینویسی در Hibernate
- آموزش کوئرینویسی به وسیله Spring Data
- آموزش Insert و Update و Delete نمونه رکوردها
- آموزش جستجو رشتهها با استفاده از تابع Starts With در Spring
Data JPA
- آموزش جستجو رشته ها با استفاده از تابع Ends With در Spring
Data JPA
- آموزش جستجو رشته ها با استفاده از تابع Contains در Spring
Data JPA
- آموزش مرتب سازی دادهها با استفاده از Order By
- آموزش Join در Spring Data JPA
- آموزش جستجو پیشرفته در Spring Data JPA
پروژه دوره:
در این دوره پروژه سامانه ثبت و مشاهده جرایم
رانندگی پیادهسازی و آموزش داده خواهد. از ابتدای دوره با آموزش
هر بخش پروژه مبتنی بر تکنولوژی یا فریمورک آموزش داده شده پیاذه
سازی خواهد شد. تمامی سرویسهای به صورت API آموزش داده خواهد این
پروژه شامل موارد زیر خواهد بود.
- ثبت، حذف و بروزرسانی کاربران
- جستجوی کاربران
- ثبت، حذف و بروزرسانی خودروها
- جستجوی خودروها
- ثبت و مشاهده جرایم مربوط به هر خودرو
- نمایش اطلاعات کاربران، خودروها و جرایم
- نمایش گزارشات مرتبط با جرایم خودروها