동동이님의 생생한 수강평, Spring Batch 입문: 3시간 만에 끝내는 대용량 처리의 기초
수강평 23
평균평점 4.8
스프링배치에 대해서 하나도 몰라서 배우는데 쉽게 가르치는거는 좋습니다. 근데 실습에 ./gradlew bootRun --args='--spring.batch.job.name=cafeJob' 명령어를 알려주는 거는 좋지만 그냥 인텔리제이 run을 실행해도 실행이 될텐데 굳이 왜 그 명령어를 쓰는지에 대한 디테일이 없어서 아쉽네요. 다른 강의도 다 좋은 한번씩 왜 필요한 지에 대한 디테일이 부족해서 아쉽습니다.
안녕하세요 동동이님! JSCODE 시니입니다~ 먼저 스프링 배치 강의를 수강해 주시고, 이렇게 애정 어린 피드백을 남겨주셔서 진심으로 감사합니다!ㅎㅎ 배치에 처음 입문하셨는데 쉽게 이해하고 계신다니 정말 다행이고 뿌듯합니다. 하지만 동시에, '왜' 이 방식을 사용하는지에 대한 디테일한 배경 설명이 부족했다는 말씀에 깊이 공감하며 아쉬움을 드려 죄송한 마음이드네요! 말씀해 주신 ./gradlew bootRun --args='--spring.batch.job.name=cafeJob' 명령어를 단순히 인텔리제이의 Run 버튼 대신 실습에 사용한 이유는 크게 두 가지 실무적인 목적 때문이었습니다. 1. 특정 Job만 안전하게 지정하여 실행하기 위함입니다. 스프링 배치 프로젝트가 커지고 여러 개의 Job이 쌓이게 되면, 단순히 인텔리제이 Run으로 애플리케이션을 실행했을 때 기본 설정(spring.batch.job.enabled=true)에 의해 의도치 않은 Job들이 동시에 실행될 위험이 있습니다. 파라미터로 특정 Job 이름을 명시적으로 넘겨주면, 내가 지금 테스트하고자 하는 Job 하나만 격리해서 실행할 수 있습니다..! 2. 실제 운영(Production) 환경과 똑같은 방식을 경험해 보기 위함입니다. 실제 회사에서 배치를 운영할 때는 IDE의 버튼을 누르는 것이 아니라, 리눅스 서버나 젠킨스(Jenkins) 같은 CI/CD 툴, 혹은 스케줄러 환경에서 터미널 명령어(쉘 스크립트)를 통해 배치를 트리거합니다. 실습 과정에서부터 실무 운영 환경에서 파라미터를 주입해 배치를 실행하는 감각을 익혀두시면 나중에 큰 도움이 되기 때문에 해당 명령어를 가이드해 드렸습니다. (물론 인텔리제이의 'Run Configuration' 설정에서 Program arguments에 --spring.batch.job.name=cafeJob 옵션을 넣고 Run 버튼을 누르셔도 완벽히 동일하게 동작하니 이점도 참고해주세요~!) 강의를 기획하면서 입문자분들이 '어떻게 구현하고 실행하는지'를 빠르게 체득하시는 데 집중하다 보니 설명이 조금 부족했던 것 같습니다!😢 수강생님이 남겨주신 피드백을 바탕으로, 앞으로는 코드나 명령어 한 줄을 치더라도 그 이면에 있는 실무적인 이유를 더 꼼꼼히 챙겨서 설명해 드릴 수 있도록 보완해 나가겠습니다!ㅎㅎ 강의를 들으시면서 "이건 왜 이렇게 하는 거지?"라는 의문이 드실 때는 언제든지 질문 게시판에 편하게 남겨주세요~! 제가 놓친 디테일들을 꽉 채워서 상세히 답변해 드리겠습니다. 좋은 의견 남겨주셔서 다시 한번 감사드리며, 남은 강의도 무사히 완강하시기를 응원하겠습니다!
0





