강의

멘토링

커뮤니티

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

677 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 đối mặt với thực tế 💀

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

⚠ Giao thức thực thi Spring Batch đã được kích hoạt ⚠


" Dành cho tất cả các nhà phát triển đang gặp khó khăn với công việc batch

Kẻ 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í sát thương 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 ẩ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ẽ phân tích 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 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

...

Đào sâu vào 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.

💀 Kiểm soát Job và Step: Nắm quyền kiểm soát trung tâm của hệ thống batch

Khám phá sâu cách thức 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).

JobRepository의 내부를 살펴보고 metadata를 trực tiếp 제어하여, hộp đen như batch thực thi flow를 투명하게 quản lý하라. 더 이상 예상치 못한 thất bại에 당황하지 마라. 모든 것은 우리의 통제 하에 놓인다.

💀 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á dài? Đừng lo lắng.

Khi vũ khí cơ bản không đủ, đã chuẩn bị sẵn trang thiết 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 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 tôi tổng hợp rõ ràng 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ỹ 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을 sử dụng để quản lý trạng thái và cơ chế dừng/khởi động lại công việc batch - Làm chủ hoàn toàn.


  • 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 có được 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 đã phải ra tay.💀

💀 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 ý  ⚠️
[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 đùa giỡ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 kẻ tò mò hời hợt 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 trên 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 đã chuẩn bị sẵn sàng đi cùng đến tận cùng nỗi đau 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 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 tận cùng mới có thể trở thành kẻ thống trị thực sự của Spring Batch.


[ADDITIONAL NOTE]
Những ai đã có kinh nghiệm Spring Batch cũng được chào đón nếu phát hiện "ý chí sẽ cố gắng theo đuổi".
$ 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ả... máy chủ 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 rồi. 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. 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. 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.

Tại đây, các bạn sẽ không chỉ tiếp nhận kiến thức đơn thuần, mà sẽ gặp gỡ triết lý của tôi về việc học tập thực sự.

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à

677

Học viên

57

Đánh giá

90

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ả

57 đánh giá

4.9

57 đá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á 2

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

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

    Đá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 22:20:53 ngày

238.655 ₫

61%

626.470 ₫

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!