Q : em.persist(insertionTeam)의 뒤로부터는 왜 코드가 실행이 안되는 걸까요? 안녕하세요, 김영한님 수업 잘 듣고 있습니다. 급하게 필요해서 JPA를 듣고 있습니다. 섹션 5의 단방향 연관관계를 듣던 중 Member 테이블과 Team 테이블을 매핑하여 좀 더 객체지향적인 Query 설계를 위해서 ManytoOne처럼 나아가는 거 같습니다. 궁금해서 Member 객체 말고, Team 객체를 EntityManager에 넣어봤습니다(em.persist). EntityManager는 Member 클래스 객체는 잘 persist 하는데, Team 클래스 객체는 persist 시 em.persist 다음 코드가 실행이 안됩니다. 프린트로 확인해봤습니다. " em.persist(insertionTeam) "에 문제가 있는 거 같은데 근본적으로 어떤 것이 문제인지 궁금합니다. 그러니까, 왜 em은 Team 객체를 persist 할 수 없는 건가요?
안녕하세요. 맛비님 항상 좋은 강의 해주셔서 정말 감사합니다. 덕분에 항상 크나큰 실력 향상을 느끼게 되고, 하드웨어에 대한 지식이 많이 늘어남에 따라 제 자신에도 보람을 느끼게 됩니다. 제 질문은 다음과 같습니다. 강의의 3분 20초 경에서 Zybo 의 아키텍쳐를 보게되면 이 강의에서는 오른쪽 부분에 있는 HP AXI Ports를 통해서 DDR을 접근하므로 AXI4 - Standard를 이용하는 DMA를 설계한다는 점을 이해하였습니다. 속도면에서 설계하는게 의미가 없을 수 도 있지만, 왼쪽에 있는 General-Purpose AXI Ports의 경로를 통해 (즉, AXI4-lite를 통해) DMA를 설계할 수 도 있나요? 즉, PL영역에서 AXI4-lite를 이용하여 DDR Controller에 접근이 가능한지 궁금합니다. 예를 들어서 저희가 DMA를 설계할 때 검증환경에서 DMA를 Master로 두고 AXI VIP를 DDR MEM으로 모델링하여 slave로 두고 검증하는것을 볼 수 있는데, 이와 동일하게 AXI4-lite를 이용한 DMA를 Master로 두고, AXI VIP를 Slave로 두어서 설계가 가능한지 궁금합니다. 그리고 이러한 과정이 혹시 CPU같은곳에서 DDR에 접근할 때 이런 AXI4-lite를 사용해서 PL영역에서 메모리에 접근하는 속도보다 PS영역에서 접근하는 속도가 느린게 아닌지 궁금합니다. 항상 감사드립니다!! ================= 현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ) 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등) 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요) 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등.. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.) 서로 예의를 지키며 존중하는 문화를 만들어가요. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! ) 먼저 유사한 질문이 있었는지 검색해보세요. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. ==================
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 큰돌님, 2-i 질문드립니다 http://boj.kr/c3e4ce31c0fa410ab7cdf61b56afc014 아무리 디버깅해봐도 왜 오류가 나는지 모르겠습니다.. 그리고 입력값으로 2 lo3za4 01 를 주었을때만 유일하게 애러없이 돌아가는데 혹시 이때 sort함수 유무로 출력값의 범위가 달라지는 이유가 뭘까요..? 감사합니다.
M8N PC interface 질문있습니다! gnss 위성수신을 못할때도 데이터가 나오는것으로 말씀하셨는데 강의 코드 그대로 작성했을 때 uart4 에서 수신인터럽트가 발생하지 않는 것같습니다; 시리얼 터미널에서 데이터가 나오질않네요;; 하드웨어 불량일 가능성이있을까요~
@Service @RequiredArgsConstructor public class SignUpMemberService implements SignUpMemberUseCase { private final MemberRepository memberRepository; @Override public Long invoke(final Command command) { validateEmailIsUnique(command.email()); validateNicknameIsUnique(command.nickname()); validatePhoneIsUnique(command.phone()); final Member member = command.toDomain(); return memberRepository.save(member).getId(); } } @Service @Transactional @RequiredArgsConstructor public class SignUpMemberService implements SignUpMemberUseCase { private final MemberRepository memberRepository; @Override public Long invoke(final Command command) { validateEmailIsUnique(command.email()); validateNicknameIsUnique(command.nickname()); validatePhoneIsUnique(command.phone()); final Member member = command.toDomain(); return memberRepository.save(member).getId(); } } 사용자 가입 UseCase에 대한 구현에서 앞단에서는 unique field에 대한 validation을 진행합니다 그 후에 memberRepository.save (member)를 진행하는데 (memberRepository는 Data Jpa Repo) 아시다시피 SimpleJpaRepository의 save흐름에는 @Transactional이 적용되어 있습니다 따라서 이 SignUpMemberService의 invoke 흐름부터 굳이 @Transactional을 걸어야 하는 생각이 듭니다 물론 붙임으로써 이 메소드가 writable한 로직을 가진다고 코드레벨에서 알고 JPA를 모르는사람은 SimpleJpaRepository의 구조를 모르기 때문에 가독성?적인 측면에서는 붙이는게 이해에 수월하다고 생각하는데 tx scope를 최대한 짧게 가져가는게 좋다는 생각이 들어서 약간의 고민을 하게 되었습니다
// 중간 연산 한 번 사용으로 And 연산 사용하기 langList.stream().filter(x -> x.length() <= 4 && x.contains("c")).forEach(System.out::println); System.out.println("-----------------------------"); // 중간 연산 두 번 사용 langList.stream().filter(x -> x.length() <= 4 && x.contains("c")).forEach(System.out::println); System.out.println("-----------------------------"); -> 궁금해서 해보다가 And 연사자를 사용하는 것도 되더라고요. 위에 나와있는 두 개의 코드 모두 사용해도 상관없는 지와 어떤 것을 사용하는 것이 더 좋다고 할 수 있는지 궁금합니다
안녕하세요, 네트워크 프로토콜에 대해서 공부하다가 궁금한 점이 있어서 이렇게 질문을 남깁니다. 예를 들어, FTP 같은 경우 파일 서버와 클라이언트 간의 통신을 하는 프로토콜이라고 이해하였는데요, 여기서 혼동되는 점은 저희가 흔히 프로그램을 다운받을 때, http example.com 웹 사이트로 접속해서 .exe 파일 등을 내려 받지 ftp example.com 와 같은 주소로 접근해서 다운을 받지 않는 것 같아서 왜 프로토콜이 나뉘었는지 궁금합니다. 또한 메일서버 역시 마찬가지 입니다. 저희가 메일을 보낼 때 http로 example@inf.com 으로 해서 보내는데, IMAP이나 POP3 로 메일을 보냈던거 같지는 않아서요... 내부적으로 동작하고 있는 건지 헷갈립니다.
[※중요] 이해하면 인생이 바뀌는 TCP/IP 송·수신구조 12:49초 때 설명해주신 내용인데 이해가 부족해서 질문을 남깁니다. 프로세스가 TCP/IP 통신을 하기 위해서 커널 프로그램중 TCP를 추상화하여 인터페이스 Socket과 IO를 합니다. 프로세스가 보조 기억장치에서 이미지 a.bmp를 가져올때 프로세스가 OS에게 할당 받은 가상 메모리에 카피를 한다고 이해를 했습니다. 그러면 Socket에게 Send 할때 Socket도 버퍼에 카피를 한다고 말씀해주셨는데 카피를 한다는건 메모리에 기록을 한다는 말로 이해를 했는데 그러면 소켓도 하나의 프로세스로 보고 메모리를 할당받은건가요 ?
먼저 질문이 반복되고 꼬리를 무는점이 있는점 죄송합니다. 제가 이해력이 부족해서 양해 부탁 드립니다. ai답변에서 링크에 따라 파일을 보는 방법은 링크된 파일의 속성에 따라 다르게 볼 수 있습니다. 예를 들어, vi로 열린 소프트링크는 연결된 원본 파일을 편집할 수 있고, view로 열린 소프트링크는 파일을 읽기 전용으로 보여줍니다. 라고 하셔셔 해봤는데요 이런거 또한 하드링크로도 가능하지 않나요? 둘이 차이가 있나요? 2. 하드링크도 이렇게 버전별로 가르킬수 있지 않나요? 그럼에도 소프트 링크를 쓰는 이유가 뭔가요?
안녕하세요 강사님 ㅎㅎ http://boj.kr/56d99e00ded14c1cacbefe3eb07f6db6 위 링크는 강사님의 코드이고 저는 위 코드로 나오는 결과가 통과는 되지만 반례가 있는 것 같아 질문드립니다. 해당 문제 게시판에도 저와 비슷하게 생각하신 분의 데이터 추가 요청 글이 있어 첨부하겠습니다. https://www.acmicpc.net/board/view/118371 저의 추가 반례입니다. 11 2 2 2 1 5 9 12 제가 생각하는 답 : 11 결과 : 7 1 ~ 11까지 욱제와 영선이의 친구들을 제외한 인원 즉 파티에 초대된 사람들만 세었을 때 합이 T 이상이 되는 경우가 없으니 영선이의 친구들은 나갈 필요가 없습니다. 따라서 초반에 바로 영선이의 친구1을 투입시키고 시간 5에 한명이 나갈 때 영선이의 친구 2를 투입시킵니다. 그 이후로 시간 11까지 영선이의 친구들이 나갈 필요가 없습니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 즉시로딩과 지연로딩 파트 설명해주실때 질문이 있습니다. fetch = FetchType.LAZY)로 지연로딩을 사용해서 프록시로 조회한다고 하시면서 코드로 설명해 주실때 Team만들고 em.persist(team); Member 만들고 em.persist(member); em.flush(); em.clear(); Member m = em.find(~~); m.getTeam().getName(); 이 부분에서 마지막 m.getTeam().getName(); 이 부분할때 db에 쿼리가 나간다고 하셨는데 왜 쿼리가 나가는 건가요?? em.find로 db에서 찾은 객체가 영속성 컨텍스트에 올라와 있어서 쿼리문을 안날려도 되는거 아닌가요?? 그리고 지연로딩할때 Member클래스의 Team 필드에만 지연로딩을 적용했는데 JpaMain 클래스에서 em.find(Member.class,~~);로 객체 찾을때 이 Member 클래스 자체가 프록시가 되는건가요???