تسلط به Spring Batch
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- (مبتدی) درک واضح مفاهیم بنیادین این فریمورک مثل Job، Step و ItemReader و ItemProcessor و ItemWriter
- (مبتدی) یادگیری نحوه کار با فرمت متنی ساده برای خواندن و نوشتن با استفاده از FlatFileItemReader و FlatFileItemWriter
- (مبتدی) یادگیری خواندن و نوشتن داده در فرمت XML با استفاده از StaxEventItemReader و StaxEventItemWriter
- (مبتدی) ساخت اپلیکیشن خط فرمان با بهرهگیری از CommandLineJobRunner و DefaultBatchConfiguration
- (متوسط) درک قوی از مفهوم پردازش تکهای و تنظیمات chunkSize و commitInterval
- (متوسط) آشنایی عمیق با مفاهیم JobInstance و JobExecution و StepExecution و ExecutionContext و نحوه تعامل آنها
- (متوسط) درک عالی از مفهوم قابلیت راهاندازی مجدد، نحوه استفاده مجدد یا عدم استفاده از ExecutionContext و تنظیمات مرتبط
- (متوسط) استفاده از رویکردهای مکاننما و صفحهبندی برای خواندن داده از پایگاه دادههای رابطهای با تمرکز بر JdbcCursorItemReader و JdbcPagingItemReader
- (متوسط) نوشتن دادهها در پایگاه دادههای رابطهای با JdbcBatchItemWriter
- (متوسط) زمان و نحوه استفاده از الگوهای طراحی رایج خواندن پایگاه داده، مثلاً خواندن پایگاه داده stateless و کوئری هدایتکننده
- (متوسط) خواندن و نوشتن فرمت جیسان با JsonFileItemWriter و JsonFileItemReader
- (متوسط) ساخت جریانهای اجرای شرطی (if / else) برای step
- (متوسط) استفاده از ابزارهای JUnit Spring Batch برای نوشتن تستهای end-to-end برای jobs و steps به همراه توضیح تکنیکهای مرتبط ماک کردن
- (پیشرفته) تجربه عملی در یکپارچهسازی Spring Batch و اسپرینگ بوت برای اجرای گردشکارها به صورت وب اپلیکیشن با اندپوینتهای HTTP
- (پیشرفته) رویکرد خواندن رکوردهای چندخطی در فایلهای متنی ساده و همچنین استفاده از MultiResourceItemReader برای خواندن از مجموعهای از فایلها
- (پیشرفته) انتقال پارامترهای ExecutionContext بین steps با ExecutionContextPromotionListener
- (پیشرفته) دسترسی واضح به ExecutionContext و JobParameters با StepScope@
- (پیشرفته) افزودن هدرها و فوترها به خروجی متنی ساده با FlatFileHeaderCallback و FlatFileFooterCallback
- (پیشرفته) ساخت و اجرای جریانهای step موازی تقسیم شده
- (پیشرفته) درک عمیق قابلیتهای retry و skip در Spring Batch
- (پیشرفته) تست JUnit برای کامپوننتهای تعریف شده در StepScope@
- (حرفهای) درک اصول طراحی و ابزارهای عملی اجرای steps با چندین threads
- (حرفهای) پوشش جامع رویکرد قطعهبندی راه دور به همراه تحلیل مزایا و معایب
- (حرفهای) درک عمیق مفهوم پارتیشنبندی و APIs ارائه شده در این فریمورک از جمله PartitionStep و PartitionHandler و Partitioner
- (حرفهای) تجربه عملی در پیادهسازی jobs پارتیشنبندی شده Spring Batch، هم به صورت محلی و هم توزیع شده
پیشنیازهای دوره
- نیاز به تجربه قبلی در Spring Batch نیست؛ علاوه بر این، مطالب مبتدی به طور جامع در فصل مبتدی پوشش داده شدهاند
- توانایی خواندن و درک کدهای جاوا نیاز است.
- درک کلاسیک فریمورک اسپرینگ الزامی نیست اما مفید است.
- در صورت تمایل به اجرای کد اپلیکیشن، توانایی نصب ابزارهای مورد نیاز (ساختار توضیح داده شده در فایلهای README) مثل جاوا، gradle و mysql و غیره الزامی است
توضیحات دوره
این مسترکورس Spring Batch بر حسب عمق و سطح دشواری به چهار فصل: سطح مبتدی، متوسط، پیشرفته و حرفهای تقسیم شده است. در هر فصل، اپلیکیشنی همراه با کد منبع ارائه میشود که میتوانید به صورت محلی اجرا کنید. بنابراین در مجموع چهار اپلیکیشن متفاوت وجود دارد.
سطح مبتدی برای کسانی است که تازه با Spring Batch آشنا شدهاند و تجربه کمی یا هیچگونه تجربهای ندارند. مفاهیم اساسی این فریمورک، مانند jobs ،steps ،readers، پردازشگرها و رایترها معرفی میشوند. ابزارهای پردازش داده با فایلها، شامل فرمت متنی ساده و XML بررسی میشوند. یک اپلیکیشن خط فرمان ساخته و اجرا میشود که داده سنسورهای دما را تحلیل میکند.
فصل متوسط به طور جامع مفهوم پردازش تکهای را پوشش میدهد. انتیتیهای بنیادی مثل JobInstance و JobExecution و StepExecution و ExecutionContext معرفی میشوند. مفهوم قابلیت راهاندازی مجدد و استفاده مجدد ExecutionContext به صورت عمیق در سناریوهای موفقیت و شکست، همراه با کاربرد تنظیمات مختلف مانند saveState و allowStartIfComplete و preventRestart و غیره بررسی میشود. ابزارها، رویکردها و الگوهای طراحی کار با پایگاه دادههای رابطهای و همچنین ابزارهای خواندن و نوشتن فرمت جیسان معرفی میشوند. این فصل با یک اپلیکیشن خط فرمان شامل اجرای شرطی step و پوشش تست end-to-end به پایان میرسد.
فصل پیشرفته برای افرادی طراحی شده که در سناریوهای معمول Spring Batch درک قویای دارند. در این فصل ویژگیها و عملکردهای پیشرفتهتر این فریمورک بررسی میشود. سناریوهای چندفایلی و چندخطی در فرمت متنی ساده که نیاز به پیادهسازی reader سفارشی دارند، به همراه استفاده از کامپوننت StepScope@ برای دسترسی واضح به JobParameters و ExecutionContext پوشش داده میشود. این اپلیکیشن، تحت وب و از طریق یکپارچهسازی با اسپرینگ بوت ارائه شده و با اندپوینتهای HTTP اجرا میشود. مباحث retry و skip و اجرای step موازی تقسیم شده به وضوح توضیح داده شدهاند.
در نهایت، فصل حرفهای برای کسانی مناسب است که در اکثر ویژگیهای Spring Batch مهارت دارند و بیشتر روی استراتژیهای مقیاسپذیری حجمهای کاری batch تمرکز دارد. وب اپلیکیشن طراحی شده، همان مسئله کسبوکار را به 4 روش مختلف: با یک thread، چندین thread، پارتیشنبندی محلی و پارتیشنبندی توزیع شده حل میکند. این فصل پر از بخشهای تکنیکی طراحی ویژوال است که هم معماری و هم جزئیات کد ابزارهای مقیاسپذیری ارائه شده توسط این فریمورک را پوشش میدهد.
این دوره برای چه کسانی مناسب است؟
- از نظر سطح، هر فردی این دوره را مفید خواهد یافت، زیرا مباحث از سطح ورود تا معمار فنی و سطح حرفهای را دربر میگیرد.
- از نظر کاربرد، این دوره هم برای جویندگان شغل که برای مصاحبه آماده میشوند و هم برای متخصصانی که میخواهند مهارتهای Spring Batch خود را یاد بگیرند یا ارتقا دهند، مناسب است.
تسلط به Spring Batch
-
آنچه یاد خواهید گرفت 02:52
-
معماری 11:05
-
مسئله - سنسورهای دما 04:13
-
طراحی - Job سنسورها 04:12
-
راهاندازی اپلیکیشن مورد نیاز 06:04
-
CommandLineJobRunner 02:25
-
DefaultBatchConfiguration 06:23
-
ItemReader و ItemWriter 02:43
-
FlatFileItemReader 10:15
-
Reader داده سنسور 03:40
-
StaxEventItemReader و StaxEventItemWriter 09:38
-
ItemProcessor 08:06
-
FlatFileItemWriter 07:39
-
دمو و تحمل خطا 08:52
-
پردازش تکهای 07:38
-
اندازه تکه در عمل 04:23
-
JobInstance و JobExecution و StepExecution 06:15
-
ExecutionContext 08:45
-
ریاستارت Job و ()preventRestart 14:51
-
ریاستارت Step 12:06
-
saveState 04:37
-
allowStartIfComplete 04:21
-
startLimit 05:41
-
مسئله - تراکنشهای بانکی 04:20
-
طراحی - Job تحلیل تراکنش 05:33
-
راهاندازی و ساختار اپلیکیشن مورد نیاز 11:07
-
تولید ورودی تراکنشها 04:04
-
Listeners چرخه عمر Job و Step 06:15
-
مکاننماهای SQL 07:03
-
JdbcCursorItemReader 08:37
-
JdbcPagingItemReader 14:36
-
readers پایگاه داده ویژه فناوری 03:32
-
خواندن پایگاه داده Stateless 08:55
-
خواندن پایگاه داده Stateless در عمل 08:21
-
کوئری هدایتکننده 05:00
-
JdbcBatchItemWriter 15:48
-
ExecutionContext در عمل 09:16
-
جریان شرطی 07:21
-
JsonFileItemWriter و JsonFileItemReader 07:28
-
دمو 07:10
-
شکست step 06:17
-
تست E2E JUnit 14:19
-
ماک کردن 06:59
-
JobLauncher 04:46
-
مسئله عملکرد تیم 08:42
-
طراحی Job عملکرد تیم 09:43
-
راهاندازی اپلیکیشن مورد نیاز 03:24
-
اپلیکیشن اسپرینگ بوت 10:58
-
فرمت رکورد چندخطی 13:03
-
ItemStream 06:28
-
MultiResourceItemReader 02:53
-
دسترسی به پارامترهای Job 09:04
-
ExecutionContextPromotionListener 11:14
-
دسترسی به کانتکس اجرای job 09:31
-
FlatFileHeaderCallback 06:24
-
Tasklet Steps 07:22
-
جریانهای موازی تقسیم شده 07:03
-
دمو و Skips 12:43
-
Retry کردن یک آیتم 02:22
-
Listeners چرخه عمر Step 06:16
-
تست اتصال StepScope 07:22
-
مسئله محاسبه اکشن 05:35
-
پیشنیازها و ساختار اپلیکیشن 10:03
-
طراحی Thread Job واحد 06:29
-
Thread Job واحد در عمل 10:58
-
طراحی چندین Thread Job 05:05
-
چندین Thread Job در عمل 11:06
-
معماری قطعهبندی راه دور 06:10
-
مزایا و معایب قطعهبندی راه دور 08:29
-
مفهوم پارتیشنبندی 09:03
-
SDK برای پارتیشنبندی 06:39
-
TaskExecutorPartitionHandler 08:01
-
Job محلی پارتیشنبندی شده 14:30
-
ExecutionContext پارتیشنبندی شده 07:40
-
پارتیشنبندی توزیع شده 11:45
-
شروع اندپوینت Worker 04:24
-
طراحی دامنه Job توزیع شده 04:44
-
Job توزیع شده در عمل 14:27
-
جایزه - پایان دوره 00:33
مشخصات آموزش
تسلط به Spring Batch
- تاریخ به روز رسانی: 1404/09/07
- سطح دوره:همه سطوح
- تعداد درس:79
- مدت زمان :10:03:44
- حجم :4.06GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy