آموزش ساخت سیستم‌های بک‌اند مقیاس‌پذیر با جاوا، Spring Boot و میکروسرویس‌ها - آخرین آپدیت

دانلود Build Scalable Java Backend Systems with Spring Boot, Micros

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: به یک مهندس بک‌اند جاوا تبدیل شوید: تسلط بر Spring Boot، PostgreSQL، Docker، میکروسرویس‌ها، تست‌نویسی و DevOps. توسعه REST APIهای آماده برای محیط عملیاتی با استفاده از Java، Spring Boot، Spring MVC و اصول معماری لایه‌ای (Controller، Service، Repository و Entity). طراحی و مدیریت پایگاه‌های داده رابطه‌ای با استفاده از PostgreSQL، Spring Data JPA و Hibernate، شامل روابط بین موجودیت‌ها، تراکنش‌ها و تکنیک‌های پیشرفته کوئری‌نویسی. ایمن‌سازی اپلیکیشن‌های بک‌اند با Spring Security، پیاده‌سازی احراز هویت (Authentication)، تعیین سطح دسترسی (Authorization)، کنترل دسترسی مبتنی بر نقش (RBAC)، رمزنگاری گذرواژه و سیستم‌های توکن‌محور. بهبود عملکرد اپلیکیشن از طریق پیاده‌سازی استراتژی‌های کشینگ با Redis، سیاست‌های حذف کش (Cache Eviction) و تکنیک‌های بهینه بازیابی داده‌ها. ساخت اپلیکیشن‌های رویداد-محور (Event-Driven) با استفاده از Apache Kafka برای ارتباطات ناهمگام بین سرویس‌ها و معماری‌های پیام‌رسانی مقیاس‌پذیر. پیشنیازها: داشتن دانش پایه برنامه‌نویسی جاوا توصیه می‌شود. دانشجویان باید با مفاهیم بنیادی جاوا مانند متغیرها، کلاس‌ها، اشیا، متدها، حلقه‌ها و مفاهیم پایه برنامه‌نویسی شیءگرا آشنا باشند. هیچ تجربه قبلی در Spring Boot مورد نیاز نیست. دوره از مفاهیم پایه شروع شده و به تدریج به سمت مفاهیم پیشرفته بک‌اند، شامل دیتابیس، امنیت، کشینگ، پیام‌رسانی، میکروسرویس‌ها، تست و استقرار پیش می‌رود. درک اولیه از پایگاه‌های داده و SQL مفید است اما اجباری نیست. PostgreSQL و یکپارچه‌سازی دیتابیس گام‌به‌گام در طول دوره توضیح داده خواهد شد. یک کامپیوتر با قابلیت اجرای ابزارهای توسعه و کانتینرهای Docker. دانشجویان باید بتوانند نرم‌افزارهایی مانند IntelliJ IDEA، Docker Desktop، PostgreSQL و سایر ابزارهای مورد استفاده در دوره را نصب و اجرا کنند.

توسعه حرفه‌ای بک‌اند جاوا را با ساخت یک اپلیکیشن واقعی و کامل از صفر بیاموزید. در این دوره، شما پروژه BookHub را (یک سیستم بک‌اند آماده برای محیط عملیاتی) خلق خواهید کرد و تمام چرخه حیات توسعه نرم‌افزار (SDLC)، از برنامه‌ریزی و طراحی تا تست، استقرار و نگهداری را یاد می‌گیرید.

شما با درک نحوه برنامه‌ریزی و ساختار پروژه‌های نرم‌افزاری حرفه‌ای شروع می‌کنید و سپس یک اپلیکیشن Spring Boot را بر اساس اصول معماری پاک (Clean Architecture) راه‌اندازی خواهید کرد. در ادامه، REST APIها را می‌سازید، PostgreSQL را با Spring Data JPA و Hibernate یکپارچه می‌کنید و روابط و کوئری‌های بهینه دیتابیس را طراحی می‌کنید.

یاد می‌گیرید که چگونه اپلیکیشن خود را با Spring Security ایمن کنید، احراز هویت و تعیین سطح دسترسی را پیاده‌سازی نمایید و نقش‌ها و مجوزهای کاربران را مدیریت کنید. برای بهبود کارایی، کشینگ Redis را اضافه کرده و استراتژی‌های مدیریت بهینه داده‌ها را بررسی می‌کنید. همچنین ارتباطات ناهمگام را با Apache Kafka پیاده‌سازی کرده و معماری رویداد-محور را درک خواهید کرد.

این دوره فراتر از توسعه بک‌اند سنتی است و مفاهیمی مانند کانتینرسازی با Docker، مفاهیم CI/CD، تست‌های خودکار با JUnit و Mockito، تست‌های یکپارچه‌سازی (Integration Testing)، تکنیک‌های دیباگ و استراتژی‌های مانیتورینگ را معرفی می‌کند.

