강의

멘토링

커뮤니티

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.9) 70 đánh giá

1,638 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

Bạn sẽ nhận được điều này sau khi học.

  • 💀 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 nghiêm trọng 🚨

💀 Hãy đối mặt với thực tế 💀

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

⚠ 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 của hệ thống đã trực tiếp ra tay

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


Trang bị kiến thức với 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í cực kỳ mạnh mẽ sau đây,

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

💀 Tasklet vs Xử lý Chunk: Hoạt động cốt lõi của hệ thống Batch

Bạn nghĩ luồng thực thi code 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 bản ghi 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ể đánh giá một cách trực quan xem nên sử dụng vũ khí nào trong tình huống nào là tối ưu nhất.


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

Đừng chịu đựng nỗi đau khi xử lý dữ liệu lớn nữa.

Dù là 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

I'm ready to translate Korean

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ỏ? Sự thiếu hiểu biết của bạn về cái gì phù hợp khi nào giờ đã kết thúc.

💀 Kiểm soát Job và Step: Nắm giữ trái tim của hệ thống batch

Đào sâu vào cách thức hoạt động nội bộ và vòng đời của Job và Step.

Theo dõi mối quan hệ giữa JobInstance, JobExecution, StepExecution và sự thay đổi trạng thái (BatchStatus, ExitStatus) để giúp bạn rèn luyện khả năng xác định rõ ràng lý do batch thất bại và vị trí cần khởi động lại (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 hoảng sợ trước những thất bại không lường trước 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 của Spring Batch

Dữ liệu cần xử lý quá nhiều? 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 bố trí.

  • Sử dụng Multi-threading (Multi-threaded Step) để song song hóa các tác vụ trong một Step duy nhất,

  • Dữ liệu không thể xử lý được sẽ được chia nhỏ thông qua phân vùng (Partitioning) và phân tán 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 làm rõ một cách minh bạch hơn bất cứ điều gì khác, vì vậy bạn có thể yên tâm sử dụng.

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


💀 Kỹ năng 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.


  • Làm chủ hoàn toàn cơ chế quản lý trạng thái và dừng/khởi động lại công việc batch sử dụng ItemStream.


  • 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 với các Listener đa dạng

Sẽ mất thời gian để sử dụng hoàn hảo tất cả các 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ơi bạn trốn chạy💀

💀Để 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ảnh báo cuối cùng: Đã đến lúc phải lựa chọn

[THỰC HIỆN: TRÌNH TỰ 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 tất.
$ rm -rf ./fear_of_batch_errors           
# Đang chuẩn bị thư mục kỹ năng... OK.
$ mkdir -p /opt/advanced_batch_skills     
# Đang cấp quyền truy cập đầy đủ vào tech stack... Quyền đã được cập nhật.
$ sudo chmod 777 /opt/advanced_batch_skills                  
# Đang 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 để đạt hiệu suất tối ưu.

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

$ cat warning.txt

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️  Lưu ý  ⚠️
[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 như một trò đùa, hãy rời đi ngay lập tức.
Khóa học này không khoan nhượng với sự tò mò hời hợt khi cố 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 trở thành '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 đi cùng đến tận cùng nỗi đau này mới nên tham gia khóa học.


Thời gian của bạn rất quý giá. Đừng lãng phí nó.
Chỉ những ai có ý chí thực sự muốn học 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 đuổi đến cuối khóa học 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í theo đuổi một cách nghiêm túc".
$ 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? Hả... Server Spring Batch lại 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.

(Hah...💀 Trong lúc đó Batch 5.2 đã được phát hành rồi. Lại phải sửa nội dung khóa học khi nào nữa... Batch thì 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 của video đã qua rồi. Giờ là thời đại của văn bản trở lại. 💀"


Đây là khóa học dạng bài viết. Bạn 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ẻ hủy diệt hệ thống ' hãy đọc thử xem.

Tại đây, các bạn sẽ không chỉ tiếp nhận kiến thức đơn thuần, mà còn đượ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à

1,638

Học viên

70

Đánh giá

123

Trả lời

4.9

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ả

35 bài giảng ∙ (7phú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ả

70 đánh giá

4.9

70 đánh giá

  • 자전거님의 프로필 이미지
    자전거

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    71% đã tham gia

    사이드 프로젝트에 당장 batch 적용이 필요한 부분이 있어서 우선 급하게 필요한 부분만 수강하고, 지금은 다른 급한 불을 끄느라 아직 수강완료를 하지는 못했는데요..! 이 강의는 꼭 끝까지 듣고 싶은 강의입니다! 텍스트 강의인데 이렇게 강의력이 좋을 줄이야... 디테일한 부분까지 놓치지 않고 꼼꼼하게 설명해주시고, 잊을만하면 또 강의 업데이트했다고 메일로 알려주십니다. 이렇게 업데이트가 잦고 재밌고 친절한 강의는 처음이라 왕따봉 드립니다 👍 그리고 가끔 오픈소스 침투 미션 올려주셔서, 미션을 핑계삼아 오픈소스에 처음으로 이슈 올려봤는데 정말 좋은 경험이었습니다. 비록 제 이슈는 오픈소스 관리자(?)분의 이목을 끌지 못해 소리 없는 외침으로 끝난 것 같긴 하지만 괜찮습니다 :') 이슈 내용 한바닥 적는데 혹시나 이상한 말이 있어서 공개 망신 당할 까봐 봤던 코드 또 보고 내용 다시 확인하고.. 아무튼 이슈 남기는 것도 저는 처음이었어서, 재밌고 의미있는 경험이었습니다!! 좋은 강의에 좋은 경험 선물해주셔서 감사합니다 🙇‍♀️

    • KILL-9
      Giảng viên

      고맙다 전거형 💀💀 아니다 너가 제보한 이슈는 분명히 타당하고 개선되는게 맞다 기다려보자 메인테이너가 상당히 바쁜 시즌을 보내고 있을 것이다 💀💀 고맙다

    • KILL-9
      Giảng viên

      축하한다 전거형 형이 제보한 이슈가 배치6에 반영되었다💀💀 https://github.com/spring-projects/spring-batch/issues/4916

    • 고마워!! 킬구형 덕분이야!! ☠️👻

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

    Đánh giá 11

    Đá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á 3

    Đá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할 준비 되어있나?

  • atoz님의 프로필 이미지
    atoz

    Đánh giá 76

    Đánh giá trung bình 4.9

    5

    21% đã tham gia

    • KILL-9
      Giảng viên

      고맙다 javarunner 형 💀

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

    Đánh giá 23

    Đá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]

625.899 ₫

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!