킬구형 Spring Data JPA 사용하면 JpaRepository 인터페이스를 사용해서 PlatformTransactionManager , DataSource 를 자동으로 주입받아 사용할 수 있는데, 강의에서는 스프링배치의 세밀한 조정을 위해 일부러 JpaRepository 를 사용하지 않는 거야? 아래 두 강의에 둘 다 데이터소스와 트랜잭션매니저를 직접 활용하고 있어서 궁금해서 물어봐 3장. 작전1: 관계형 데이터베이스 읽고 쓰기 (테이블의 심장에 처형장을 세우다 ☠ ) OPERATION DOUBLE TAP - Spring Batch Test (추가) 생각해보니 예전에 아주 간단한 로직의 스프링배치 앱을 JpaRepository , JPQL을 이용해서 만들었던 만들었던 기억이 있는데,, 혹시 JpaRepository 을 일부러 사용하지 않는 이유가 있는지 궁금해
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] synchronized 키워드를 사용하면 내부적으로 캐시 메모리에 있는 데이터를 메인 메모리에 값을 동기화 시켜주는 걸까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오) [질문 내용] 지역 클래스는 기능상 이해는 되지만, 실제로 코드 작성 시에는 가독성이 떨어진다고 느껴집니다. 실무에서 많이 쓰이는 걸까요?
안녕하세요. 강의 잘 듣고 있습니다! 강의 2개째 듣고 있는데 항상 초보자들이 이해하기 쉽게 잘 설명해주시는 것 같아요! 그리고 질문을 드리자면, 카프카 적용 전에는 다음과 같은 프로세스로 진행됐었죠. 그리고 동시에 3.활동 점수 부여에서 실패하면 1,2에 보상트랜잭션을 적용하는 saga패턴을 사용했었는데요. 포인트 차감 게시글 저장 활동 점수 부여 근데 카프카를 적용하면서, 만약에 3. 활동 점수 부여(=consumer) 에서 에러가 발생하면 producer쪽인 board-service에서는 이를 감지할 수 없기때문에, 기존에 작성했던 SAGA 패턴이 의도한대로 동작을 안할 것 같은데... 제가 이해한게 맞을까요? 카프카 이점을 도입하기위해 어쩔 수 없이 SAGA 패턴의 이점을 뒤로 미루도록 설계한 것인지가 궁금합니다! 제가 놓친부분이나 잘 못 이해한 부분이 있거든 답변 부탁드리겠습니다! 남은 연휴 잘 보내시길 바라겠습니다 감사합니다 😃
강의를 NestJS로 적용해 따라가고 있습니다. 마지막 “ArchUnit을 이용한 아키텍처 테스트” 파트에서 Node/NestJS 환경에서는 어떤 방식으로 아키텍처 규칙을 테스트/검증하는 것이 좋은지 궁금합니다. 자바에서는 ArchUnit으로 레이어 규칙, 패키지 의존성, 순환 참조 등을 명시적으로 검사할 수 있는데, Node 진영에서는 유사한 도구로 무엇을 추천하실까요? 제가 찾은 것은 “ts-arch”였고, 폴더/슬라이스 의존성, 사이클 검사를 지원하는 것으로 보입니다. 적용을 하다가 실패를 했는데, 다른 방법이 있다면 조언 부탁드립니다. 😭 😭 😭
1탄부터 자바 웬만한 문법들은 다 이용해서 만드는거 같은데 2탄 3탄은 어떤 내용일지 궁금합니다 카프카, 하둡등 빅데이터 플랫폼 관련 기술스택을 배우고 싶어 필요한 자바 문법 (멀티 쓰레드, 서버 소켓 프로그래밍) 김영한님 자바 고급 편 2 ,3 편을 구매해 보고 있지만 멀티 쓰레딩, 동기화, 채팅 프로그램, http 통신, stream api등 잔득 배워 존재는 알겠는데 대체 이걸 어디에 어떻게 써야 하는건데? 라는 목마름이 있는 상태 입니다 다른 자바 강의들도 마찬가지로 문법의 메커니즘?? 문법을 되게 딥하게(ex 멀티쓰레드 하나만 20시간 이상 ) 강의 설명해주시는 강의가 과반수 였습니다(제가 물론 못찾을겁니다) 저같은 멍청이 입장에서는 모래사장에서 바늘찾기 마냥 소화를 못할 내용이고 강사님의 강의 철학과 같이 자바 기본 문법들을 배우고 다양한 예제를 단계별로 풀어보며 비로소 왜 이렇게 돌아가는지 메커니즘이 궁금할때 위에 딥한 강의를 찾아보는게 낫다고 생각이 듭니다 혹시나 이 소인의 의견을 긍정적으로 보시고 관련된 내용이 반영 된다면 제발 주니어 입장에서 자세한 설명과 쉬운거 부터 단계별로 다양한 문제로 부탁 드립니다 ㅠ 마지막으로 ㅇ..이러면 안되지만.. ㅎ..혹시 2, 3탄 ㄹ..론칭 할인 할인 쿠폰을 제공해주실 예정이 있으신가욥..?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @Getter @AllArgsConstructor public class MemberOrderStatDto { private Long memberId; private String memberName; private long orderCount; // 주문 수 (distinct) private BigDecimal totalAmount; // 총 매출 private Double avgItemPrice; // 아이템 평균 가격 private Long last7dOrderCount; // 최근 7일 주문 수 (서브쿼리) } 위와 같은 통계치를 여러 테이블을 조인하여 추출해내야 하는데, 이 경우에는 querysql로 쿼리를 작성하는 것보다 mybatis xml에 직접 쿼리를 작성하는게 더 효율적일까요?
우선 좋은 강의 정말 잘 들었습니다. 감사합니다. 그동안 파편화되어 있던 "어떻게 도메인을 분리하는가"에 대한 질문이 강의를 토대로 많이 깔끔해질 수 있었습니다. 말씀 주신 방식을 토대로 현재 신규 도입하고 있는 서비스를 이벤트 스토밍을 토대로 구체화해 보고 있는데요. 아무래도 강의가 제작되고 나서 시간이 좀 흐른 만큼, 현재에도 해당 방식을 토대로 설계를 해 가시고 계신지, 뭔가 더 좋은 방식이 추가되셨을지 궁금합니다!
안녕하세요. 강의 재밌게 잘 듣고있습니다. 섹션 2 - 12 목차가 Modular Monolithic Architecture 소개로 되어있는데, 실제 강의 내용이 Layered Architecture 관련 내용인 것 같습니다. 목차 명이 의도하신 것이 맞는지 궁금해서 질문드립니다!
실제로 실행을 못해보는환경이라서 질문하는건데, JobLauncher를 활용한 REST API 구현 의 예제같은경우 컨트롤러 하나를 생략없이 다 표현한거같은데 jobRegistry 는 di받지않았는데 어떻게 실행하는거임? 빼먹은건가? job = jobRegistry.getJob(jobName);
TransactionManager 분리 에 대해서 이해가 잘 가지 않는게 있어. 실제 운영 환경에서는 배치와 비즈니스 데이터 DB를 분리하는게 필수라고 했잖아? 근데 이 분리의 단위가 배치용 메타데이터 저장만 분리를 하는게 맞는거야? 현재 사이드 프로젝트에서 멀티모듈 구조에 (MSA는 아님) API 모듈과 배치 모듈을 따로 분리한 상태야. 유저 데이터에서 생일을 뽑아서 내일 생일인 유저에게 FCM 을 발송하는 배치를 만드는데, 이때 만들어준 예제처럼 @BatchDataSource와 비즈니스 로직용 @Primary DataSource를 분리하게 되면, API 모듈용 DB Connnection을 배치에서도 똑같이 갖다 쓰는거 아니야 ?? 즉, 배치에서 API 쪽 커넥션을 가져다 써서 배치가 돌 때 커넥션이 고갈날 수 있지 않을까? 라는 생각이 들었어 지금 이해한 바로는 @BatchDataSource, @BatchTransactionManager를 분리하고 주입해줘도 Reader -> Processor -> Writer 에는 @Primary 걸 쓰는것 같은데 맞아 ? 나는 DB 분리와 함께, 비즈니스 로직에 대한 커넥션, 트랜잭션도 배치용으로 분리하고 싶은데 이럴땐 어떻게 해야해? 특히나 배치에서도 JpaTransactionManager를 쓰고 싶은 경우에는 어떻게 해야해 ? 원하는 바는, API 처리용 DB 커넥션은 커넥션대로 있고, 배치 메타데이터용 커넥션 따로, 배치에서 라이브 DB에서 유저 데이터를 가져오는 커넥션 따로 구성하고 싶어 (배치가 API 모듈 에 영향을 주지 않았으면 해서,,,) 혹시 내가 강의를 제대로 이해를 못한거라면 알려줘
예시로 들었던 '게시판 별 게시글' 같은 인덱스 테이블에서 B Tree 인덱스를 사용하면 된다는 식으로 말씀하셨습니다. 근데 전통적인 RDBMS에는 샤딩 기능조차 존재하지 않는데, 분산된 데이터베이스에서도 테이블 수준의 B Tree 인덱스처럼 동작하는 것처럼 말씀하신 것 같아, 이것이 맞는지 문의 드립니다.
질문은 아니고 kafka 개발환경 세팅 시에 저랑 같은 문제 겪으신 분들 계시면 참고하시라고 공유 드립니다. macOS 15.6.1 버전(m4 Pro 칩)에서 도커로 kafka 컨테이너 띄울 때 아래와 같은 오류가 발생했어요. # A fatal error has been detected by the Java Runtime Environment: # # SIGILL (0x4) at pc=0x0000ffff9ad3fc5c, pid=1, tid=7 # # JRE version: (21.0.4+7) (build ) # Java VM: OpenJDK 64-Bit Server VM (21.0.4+7-LTS, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64) # Problematic frame: # j java.lang.System.registerNatives()V+0 java.base@21.0.4 https://issues.apache.org/jira/browse/KAFKA-19007 이래저래 찾아보다가 그냥 3.9.1 버전으로 받아서 띄워봤는데 잘 됐어요. 같은 문제 겪으신 분들도 그렇게 해보시기를 권해드립니다.
안녕하세요 선생님. 미션 주신거 이행하면서 궁금해서 질문드려요. 다른강의에서 가용성(Availability), 시스템 이중 에 대해서 설명해주셨는데.. MSA에서 가용성? 시스템 이중을 적용하면.. 일반 사용자가 서버 끊김을 못느끼게해야하는데.. 기존의 도커나 쿠버네티스를 2중으로 설정해줘야하는게 맞는지 궁금합니다. 예를들어서 강의에서 섷명해주신 게이트웨이,사용자서비스,게시판서비스,포인트 서비스가 있다고 할경우.. 게이트웨이 2개 사용자서비스2개 게시판 서비스2개 포인트 서비스 2개로 해야하는것일까요?
킬구형 강의 자료 중간에 이상한 문구 발견해서 제보해 강의 회차: 5장. 작전4: Flow - 배치의 흐름을 지배하라 (분기점에서 생사를 쥐락펴락하라 ☠ 🏴☠ ) 이상한 문장: 즉, Spring Batch의 암시적 전환 규칙 대상에서 제외된다는 뜻이다. 재시도 Claude는 실수를 할 수 있습니다. 응답을 반드시 다시 확인해 주세요. 강의 자료 중간에 LLM에서 가져온 내용을 잘못 편집한 것 같아.