همچنین سیستم‌های توزیع‌شده مدرن را با استفاده از Spring Cloud، شامل Config Server، Eureka Service Discovery و API Gateway بررسی خواهید کرد.

در پایان این دوره، شما یک اپلیکیشن بک‌اند جاوا در سطح سازمانی ساخته‌اید و مهارت‌های عملی مورد نیاز مهندسان بک‌اند حرفه‌ای برای توسعه اپلیکیشن‌های مقیاس‌پذیر، امن، قابل نگهداری و آماده تولید را کسب کرده‌اید.



سرفصل ها و درس ها

راه‌اندازی پروژه و مفاهیم پایه Project Setup and Foundations

  • سرفصل‌های دوره Course Curriculum

  • درباره مدرس About the Instructuor

  • معرفی دوره Course Introduction

  • ایجاد پروژه BookHub با Spring Initializr Creating the BookHub Project with Spring Initializr

  • درک ساختار پروژه و لایه‌ها Understanding the Project Structure and Layers

  • ساخت Dockerfile و اجرا با داکر Creating the Dockerfile and Running with Docker

  • رفع مشکل DataSource و تبدیل به YAML Fixing the DataSource Issue and Converting to YAML

  • ساخت اولین REST API Creating the First REST API

تنظیم ابزارهای تست (PgAdmin و Swagger) Setting Up Testing Tools (PgAdmin & Swagger)

  • چرا به ابزارهای تست بصری نیاز داریم؟ Why We Need Visual Testing Tools

  • افزودن PgAdmin به Docker Compose Adding PgAdmin to Docker Compose

  • اتصال PgAdmin به PostgreSQL Connecting PgAdmin to PostgreSQL

  • افزودن Swagger UI برای تست API Adding Swagger UI for API Testing

  • تست نقاط دسترسی (Endpoints) با Swagger UI Testing Endpoints with Swagger UI

یکپارچه‌سازی دیتابیس با PostgreSQL و JPA Database Integration with PostgreSQL & JPA

  • درک JPA و Hibernate Understanding JPA & Hibernate

  • ساخت موجودیت کتاب (Book Entity) Creating the Book Entity

  • کلیدهای اصلی و استراتژی‌های تولید مقدار Primary Keys & Generation Strategies

  • ساخت موجودیت نویسنده (Author Entity) Creating the Author Entity

  • روابط - یک به چند (One to Many) Relationships — One-to-Many

  • روابط دوطرفه (Bi-directional) Bi-directional Relationships

  • تست نگاشت موجودیت‌ها با PgAdmin Testing Entity Mapping with PgAdmin

روابط، JPA پیشرفته و تراکنش‌ها Relationships, Advanced JPA & Transactions

  • معرفی Spring Data JPA Introduction to Spring Data JPA

  • ساخت مخزن کتاب (Book Repository) Creating the Book Repository

  • ساخت مخزن نویسنده (Author Repository) Creating the Author Repository

  • متدهای کوئری مشتق شده (Derived Query Methods) Derived Query Methods

  • کوئری‌های سفارشی با @Query (JPQL) Custom Queries with @Query (JPQL)

  • صفحه‌بندی و مرتب‌سازی (Pagination & Sorting) Pagination & Sorting

عملیات CRUD و لایه سرویس CRUD Operations & Services

  • طراحی لایه سرویس - چرا تفکیک مسئولیت‌ها مهم است؟ Service Layer Design — Why We Separate Concerns

  • عملیات ایجاد (Create) Create Operation

  • عملیات خواندن - findById و findAll Read Operations — findById and findAll

  • عملیات به‌روزرسانی (Update) Update Operation

  • عملیات حذف (Delete) Delete Operation

  • اتصال به کنترلر - پیاده‌سازی کامل CRUD Wiring Up the Controller — Full CRUD Endpoints

مدیریت تراکنش‌ها Transaction Management

  • تراکنش‌ها چیستند؟ What are Transactions?

  • استفاده از @Transactional Using @Transactional

  • رفتار بازگشت (Rollback) Rollback Behavior

  • انزوا و انتشار (Isolation & Propagation) Isolation & Propagation

کوئری‌های پیشرفته، فیلترینگ پویا و بهینه‌سازی Advanced Querying, Dynamic Filtering & Performance

  • بررسی عمیق JPQL JPQL Deep Dive

  • فیلترینگ پیچیده با JPQL Complex Filtering with JPQL

  • اصلاح کوئری و درک @Param Fixing the Query and Understanding @Param

  • مفهوم Criteria API Criteria API — The Concept

  • پیاده‌سازی مخزن سفارشی (Custom Repository) Custom Repository Implementation

