묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! Querydsl
예제에서의 카운트 쿼리에서 join문과 where문은 필요없지 않나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]예제에서의 카운트 쿼리의 목적은 단순히 전체 데이터의 개수를 보여주는것에 불과하니까 아래와 같이 해도 상관없지 않나요? JPAQuery<Long> countQuery = queryFactory .select(member.count()) .from(member); // .leftJoin(member.team, team) // .where(allEq(cond)); return PageableExecutionUtils.getPage(content, pageable, countQuery::fetchOne);
-
미해결스프링 시큐리티 OAuth2
loadUser 중 Missing attribute 'preferred_username' in attributes 에러 발생
55강 수강 중 client credentials 방식으로 변경 후 테스트 시 이런 에러가 발생합니다. 왜 그런걸까요 ㅜㅜ
-
미해결바이브코딩으로 Spring Boot 게시판 개발하기 (Claude, Gemini, OpenAI Codex)
공유 자료 요청합니다
명령어와 절차들을 기록한 공유자료를 찾을 수가 없네요.위치 알려주시면 감사하겠습니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
핵사고날 아키텍처 책을 추천해주실 수 있으실까요??
안녕하세요 토비님언제나 헥사고날 아키텍처는 무엇이고 이걸 적용한다는 것이 왜 좋고 왜 필요하다는 것인지궁금했습니다. 이번 강의를 통해서 대략적인 흐름 어떻게 적용할 것인지 어떤 방향으로 작업 해야 하는지 살짝 이해할 수 있었습니다 조금 더 이해도를 높이고 싶은데.. 혹시 토비님께서 추천하시는 서적이 있으실까요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 안녕하세요, 깜팅이입니다. 이해가 된 것 같은데 애매하게 안 된 거 같아서 질문 올립니다. 양방향 연관 관계를 설정할 때 한쪽에 mappedBy를 지정해서 '연관 관계의 주인'을 정해야 하는데 이게 단순히 JPA가 외래 키를 관리할 객체를 하나만 정하기 위해서인지 아니면 성능이나 SQL 실행 방식에도 실제로 영향을 주는 건지 궁금합니다.
-
미해결김영한의 실전 자바 - 중급 1편
자바의 기본 클래스들에 관하여
[질문 내용]안녕하세요 영한님자바 강의로 프로그래밍 입문을 하게되어 처음 질문 드립니다.배우다보면 자바의 다양한 기본 클래스랑 메서드가 있는것 같은데 이를 작성하는 방법을 일일이 외워야할까요?아니면 일종의 도구처럼 추상적으로 이해하고 필요할때 복붙해서 쓰는 정도로 넘어가면 될까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@PostMapping("/members/new")가 동작하지 않습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 올바르게 작성한 것 같은데 등록 버튼 클릭 시 홈으로 돌아오는 것도, sysout 내용이 콘솔에도 찍히지 않습니다 ㅜㅜ
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
댓글 내용 조회 시 어떤 방식을 선택하실까요?
게시글 조회 기능을 확장하려고 할 때 댓글을 조회하는 방향에 대해 고민이 있어서 질문 남깁니다.게시글 하나를 보는 페이지로 사용자가 이동해서, 게시글의 내용과 댓글들까지 이동한 페이지에서 그려야 할 때 게시글 정보와 해당 게시글의 모든 댓글을 가져오는 기능을 신규로 추가하려고 합니다. 해당 기능의 구현에 대해 2 가지 방향을 고민해봤습니다.게시글처럼 댓글까지 캐싱하는 방법Hot data 로 캐싱된 게시글들의 댓글들을 캐싱하는 것을 고민했을 때, 댓글은 게시글보다 훨씬 많은 양이기 때문에 캐싱에 대한 비용이 너무 커지는 것에 부담이 생기는 문제가 있다고 생각합니다.댓글에 대한 조회는 매번 댓글 서비스에서 조회하는 방법실시간으로 게시물의 댓글을 계속 조회한다면, 조회 서비스에 읽기 부하가 크게 걸릴 것으로 생각합니다. 두 방식 다 장단점이 있다고 생각하는데, 강사님께선 어떤 방식으로 게시글 + 댓글 조회 기능을 구현하실지 의견이 궁금합니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
강의 전에 학습할 내용
해당 강의를 수강하기 전에 사전 학습으로 준비하면 좋은 내용들(MySQL, Redis, Kafka, 시스템 설계 등)에 대해 추천해주실 만한 책이나 강의가 있을까요?저에게는 이 강의가 다소 어렵게 느껴져서, 관련 내용을 따로 공부한 후 다시 수강하고 싶습니다.혹시 강의 내용과 연관되어 쿠케님께서 좋다고 느끼셨던 자료나 도움이 되었던 책, 강의 등이 있다면 공유 부탁드립니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
자바 스트림 방식의 효율성 질문 드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요자바 Stream을 사용하는 방식과 일반적인 for 반복문을 이용하는 방식이효율성 측면에서도 차이가 있는지 궁금합니다.좋은 강의 감사합니다!
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
MemberRegister 질문드립니다.
domain 패키지 안에 activate메서드가 있는데 포트 역할을 하는 MemberRegister 인터페이스에 activate메서드가 또 필요한 이유가 어떤건가요??activate는 외부로 공개될 필요가 없는거 아닌가용??
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
많이 사용되는 패턴의 순서를 정한다면 어떤 순서일까요?
안녕하세요.강의잘들었습니다. 제가 모르고 사용한 패턴들이 많이 보이네요. 그떄 그떄 상황에 맞게 사용을 하면 될 것 같긴 한데.. 그래도 자주사용하는 패턴들의 순서를 매긴 다면 어떻게 될까요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
MemberService 코드 작성 중 질의
안녕하세요 실습 중 컴파일 오류가 왜 발생하는지 이해가 안되어 질문 남깁니다. private final MemberRepository memberRepository; private final EmailSender emailSender; private final PasswordEncoder passwordEncoder;해당 코드에서 EmailSender와 PasswordEncoder 부분에서 Could not autowire. No beans of 'EmailSender' type found. 컴파일 오류가 발생합니다. final을 제거하면 컴파일 오류가 발생하지는 않는데요 하지만 github 페이지에 올려주신 소스코드를 보면 현재 영상 시점과 코드 구조가 100% 일치하지는 않지만 스프링 빈 관련 설정을 따로 해준 것 같진 않아보입니다만.. 토비님 영상에서는 오류가 없고 제 코드에서는 컴파일 오류가 나네요. 어떤 시점에 따로 Spring Bean 관련 설정이 되어있는게 있다던가.. 아님 제가 빼먹은 부분이 있다면 알려주실 수 있으신가요? 문제가 되는 부분 전체 코드 첨부드립니다. 시간되실 때 확인 부탁드립니다. 감사합니다. package com.ggne.splearn.application.required; import com.ggne.splearn.domain.Email; /** * 이메일을 발송한다. */ public interface EmailSender { void send(Email email, String subject, String body); }package com.ggne.splearn.domain; public interface PasswordEncoder { String encode(String password); boolean matches(String password, String passwordHash); }
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
runnable 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]섹션 3에서 runnable를 인터페이스로 불러서 사용할 때 static으로 정의하는 이유가 있나요? 그리고 간간히 왜 이거는 생성자를 받아오지 않고 바로 써야 하는지, 이건 왜 static을 써야 하는지 등등의 의문이 드는데 제가 자바에 대한 이해가 부족해서 그런 걸까요? ㅜㅜ 중급편 내용이 아는 내용이라 건너뛰었는데 중급도 수강하는게 맞을까요?
-
미해결마이크로서비스 디자인 패턴 완벽 가이드
마이크로서비스와 모듈러 아키텍처 선택 질문
db(db2, 오라클 등등)가 여러 종류로 나뉘어 서비스 중입니다. 무조건 마이크로 서비스 구조를 채택하는것이 좋을까요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
checkDuplicateEmail 메서드와 동시 요청에 관한 질문
안녕하세요 토비님! 좋은 강의 만들어주셔서 잘 듣고 있습니다.작은 질문이 하나 있는데요. checkDuplicateEmail 메서드와 동시 요청에 관한 질문이 있습니다.섹션 5. 28강 회원 애플리케이션 서비스 테스트(2) 20:47초 경에 email 중복 체크를 위하여 checkDuplicateEmail 메서드 코드를 작성하였고, 같은 email로 가입하려고 하면 DuplicateEmailException이 발생하는 것을 확인하였습니다. 그런데 여기서 다른 가정을 해보고 그런 상황에서 토비님이라면 어떻게 하셨을지 궁금합니다.만약 email이 아닌 id로 회원가입을 하는 상황을 가정한다면,email과 다르게 id는 여러 사람이 같은 id로 회원가입하려고 시도할 수 있습니다.따라서 동시에 2개의 요청이 들어오게 된다면 checkDuplicateEmail는 둘 다 통과하고 DataIntegrityViolationException이 발생하게 될 것입니다. (DB에서 유니크 제한을 걸었기 때문에)규칙인 id는 중복되지 않는다는 지켜지겠지만,사용자가 보게 될 예외는 우리가 의도했던 DuplicateEmailException가 아니게 되겠죠. 여기서 궁금한 점은 이런 상황까지 고려하여 코드를 작성하여야 하는 것인지아니면 그냥 넘어갈 것인지 궁금합니다. 저라면,드물게 발생할 것이라고 예상을 했다면 로깅만 잘 해놓고, 해당 예외가 많이 발생했거나 관련 cs문의가 많이 들어온다면 추가로 코드를 작성할 것 같습니다.처음부터 만약 많이 발생할 것이라고 예상했다면 try-catch를 통해 예외를 변경해줬을 것 같습니다.아마 다음과 같은 코드가 될 것 같습니다.@Override public Member register(MemberRegisterRequest registerRequest) { try { checkDuplicateEmail(registerRequest); Member member = Member.register(registerRequest, passwordEncoder); memberRepository.save(member); emailSender.send(member.getEmail(), "등록을 완료해주세요", "아래 링크를 클릭해서 등록을 완료해주세요"); return member; } catch (DataIntegrityViolationException e) { if (/*e를 통해 유니크 키 예외를 확인했다면*/) { throw new DuplicateEmailException(); } throw e; } }서비스의 코드가 현재보다는 보기 지저분해진다고 생각했습니다. (아니면 이 방법이 아닌 다른 방법이 있을까요?) 토비님은 어떻게 생각하시는지 궁금합니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
자바가 아닌 다른 언어에서도
동작원리자체는 동일할까요?닷넷에서 테스트코드 작성해도 동일할지 궁금합니다.
-
해결됨토비의 스프링 6 - 이해와 원리
템플릿과 콜백의 역할 경계를 구분하는 기준
안녕하세요! 토비님ㅎㅎ 강의를 잘 듣고있는데, 궁금한게 있어 여쭤봅니다! 템플릿/콜백 구조에서 '고정된 틀(템플릿)'과 변하는 로직(콜백)의 경계를 어디까지 두는 게 좋을지 궁금합니다. 예를 들어 강의에서는 ApiTemplate 안에서 URI 생성, 응답 처리, 예외 변환까지 모두 포함되어 있는데, 이런 부분들도 콜백으로 분리하는게 맞을까요 아니면 템플릿 내부에 두는 게 더 적절할까요?
-
미해결토비의 스프링 6 - 이해와 원리
테스트를 작성하지않아도 되는 경우
안녕하세요 토비님명료한 설명, 가르침받고 있습니다!테스트 관련해서 모든 클래스마다 테스트가 있어야하나 생각해보다가 크게 두 가지 질문이 있어 이렇게 남겨봅니다~ 1.작성하는 모든 클래스에 대해 테스트를 해야하는지, 테스트를 만들지 않아도 괜찮은 경우가 있을까요?예를 들면 아래 경우에 테스트 의미가 있을까라고 생각이 들었네요 테스트 대상 클래스가 협력자(?)를 추가 로직없이 wrapping하는 경우, 즉 대상 클래스가 단순 wrapper인 경우 2.강의 중에서 PaymentService에 있던 valid 체크로직을 Payment로 이동하였고, 이에 따라 PaymentTest에 도메인 오브젝트에 대한 테스트를 작성하였습니다.헌데 PaymentServiceTest에서 valid에 대한 test suite가 있는 상황입니다. 이 경우 PaymentServiceTest만으로 PaymentTest는 커버가 되는 상황이기에 PaymentTest의 valid 테스트는 하지않아도 되는거 아닐까요?혹은 Payment에서 테스트하는게 더 적절하다면 PaymentService에서 valid 테스트는 하지않고 단순 Payment가 생성되었는지만 체크하도록 테스트를 수정해야할까요? 감사합니다!
-
해결됨멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]
Advice 패턴을 다시 분리할 수 있나요
aop의 단점을 보완하기 위해 advice 패턴을 사용하셨는데, 매번 코드에 advice가 들어가는게 좀 번거로울 수도 있을거 같다는 생각이 들어서 질문드립니다..! aop의 단점을 극복하기 위해 사용한거지만,, 혹시 Advice를 aop처럼 분리시켜서 적용시키는 방법이 따로 또 있을까요