학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 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개를 같이 사용했을 때, 엔티티를 생성,조회 그리고 삭제 하는등의 동작을 수행할 때, 어떻게 동작되는지 연관성과 차이점을 잘 모르겠습니다 .. 매번 훌륭한 강의 감사합니다
[질문 템플릿] 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(); } } <실행 결과>
도메인 A : https://DomainA.com 도메인 B : https://DomainB.com 두개의 도메인을 데이터스트림 - 태그설정 구성 - 도메인 구성에 두 도메인을 '다음 값을 포함' 으로 각각 추가 하였습니다. 도메인 A는 포털사이트에서 들어오는 페이지 도메인 B는 도메인A에서 연결되는 결제 페이지로 구성이 되어있고, 결제 페이지인 도메인 B의 레퍼러에 도메인 A가 잡히면 안되니, 원치 않는 추천 나열에 도메인 A를 추가하였습니다. 그런데, 전자상거래 개요 보고서에 +버튼으로 부가측정기준(?)으로 세션 소스/매체를 클릭하니 도메인 A/레퍼러가 세션 소스/매체에 있는데 왜 그런건지.. 해결을 하려면 어떻게 해야하는지 알려주시면 감사하겠습니다. 원하는 건 포털사이트에서 들어온 소스/매체(또는 utm 정보)를 도메인 b에 레퍼러 정보를 그대로 넘기고 싶습니다.
이론자료 파일을 다운로드 받아 열어보니 24 -26 페이지가 흑백으로 보이고 오류가 발생합니다. 원래 없는 페이지인데 생성이 되서 오류가 발생한건지 궁금합니다. 오류가 나서 페이지가 제대로 표기가 안 되는 것이면 수정하여 올려주시면 감사하겠습니다. 그리고 워터마크가 너무 진해서 간혹 글씨가 가려서 잘 안 보이던데 조금만 연하게 해주실 순 없을까요?
안녕하세요 영상에서 default_tags = resource tags가 중복되면 duplicated 에러가 발생한다고 해주셨는데, 제가 재현해보면 중복돼도 에러없이 배포가 됩니다. aws provider는 5.57, terraform은 1.9.1 버전 사용중입니다. 해당 링크 를 보면 5.0.0 버전부터 중복 가능하게 수정됐다는 내용이 있는 것 같은데 강의 촬영 당시와 현재 버전 차이로 배포가 되는걸까요??
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요 🙂 [1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요. [2. 질문 내용] : 현재 강의에서 나온 2022버전의 설치가 tab이 없어 2024 버전으로 설치를 진행했습니다. 영상에 따라서 모두 source까지 진행하였습니다 하기 이미지와 같이 에러가 뜨네요 permission을 확인하라 하여 su로 바꾸어 진행을 하였을 때 하기 이미지와 같이 에러가 발생을 합니다 다른 질문들로 보았을때 위의 세가지가 설치가 정상적으로 되지 않았다 라고 말씀을 하신것 같은데, 어떤부분에서 설치가 안된것인지 알고싶습니다 [3. 시도했던 내용, 그렇게 생각하는 이유] : 설치도중에 에러가 뜨지않아 설치는 정상적으로 된것으로 판단됩니다. 또한 강의에서 사용하시는 버전에 비해 최신버전이기에 기능이 부족할것이라고는 생각이 안듭니다 ================ 다음 내용은 읽어보시고 지우시면 됩니다.================= 질문 내용을 작성해주실 때, 위의 3단계 로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!! 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ==================
기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
1.3 NextJS 설치 편에서 다크모드 설정하는 부분에서 문의드립니다. <ThemeProvider attribute="class" defaultTheme="system" enableSystem disableTransitionOnChange > {children} </ThemeProvider> 설정 후, 영상에서는 dark, light로 수정하면 반영되는것을 확인할 수 있는데 제 코드에서는 Warning: Extra attributes from the server: class,style 그리고 Warning: Prop className did not match. Server: "__className_aaf875 vsc-initialized" Client: "__className_aaf875" 라는 워닝이 발생하여 자동적으로 반영되지 않는 것을 확인했습니다. 해당 이슈를 수정할 수 있는 방법이 있을까요 ?
13분 40초에 세션에서 Context 객체가 있는지 확인하고 세션에 없어서 request 를 확인한다고 하셨는데, request 확인하는 부분을 건너뛰고 바로 AnonymousAuthenticationToken 을 만드는 부분으로 넘어가셨네요 인증이 없는 상태에서 요청하면 SecurityContext를 찾을 때, reuqest는 확인하지 않고 세션만 확인하는걸까요 ?
Tags can not be empty. 라는 에러가 발생합니다. taskdef.json appspec.yaml 강의 내용대로 따라서 진행하였습니다, build까지는 성공 되었으나, deploy단에서 해당 에러가 발생합니다. 혹시 몰라서, taskdef.json에 마지막 부분에 tag를 지워봐서 진행했을때는, deploy가 24분넘게 진행이 안되었습니다. 혹시 다른 설정를 봐야하는곳이 있을까요??
안녕하세요~ 개발자 취준 준비중인 취준생입니다! 다름아니라 제가 여러 알고리즘 강의들을 봐오면서 감자님 강의가 제일 설명이 잘 되어있어서 심화까지 사서 열심히 듣는 중인데요! 제 개인 블로그 (벨로그이고 수익 창출은 전혀 안합니다.)에 공부용으로 내용을 정리해도될지 여쭈어보고 싶습니다! 물론 강의 그림자료는 첨부 안하고 말씀 하신 내용만 정리해서 게시글을 정리할 생각이고 출처는 무조건 남기려고 합니다!
강의 열심히 들으며 실습하고 있습니다! 헥사고날 아키텍처를 학습하며 적용해 보니 다양한 어려움이 생기더라구요 ㅠㅠ 혹시 entity 내의 from과 to 메서드조차 분리하고자 할 때 궁금한 점이 생겼습니다. Entity 내의 from과 to 메서드로 domain ↔ entity를 변환하는 것을 Converter 클래스를 통해 관심사를 분리하는 것이 괜찮은지? 만일 분리한다면, Converter interface의 위치는 domain 하위 port package일지, infrastructure 하위 port를 만들어 사용할지? (Impl 구현체는 따로 패키지를 생성할 예정입니다) 강의 열심히 듣고 보내주신 책도 잘 받아 열심히 공부하고 있습니다 ㅎㅎ 책에 껴주신 Thankyou.java 파일 잘 받았습니다! 감사합니다
잘 실행되면 서버가 갑자기 위와 같은 에러가 뜨면서 실행이 안됩니다. https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.owcsqc19zslv 여기 나와있는대로 해보았지만 해결이 계속 안돼서 해결방법을 알려주시면 감사하겠습니다 스프링 기본 강의에서 했던 core 프로젝트는 잘 동작이 됩니다.
좋은 강의 잘 듣고 있습니다. <의존성 검증: Controller는 Entity를 사용하고 있을까?> 강의에서요. 11:40초 쯤에서 에러 로그들이 의미하는 것이 궁금합니다. Class <com.jyujyu.dayonetest.model.StudentFail> is annotated with <jakarta.persistence.Entity> Class <com.jyujyu.dayonetest.model.StudentPass> extends class <java.lang.Object> .. 위 같은 에러는 해당 모델들(StudentFail, StudentPass) 이 @Entity 로 정의되었으므로 jakarta.persistence.Entity, jakarta.persistence.Table> 에서 사용된 것은 알겠는데 java.lang.Object 로 사용된 것은 어떻게 봐야 하나요? 단순 Object 라면, 모든 클래스는 Object 를 의존하는 것 아닌가요? 미리 답변 감사합니다!