묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 데이터베이스 - 기본편
문제와 풀이 3번 질문입니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강사님! 내부조인 문제와 풀이 3번에서"고객별" 총 구매액이니까 group by를 u.user_id로 해야하는 것이 아닌가요??!u.name으로 하면 강의에는 데이터가 적어서 상관없지만 실무에서 동명이인이 있는 경우 합쳐진 결과가 나올 것 같아 건의드립니다!!u.name으로 하신 이유가 궁금합니다!!강의 잘보고있습니다 감사합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
특정 컬럼 정렬시, 한글이 숫자와 영문 다음으로 정렬이 되는데, 한글이 우선적으로 정렬되게 할때, 콜레이션을 사용하는 것이 권장되나요?
한글이 영어,숫자 보다 먼저 정렬되도록 하고 싶습니다.해당 컬럼에는 한글이 주로 많이 있습니다.오름차순 정렬시한글(가나다),영문/숫자/그외문자 순으로정렬현재 사용하는 것은쿼리단에서 정규식을 이용해서 한글을 우선순위를 높여서정렬을 시키는데 뭔가 비효율적인것 같습니다.콜레이션을 변경하면 가능할까요?콜레이션을 변경하는 것을 추천하나요?그렇다면 어떤식으로 콜레이션을 적용하는게 좋을까요?해당 컬럼에만 적용하기? 쿼리에서 정렬에 콜레이션을 명시하는 방법?어떤 방법을 권장하나요?콜레이션을 임의로 변경 시 문제점이나 유의사항이 무엇이 있을까요?참고로 mysql8 사용중이고,utf8mb4_ko_0900_as_cs 으로 변경을 고려중입니다.해당 컬럼은 영어,숫자,한글이 들어가고, 주로 한글이 많습니다. 그리고 유니크한 컬럼입니다.
-
해결됨카카오 개발자와 함께하는 워크플로우 기반의 대용량 트래픽 처리 기법 [ By. 비전공자 & Kakao 개발자 ]
코틀린
안녕하세요이번에 수강하려고 하는데 코틀린 한 번도 안 해봤는데 이 수업은 무리일까요?계속 자바만 사용했던 상태이고 아직 코틀린 배울 생각은 없는데 이 수업은 듣고 싶어서 여쭤봅니다 ㅠㅠ감사합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
ORDER BY '이름' 과 ORDER BY 이름
ORDER BY '이름' 으로 정렬을 하면 의도대로 정렬이 안되고, ORDER BY 이름 또는 이름 으로 정렬을 하면 의도대로 실행이 되는데 무슨 차이인지 잘 모르겠습니다ㅠ '이름' 실행결과 이름 또는 이름 실행 결과
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
정규형대해서
1정규형부터 bcnf까지 강의 잘 들었습니다.그런데.. 궁금한 것은 기본키를 자연키가 아닌 대체키로 한다고했을 때, 그때도 제1정규형부터 bcnf까지 똑같이 그 개념이 적용되는지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
설치 후 시스템 설정에서 MySQ 메뉴에서 active instance
설치 후 시스템 설정에서 MySQ 메뉴에서 active instance를 유지하고 빨간색 초록색 왔다갔다 하면 어떻게 해야하나요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
27강(댓글 무한 depth - CUD API 구현 & 테스트 데이터 삽입 Comment Response 관련 질문)
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 선생님! 강의 정말 잘 수강하고 있습니다. 선생님 덕분에 기본기가 탄탄해지는 것 같아서 감사드립니다. 27강(댓글 무한 depth - CUD API 구현 & 테스트 데이터 삽입 Comment Response 관련 질문) - 24분 가량에서 Comment V2 생성을 위한 정적 팩토리 메소드의 경우 CommentResponse 책임으로 넣으셨는데, 굳이 책임을 CommentResponseV2로 넣을 정도로 큰 부분이 아니기에 하나로 넣으신건지, 아니면 프로젝트 규모적으로 보았을때 굳이 V2 Response를 생성할 정도의 규모가 아니기에 따로 만드시지 않고 하나의 Response 객체로 사용하신 것인지 궁금합니다.나중에 프로젝트 아키텍칭을 할 때 해당 내용을 기억하기위해 질문드리고자 합니다.감사합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
외래키사용
영한님 안녕하세요. 실무에서는 외래키가 테이블간에 관계를 끈끈하게 해서 잘 사용을 하지않는걸로 알고있습니다. 강의를 보면 테이블간에 유연한 관계를 두는것이 좋은 설계라고 하시던데 이 부분에 대해서는 어떻게 생각하시는지 궁금합니다~!
-
해결됨백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오
“외부 API” 호출이 실패한 경우 “내 서비스” DB 데이터의 정합성은 어떻게 되나요?
안녕하세요 딩코딩코님! 수업 감사히 듣고있습니다!아래 코드에서 트랜잭션 범위를 최소화하기 위해 1. 기존 서비스로 이벤트 참가 처리 메서드에만 @Transactional이 붙여져 있습니다.이미 커밋이 된 상태이기 때문에, 2. 외부 API 호출이 실패해서 RuntimeException 예외를 던져도 “내 서비스”의 DB에는 “참가자 수 증가”와 “참가자 정보 저장”이 된 상태일 것으로 생각되는데,이 경우, 아래 두가지 옵션 중 선택하는 것이 좋은 방법인지트랜잭션 범위를 2. 까지 늘린다.외부 API 호출 실패 시 “참가자 수 감소”, “참가자 정보 삭제” 로직을 추가한다.아니면, 더 좋은 옵션이 있는지 궁금하여 질문드리게 됐습니다!public class ImprovedEventJoinWithExternalApiUpdateFacade { private static final String TEST_PHONE_NUMBER = "01012341234"; private final EventExternalUpdateService eventJoinService; private final ExternalEventApi externalEventApi; private final ApplicationEventPublisher eventPublisher; public void joinEvent(Long eventId, Long memberId) { // 1. 기존 서비스로 이벤트 참가 처리 EventWithLockParticipant participant = eventJoinService.joinEventWithTransaction(eventId, memberId); // 2. 외부 API 호출 ExternalEventResponse response = externalEventApi.registerParticipant( eventId, memberId, participant.getEvent().getName() ); if (!response.isSuccess()) { throw new RuntimeException("외부 API 호출 실패: " + response.getErrorMessage()); } // 3. 외부 API 응답으로 참가자 정보 업데이트 eventJoinService.updateExternalId(participant, response.getExternalId()); // 4. 이벤트 발행 (트랜잭션 커밋 후 실행됨) eventPublisher.publishEvent(new EventJoinCompletedEvent( eventId, participant.getEvent().getName(), TEST_PHONE_NUMBER )); } }
-
해결됨Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기
https 설정 질문
안녕하세요 강의 도커랑 cicd부분 보고저희 동아리 프로젝트 초기설정을 했습니다!동료가 소셜 로그인 구현한다고 해서 https 설정을 해달라고 하는데제가 예전에 배운 내용은nginx에 vi로 어떤 설정을 하고ec2 내에 certbot을 설치하는 것으로 기억합니다만약 이 강사님 이 알려주신 설정으로 이걸 하려면도커 컨테이너 들어가서 nginx에 vi로 문서를 작성하는게 맞을까요? 걱정되는게 그러면 컨테이너를 삭제후 재실행하면 문서를 또 작성해야 하는게 걱정됩니다제가 말한 방법이 맞는건지 아니면 다른 방법이 있는건지 궁금합니다ai한테도 도움을 요청했는데docker-compse.yml 에 쓰는 방식을 추천하는 것 같습니다 강사님께서 알려주신 docker-compse에 저 코드들을 붙여넣어도 괜찮을까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
aws 배포할때 .env 파일에 저장한 환경변수에 관하여 여쭤볼게 있습니다
저는 application.yml 파일에서 mysql username 과 password 를 전부 .env 파일에 넣고 $ {} 를 써서 나타냈습니다. 그래서 .env 파일은 깃허브에 올리면 안돼서 배포해도 제대로 안돌아갈것 같아서 그런데. 혹시 강사님께서는 aws 배포하실때 db username, password 와 같은 민감한 정보들은 어떻게 처리하여 배포하시는걸 추천드리나요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
컨슈머 이벤트 중복 처리
안녕하세요! 자주 질문드리는데 정성껏 답변해주셔서 감사합니다! 동일한 이벤트가 중복 전송될 가능성이 있기 때문에 article-read 서비스에 이벤트 id를 통한 중복 처리 로직을 추가 하려고합니다.article-read 는 redis를 사용하고 있기 때문에 redis에 이벤트 id를 저장해 해결하려고했습니다. 예를 들어 article-read가 이벤트를 받았을때redis 에서 이벤트 id 확인동일한 이벤트 id가 저장돼 있으면 추가 처리 안하고 message ack redis 에서 이벤트 id 확인동일한 이벤트 저장된게 없으면 서비스 로직 수행서비스 로직 결과 redis 업데이트처리 완료한 이벤트 id redis 저장 이런식으로 진행하려 했으나 만약 어떠한 문제로 인해서비스 로직 결과 redis 업데이트 ( 성공 )처리 완료한 이벤트 id redis 저장 ( 실패 )하게되면 이벤트 처리는 성공했지만 처리된 이벤트 저장에는 실패해 추후에 중복 처리가 발생할 가능성이 생길 것 같습니다. 이러한 문제 해결을 위해서비스 로직 결과 redis 업데이트처리 완료한 이벤트 id redis 저장두 작업을 하나의 트랜잭션으로 묶어 처리하려고했지만 rdb 와 동작이 다르기 때문에 (롤백 기능 제공 안함 등) 적절한 방법인지 판단이 안서는 상태네요 혹시 article-read에 이벤트 중복 처리를 한다고 하면 어떻게 구현이 가능할지 여쭤보고싶습니다
-
해결됨백엔드 6주 실전 미션과 1:1 피드백으로 완성하는 합격 포트폴리오
4-9 낙관적 락, 비관적 락
해당 강의 수강 중 Facade 패턴에 대해 알게 되었습니다 그런데 테스트 코드에만 Facade가 적용되어 있고 Controller에는 바로 서비스 코드를 호출하게 되어 있는데요. 학습용 예시 코드여서 이런 것인지 다른 의도가 있는것인지 궁금합니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
messagerelayconfig클래스에서
bootstrapServers의 value값은 어디에 가져오는건가요?yml이나 properties파일은 없는 거 같은데..
-
해결됨멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]
Circuit Breaker 질문
안녕하세요. circuit breaker 코드를 봤을 때 간략하게 circuit breaker가 이런거다 라고 설명해주셨지만, 추가로 궁금한 점이 있어 질문 드립니다.만약 인스턴스가 여러개인 상황에서는 로컬 상황만 보는게 아니라 전체 인스턴스 상황을 봐야할 것 같은데 이럴 떄는 circuit breaker를 어떻게 사용해야 하는지 궁금합니다. 감사합니다.
-
해결됨5천억건이 넘는 금융 데이터를 처리하는 토스 개발자에게 배우는 MySQL [ By. 비전공자 & Toss 개발자 ]
HikariCP maxLifetime 가 db 부하에 주는 영향
안녕하세요HikariCP maxLifetime 에 궁금한게 있어서 질문드려요,mysql 에 직접적인 질문은 아닌 것 같지만 혹시 답변을 받을 수 있을까해서요 아래 같은 상황에서 HikariCP maxLifetime 이 connection pool 부족과 직접적인 연관이 있을 가능성이 있는지 궁금합니다.상황reader, writer ds의 connection pool 고갈 이슈가 잦은 서버 (50개씩 세팅, pod 5)HikariCP maxLifetime 은 30s 로 세팅되어있음 (디폴트는 30분)
-
해결됨멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]
jpa entity 질문
안녕하세요. Entity 선언 시 data class vs class 질문드리려고 합니다.아래 질문은 data class를 기반으로 했지만 사실 궁금증 시작은 "class가 엔티티에 더 맞지 않나?" 라는 생각에 질문드립니다. 질문 1. data class 선언시 프록시 질문제가 알기로 ManyToOne lazy loading할 때 프록시 기능을 사용한다고 알고 있습니다.data class가 자바 record와 마찬가지 final인 것으로 아는데 그렇다면 지연 로딩이 정상적으로 동작하지 않다고 생각됩니다.혹시 여기서는 지연 로딩을 사용하지 않아서 data class를 사용하신 것인지 궁금합니다. 질문 2. data class 사용이 맞다면 equals & hashCode 질문결궁 두 값 동일성을 비교할 때 id를 기반으로 하는 것이 성능에 좋을 것 같다고 생각됩니다.혹시 실무에서 data class 나 class 사용하실 때 id기반으로 equals와 hashCode를 오버라이딩 하지 않고 전체 필드로 하시는지 궁금합니다. 질문 3. data class 목적제가 알기로는 data class는 response와 같이 불변 데이터에 많이 쓰이는걸로 알고 있습니다.그래서 copy와 같은 메서드를 제공하는 것으로 알고 있습니다.data class를 사용할 때 물론 copy를 사용하시진 않겠지만 영속성 컨텍스트 같은 기능을 쓰려면 직접 변경해야 합니다.불변 클래스 목적과 jpa entity와 잘 맞지 않는 것 같아서 질문드립니다. 질문 4. equlas 질문만약 양방향 참조가 있는 entity라면 무한 루프에 빠질 가능성이 없는지 궁금합니다.이와 같은 이유로 2번을 질문 드렸는데 질문 2번에서 내용이 빠진 것 같아서 따로 한 번 더 질문 드립니다. 제가 실무에서 써보지 않았고 코틀린 관련해서는 경험이 부족해서 잘못된 질문이 있다면 알려주시면 다시 질문 남기겠습니다. 좋은 강의 감사합니다.감사합니다.
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
1:N 에서의 연관 엔티티 필요성
안녕하세요! 수업 너무 잘 듣고 있습니다. 연관 엔티티는 1:N 관계에서가 아니라 N:M 관계에서만 필요하다고 알고 있으면 될까요 ?아니면 상황에 따라서는 1:N 에서도 연관 엔티티를 필요로 하나요 ?
-
미해결김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복
Store 엔티티를 추가했을 때의 관계
안녕하세요 영한님!강의를 들으면서 쇼핑몰 요구사항을 조금 더 확대해서 직접 모델링해보고 있습니다. (Store, Delivery, ...)엔티티를 분류하고 개념적 모델링, 논리적 모델링을 진행하면서 몇 가지 궁금한 점이 있어서 질문드립니다. 현재 강의에서는 Order - OrderItem - Product 관계가 존재했고,만약 Store와 Product 사이에 "무엇"을 등록한다 라는 관계가 존재한다면,Order - OrderItem - Product - Store 이렇게 관계가 형성될 것 같습니다. 질문 1. Order와 Store 관계Order와 Store 사이에, "어디에서" 주문한다 라는 관계가 있다고 볼 수 있는지 궁금합니다.(비즈니스 적으로 의미가 있는지에 따라 관계 여부를 결정하는게 맞을까요?) 질문 2. 만약에 관계가 존재한다고 생각하면 Order와 Store를 직접적으로 관계를 맺어주는게 좋을지, 아니면 그래프 탐색을 통해 관계를 참조하는게 좋을 지 궁금합니다.사실 Order - OrderItem - Product - Store 순으로 모두 Join 하면, 직접적인 연관관계를 맺지 않아도 원하는 데이터를 조회할 수 있을 것이라고 생각하는데요. 만약에 Order와 Store만으로 구성된 화면이 존재하거나, Store 정보를 바탕으로 Order를 필터링 해야한다면, Order에 Store의 식별자를 가지고 있으면 편하게 조회할 수 있을 것 같더라고요.다만, 이렇게 되면 화면이나 Api에 의존적이게 모델링되는 것 같은데, 이러한 설계 방식이 괜찮은 방식인지 궁금합니다.
-
미해결김영한의 실전 데이터베이스 - 기본편
간단한 오타 제보
항상 잘 듣고 있습니다서브쿼리 pdf 문제 3번from절에 별칭 o가 빠져있네요case문 pdf 문제 4번문제 요구사항에 fashion_orders가 빠져있습니다