묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Web server failed to start. Port 8080 was already in use.
이게 뭘까요? 사이트엔 Unauthorized 글자만 나타납니다인터넷에서 검색해서 포트종료도 시켜봤는데그게 안됩니다.. 도와주세요 ㅠㅠㅠ
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
(fetch=FetchType.LAZY,cascade = CascadeType.ALL)에 관해 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 김영한 강사님 항상 강의 잘 보고 있습니다.다름이 아니라, 연관 관계를 맺고 있는 엔티티들 사이에서 (fetch=FetchType.LAZY,cascade = CascadeType.ALL)에 대해 질문 있습니다.예를 들어, public class Site { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="site_id") private Long id; @Column(name="site_name") private String siteName; @Column(name="site_url") private String siteUrl; @ManyToOne(fetch=FetchType.LAZY,cascade = CascadeType.ALL) @JoinColumn(name="directory_id") private Directory directory;public class Directory { @Id@GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="directory_id") private Long id; @Column(name="directory_name") private String directoryName; @OneToMany(mappedBy="directory", cascade = CascadeType.ALL,orphanRemoval = true) private List<Site> sites = new ArrayList<>();에서 directory와 site가 1:N 연관 관계를 맺고 있습니다.예를 들어, 클라이언트로부터 directory를 조회하는 요청이 온다면 다음과 같이 수행된다고 이해를 하고 있습니다.db에 접근해서 directory를 조회함. 해당 directory entity를 영속성 컨텍스트에 저장함.이때, fetch=FetchType.LAZY를 사용하고 있기 때문에, 쿼리문을 날릴 때, site를 조회하는 쿼리문을 날리는게 아니라 directory만 조회하는 쿼리문을 날림그리고 directory 필드에 있는 site는 기본 생성자를 통해 프록시 객체로 생성되어 저장됨.근데, 여기서 헷갈리는게 그렇다면 "cascade = CascadeType.ALL"는 언제 어떻게 사용되는 것인지 잘 모르겠습니다.제가 "cascade = CascadeType.ALL"에 대해서 이해하기로는 부모 엔티티와 자식 엔티티를 라이프 싸이클을 동일하게 가져가기 위해서 부모 엔티티가 영속화될 때 자식 엔티티도 같이 영속화 된다. 라는 정도로 이해하고 있습니다.근데, 여기서 헷갈리는 부분이 directory를 조회하고, directory의 필드로 있는 site는 fetch=FetchType.LAZY로 설정했기 때문에 프록시 객체로 생성됩니다. 그렇다면 이때 site는 directory와 관련된 실제 데이터가 저장되어 있는 객체가 아니라 빈 껍데기같은 객체가 되는게 아닌가요?? 그러면 directory랑 site가 "cascade = CascadeType.ALL로 설정해서 부모 엔티티와 자식 엔티티를 라이프 싸이클을 동일하게 가져간다"라는게 틀린게 되는게 아닌가요??fetch=FetchType.LAZY,cascade = CascadeType.ALL이 2개를 같이 사용했을 때, 엔티티를 생성,조회 그리고 삭제 하는등의 동작을 수행할 때, 어떻게 동작되는지 연관성과 차이점을 잘 모르겠습니다 ..매번 훌륭한 강의 감사합니다
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속 상태에서 값을 가져오는 것에 대해 질문 드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]em.flush() 와 em.clear() 를 하지 않은 영속 상태에서 1차 캐시로부터 가져온 값인 members 에 대해 질문이 있습니다.아래 코드 중 주석으로 '궁금한 부분'이라 표시한 것 처럼 출력하고자 할 때, 제 예상으로는 1차 캐시에서 members 도 무사히 가져왔으니(확인 완료) 가져온 값을 출력만 하면 될 것 같았습니다. 그러나 이후 실행 결과 출력 되지 않았습니다.이유를 알려주시면 감사할 것 같습니다!<코드>package hellojpa; import jakarta.persistence.*; import java.util.List; public class JpaMain { public static void main(String[] args) { // 문제 없이 돌아가는 지 확인 EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); // 쿼리를 한 번 날리고 종료되는 일관적인 단위를 할 때마다, 이 EntityManager 를 꼭 생성해야 한다. EntityManager em = emf.createEntityManager(); // JPA 에서 데이터를 변경하는 모든 작업은 꼭 Transaction 안에서 작업을 해야 한다. EntityTransaction tx = em.getTransaction(); tx.begin(); // 트랜잭션 시작 // 실제 code를 작성한다. try { // 팀 등록 Team team = new Team(); team.setName("TeamA"); em.persist(team); // 회원 등록 Member member = new Member(); member.setUsername("userA"); member.setTeam(team); em.persist(member); // JPA 저장 Member findMember = em.find(Member.class, member.getId()); Team findTeam = findMember.getTeam(); System.out.println("findTeam = " + findTeam.getName()); List<Member> members = findMember.getTeam().getMembers(); System.out.println("==============="); // 궁금한 부분!!! // em.clear()~ 등을 하지 않은 영속 상태라고 가정할 때(1차 캐시에서 값을 가져옴) // team 을 통해 members 목록도 불러올 수 있는데, 왜 아래의 iterator 는 작동하지 않을까? for (Member m : members) { System.out.println("통과"); System.out.println("member1 = " + m.getUsername()); } System.out.println("==============="); tx.commit(); // 커밋 } catch (Exception e) { tx.rollback(); } finally { em.close(); } emf.close(); } }<실행 결과>
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
이론 자료 문의사항
이론자료 파일을 다운로드 받아 열어보니 24 -26 페이지가 흑백으로 보이고 오류가 발생합니다. 원래 없는 페이지인데 생성이 되서 오류가 발생한건지 궁금합니다.오류가 나서 페이지가 제대로 표기가 안 되는 것이면 수정하여 올려주시면 감사하겠습니다.그리고 워터마크가 너무 진해서 간혹 글씨가 가려서 잘 안 보이던데 조금만 연하게 해주실 순 없을까요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
출력값 띄어쓰기
출력값 12345 숫자 사이에 띄어쓰기 해야하는건가요???
-
미해결실전! Querydsl
코틀린+스프링에서의 Querydsl 도입 문의
안녕하세요.회사에서 기술 스택을 코틀린+스프링으로 변경하는데 Querydsl도 같이 사용하려고 학습하고 있습니다.자료를 찾아보던 중 Querydsl의 유지보수 문제로 Querydsl 대신 다른 쿼리 빌더를 사용한다는 글을 보게 됐습니다.https://spoqa.github.io/2024/05/03/transfer-jdsl.html kapt 이슈 이외에도 Querydsl의 유지보수가 진행되지 않는건 맞아보이는데 Querydsl을 실무에서 도입하는데 문제가 없을지 고민이 많이 되고 있습니다. 실무에서 Querydsl을 도입하는데 문제가 없을지 많은 분들의 의견이 궁금합니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Failed to load ApplicationContext 오류
[질문 내용]h2 db랑 연결이 되지 않는 것 같은데어제 gradle에서 TRUE 설정을 뺐을 때는 작동이 잘 됐는데 오늘 다시 작동시켜보려 하니 작동이 안됩니다.. 오류는10000자가 넘어가서 사진으로 첨부합니다.. zip파일 드라이브에 첨부하겠습니다.https://drive.google.com/file/d/126dOVMwaCPYOSqD4f7XOC0BkCUqtONAK/view
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
23년 3월 코드 해석 재귀함수 계산
compute(7) 에서 시작하는 재귀함수 계산하는게 왜 저런건지 저는 모르겠습니다 -_-C6 + C4로 시작하는데 왜 그런건지 설명이 없어서 눈뜨고 멍때렸네요
-
해결됨김영한의 실전 자바 - 중급 1편
강의자료 오타
질문은 아니고, ZoneId 오타가 있어서 알려드립니다~
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
업캐스팅
업캐스팅 문제 예시 좀 만들어서 파일로 올려주세요
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계 질문 있습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]5분 18 초에서 필드에서 컬렉션을 초기화해주는 이유가 add할때 nulpointexception을 안뜨게 하기 위해서라고 말씀하셨습니다. 근데 엔티티의 객체를 만들 때, 컬렉션을 생성하고 초기화해서 사용하지 않고 필드에서 초기화해서 사용하는 명확한 이유가 잘 이해가 안되는데 왜 그런건가요??
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
C언어 3개 비교연산자
a=10 b=5가 다르고b=5 c=8이 다르고a=10 c=8이 다르고위 세가지 문장에 따라서 if(true)가 되어"세 수는 모두 다릅니다" 가 출력되는 건가요?아니면a !=b 가 (true)이고 (true) != c 이렇게 봐야하는 건가요? 이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요.기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다.이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정)합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
파이썬 기출변형 4번문제
이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요.기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다.이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정)합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
재고시스템 동시성 문제 해결에 redis incr을 사용해도 되나요?
재고 시스템 강의 듣고 난 이후에 쿠폰시스템 강의 들었는데요,재고시스템 강의에서 사용한 lock 방식은 성능에 영향이 있으니 쿠폰발급 강의에서 사용했던 redis incr 명령과 set을 사용해서 재고시스템 문제도 해결할 수 있지 않을까 생각이 드는데요. 가능한 방법인가요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
섹션1 영상들 끊김현상
저는 윈도우 유저입니다뒤쪽 강의는 괜찮은데, 섹션 1 강의 대부분 영상이 계속해서 끊기네요ㅠㅠ1.3배속으로 하니까 완전 많이 끊겨서 아예 못들을 정도이고1배속해도 조금씩 끊김 현상이 있네요. ㅠㅠ
-
해결됨김영한의 실전 자바 - 중급 2편
Node<E> 와 <E> E 차이점
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. Node<E> 와 <E> E 헷갈려서 질문을 드립니다.Node<E> 는 배열안의 값을 E 타입으로 고정하는걸로 이해하면 되나요?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
일부 강의가 음성만 나오고, 영상이 나오지 않습니다.
모든 강의가 그런건 아닌데, 일부 강의가 영상이 나오지 않고, 목소리만 등장하는데, 이게 일시적인 현상인지 모르겠어서 문의드립니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
배열과 문자열 13:54초 출력결과 문의
안녕하세요 선생님!배열과 문자열 부분 문의가 있어 질문드립니다.strlen함수를 사용하여 문자 하나씩 출력 부분인데요.char str[] = "Hello, World!" ; // 문자열 선언 후//5. strlen 함수를 사용하여 문자 하나씩 출력printf("\n5. ");int len = strlen(str);for(int i = 0; i < len; i++) { printf("%c", str[i]); }}제가 풀면5. Hello, World인 것 같은데 이해가 안된 부분이 있는지하여 문의드려요.H e l l o , W o r l d ! 0 1 2 3 4 5 6 7 8 9 10 11 12 (*6은 띄어쓰기)str len = 12 이라면 for(int i = 0; i < len; i++) { for(int i = 0; i <12; i++) { 이 되고, i=11까지만 반복된다면5번 예제의 출력값은Hello, World가 되는 것 같은데 문자열 뒤 첫번째 null 값까지 len 함수가 적용되는지 궁금하여 문의드립니다.
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
자바 기출문제 변형 문제 질문있습니다
이 문제인데 마지막에 prntln("sum:"+as.sum(5))라고 적혀있는데제가 생각햇을때의 답은 sum: Add 5 Add 4 Add 3 Add 2 Add 1 Add 0 15이렇게 나와야하는한다고 생각하는데 왜 이게 아닌건지 이유가 궁금합니다
-
해결됨김영한의 실전 자바 - 기본편
상속 메모리 구조에 대해서 질문
상속에서 자식 인스턴스를 생성하면 메모리의 힙 영역에 자식 인스턴스를 비롯한 부모 인스턴스가 같이 생성되는 걸로 알고 있는데요. Parent와 Child가 있을 때 new Child()를 하면 Child 인스턴스 하나, Parent 인스턴스 하나 이렇게 총 두개가 생성되는 건가요? 아니면 인스턴스는 하나만 생성되는데 그 내부에서 Parent 타입과 Child 타입으로 구분되는 건가요?