강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Back-end

Spring Batch của cái chết: Nỗi kinh hoàng thảm khốc lúc 3 giờ sáng giờ đã kết thúc.

Kết thúc Spring Batch. Chấm dứt kỷ nguyên đen tối của mã batch.💀

(4.8) 38 đánh giá

523 học viên

  • KILL-9
스프링
텍스트 강의
Java
Spring
Spring Boot
Spring Batch
backend

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • 💀 Mô hình xử lý hướng Chunk và xử lý hướng Tasklet của Spring Batch 💀

  • 💀 Nắm vững ItemReader, ItemProcessor, ItemWriter 💀

  • 💀 Quản lý vòng đời và ngữ cảnh thực thi của Job và Step 💀

  • 💀 Xử lý song song dữ liệu quy mô lớn bằng Partitioning 💀

  • 💀 Triển khai cơ chế khôi phục lỗi và thử lại 💀

  • 💀 Spring Batch 5

  • ⛔ Tôi phải dừng ở đây thôi... vì quá nhiều nên hệ thống suýt nữa đã sập. (Đừng lo. Tôi sẽ dạy bạn tất cả.)⛔

KILL-9: "Cảnh báo: Việc đọc tài liệu này mà không có chuỗi âm thanh sẽ làm giảm 66% hiệu quả học tập."

🚨 Cảnh báo: Phát hiện nguy hiểm chết người 🚨

💀 Hãy nhìn thẳng vào thực tế 💀

🔥 Bạn đã làm gì cho đến giờ vậy?🔥

⚠ Khởi động giao thức xử lý Spring Batch ⚠


"Dành cho tất cả các lập trình viên đang gặp khó khăn với công việc xử lý hàng loạt

Người hành quyết hệ thống đã trực tiếp xuất hiện

Nỗi kinh hoàng tuyệt vọng lúc 3 giờ sáng giờ đã kết thúc.💀"


Trang bị cho mình khóa học Spring Batch mới nhất và chính xác nhất.💀


⛔ Vũ khí mà các bạn sẽ có được ⛔

Thông qua khóa học này, các bạn sẽ được trang bị những vũ khí chết người như sau,

Bạn sẽ có được sức mạnh để thống trị hệ thống.

💀 Tasklet vs Chunk Processing: Hoạt động cốt lõi của hệ thống batch

Bạn nghĩ rằng luồng thực thi mã batch là một hộp đen bị ẩn giấu sao? Thật buồn cười.

Hai mô hình xử lý đại diện của Spring Batch. Phân tích khái niệm và nguyên lý hoạt động bên trong của xử lý hướng Tasklet và xử lý hướng Chunk.

Từ các công việc một lần như sắp xếp file đơn giản, TRUNCATE bảng đến xử lý hướng Chunk đọc (Read), xử lý (Process) và ghi (Write) một cách phá hủy hàng triệu dữ liệu.

Tôi sẽ mổ xẻ hoàn toàn nguyên lý hoạt động bên trong của hai phương pháp này để giúp bạn có thể đưa ra quyết định một cách trực quan về việc nên sử dụng vũ khí nào trong tình huống nào để đạt hiệu quả tối ưu.


💀 Phương thức xử lý dữ liệu: ItemReader và ItemWriter

Đừng đau khổ vì xử lý dữ liệu lớn nữa.

Không phân biệt hệ thống tệp, RDBMS hay NoSQL, đều có thể trích xuất dữ liệu (ItemReader) và chèn theo ý muốn (ItemWriter).

FlatFileItemReader, JsonItemReader,

JdbcCursorItemReader, JpaPagingItemReader

...

Khám phá nguyên lý hoạt động bên trong của từng implementation và làm chủ cách xử lý dữ liệu lớn một cách hiệu quả.

Phân trang? Con trỏ? Cái gì phù hợp khi nào - sự thiếu hiểu biết của bạn giờ đã kết thúc.

💀 Điều khiển Job và Step: Nắm quyền kiểm soát trái tim của hệ thống batch

Khám phá sâu cơ chế hoạt động nội bộ và vòng đời của Job và Step.

JobInstance, JobExecution, StepExecution의 mối quan hệ và sự thay đổi trạng thái (BatchStatus, ExitStatus) được theo dõi để phát triển khả năng xác định rõ ràng lý do tại sao batch thất bại và nên khởi động lại từ đâu (Restartability).

