이 부분을 주석처리해서 빌드하고 실행해보니 확실히 모달 띄우고 닫을 때 시간 체감이 될 정도로 줄어드네요. 강의에 넣어주신 Vercel 최적화를 진행해도 잡히지 않아서 더 근본적인 문제가 있는 것 같아 실험해 봤더니 유의미한 결과가 있던 것 같아서 공유드립니다. 개인적인 생각으로는 수십 개의 데이터를 한꺼번에 가져오는 바람에 생기는 성능 이슈라고 생각하는데, 페이지네이션 api 요청 처리를 배우는 겸으로 /review/book/${bookId} api를 조금 더 고도화하면 좋을 것 같습니다. 긴 강의 준비해주시느라 너무 고생 많으셨고, 덕분에 제 실무 프로젝트에도 아주 유용하게 적용할 수 있을 것 같습니다. 감사합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 일단 현재 yml 강의 자료 기준으로는 trasaction rolled back에 대한 로그가 찍히질 않는데, 해당 옵션을 추가해봤습니다. org.springframework.orm.jpa: trace #JPA 트랜잭션 관련 로그 그랬더니 찍히긴 하던데 약간 이상하게? 찍힙니다. 2026-01-07T02:05:57.767+09:00 DEBUG 5469 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Initiating transaction rollback 2026-01-07T02:05:57.767+09:00 DEBUG 5469 --- [ Test worker] o.s.orm.jpa.JpaTransactionManager : Rolling back JPA transaction on EntityManager [SessionImpl(1610625797<open>)] 혹시나 다른 옵션이 있을까? class가 아니라 SessionImpl? 이렇게 나오네요. 이건 제가 공식 문서를 봐봤는데, 다른분들께 도움이 될까 싶어서요, 나중에 자료도 업데이트 해주시면 좋을 것 같아요! https://github.com/gavlyukovskiy/spring-boot-data-source-decorator?tab=readme-ov-file#quick-start 현재 저는 부트 4 버전을 사용중인데, 4버전 부터는 p6spy를 1.10.0 이 아닌 2.0.0으로 해줘야 합니다! implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:2.0.0' 현재 자료 기준은 1.10.0이라 수정해 주시면 좋을 것 같습니다! (그리고 3버전도 1.12.1 로 올라갔습니다!) 사실 2번은 질문이라기 보다는 알려드리고 싶은 부분이었고, 1번만 트랜잭션 로그를 다르게 찍는 방법? 이 있는지 궁금합니다.
안녕하세요, 하기 코드 중에서 it는 list.iterator의 return값을 담은, 또 다른 Iterator로 판단됩니다. 저는 그 다른 it를 while 돌려서 (알 수 없음)을 모두 삭제했습니다.(첫 번째 while문) 그러고나서 다시 it = list.iterator 코드를 입력하면, 사실상 앞에서 (알 수 없음)을 삭제했던 작업은 다 날아가고 새로운 Iterator return값으로 덮어 씌워지고, 이후 두 번째 while문에서는 (알 수 없음)도 모두 출력되어야 하는 상황으로 이해되는데 그렇지 않고 강사님께서 의도하신대로 정상 출력되더라고요. 혹시 사유가 어떻게 되나요? 자바에서 x = A 라는 수식은 x에 A값을 집어넣는 게 아닌가요? x는 A의 메모리 주소를 가리키고 x를 수정하면 A 내부 값이 함께 수정되는건가요?? // (알 수 없음) 데이터 삭제 it = list.iterator(); while (it.hasNext()) { String s = it.next(); if (s.contains("(알 수 없음)")) { it.remove(); } } // 삭제 정리된 데이터 재순회 it = list.iterator(); // 데이터 삭제 간 맨 마지막으로 가 있는 위치 초기화 while (it.hasNext()) { System.out.println(it.next()); }
코드 아예 모르는 생초보라.. 선생님은 미리 짜 놓은 내용으로 붙여넣으시는데 제가 관련 내용 직접 쳐야 하는게 의도인지, 아니면 다른 방식으로 적당히 내용을 채워야 하는지..? 궁금해서 여쭙니다ㅎㅎ 아니면 혹시 해당 내용 텍스트로 공유해주셨거나 강의록등에서 확인할 수 있을까요?
int[] size = {250, 255, 260, 265, 270, 275, 280, 285, 290, 295}; for (int i = 0; i < size.length; i++) { System.out.println("사이즈 " + size[i] + " (재고 있음)"); } 사고력이라고 칭하는게 맞는지는 모르겠지만 위에 코드가 제 코드 인데요. 부끄럽지만 이건 앞으로 보나 뒤로 보나 생각하는 힘이 부족 한거 같아요. 퀴즈를 풀기전 배열을 배우는 것도 그렇고 이해가 잘 안되었지만 꾸역꾸역 어떻게든 이해를 해서 퀴즈를 풀었는데 선생님께서 말씀하신 효율적이고 빠르게 적용할수 있는 코드가 제 머리에선 도무지 나오지 않습니다ㅠㅠ 퀴즈 풀이를 볼때 250 + (5 * i) 이 코드만 보고 와 어떻게 저렇게 풀 생각을 하지 라는 생각을 하곤 합니다. 여기까지 오면서 오랫동안 쉴때도 있고 복습도 틈틈히 할 때도 있었습니다. 퀴즈 풀이에서 최대한 선생님 코드를 보며 왜 이런 식으로 적으셨을까 생각하며 이해를 할때도 있었습니다. 근데 한 챕터 한 챕터 갈 수록 이해하는데 오래 걸려서 사고력 키우는 법이 따로 있는지 여쭈어봅니다ㅠㅠ
안녕하세요. 리액트를 공부하면서 컴포넌트 나누는 기준이 헷갈려서 질문드립니다. 강의에서 컴포넌트 분리에 대해 설명을 듣긴 했는데, 막상 제가 직접 코드를 짜다 보니까 어디까지 나누는 게 맞는지 감이 잘 안 옵니다. 제가 헷갈리는 부분은 이런 점들입니다. 컴포넌트는 중복되는 UI가 있을 때만 나누는 건지, 아니면 처음부터 최대한 작고 이해하기 쉬운 단위로 나누는 게 좋은 건지 잘 모르겠습니다. 또 컴포넌트 안에서 코드를 작성하다 보면 “이건 그냥 이 컴포넌트 안에 둬도 되나?” “아니면 여기서 한 번 더 분리하는 게 맞나?” 이런 판단을 어떤 기준으로 해야 하는지도 잘 모르겠습니다. 폴더 구조도 사람마다 다 달라서 어떤 구조가 좋은 구조인지, 초보자 입장인 저한테는 아직 잘 모르겠습니다 이론적으로는 이해한 것 같은데, 실제 코드에서는 이 분리가 과한 건지, 부족한 건지 판단이 잘 안 됩니다. 리액트에서 컴포넌트를 나눌 때 어떤 생각 흐름으로 판단하면 좋은지 , 알기 쉽게 설명해주시면 감사하겠습니다.
Cursor, VSCode 등 다양한 IDE와 Powershell 등의 환경에서 Claude Code 명령 프롬프트를 입력하고 실행할 경우 진행이 정상적으로 잘 되다가 멈춤 현상이 발생하고 있습니다. 예시) 토큰 양을 늘어나거나 줄어들지 않고 시간만 늘어나는 무한 로딩 현상 발생 토큰도 시간도 늘어나지 않고 현재 진행 중인 작업이 모든 하얀색 동그라미 모양이 깜빡이는데 그런 깜빡임조차 존재하지 않는 현상 발생 /compact 및 /clear를 진행하고 명령을 내려도 발생하고 있습니다. 처음 작업을 시작할 때도 발생하고 있습니다. 이러한 현상들이 저의 노트북 설정 혹은 IDE, Powershell 설정 오류로 인해 발생하고 있는 현상인지, 아니면 Claude Code cli의 문제인지 확인하고 싶습니다. 이러한 현상들로 인해 토큰을 낭비하고 있는 상황이 지속적으로 발생하고 cluade --resume을 지속적으로 해야되는 상황이 발생하고 있습니다.
안녕하세요. 강의 너무 잘 보고 있습니다. 강의자님은 이 부분에 빨간줄이 안나오는데 저는 빨간줄이 나오고 있어서 문의 드립니다. 리액트는 19버젼인 것 확인 했습니다. intervalId 으로 시간 받는 부분인데요. 기능은 잘 작동하고 있지만 강사님은 안나오고 저만 나오고 있어서 문의 드립니다. 항상 감사합니다!! ㅎㅎ
폼을 만들 때 input, textarea, radio, checkbox 같이 태그 종류가 달라도 하나의 객체 상태로 묶어서 관리하는 방식으로 만들어 보았습니다만 실무에서나 보통은 하나씩 만드는지 아니면 이것또한 정답이 없는지 궁금합니다! 아니면 상황에 따라 상태를 나누는 기준이 따로 있는지도 궁금합니다.
안녕하세요. class로 되어 있어서 에러가 나는 부분을 전부 className으로 수정하실 때선택할떄에 윈도우는 컨트롤+쉬프트+L을 눌르셨었나요? 그게 저는 안되서 일단 컨트롤 + D로 하나하나 선택을 했었느데요. 여러 row를 한번에 선택해서 수정할 떄에 어떤 키를 누르시는지 궁긍합니다.
window -> irm https: // claude.ai / install.ps1 | iex 붙여넣기 했을 때 설치가 되지 않아 npm으로 설치 했는데 npm으로 설치하면 선생님이 말씀하신 path 복사할 내용은 따로 나오질 않아 그대로 폴더 생성 후 실행했는데 제대로 설치가 되지 않은 듯 합니다. 확인 부탁드립니다.