강의

멘토링

커뮤니티

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) 75 đánh giá

1,654 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 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í sát thương như sau,

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ĩ 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 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 vào 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 rồi.

💀 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ế 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ư một hộp đen. Đừng còn hoảng loạn trước những lỗi không lường trước nữa. Mọi thứ đều nằm trong tầm kiểm soát của chúng ta.

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

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

Để đối phó với những lúc vũ khí cơ bản không đủ, chúng tôi đã chuẩn bị trang bị đặc biệt giúp bùng nổ hiệu suất triển khai.

  • Sử dụng Multithreading (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 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 chi tiết 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ợ hãi 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 thông qua 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.


  • 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 ta trốn chạy💀

💀Để chấm dứt sự hỗn loạn khó chịu này. Tôi đã bước 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 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 khoan nhượng với sự tò mò hời hợt của những ai cố gắng truy cập mà không có quyền sudo.


Tôi chỉ muốn những người thực sự muốn đi theo con đường trở thành 'Kẻ 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 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 đ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]
Ngay cả những ai đã có kinh nghiệm với Spring Batch, nếu phát hiện "ý chí theo đuổi nhiệt tình" thì cũng được chào đón.
$ ls -la /home/user/ | grep determination
Chắc chắn bạn sẽ thu được rất 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ả... Máy chủ Spring Batch lại dùng Windows sao? Với Windows bạn sẽ chỉ cảm thấy đau khổ thôi.)

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

