☠ 질문 가이드 ☠ " 시스템 종결자의 지령이다. 질문하기 전에 이 규칙들을 숙지하도록. " 1. 코드 실행에 문제가 있다고? 전체 코드를 보여줘라. 단편적인 에러 메시지만으로는 아무것도 알 수 없다. 실행 환경도 알려달라. JDK 버전, 스프링 버전 등을 함께. 2. 오타를 발견했나? 즉시 제보하도록. 자네같은 날카로운 눈을 가진 동료가 필요하다. 3. 질문은 자유롭게 "이런 걸 물어봐도 될까요?" 같은 소심한 멘트는 불필요하다. 궁금한 건 바로 물어봐라. 배치 시스템에 소심한 건 없다. 4. 검색은 기본 비슷한 질문이 있는지 먼저 확인하도록. 하지만 이해가 안 된다면? 주저하지 말고 추가 질문해라. GPT가 거짓말친다고? 나에게로 오라. 💀 5. 서로 존중하라 여기는 모두가 시스템을 지배하고자 하는 동료들이다. 서로를 이해하고 돕는 문화를 만들어가자. ⛔ 인프런 서비스 자체에 대한 문의는 1:1 문의하기로. 💀 그쪽 서버는 막강한 CTO가 있어 건드리지 않는 게 좋을 거다 💀 - KILL-9 올림 P.S. 존댓말로 질문하면 rm -rf를 시전한다. 편하게 물어보도록. 강의에서 놓친 부분이나 더 보충하면 좋을 내용도 자유롭게 제보하라. 너희의 피드백이 이 강의를 더 강력하게 만든다. 🔥 시스템을 함께 진화시켜 나가자. 🔥 킬구형님 안녕하세요! (그래도 선생님이신데 반말하기엔 좀 그런것 같아서 존댓말로 하겠습니다..!) 먼저 좋은 강의 감사드립니다. 사실 구매한지는 좀 되었는데, 지난 1주일동안 Batch와 스케쥴러의 차이점, 왜 이런 어노테이션을 사용하는지부터, 왜 이런 환경설정을 해야하는지, Framework와 Boot의 동작차이점은 무엇인지 세세하게 먼저 이해하는데 집중하다보니 힘이 많이 들었는데 0장 만으로도 상당히 많은 기본기가 쌓인 것을 느낄 수 있었습니다(무엇을 모르고있었고 무엇을 알아야하는지 등). 배치가 막연하게 느껴졌는데, 아직 극초반이지만 자신감이 생기고 있습니다. 감사드립니다! 1장에 들어가기전에 앞서, 조금이라도 더 실무에 가까운, 가깝지 않더라도 유지보수가 간편하고 알아보기 쉽게 체계를 구성해보고자, 형님께서는 실무적으로 배치 프로젝트를 어떻게 구성하시는지 질문드리고자 합니다. 각파일들의 디렉토리 위치가 없는데 임의적으로 해야하나요? - 인프런 | 커뮤니티 질문&답변 위 질문에서 형님께서는 상관이 없다고는 하셨는데, 그래도 실무에서는 어떻게 구성하시는지 궁금해서 질문드리게 되었습니다! 그리고 0장에서도 간단한 1개의 Job도 5개의 Step으로 이루어져 있는데, 위 질문의 AI답변처럼 1개의 Config 책임으로 두기보다는, Job - Step으로 책임을 분리하여 두는 것이 편할 것 같은데, 이게 실무에서도 실제로 이런 방향으로 관리가 이루어지는지 궁금합니다! 답변내용 참고하면서 본격적으로 1장부터 프로젝트를 구성해보고자 합니다. 감사합니다!
CommonService 클래스 부분에서 이 코드 테스트를 하며 생각을 해봤는데요 EX) 루트 댓글 A(논리삭제) ㄴ 댓글 B ㄴ 대댓글 C 상황인 경우에서 B를 삭제했을 경우에 논리 삭제 되어있던 루트 댓글A도 삭제가 되면서 루트 댓글 A(물리삭제) ㄴ 댓글 B(물리삭제) ㄴ 대댓글 C 이런 상황으로 된다면 대댓글 C는 물리삭제 된 루트 댓글A를 parent로 가지는 고아 댓글이 되어버리는 것은 아닌가 궁금해서요!! 깔끔하게 딥한 강의 너무 잘 듣고 있어요!! 감사합니다 :)
While (첫번째 조건 && 두번째 조건) -> 두번째 조건의 의미가 n1을 가리키고 있는 NODE의 next가 널이 아닌지를 묻고 있는것일까요?? 아니면 n1의 next가 n3라서 널이 아니라는 것인가요? 저는 node를 n1을 가리키고 있는 노드라고 생각해서 처음의 의미로 생각했는데 아닌것같아서 질문드립니다.
ManyToOne and OneToMany 의 12:38 스크립트가 반대로 작성 (이에 따라 번역도 반대로) 되어있는 것 같습니다. Hibernate is not going to set the foreign key when executing the insert statement. -> Hibernate is going to set the foreign key when executing the insert statement. nullable false 설정하면 삽입 시 외래키도 같이 설정. 그럼에도 이후 update 쿼리가 날아간다. 라는 것 같은데 반대로 적혀있네요. 스크립트 정정에서 신청할랬는데 정정 버튼이 안눌려서 글 남깁니다.
킬구형 1장 - 작전3에서 아래와 같이 얘기한 부분에 대해 궁금한게 있어. '리스너는 감시와 통제만 담당한다. 실제 시스템 제거 로직( 비즈니스 로직 )은 분리하라. 리스너가 너무 많은 일을 하면 유지보수가 어려워지고 시스템 동작을 파악하기 힘들어진다' 청크 기반 배치 잡이라고 하고 A라는 테이블에서 데이터를 읽어와서 B라는 테이블에 데이터를 삽입하는데 B 테이블에 데이터가 없다면 삽입, 있다면 수정하는 로직이 있어. 이 과정들이 모두 끝나고 마지막으로 B 테이블에 수정 날짜 컬럼이 잡 시작 시간보다 이르다면 A 테이블에 데이터가 없으므로 B 테이블에서 이러한 데이터들을 삭제하려는 로직을 넣는다고 했을 때 아래 궁금증들이 있어. 1. 위 얘기를 토대로 생각해보면 삭제 로직은 청크 기반 스텝 이후 태스크릿과 같은 다음 스텝으로 넣는게 좋은 것 같은데, 실무에서는 해당 잡 전용 리스너를 하나 추가로 만들어서 afterJob 메서드에 배치 상태가 COMPLETED인 경우에 삭제 로직을 실행하도록 하는 방식은 지양하는 편인거야? 전용 리스너를 만들어서 사용하는 경우도 있어? 만약 리스너에 삭제 로직을 넣는다고 했을 때 리스너에서 데이터 삭제 과정 중 오류가 발생한 경우에는 잡이 실패 상태로 종료되는거지? 2번과 같은 맥락인데 리스너에 삭제 로직을 넣는 경우 트랜잭션이 필요할텐데 리스너는 트랜잭션 범위가 어떻게 돼? 스텝에서는 청크 범위, 태스크릿의 반복 범위라고 본 걸로 기억하는데 리스너는 트랜잭션 설정 자체가 안되는건지 리스너 범위 내부에서만 설정되는건지 궁금해.
안녕하세요 강사님. 저는 sprint 1,2를 수강했고 3을 수강 중에 쿠버네티스 관련 서적을 발견해 읽어보며 공부하고 있습니다. worker-node 는 중요하지 않나요 ? kubelet는 pod spec을 받아서 cri로 컨테이너 실행을 담당한다, 스케줄링 관리한다, 로 이해했는데 아직까진 워커 노드에 대한 개념이 없어서, 실무에서는 깊게 파고 들어야 사용하는 것이다 (굳이 안써도 되지만 쓰면 더 효율적이다?) 인 것일까요?? sprint 4나 대세는 쿠버네티스를 봐야 이해가 될까요? 블로그에 https://cafe.naver.com/kubeops/496 이부분이 있길래 문의드립니다 ! gke관련 저는 클라우드 경험 없는, 온프레미스 경력만 있는 웹 개발자입니다. 그러다 보니 이해를 못했는 이슈인 것 같은데, 구인 사이트를 보면 종종 devops를 클라우드 + 온프레미스를 같이 진행하는 공고를 많이 봤습니다. 그런 경우에는 데이터를 어떻게 관리를 할까요? 온프레미스같은 경우에는 pv로 진행을 하면 되지만, 클라우드는 자체 pvc가 있어서 같은 폴더에서 관리하면 수기로 작성한 pvc파일이 먹혀서 작동하지 않더라고요 . (같은 곳에서 관리를 하니, 온프레미스에서 셋팅한 pvc를 자꾸 무시합니다.) 그리고 volum을 공유하지 못한다고 알고 있는데 데이터는 어떻게 관리할까요 ?? (업무적인 것이 아니라 개인 공부중입니다 ..) [ 👍 좋은 질문을 했을 때 좋은 답변이 돌아 옵니다] 1. 실습 중 본인의 환경이 가이드와 다른 부분이 있었다면 말씀해주세요. 2. 해당 문제의 발생 빈도(재설치 여부)와 문제 해결을 위해 시도해본 케이스를 말씀해 주시면 원인 파악에 큰 도움이 됩니다. 3. 에러 메시지만 봐서는 저도 모르는 경우가 많아요. 그전에 했던 작업이 포함된 캡쳐 화면도 부탁 드려요. 4. 영상 내용에 대한 질문 시 해당 시간을 같이 올려 주시면 답변을 드리는 시간이 더 빨라집니다. 5. 긴 로그는 제 메일로 보내주세요. ( k8s.1pro@gmail.com ) 6. 카페 [ 강의 자료실 ]에도 많은 질문과 답변들이 있어요!
1. 현재 학습 진도 2-9 2. 어려움을 겪는 부분 window 11 에서 k6 1.3.0 버전을 사용 중 이고 set K6_WEB_DASHBOARD=true k6 run k6-scripts/k6-test.js 로 명령어를 쳐도 테스트 자체는 실행이 되지만 대쉬보드가 나오지 않습니다 3. 시도해보신 내용 처음엔 버전 문젠가 해서 최신 버전으로 수정 했고 5665 포트도 사용 중 은 아닌 것 을 확인 이 외에 체크를 해야 할 것이 있는지 모르겠습니다.
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] ( https://inf.run/DvsRD ) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up 으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. ( https://inf.run/Ljaer ) [질문 하기] 맥북 m3 에서 2.4.베이그런트(Vagrant)+버추얼박스(VirtualBox)로 쿠버네티스 환경 구축하기 (모두, arm64 사용자)-v1.30 강의 따라하고 있습니다. cmd 명령어 모두 실행하고 tabby로 cp에 접속했는데 k get no 를 실행했을때 버전이 v1.30.0 라고 나오는데 잘못 설치한걸까요? 강사님 화면에선 v1.30.1 이라고 나와서요.. 그리고 ps -ef | grep sleep 쳤을때 나오는 것도 강의와 좀 다릅니다.