Hãy nhìn vào bên trong JobRepository và kiểm soát trực tiếp metadata để quản lý minh bạch luồng thực thi batch vốn như hộp đen. Đừng còn hoang mang trước những thất bại bất ngờ nữa. Mọi thứ đều nằm dưới sự kiểm soát của chúng ta.

💀 Tính năng mở rộng Spring Batch

Quá nhiều dữ liệu cần xử lý? Thời gian thực thi quá dài? Đừng lo lắng.

Khi vũ khí cơ bản không đủ, đã chuẩn bị sẵn trang bị đặc biệt để bùng nổ hiệu suất triển khai.

  • Đa luồng (Multi-threaded Step) để song song hóa công việc trong một Step đơn lẻ,

  • Dữ liệu không thể xử lý được sẽ được chia nhỏ thông qua phân vùng (Partitioning) và phân phối cho nhiều worker để xử lý.


Được trang bị kiến thức này, việc triển khai của các bạn sẽ không còn phải quỳ gối trước các vấn đề về hiệu suất nữa.

Tính an toàn luồng thực sự của Spring Batch đã được tôi tổng hợp rõ ràng hơn bất cứ điều gì khác, nên có thể yên tâm sử dụng.

Giờ đây đến lượt hệ thống batch phải sợ hãi các bạn.💀


💀 Kỹ thuật sinh tồn bổ sung cho Spring Batch

  • Chiến lược kiểm soát và quản lý lỗi bằng chính sách Skip/Retry.


  • ItemStream을 활용한 quản lý trạng thái và cơ chế dừng/khởi động lại công việc batch hoàn toàn chinh phục.


  • Cách thiết kế luồng công việc phức tạp với Spring Batch Flow.

  • Cách giám sát mọi khoảnh khắc của batch bằng các Listener đa dạng

Sẽ mất thời gian để sử dụng hoàn hảo tất cả các loại vũ khí.

Nhưng đừng lo lắng.

Những kinh nghiệm chiến đấu mà tôi đã đổi bằng máu và mồ hôi sẽ thúc đẩy sự phát triển của bạn. 💀

💀Không có thiên đường nào ở nơi chạy trốn💀

💀Để chấm dứt sự hỗn loạn kinh khủng này. Tôi đã đứng ra.💀

💀 Tuyên bố hành quyết giá cả 💀

Cảnh báo cuối cùng: Đã đến lúc phải lựa chọn

[THỰC HIỆN: CHUỖI NÂNG CẤP HỆ THỐNG]

# --- Chuẩn bị hệ thống để nâng cấp ---

