کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت
دوره های آموزش برنامه نویسی

J2EE (کارگاه عملی جاوا پیشرفته با Oracle)

طول دوره
0 ساعت
نحوه برگزاری
حضوری + آنلاین
پیش نیاز
پشتیبانی
گروه پشتیبانی بعد از اتمام دوره
معرفی دوره پروژه های عملی سرفصل های دوره نظرات دانشجویان پروژه‌های دانشجویان

برای دسترسی سریعتر به هر قسمت، روی آن کلیک کنید:

  1. مخاطبین دوره
  2. سرفصل های دوره جاوا پیشرفته
    1. بخش 1: آموزش برنامه‌نویسی پویا
    2. بخش 2: آموزش کار با Application Server
    3. بخش 3: آموزش JSP (جاوا تحت سرور)
    4. بخش 4: آموزش Servlet جاوا
    5. بخش 5: آموزش معماری لایه ای MVC
    6. بخش 6: آموزش فریمورک Hibernate و همچنین کار با JPA
    7. بخش 7: آموزش پیاده‌سازی وب سرویس مبتنی بر REST
    8. بخش 8: آموزش کار با API ایمیل در جاوا JavaMail
    9. بخش 9: آموزش تزریق وابستگی (Dependency Injection)
    10. بخش 10: آموزش فریمورک Spring و اجزای آن
    11. بخش 11: آموزش امنیت
    12. بخش 12: آموزش کوئری‌نویسی
  3. پروژه های دوره 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 آموزش داده خواهد این پروژه شامل موارد زیر خواهد بود.

  • ثبت، حذف و بروزرسانی کاربران
  • جستجوی کاربران
  • ثبت، حذف و بروزرسانی خودروها
  • جستجوی خودروها
  • ثبت و مشاهده جرایم مربوط به هر خودرو
  • نمایش اطلاعات کاربران، خودروها و جرایم
  • نمایش گزارشات مرتبط با جرایم خودروها
فلوچارت چیست و چه کاربردی در برنامه‌ نویسی دارد؟
فلوچارت چیست و چه کاربردی در برنامه‌ نویسی دارد؟

فلوچارت رو شنیدی ولی همیشه برات مبهم بوده؟ اینجا با مثال و توضیح ساده، همه چی رو دربارش روشن کردیم.

اصل جایگزینی لیسکوف به زبان ساده
اصل جایگزینی لیسکوف به زبان ساده

در دنیای توسعه نرم‌افزار، انعطاف‌پذیری و تعامل بین اجزاء نرم‌افزار از اهمیت بسیار بالایی برخوردار است. یکی از اصول مهمی که به این اهداف کمک می‌کند، اصل جایگزینی لیسکوف یا Liskov Substitution Principle (LSP) است. این اصل، به ما می‌آموزد چگونه کلاس‌ها را به گونه‌ای طراحی کنیم که تعامل با آن‌ها به سادگی و جایگزینی کلاس‌ها بدون ایجاد مشکل امکان‌پذیر باشد.

۱۲۰ سوال آزمون استخدامی T-SQL و SQL Server با جواب کامل؛ از Junior تا Senior
۱۲۰ سوال آزمون استخدامی T-SQL و SQL Server با جواب کامل؛ از Junior تا Senior

در این مقاله، ۱۲۰ سوال مهم آزمون استخدامی T-SQL و SQL Server را از سطح مقدماتی تا حرفه‌ای بررسی می‌کنیم. سوال‌ها فقط حفظی نیستند؛ از مفاهیم پایه، کوئری‌نویسی، Stored Procedure و Window Function شروع می‌شوند و تا Performance Tuning، Execution Plan، Index، Transaction، Deadlock، Backup، Security و سناریوهای واقعی محیط Production ادامه پیدا می‌کنند. هدف این مقاله این است که برای مصاحبه SQL Server فقط جواب آماده نداشته باشید، بلکه منطق پشت هر جواب را هم دقیق بفهمید.

برنامه نویسی چیست و از کجا شروع کنیم؟ راهنمای شروع برنامه نویسی از صفر در ۲۰۲۶
برنامه نویسی چیست و از کجا شروع کنیم؟ راهنمای شروع برنامه نویسی از صفر در ۲۰۲۶

سعی داریم تو این بلاگ به طور کامل شمارو با مراحل ورود به دنیای برنامه نویسی و مسیر های پیش رو آشنا کنیم تا بتونین درست تر و مطمئن تر راهتون رو انتخاب کنین.

نظرات شما

نظرات خود را ثبت کنید...