묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 치킨 디도스 이벤트 보고 흉내내보려 들어왔습니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 개발자의 꿈을 접고 살아가던 사람입니다.월드컵 시즌을 만나 영한님의 치킨 디도스 이벤트와무상태 프로토콜 강의 내용이 떠올라 뜬금없이 취미로주문 기능 구현 포트폴리오를 만들던 중일상에서 경험한 것들을 통해개인정보 유출에도 대응 가능하려면 어떻게 해야하는지..소비자가 트라우마를 경험하거나여러 고충에 대응할 수 있는 방법을 쥐어짜다보니영한님 강의를 쪽쪽 뽑아먹고 있는데요.. 부족하지만 직접 성의를 담아 만들어보겠습니다.약속한게 있어서요.. 항상 좋은 강의 감사합니다.
-
미해결실전! Querydsl
join에대해 질문드립니다.
궁금한게있습니다.leftjoin 강좌 설명해주시는데..3분 44 초에서..List<Member> result = queryFactory.selectFrom(member).leftJoin(member.team,team).where(team.name.eq("teamA")).fetch();에서...혹시 버전이나 언어에 따라서..같은 문법이라도..left outer join으로할경우..left on join으로 변경이되는 케이스가있을까요?val result = queryFactory; .selectFrom(member) //.join(member.team, team) .leftJoin(member.team,team) //.where(team.name.eq("teamA")) //.on(team.name.eq("teamA")) .fetch();left outer join이 나올려면 어떻게하는게맞을까요?혹시 버전/로그 출력 차이때문에 outer도 안나오는케이스가있는지 궁금합니다.
-
미해결스프링부트를 이용한 웹 프로그래밍: 웹사이트 이렇게 만드는 거예요!
코드 질문
AdminService.java에서List<MemberDto> admins = memberEntities.stream() .map(MemberEntity::toDto) .collect(Collectors.toUnmodifiableList());Collectors.toList();이 코드에서 Collercotrs.toList(); 가 의미가 있는 코드일까요? 줄바꿈도 안되어 있고, 약간 이해가 안되는 문장 같아서 질문드립니다.
-
미해결스프링 부트와 리액트로 구현하는 소셜 로그인
To-Do App
9. 스프링 부트 프로젝트 생성 하고나서 10. 일반 로그인 실행에 To-Do App과 바로 로그인이랑 이런것들 코드를 생성한적이없는데 어떻게 생겨있나요?
-
미해결Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기
twitterdb 연결이 안돼요
왜그런지 모르겠는데 Unable to determine Dialect without JDBC metadata 라고 뜨면서 intelliJ가 돌아가지 않습니다영상대로 하다가 8:54에서 막혔습니다
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.
[강의] 간단한 주문 조회 V1 : 엔티티를 직접 노출[시간]8분 25초[질문 내용]양방향 연관관계로 인한 무한 루프 문제까지는 발생하였고, @JsonIgnore로 해결하였습니다.그런데 강의 내에서 지연 로딩으로 인해 발생하는 "Internal Server Error"가 발생하지 않고 아래 사진과 같이 200 OK가 뜨면서 조회 결과가 나옵니다 ㅜㅜ강의와 같은 에러가 발생하지 않는 이유를 모르겠습니다...
-
해결됨실전! 스프링 데이터 JPA
changeTeam 메서드 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.08:40 쯤에public void changeTeam(Team team) { this.team = team; team.getMembers().add(this); }이 부분에서, 내 팀을 변경해주고 변경할 팀에 해당 member를 넣어주는데 팀만 변경해 주면 되지 않나요?따로 해당 team의 .getMember에 해당 멤버를 넣어주는 이유가 무엇인지 궁금합니다. 저장하기 전 까지는 해당 영속성에서는 이전 team에 할당이 되어 있어 수동으로 바꿔주는 것 인가요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
테스트 관련 질문!
각 클래스 별 테스트시에는 성공이 뜨는데, 전체 테스트 실행시 안됩니다.ㅠㅠ
-
해결됨누구보다 빠르게 배우는 Springboot + React RestAPI 게시판 만들기
안녕하세요 질문있습니다.
강의에서는 BoardDto로 요청을 다 받고 있는데 요청값은 CRUD마다 다를거라고 생각하는데Request 객체의 변경이 Service 계층에 영향을 미칠 수 있기 때문에 컨트롤러랑 서비스 DTO를 다르게 준다고 알고있습니다.컨트롤러BoardCreateRequestBoardCreateResponse서비스BoardCreateDtoBoardCreateResult근데 api 하나 만들때마다 너무 많은 변환과 객체 생성이 이루어질거같은데 강사님은 실무에서 어떤 방법을 사용하시나요?!..궁금합니다
-
해결됨[Lv1] 면접에서 설명할 수 있는 Spring Boot - 경험으로 답변하는 백엔드 개발
application.properties가 적용되지 않아요
2-3강 8분 11초처럼 application.properties에 뭘 넣어도 적용이 안되고 사용되지 않는 프로퍼티라는 글밖에 나오지 않습니다 .
-
미해결[Lv1] 면접에서 설명할 수 있는 Spring Boot - 경험으로 답변하는 백엔드 개발
새 프로젝트 속 제너레이터에 SpringBoot가 없습니다.
2-2강 2:27 부분에서처럼 새 프로젝트를 눌러도 제너레이터에 Spring Boot가 없습니다. 마켓플레이스에서 설치해야하는걸까요? 저는 신규 유저가 아니라 쿠폰 쓰지 못하여 기본으로 사용 중이라 보이지 않는걸까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
설정 정보 없이 임베디드 데이터베이스 생성
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링이 설정정보 없이 H2 데이터베이스 커넥션을 연결할 때 build.gradle에 dependencies 에 있는 H2를 읽고 커넥션을 연결하나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderServiceTest 상문주문 테스트 시 update 쿼리 문의
안녕하세요.OrderServiceTest에 상문주문 메서드 실행 할때 쿼리를 봤는데 item에 update 쿼리가 발생했더라고요. 제가 궁금한게 item, member, order.. 등등 persist 했고 중간에 flush를 할만한 jpql이라던가 모든 엔티티 pk가 identity로 되어 있지 않은데 item에 update가 왜 발생한건가요? 엔티티를 persist 하고 flush 전에 변경 감지 set으로 수정하면 insert -> update가 나가는건가요? insert만 나가는거 아닌가요?감사합니다.
-
해결됨토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
N+1 관련해서 질문있습니다.
안녕하세요. 우선 좋은 강의 제작해주신 토비님께 항상 감사하고 있어요. 이제 배운지 1년된 왕초보입니당..혼자 배워보면서 개인 프로젝트를 만들고 있는데 JPA를 사용하고 있어요.제가 궁금한 것이... N+1 관련한 문제입니다. 아 일단 프로젝트 주제는 복식부기 가계부에요. @Entity ... public class Journal extends BaseEntity { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "ledger_id", nullable = false, updatable = false) @OnDelete(action = OnDeleteAction.CASCADE) private Ledger ledger; ... @OneToMany(mappedBy = "journal", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true) private List<EntryLine> entries = new ArrayList<>(2); ... public EntryLine getEntryLine(EntrySide side) { switch (side) { case CREDIT : this.entries.stream().filter(line -> line.isCredit()).findFirst() .orElseThrow(...); case DEBIT : this.entries.stream().filter(line -> line.isDebit()).findFirst() .orElseThrow(...); default : throw new ... } } ... // Service에서 저장되기 전에 호출 public void validateSavable() { ... validateJournalSave(); } private void validateJournalSave() { AccountType debit = getEntryLine(EntrySide.DEBIT).getAccountType(); AccountType credit = getEntryLine(EntrySide.CREDIT).getAccountType(); if(!this.transactionType.isValidPlacement(debit, credit)) { throw new ... } } }Journal Class에서 EntryLine List에 접근하고 있어요. 그리고 EntryLine Class는 이렇게 생겼어요.@Entity ... public class EntryLine extends BaseEntity { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "journal_id", nullable = false, updatable = false) private Journal journal; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "account_id", nullable = false) private Account account; ... // private package 접근제어자 사용 // Account는 Category를 참조중이에요. AccountType getAccountType() { return this.account.getCategory().getAccountType(); } } 거래가 저장되기 전에 Journal : validateJournalSave() 에서 this.transactionType에 따라 차변과 대변에 올바르게 위치하고 있는지 검사한 후 저장하고 있는데 이것을 생성과 수정할 때 두 곳에서 사용하고 있어요. Ledger에 5개 Category가 있고, Account는 그 Category를 참조하고 Category에서만 AccountType이 있어요.Journal이 각 EntryLine의 AccountType을 얻기 위해Journal -> EntryLine -> Account -> Category -> getAccountType() 이렇게 흘러가네요.이렇게 접근해도 설계상 괜찮은걸까요? Journal을 저장할때는 @Query 사용해서 Fetch Join으로 필요한 Account를 가져오고 있는 상황이에요.Journal이라는 엔티티가 비즈니스 로직 수행을 위해서 다른 엔티티의 필드까지 깊게 참조?? 가져오도록 설계하는게 옳은건지 모르겠어요.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
[질문 내용]56 벌크연산 - 08:40초member1.getAge()member2.getAge()member3.getAge()이건 자바 메모리에서 가져오는걸까요 아니면 영속성 컨텍스트에서 가져오는걸까요?결과는 동일하지만findMember1 = em.find 이런식으로 가져와야 영속성 컨텍스트에 저장된 데이터를 가져오는거 아닌가해서 질문 남깁니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
inheritance startegy 선택시 고려사항
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]조인 전략 or 단일 테이블 전략 중 고민해서 맞는걸 사용한다고 하셨는데 기준이 있을까요?저 같은 경우도 현업에서 (jpa x) 조인 형식을 취할지 아니면 단일 테이블 형식을 선택할지는 강의에서 말씀하신 추후 확장성 및 데이터가 저장될 양 등 그냥 간단히 생각하고 정하는데 혹시 영한님만의 방법이 따로잇나요? 데이터를 많이 넣어보고 성능을 테스트 한다든지 어떤 방법을 사용해서 전략을 선택하시는지 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Entity 동등성 비교
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.Entity는 영속성 컨텍스트 내에서 동등성을 보장하니깐 equals 재정의할 필요 없이 그냥 == 비교 해도 되나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
패키지 구분에 대해 궁금한게 있습니다
요즘은 domain별로 패키지를 나눈다고 들었는데 강의에서는 역할별로 패키지를 나누고 있어서요.어떻게 나누는게 좋은건가요?!\
-
미해결Spring Boot와 React로 배우는 초간단 REST API 게시판 만들기
스프링부트 서버 에러나요
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.2026-04-28T17:27:55.938+09:00 ERROR 27483 --- [prac] [ main] o.s.b.d.LoggingFailureAnalysisReporter :
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
RepositoryTest의 패키지 위치가 domain인 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요, 영한님.ItemRepositoryTest 파일의 위치가 hello.iitemservice.repository가 아니라, hello.iitemservice.domain임을 확인했습니다.제 생각으로는 단순 패키지 구조 오타로 인해 domain에 위치된 것이라고 여겨지는데요. 혹시 의도적으로 domain 패키지 하위에 두신 건지 궁금합니다!