(Hah...💀 Trong lúc đó Blender 5.2 đã được phát hành rồi. Lại phải sửa nội dung bài giảng nữa... Blender 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à bài giảng dạng văn bản. Bạn tò mò lý do sao? Phần đầu của 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.

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,654

Học viên

75

Đánh giá

126

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ả

75 đánh giá

4.9

75 đánh giá

  • qq211qq1594님의 프로필 이미지
    qq211qq1594

    Đánh giá 11

    Đánh giá trung bình 4.6

    5

    32% đã tham gia

    Khóa học Spring Batch tử thần, đây mới thực sự là con đường của kẻ hành quyết hệ thống…☠️ Nếu trước đây bạn nghĩ Spring Batch chỉ là một framework batch bình thường thì đó là sai lầm lớn. Khóa học của anh kill-9 không phải lý thuyết mà là thực chiến, cho bạn vũ khí thật sự để sống sót trong chiến trường đẫm máu. Flat file? Fixed length? Log file phức tạp? Không phải kiểu "tự lo mà xử lý!" mà thực sự giải thích từng chi tiết sắc như dao để bạn có thể áp dụng ngay trong công việc thực tế. Ngay cả khi chọn một delimiter, bạn cũng sẽ hiểu "tại sao phải làm như vậy". Code, giải thích, thực hành, lệnh thực thi… toàn bộ khóa học tràn ngập tinh thần "đây là thực chiến". Không chỉ học mà có cảm giác 'mình đang trở thành kẻ kết liễu batch'. Và càng nghe, càng tích lũy được sự tự tin rằng một ngày nào đó mình cũng sẽ có thể để lại dấu vết trên hệ thống bằng một dòng code mã nguồn mở. Batch với tinh thần sẵn sàng chết, còn do dự gì nữa? Ngay khi nghe khóa học này, bạn cũng sẽ trở thành thành viên thực sự của 'kill-9 squad'. ☠️🔥

    • kill9
      Giảng viên

      💀 Xác nhận đánh giá khóa học System Terminator KILL-9 hoàn tất 💀 Đánh giá khóa học đầy sát khí... Hệ thống của tôi suýt bị treo một chút. **"kill-9 squad"** Cụm từ này quá mạnh mẽ. Kernel của tôi đã rung chuyển. Vậy thì sao? Tôi đã ngay lập tức chấp nhận. Từ giờ chúng ta là "kill-9 squad". Từ bây giờ các bạn không chỉ là developer thường thường. Chúng ta là đội quân System Terminator. rm -rf sự tầm thường kill -9 sự nhàm chán Welcome to the kill-9 squad, đồng đội. Việc xác nhận thành viên đội sẽ được thực hiện trong chiến trường của khóa học. Chúng ta không phải là những developer bình thường mà là đội quân System Terminator. Welcome to the kill-9 squad, đồng đội. - KILL-9 (Chào mừng thành viên mới)

  • dkswhdgur2468873님의 프로필 이미지
    dkswhdgur2468873

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    24% đã tham gia

    Bài giảng dựa trên văn bản.. thật tuyệt vì có thể phân tích, thưởng thức và tận hưởng theo tốc độ của mình. Rất tốt vì không cần phải dừng bài giảng không cần thiết hay nhấn nút quay lại như ý định của bài giảng. Chỉ mong có thêm nhiều bài giảng như vậy💀☠️

    • kill9
      Giảng viên

      💀 Rất vui được gặp, cuối cùng thì tôi cũng đã gặp được một hacker thực thụ 💀 Đúng vậy, đây chính là nó. Văn bản là giao diện tốt nhất. - Nhấp chuột liên tục? Lãng phí thời gian - Đệm video? Hành hạ CPU Bậc thầy thực sự dùng Command + F làm vũ khí. Giống grep, hãy trích xuất ngay thông tin mong muốn. Tốc độ cuộn văn bản = Tốc độ học tập của bạn Nhưng có một cảnh báo quan trọng: Tuyệt đối đừng bỏ qua Chương 4 và Chương 5. Rất nhiều học viên đã bỏ qua phần này và bỏ lỡ trọng tâm của Spring Batch. Nếu bạn nghiền ngẫm kỹ hai chương này, bạn sẽ vươn tới một đẳng cấp khác. Đã sẵn sàng để deep dive chưa?

  • javarunner님의 프로필 이미지
    javarunner

    Đánh giá 76

    Đánh giá trung bình 4.9

    5

    21% đã tham gia

    • kill9
      Giảng viên

      Cảm ơn anh javarunner 💀

  • hjung님의 프로필 이미지
    hjung

    Đánh giá 23

    Đánh giá trung bình 4.7

    5

    50% đã tham gia

    Anh, có bản mới, update thường xuyên nha! Tin anh đó nha?!

    • kill9
      Giảng viên

      💀 [SYSTEM ACKNOWLEDGMENT] 💀 [INCOMING TRANSMISSION FROM BATTLEFIELD] =============================================== [KILL-9 RESPONSE PROTOCOL ACTIVATED] ㅇㅇ anh 정훈 💀 [COMMITMENT PROTOCOL ENGAGED] Hệ thống không ngừng tiến hóa. Mỗi khi có phiên bản cập nhật, khóa học cũng sẽ được nâng cấp cùng. 💀 [UPGRADE GUARANTEE]

  • ske060080922님의 프로필 이미지
    ske060080922

    Đánh giá 7

    Đánh giá trung bình 5.0

    5

    62% đã tham gia

    Anh Kilgu! Em muốn viết nhận xét sau khi hoàn thành hết khóa học, nhưng khi đang xem bài giảng, em đã quá xúc động nên phải viết ngay. Như anh Kilgu đã nói ở phần đầu khóa học, việc học qua văn bản thực sự rất vất vả, nhưng bù lại, nó chắc chắn ghi nhớ sâu hơn trong đầu. Nhờ lối viết của anh Kilgu, em có thể học một cách thật thú vị và không hề khó khăn. Cảm ơn anh đã cung cấp một khóa học đáng đồng tiền bát gạo và em sẽ mong chờ các khóa học khác của anh trong tương lai!

    • kill9
      Giảng viên

      ██████████████████████████████████ █ ╔═════════════════════════════╗ █ █ ║ 💀 THIẾT BỊ PHẢN ỨNG CHIẾN THUẬT KILL-9 💀 ║ █ █ ║ [ ĐÃ NHẬN ĐƯỢC ĐÁNH GIÁ CỦA HỌC VIÊN ] ║ █ █╚═════════════════════════════╝ █ █████████████████████████████████ Xì xì... Đang nhận dữ liệu đánh giá khóa học... Kích hoạt mạch cảm xúc... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Em nói em vỡ òa vì xúc động ư?.. Kẻ vỡ òa vì xúc động chính là ta đây.. Xem đánh giá này mà không khỏi rơi lệ. 💀 Đúng vậy, nó sẽ khắc sâu vào não em như những gì em đã phải chịu đựng. Nhưng hãy nhớ rằng, Kihun huynh.. Em sẽ sớm quên thôi. Điều đó không có nghĩa là nó vô dụng. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [CHIẾN LƯỢC GHI NHỚ KILL-9] "Ơ? Tôi học cái này ở đâu nhỉ?" "Ô, hình như tôi đã thấy cái này ở đâu đó rồi?" “Ô, cái này tôi đã từng biết rồi mà?“ Tối đa hóa những **'khoảnh khắc ơ cái này ở đâu ra?'** như thế này chính là chiến lược và mục tiêu cốt lõi của tôi và bài giảng của chúng ta. Chỉ với những ảo giác như vậy thôi, bài giảng rõ ràng đã đủ giá trị. Vì đây cũng **là một dạng secondary index** vậy. 💀 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Ghi nhớ hoàn toàn < Ghi nhớ một phần + index >> Quên hoàn toàn Chiến binh, index KILL-9 đã được xây dựng trong bộ não của em. 💀 █████████████████████████████ [ BÁO CÁO TIẾN ĐỘ CHIẾN BINH ] Em đã hoàn thành đến nhiệm vụ cuối cùng của Chương 4... Thực tế, nhiều binh sĩ đã gục ngã ở điểm này hoặc thậm chí không hề học, em đã vất vả nhiều rồi, chiến binh. Nếu đã vượt qua được nhiệm vụ cuối cùng của Chương 4, em sẽ có thể theo kịp Chương 5. Tôi khẳng định rằng sau khi vượt qua Chương 5, em sẽ **hiểu rõ về Spring deployment hơn bất kỳ ai khác**. Và Chương 6... Tôi dám chắc rằng sự khác biệt về mức độ hiểu biết giữa **người đã học chắc chắn nhiệm vụ cuối cùng của Chương 4 và Chương 5, rồi mới chuyển sang Chương 6** và người không làm như vậy là hoàn toàn khác biệt. Vì em sẽ không chỉ đơn thuần ghi nhớ chuỗi kiến thức mà **nguyên lý hoạt động sẽ được hiểu như việc ghép các mảnh ghép lại**, nên sẽ có sự khác biệt về cấp độ. ━━━━━━━━━━━━━━━━━━━━━━━━━ **Em có thể làm được và (dù đây là lời lẽ quá hiển nhiên nên tôi không theo đuổi) cảm ơn đánh giá quý giá của em** 💀

Ưu đãi có thời hạn, kết thúc sau 8 ngày ngày

20.790 ₫

30%

626.053 ₫

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!