امنیت در اسپرینگ (احراز هویت) Spring Security (Authentication)

  • مبانی امنیت - تفاوت احراز هویت و تعیین سطح دسترسی Security Basics — Authentication vs Authorization

  • افزودن Spring Security Adding Spring Security

  • پیکربندی امنیت - SecurityFilterChain Security Configuration — SecurityFilterChain

  • یک اشتباه رایج - فراموش کردن دستور Return A Common Mistake — Missing Return Statement

  • احراز هویت در حافظه (In-Memory Authentication) In-Memory Authentication

  • رمزنگاری گذرواژه با BCrypt Password Encoding — BCrypt

  • احراز هویت دیتابیسی - UserEntity و UserDetailsService Database Authentication — UserEntity and UserDetailsService

  • ثبت‌نام کاربر و تست احراز هویت دیتابیس Registering a User and Testing Database Authentication

  • اشتباه رایج - بازگرداندن Null به جای ذخیره‌سازی Common Mistake — Returning Null Instead of Saving

  • اختیاری - افزودن دکمه Authorize به Swagger Optional — Adding an Authorize Button to Swagger

  • نحوه مصرف APIهای امن شده توسط فرانت‌اند How a Frontend Application Consumes a Secured API

تعیین سطح دسترسی و مدیریت نقش‌ها Authorization & Role-Based Access

  • تفاوت نقش‌ها (Roles) و مجوزها (Authorities) Roles vs Authorities

  • ایمن‌سازی نقاط دسترسی با hasRole و hasAnyRole Securing Endpoints with hasRole and hasAnyRole

  • تست امنیت مبتنی بر نقش - تفاوت خطای 401 و 403 Testing Role-Based Security — 401 vs 403

  • امنیت در سطح متد با @PreAuthorize Method-Level Security with @PreAuthorize

  • تست امنیت - بررسی مجدد 401 در مقابل 403 Testing Security — 401 vs 403

احراز هویت توکن‌محور با OAuth2 و JWT OAuth2 & JWT — Token-Based Authentication

  • OAuth2 چیست و چرا به آن نیاز داریم؟ What is OAuth2 and Why Do We Need It?

  • نحوه عملکرد JWT How JWT Works

  • افزودن وابستگی‌های (Dependencies) JWT Adding JWT Dependencies

  • ساخت کلاس کمکی JWT Utility Creating the JWT Utility Class

  • ساخت نقطه دسترسی ورود (Login Endpoint) Creating the Login Endpoint

  • ساخت فیلتر JWT Creating the JWT Filter

  • به‌روزرسانی SecurityConfig برای JWT Updating SecurityConfig for JWT

  • قبل از تست - رفع تمامی مشکلات Before We Test — Fixing All Issues

  • تست کامل جریان JWT در Postman Testing the Complete JWT Flow in Postman

  • حذف Basic Auth - تبدیل API به حالت کاملاً Stateless Eliminating Basic Auth — Making Our API Fully Stateless

  • راهکار نهایی - غیرفعال کردن صریح موارد عدم استفاده The fix — explicitly disable everything we do not use

کشینگ با Redis Caching with Redis

  • چرا کشینگ (Caching)؟ Why Caching?

  • نصب Redis با داکر Installing Redis with Docker

  • راه‌اندازی Redis در Spring Boot Spring Boot Redis Setup

  • استفاده از @Cacheable Using @Cacheable

  • حذف کش (Cache Eviction) Cache Eviction

  • مفهوم TTL و استراتژی کشینگ TTL and Caching Strategy

پیام‌رسانی با Kafka Messaging with Kafka

  • مبانی Kafka Kafka Fundamentals

  • نصب Kafka با داکر Installing Kafka with Docker

  • تولیدکننده کافکا (Producer) - ارسال رویداد از BookServiceImpl Kafka Producer — Firing Events from BookServiceImpl

  • مصرف‌کننده کافکا (Consumer) Kafka Consumer

  • طراحی رویداد-محور - رویدادهای ساختاریافته و Consumer Groups Event-Driven Design — Structured Events and Consumer Groups

  • مدیریت خطا و تلاش مجدد (Retry) Error Handling and Retry

  • اصلاح Docker Compose - رفع غلط‌های تایپی و تنظیمات ناقص کافکا Fixing Docker Compose — Kafka Typos and Missing Configuration

  • اصلاح application.yml - رفع مشکلات فاصله و غلط‌های تایپی Fixing application.yml — Indentation and Typos

  • ساخت KafkaConfig - تعریف Beanهای Producer و Consumer Creating KafkaConfig — Producer and Consumer Beans

  • فعال‌سازی شنونده‌های کافکا با @EnableKafka Activating Kafka Listeners — @EnableKafka

نمایش نظرات

آموزش ساخت سیستم‌های بک‌اند مقیاس‌پذیر با جاوا، Spring Boot و میکروسرویس‌ها
جزییات دوره
10.5 hours
84
(آخرین آپدیت)
643
4.7 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Maxwell I-Goertzen Maxwell I-Goertzen

مهندس نرم‌افزار