학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 만약 무한정 대기할 수도 있는 상황에서 t1.join(50); t2.join(50); main의 코드를 이렇게 바꿔봤는데 결과가 똑같더라구요 이게 왜 그런지 알고 싶습니다.
찾아보니 아래처럼 나옵니다. ``` fetchResults() 는 Querydsl 5.x부터 deprecated(더 이상 권장되지 않음) 처리되었습니다. fetchResults() 는 count 쿼리 와 content 쿼리 를 내부적으로 두 번 실행 해서 결과를 가져옵니다. 즉, 전체 개수( total count )와 페이징된 결과( results )를 한 번에 반환하려고 했는데, JPA 환경에서는 count 쿼리 최적화 문제 SQL이 복잡해질 경우 성능 저하 문제 Querydsl 5.x 이후로는 직접 count 쿼리와 content 쿼리를 분리 해서 호출하는 방식을 권장합니다. ```
[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!
라고 책과 동일하게 작성을 하였는데 아래처럼 다르게 나오는게 맞는건가요? 코드가 쭉 나오더니 이렇게 마무리 되는데 7단계는 아니고 바로 만들어 버린것 같기는 한데요. cat_webpage.html 열어 보라고 하는데 브라우저에서 어떻게 열어야 하는지 물어보니 명령어를 제공해 줍니다. 에러는 발생하였지만 웹페이지는 만들어 줬습니다.
[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!
108페이지 내용에서 2개의 스코프 유형 중 User Scope(사용자 범위)에 대한 내용으로 질문 드립니다. 표 2-1 의 내용을 보면 User Scope 의 파일 위치 및 이름 항목에서~/.claude/CLAUDE.md 처럼 실습해보고 싶은데요. .claude가 무엇인지 궁금합니다. 설명부탁드립니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 기본형 특화 스트림 을 공부 하다가 갑자기 float가 생각나서 질문을 드립니다. 저가 코드를 쳐보니 스트림을 이용해서 스트림<Float>을 만들 수 있다는 것을 확인하였습니다. 현재 개발에서 float 및 스트림<Float>을 사용할까 입니다. double형도 있지만 float도 있어서 사용 할수 도 있겠다 싶어서요. 그래서 질문은 현시점에서 스트림<Float>및 Float 를 만들어서 어느 정도 사용하는지 알고 싶습니다. 답변 부탁 드립니다.
[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!
╭───────────────────────────────────────────────────╮ │ ✻ Welcome to Claude Code! │ │ │ │ /help for help, /status for your current setup │ │ │ │ cwd: /home/boss/_Book_Claude-Code/week1 │ ╰───────────────────────────────────────────────────╯ Tips for getting started: Run /init to create a CLAUDE.md file with instructions for Claude Run /install-github-app to tag @claude right from your Github issues and PRs > cd ../Thu/ ● Bash(cd ../Thu/) ⎿ Error: /bin/bash: line 1: cd: ../Thu/: No such file or directory ● Bash(ls -la ../) ⎿ total 40 drwxr-xr-x 7 boss boss 4096 Sep 22 15:03 . drwxr-x--- 8 boss boss 4096 Sep 25 10:57 .. … +7 lines (ctrl+o to expand) ● The Thu directory doesn't exist. Available directories in the parent folder are week1-4. Which directory would you like to navigate to? > Claude ● I'm Claude Code, Anthropic's official CLI for Claude. How can I help you with your software engineering tasks today? > 현재 디렉토리의 목적을 알려줘 ● Read(~/_Book_Claude-Code/week1) ⎿ Error: EISDIR: illegal operation on a directory, read ● Bash(ls -la) ⎿ total 28 drwxr-xr-x 6 boss boss 4096 Sep 24 18:08 . drwxr-xr-x 7 boss boss 4096 Sep 22 15:03 .. … +5 lines (ctrl+o to expand) ● Read( README.md ) ⎿ Read 14 lines (ctrl+o to expand) ● 현재 디렉토리(week1)는 클로드 코드 학습서의 1주차 과정입니다. 목적은 클로드 코드의 기본 사용법을 주차별로 학습하는 것입니다: - 월: 클로드 코드 설치 및 실행 - 화: 내장 명령어 학습 - 수: 로컬 파일 분석 방법 - 목: 디렉터리 분석 및 학습 계획 수립 - 금: 웹 페이지 생성 및 배포 - 주말: 다른 AI CLI 도구와 비교
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 영한님 안녕하세요. Spring Data JPA가 제공하는 save, saveAndFlush 메서드에 대해 궁금한 점이 있는데요. 흔히들 saveAndFlush는 save와 달리 트랜잭션 커밋시점이 아닌, 영속성 컨텍스트 변경 사항을 즉각 DB에 반영하여, DB 통신이 증가한다는 단점이 있다고 합니다. for (int i = 0; i < 3; i++) { repository.save(entity); } 그런데, 제가 의문이 드는 점은 save 메서드도 위와 같은 상황이 있을 때, 커밋 시점에 DB에 flush를 하기는 하지만, batch insert가 아니기 때문에 DB 통신 자체는 단 건으로 총 3번 일어나는 것 아닌가요? 따라서, DB 통신 자체에서 saveAndFlush가 얻는 이점은 없다고 생각되는 데 어떤 이점이 있을까요? 감사합니다
[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!
작성후 에러 ls -a ~/ | grep -E '\.aws|\.azure|\.config|\.ssh|\.kube|\.env|\.git' Bash(ls -a ~/ | grep -E '\.aws|\.azure|\.config|\.ssh|\.kube|\.env|\.git') ⎿ No matches found ● No matching configuration directories were found in your home directory.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 임베디드 타입 강의 (5:30)에서, @ManyToOne을 지웠는데, 강사님의 Team의 @OneToMany가 어떻게 되어 있기에 H2 데이터베이스와 연결했을 때, Member table에 FK로 TEAM_ID가 들어가게 되는지 (6:58)궁금합니다. 저 같은 경우에는, Team의 어노테이션이 이렇게 되어있는데, @OneToMany(mappedBy = "team") private List<Member> members = new ArrayList<>(); 그대로 실행시켰을 때, 아래처럼 매핑이 잘못되었다는 문구가 뜹니다. Exception in thread "main" org.hibernate.AnnotationException: Collection 'hellojpa.Team.members' is 'mappedBy' a property named 'team' which does not exist in the target entity 'hellojpa.Member'
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] fetch join의 동작에 대하여 의구심이 들어 찾아봤더니 "fetch join의 경우 SQL에서 사용하는 join의 종류가 아닌 JPQL에서 성능 최적화를 위해 제공하는 기능인데요. fetch join은 조회하는 주체가 되는 entity 외에 fetch join이 걸린 연관 관계가 있는 entity까지 함께 select 하여 영속화합니다." 라고 합니다. 영속성 컨텍스트는 기본적으로 트랜잭션 범위내에서 생성되고 종료되는거 할거같은데, 어떻게 컨트롤러에서 트랜잭션이 걸려있지 않은 메서드를 바로 호출해서 사용해도 이러한 것이 가능한지 궁금해서 찾아보니 OSIV라는게 있더군요. OSIV는 기본적으로 트랜잭션이 시작 후 종료되어도 일정 부분은 영속성 컨텍스트를 웹요청 전체에 열어둔다. 때문에 OSIV를 끄면 지연로딩같은건 컨트롤러에서 이루어지게 코딩해두었으니 예외가 뜬다. 근데 여기서 문제는 OSIV를 끄면 fetch join도 작동안해야할거같은데 작동을 합니다. 레포에 눈에 보이지 않는 트랜잭션이라도 걸려있는건가요?
[질문 내용] OrderItem에서 가격 총합을 구할 때 자기 자신의 필드임에도 return orderPrice * count; 이렇게 바로 쓰기 보다는 public int getTotalPrice() { return getOrderPrice() * getCount(); } get으로 가져오시더라구요. 그렇다면 Order에서는 //==조회 로직== public int getTotalPrice() { int totalPrice = 0; for (OrderItem orderItem : orderItems) { totalPrice += orderItem.getTotalPrice(); } return totalPrice; } for문에 orderItems에도 getOrderItems()로 하셨었나? 하고 봤더니 이거는 바로 접근을 하시는데 자기 필드를 get으로 접근 하는 것이 조금 어색한데, 혹시 이유가 있을까요?