========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 8분30초쯤 나오는 ItemService는 ItemServiceV1을 의미하는걸까요? ItemService가 interface인데 JpaItemRepository에 의존하고 있다는건 아닌거 같아서요
25강 "프로필 웹사이트" 앱을 구현하는 중에 "Limit reached" 코멘트와 함께 더이상 강의를 진행하지 못했네요. claude 실행후 plan 모드에서 "프로필 웹사이트" 앱 만들기를 처음 시도시, '배포' 단계(무려 7단계) 까지 언급되길래, 단계를 줄였습니다. 이후, 개발 환경 (npm 인스톨, 로컬 서버 실행...) 단계가 언급되고, SNS 코드 포함하여, 앱을 만드는 과정 등에서 html 코드를 무려 800줄 가까이 만들고, 파일을 분리하고 html 을 python 과 연계하는 코드까지 만들더니 limit 에 도달해서, "프로필 웹사이트" 앱을 완성하지 못했습니다. ㅠㅜ claude pro 구독해서 사용중입니다. 강의 과정의 앱 만들기는 사실 개념 이해 및 실습이 중요할거 같은데, "프로필 웹사이트 만들어줘:" 보다는 좀 더 구체적으로 프롬프트 입력을 통해 간단한 앱을 만들수 있도록 유도되면 좋겠습니다 ㅠㅜ
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] FileInputStream의 transferTo를 사용할 경우 buffer는 어떻게 설정되는 건가요? 웹 검색을 해보니 개발자가 직접 버퍼를 설정할 필요가 없다고 하는데 기본적인 버퍼의 크기가 정해져 있는건지? 만약 정해져 있다면 어떤 기준을 따라가는지 궁금합니다. 파일처리 시 자바의 메모리를 사용해야하고 이 부분을 잘 처리하지 못할 경우 OOM으로 이어지는 경우가 많아서 정확히 이해하고 싶어서 문의드립니다.
todoPagingCP.tsx에서 Link로 페이지 동적으로 만들었는데 페이지 클릭때마다 const res = await fetch( `http://localhost:8080/api/todos/list?page=${page}` ); todo/list/page에 있는 이코드가 실행이 되는건가요?
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (찾아보았지만 안보임) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (읽긴 함) [질문 내용] 안녕하세요. 궁금증이 생겨서 질문을 남깁니다. 사용자가 작동(동작)이 없으면 시간이 지난후 세션이 종료한다는것을 프로퍼티즈 를 통해 설정할수 있는 것을 여기에서(강의) 배울 수 있었는데요. 근데 저는 미관상? 세션을 종료하고 쿠키가 남아 있는게 좋지 않다고 생각해서 찾다가 안보여서 여기에 글을 남깁니다. 로그아웃 시에는 JSESSIONID 를 null 로 주어서 쿠키를 삭제하긴 하였는데(expireCokie 메서드를 보고 따라함), server.servlet.session.timeout=60 이걸로는 쿠키가 삭제 안됩니다. (f12로 확인함) 타임아웃시 쿠키를 삭제할 방법을 알고 계시면 가르켜 주시면 감사하겠습니다. 아니면 찾을수 있게 키워드를 주시면 감사하겟습니다. 추가1 그리고 타임아웃 최저 길이가 60초 인가요? 30초 해봤는데(되긴 되는데 1분이 지나서 된것 같습니다.) 정확한 시간(30초)에는 안되고 60초넘어서는 되었습니다 추가2 이 번역기는 어떤 번역기를 쓰면 되나요?(좋아보여서요) 추가3 로그 아웃 시 쿠키 삭제 방법 (이게 있어야 된다는 생각이 갑자기 들어서 추가함) logoutV3() 메서드 에서 session.invalidate(); 밑에 3개의 코드 추가 Cookie cookie = new Cookie("JSESSIONID", null); cookie.setMaxAge(0); response.addCookie(cookie); 답변 부탁 드립니다.
강의 막바지에 쿼리 로그를 한눈에 볼 수 있게하기 위한 라이브러리를 추가하고 실행하시는데요. 저는 pdf 내용대로 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' 위 라이브러리를 추가하고 실행해보아도 쿼리 실행 로그가 보이지 않아요ㅠ
영상에서는 이제 junit5를 의존관계로 가져간다고 나와있고 build.gradle에 있는 exclude가 junit4버전에 대한걸 exclude한다고 하시는데요.. 그럼 강의가 junit5버전 쓰시는거 아닌가요? pdf는 강의 영상이 junit4 버전을 기준으로 하신다는데 이것 때문에 헷갈려요
pro 요금제, sonnet4.5를 사용해서 강의를 따라가다 보니 금방 session의 토큰 사용량이 가득 차는 부분이 불편해서 모델 비교 설명을 확인해봤습니다. 일상적인 개발에서는 sonnet4.5가 토큰 사용량이나 성능 측면에서 뛰어난 것 같더라구요. 아마 실무 개발에서 claude를 활용하게 된다면 sonnet을 사용할 것 같은데, haiku4.5가 sonnet보다 3배 저렴하고 속도도 빠르다고 하는 내용을 보니 pro 요금제로 강의를 들을 때는 haiku 모델이 더 적합하겠다는 생각이 들었습니다. 이것 저것 모두 써보려고 하는데, 강사님의 의견이 궁금합니다! (실무에서 모델별 성능이 체감될 만큼 차이가 큰지도 궁금합니다.)
위는 강의 pdf 파일에서 캡쳐한 build.gradle 설정 내용입니다. 아래는 제가 프로젝트 생성후 캡쳐한 build.gradle의 의존성 사진입니다. pdf 설명대로 JUnit4를 추가했습니다. 그런데 pdf 파일에 testImplementation(‘org.springframework.boot:spring-boot-starter-test’) { exclude group: ‘org.junit.vintage’, module: ‘junit-vintage-engine’ } 가 있던데 이것도 추가해줘야하는 부분인가요? 없으면 추후 강의를 진행하는데 문제가 될까요? 현재 pdf 파일에 있는 build.gradle 내용과 제가 방금 프로젝트 생성 후의 build.gradle 내용과 조금 다른 것 같아 질문드립니다
안녕하세요. 수업을 듣다가 알려주신 거랑 다르게 동작하는 것 같아 질문드립니다. 5.2 풀라우트 캐시2 스크립트 기준 10:09 "자, 이런 Fetch 메서드는 자동으로 No Store 옵션을 갖는다고 말씀을 드렸죠?" -> 그래서 예상한 결과값은 dynamic page를 예상했는데 static page로 나오는 것 같습니다 npm run build를 했을 때 cache 옵션을 안 준 경우 const response = await fetch(`${process.env.NEXT_PUBLIC_API_SERVER_URL}/book`) Route (app) Size First Load JS ┌ ○ / 288 B 106 kB 이렇게 static page로 나오고 cache 옵션 no-store로 준 경우 Route (app) Size First Load JS ┌ ƒ / 288 B 106 kB 이렇게 dynamic page로 나와서 next 공식 문서를 찾아보니 https://nextjs.org/docs/15/app/api-reference/functions/fetch auto no cache (default): Next.js fetches the resource from the remote server on every request in development, but will fetch once during next build because the route will be statically prerendered. If Dynamic APIs are detected on the route, Next.js will fetch the resource on every request. 이렇게 build 때는 static 이라고 해서 질문이 생겼습니다. 어떤 블로그에서는 또 브라우저마다 다르게 동작한다고 해서 헷갈립니다..! 답변 주시면 감사드리겠습니다.
http://localhost:8080/s_uuid_filename.webp으로 브라우저에서는 이미지가 잘 출력되는데, 개발환경에서 next.js 서버 실행하고 http://localhost:3000/product/catalog/1 로 접속하면 이미지가 안 보입니다. F12로 Network탭에서 이미지가 상태코드 400이 뜹니다. next.config.mjs 파일에 remotePatterns 설정 되었어요. next.jsx 터미널창에 로그는 아래와 같습니다. GET /product/catalog/1 200 in 1251ms (compile: 1206ms, render: 45ms) ⨯ upstream image http://localhost:8080/s_ uuid_filename9 .webp resolved to private ip ["::1","127.0.0.1"] ⨯ upstream image http://localhost:8080/s_ uuid_filename8 .webp resolved to private ip ["::1","127.0.0.1"] ⨯ upstream image http://localhost:8080/s_ uuid_filename 7.webp resolved to private ip ["::1","127.0.0.1"] ⨯ upstream image http://localhost:8080/s_ uuid_filename 6.webp resolved to private ip ["::1","127.0.0.1"] GPT에게 물어보니 /** @type {import('next').NextConfig} */ const nextConfig = { images: { unoptimized: true, // ← Next.js 이미지 최적화 끔 }, }; export default nextConfig; 최적화를 끄라고하는데, 이미지 최적화를 끄면 이미지는 나오지만 이미지 최적화 하면서 이미지가 나오게 할 수 있는 방법 있을까요? 현재 설치된 next.js 버전은 16.0.8입니다. 수업은 next.js 15버전인가요?