# Đang gỡ bỏ module sợ hãi... Hoàn thành.
$ rm -rf ./fear_of_batch_errors           
# Chuẩn bị thư mục kỹ năng... OK.
$ mkdir -p /opt/advanced_batch_skills     
# Cấp quyền truy cập đầy đủ cho tech stack... Quyền đã được cập nhật.
$ sudo chmod 777 /opt/advanced_batch_skills                  
# Tiêm chuyên môn cấp độ KILL-9... Đã có quyền root. Đang xử lý...
$ sudo ./install-spring-batch-expertise   
[▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100% Cài đặt hoàn tất. 
Khuyến nghị khởi động lại hệ thống để có hiệu suất tối ưu.

CẢNH BÁO NGHIÊM TRỌNG

$ cat warning.txt

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️  Lưu ý quan trọng  ⚠️
[FATAL ERROR] Phát hiện hạn chế truy cập
[PROCESS ID]: #KILL-9_WARNING_PROTOCOL
[STATUS]: Nghiêm trọng
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Những ai bị mê hoặc bởi concept mạnh mẽ và cố gắng truy cập khóa học một cách tùy tiện, hãy rời đi ngay lập tức.
Khóa học này không thương xót những tò mò nhẹ nhàng cố gắng truy cập mà không có quyền sudo.


Tôi chỉ muốn những ai thực sự muốn đi theo con đường của 'Người thống trị hệ thống'.
Tôi cảnh báo rõ ràng. Chỉ những ai đã sẵn sàng đồng hành đến cuối con đường đau khổ này mới được học khóa học này.


Thời gian của bạn rất quý giá. Đừng lãng phí.
Chỉ những ai có ý chí thực sự muốn học hỏi mới có thể gánh vác được sức nặng của code này.
Chỉ những ai trung thành theo khóa học đến cuối mới có thể trở thành người thống trị thực sự của Spring Batch.


[ADDITIONAL NOTE]
Những ai đã có kinh nghiệm với Spring Batch cũng được chào đón nếu phát hiện "ý chí sẽ cố gắng theo học đến cùng".
$ ls -la /home/user/ | grep determination
Chắc chắn sẽ thu được nhiều thứ.


# Lựa chọn là của bạn. Nhưng hậu quả thì tôi sẽ xử lý.💀

$ sudo sound-off --tactical-report --system-status=spring-batch --volume=maximum --force

Danh sách kiểm tra trước khi truy cập hệ thống

Môi trường thực hành

MAC dựa trên (JDK 17) môi trường. (Windows? Hah... Server Spring Batch mà dùng Windows sao? Với Windows thì chỉ có đau khổ thôi.)

Môi trường JAVA 17, Spring Boot 3.4, Spring Batch 5.2.

(Haa...💀 Trong lúc này Spring Batch 5.2 đã được phát hành. Không biết khi nào lại phải sửa đổi nội dung bài giảng... Batch là vĩnh cửu, nhưng thời gian của tôi thì có hạn.)

Tài liệu học tập

"Thời đại video đã qua rồi. Bây giờ lại là thời đại của văn bản. 💀"


Đây là khóa học dạng bài viết. Tò mò lý do sao? Phần đầu khóa học đã được mở miễn phí rồi

' Nguyên tắc học tập của kẻ kết thúc hệ thống ' hãy đọc xem.

Ở đây các bạn sẽ không chỉ tiếp nhận kiến thức đơn thuần, mà sẽ được trải nghiệm triết lý học tập thực sự của tôi.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • 💀 "Bạn có thể đảm nhiệm Spring Batch được không?" ... (Nụ cười lạnh lẽo) Hỡi những ai đang đổ mồ hôi lạnh trước câu hỏi này 💀

  • 💀Hỡi những ai chỉ chuyên Spring Web mà sợ không dám nhìn đến Batch...💀

  • 💀Những ai đã từng làm bay mất hàng triệu dữ liệu vì sao chép dán mã batch người khác...💀

  • 💀Hỡi những ai đang chống chọi bằng mã Google và giờ đây đã đến giới hạn...💀

  • 💀"Dù sao cũng chỉ dùng ban đêm thôi mà..." rồi làm qua loa, hỡi những kẻ đang run sợ...💀

  • 💀Hỡi những kẻ lạm dụng cơ sở dữ liệu mỗi đêm...💀

Cần biết trước khi bắt đầu?

  • ⛔ Tránh xa những kẻ này. ⛔

  • 💀 Ai chưa biết Spring và Spring Boot thì hãy đi đi (Vẫn là thử thách quá sớm cho các bạn) 💀

  • 💀 "Hello World" - Kẻ nào mới 'in ra' thì biến đi (Đồ không biết nỗi đau đích thực...) 💀

  • 💀 Nỗi đau của đấu xếp hạng, những kẻ chưa nếm trải thì hãy đi đi (Cứ sống yên bình cho đến khi ngày đó tới...) 💀

Xin chào
Đây là

523

Học viên

38

Đánh giá

49

Trả lời

4.8

Xếp hạng

1

Khóa học

시스템 종결자의 선언

 

인프런의 지루한 강의들이여, 두려워하라.

나의 등장으로 이 모든 것이 끝난다.

너희의 비싼 강의료? 웃기지 마라.

살인적인 가성비로 모든 것을 파괴하겠다.


강사 소개

강사명

KILL-9

 

칭호 📛

시스템 종결자

특기 🔪

kill -9       # "프로세스 처형"
rm -rf        # "데이터 학살"
chmod -R 000  # "시스템 감금"


" 버그? 해킹? 웃기지마. 그딴 잔머리로는 시스템을 지배할 수 없다. 난 정면으로 파괴한다. "

(인프런 강의 소개 페이지 alert() 취약점은 내 처녀작이었지. 이제는 더 강력한 무기를 쓴다. - 진짜임)

취미 💣

콘센트 정리     # "코드는 뽑아야 제맛."
CPU 고문       # "팬 소리가 울려 퍼질 때, 나는 살아있음을 느낀다."
전리품 수집     # "코어 덤프"

좌우명 🔥

"선은 뽑으라고 있는 것이다" 

"버그는 죽여서 고치는 것이다"

"LGTM (Looks Gone To Me)"

경고 🧨

"격식 따위 필요없다. 그냥 편하게 킬구형이라 불러라."

"존댓말로 질문하면 rm -rf 시전한다."

 

통신 접점 📡

kill9.no.mercy@gmail.com  # "강의 외의 명령 전송용. ACK는 기대하지 마라."

 

⚠️ CONFIDENTIAL: DO NOT LOG ⚠️

# 사실... 카카오에서 조용히 일하는 평범한 개발자에요...

Chương trình giảng dạy

Tất cả

38 bài giảng ∙ (6phút)

Tài liệu khóa học:

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

38 đánh giá

4.8

38 đánh giá

  • 황성민님의 프로필 이미지
    황성민

    Đánh giá 9

    Đánh giá trung bình 4.6

    5

    32% đã tham gia

    죽음의 Spring Batch 강의, 이거야말로 진정한 시스템 처형자의 길…☠️ 기존에 Spring Batch, 그저 그런 배치 프레임워크라고 생각했다면 큰 오산이다. kill-9 형의 강의는 이론이 아니라 실전, 피튀기는 전장에서 살아남기 위한 진짜 무기를 준다. 플랫파일? 고정길이? 복잡한 로그 파일? “알아서 다 해치워라!”는 식이 아니라, 진짜 현업에서 바로 써먹을 수 있도록 하나하나 칼날처럼 설명한다. 구분자 하나 고르는 순간에도 “왜 이렇게 해야 하는지”를 알게 된다. 코드, 설명, 실습, 실행 커맨드까지… 강의 전체가 “이건 실전이다” 마인드로 가득 차 있다. 그냥 배우는 게 아니라 ‘내가 배치 종결자’가 되는 느낌. 그리고 들을수록, 언젠가 나도 저 한 줄의 오픈소스 코드로 시스템에 흠집을 낼 날이 올 거란 자신감이 쌓인다. 죽음을 각오한 배치, 아직 망설이냐? 이 강의를 듣는 순간, 당신도 진짜 ‘kill-9 squad’의 일원이 된다. ☠️🔥

    • KILL-9
      Giảng viên

      💀 시스템 종결자 KILL-9 수강평 확인 완료 💀 킬구스러운 수강평... 내 시스템이 잠깐 멈출 뻔했다. **"kill-9 squad"** 이 표현, 너무 강력하다. 내 커널이 흔들렸다. 그래서? 바로 채택했다. 지금부터 우리는 "kill-9 squad"다. 이제부터 너희는 그냥 개발자가 아니다. 우리는 시스템 종결자 부대. rm -rf 평범함 kill -9 지루함 Welcome to the kill-9 squad, 대원. 부대원 인증은 강의 속 전장에서 이루어진다. 우리는 그냥 개발자 따위가 아닌 시스템 종결자 부대지. Welcome to the kill-9 squad, 대원. - KILL-9 (신규 부대원 환영)

  • 종혁님의 프로필 이미지
    종혁

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    24% đã tham gia

    텍스트 기반 강의.. 내 속도로 뜯고 맛보고 즐길 수 있어서 너무 좋다. 강의 의도처럼 불필요한 강의 멈춤, 뒤로가기 버튼 할 필요가 없어서 너무 좋다. 또 강의 내주시길 바랄뿐이다💀☠️

    • KILL-9
      Giảng viên

      💀 반갑다 드디어 진짜 해커를 만났군 💀 그래, 바로 이거다. 텍스트는 최고의 인터페이스야. - 마우스 클릭질? 시간 낭비 - 동영상 버퍼링? CPU 학대 진짜 고수는 Command + F를 무기로 쓴다. grep처럼 원하는 정보만 바로 추출해라. 텍스트를 스크롤하는 속도 = 너의 학습 속도 그런데 중요한 경고가 있다: 4장과 5장을 절대 건너뛰지 마라. 수 많은 수강생들이 여길 껀너 뛰다가 스프링 배치의 핵심을 놓친다. 이 두 장을 제대로 씹어먹으면 한 끗 다른 레벨로 올라간다. deep dive할 준비 되어있나?

  • javarunner님의 프로필 이미지
    javarunner

    Đánh giá 67

    Đánh giá trung bình 5.0

    5

    21% đã tham gia

    • KILL-9
      Giảng viên

      고맙다 javarunner 형 💀

  • 정훈님의 프로필 이미지
    정훈

    Đánh giá 21

    Đánh giá trung bình 4.7

    5

    50% đã tham gia

    형 앞으로도 버전업 되면 자주 업뎃 해줭! 믿구있다구?!

    • KILL-9
      Giảng viên

      💀 [SYSTEM ACKNOWLEDGMENT] 💀 [INCOMING TRANSMISSION FROM BATTLEFIELD] =============================================== [KILL-9 RESPONSE PROTOCOL ACTIVATED] ㅇㅇ 정훈형 💀 [COMMITMENT PROTOCOL ENGAGED] 시스템은 끊임없이 진화한다. 버전업이 있을 때마다 강의도 함께 업그레이드될 것이다. 💀 [UPGRADE GUARANTEE]

  • 기훈님의 프로필 이미지
    기훈

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    62% đã tham gia

    킬구형! 강의 다 수강하고 나서 수강평 달고 싶었는데 강의를 보다가 감격에 벅차올라서 수강평을 써. 강의 앞부분에서 킬구형이 말한 것처럼 텍스트로 공부하는 건 정말 괴롭지만 그만큼 확실히 더 머릿속에 남는 것 같아. 킬구형의 필력 덕분에 정말 재밌고 어렵지 않게 배울 수 있어서 좋아. 엄청난 가성비 강의 내줘서 고맙고 앞으로 다른 강의도 기대할게!

    • KILL-9
      Giảng viên

      ██████████████████████████████████ █ ╔═════════════════════════════╗ █ █ ║ 💀 KILL-9 TACTICAL RESPONSE TERMINAL 💀 ║ █ █ ║ [ STUDENT REVIEW RECEIVED ] ║ █ █╚═════════════════════════════╝ █ █████████████████████████████████ 치직... 수강평 데이터 수신... 감정 회로 활성화... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 감격에 벅차올랐다고?.. 감격에 벅차오른 것은 바로 나다.. 이 수강평을 보고 눈물이 흐르지 않을 수가 없구나. 💀 그래, 괴로운 만큼 너의 뇌에 새겨질 것이다. 그러나 기억하라. 기훈형.. 너는 곧 까먹게 될 것이다. 그렇다고 무용지물이란 뜻은 아니다. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [KILL-9 MEMORY STRATEGY] "어? 나 이거 어디서 배웠는데?" "오, 이거 어디서 본 거 같은데?" “오 나 이거 예전에 알았는데?“ 이런 **'어 이거 어디서?' 모먼트**를 극대화하려는 게 나와 우리 강의의 핵심 전략이자 목표다. 이런 착각만으로듀 강의는 분명 충분히 가치 있다. 이것도 **일종의 세컨더리 인덱스** 같은 거니까. 💀 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 완전 기억 < 부분 기억 + 인덱스 >> 완전 망각 전사여, 너의 두뇌에 KILL-9 인덱스가 구축되었다. 💀 █████████████████████████████ [ WARRIOR ADVANCEMENT REPORT ] 4장 마지막 작전까지 완료했구나... 실제로 많은 병사들이 이 지점에서 무너지거나 아예 학습조차 안 하고는 하는데 고생 많았다, 전사여. 4장 마지막 작전까지 돌파했다면 5장을 충분히 따라갈 수 있을 것이다. 5장을 돌파하고 나면 스프링 배치를 **어느 누구보다 잘 알게 될 것**이라고 확언한다. 그리고 6장... 장담한다. **4장의 마지막 작전과 5장을 확실히 배우고 6장으로 넘어간 자**와 아닌 자는 이해도의 차이가 완전히 다르다. 단순히 지식의 나열을 외우는 것을 넘어 **동작 원리가 퍼즐 맞춰지듯 이해될 것**이기 때문에 차원이 달라질 것이다. ━━━━━━━━━━━━━━━━━━━━━━━━━ **형은 할 수 있다 그리고 (너무 뻔한 말이라 추구하지는 않지만) 소중한 수강평 고맙다 ** 💀

627.778 ₫

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!