[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] thymeleaf를 사용해서 표를 만들려고 합니다. 상품명 | 과세/면세 | 구매처1 | 구매링크1 | 구매처2 | 구매링크2 .... 아이폰 | 과세 | 쿠팡 | coupang.com.... | 네이버 | naver.com..... 이런식으로 작성하려고 합니다. 우선 Controller에서 thymeleaf 로 넘기는거까지는 했는데 구매처 리스트에서 상품명 별 제일 많은 구매처 객체 개수에 맞게 제목을 구매처N 까지 늘려서 만들고 싶은데 방법이 있을까요??
안녕하세요! 이번 강의를 수강하며 궁금한 게 있어 질문드려봅니다. 1. Next.js에서 페이지별 JS가 스플리팅되듯, CSS Modules도 페이지별로 스플리팅되는지 궁금합니다. tailwindCSS를 사용하면 페이지별로 스플리팅 되는지 궁금합니다. 소중한 시간 질문 읽어주셔서 감사합니다.
안녕하세요, 강의 잘 듣고 있습니다. Prisma 관련 실습을 따라 하는 중인데, 다음과 같은 문제가 발생해서 문의드립니다. 프로젝트 구조 상 prisma/schema.prisma 파일이 분명 존재하고 VSCode에서도 확인됩니다. .env 파일에 DATABASE_URL , DIRECT_URL 도 정상적으로 설정돼 있습니다. VSCode에서는 schema.prisma 파일이 보이고, Book , Review 모델도 정상적으로 작성되어 있습니다. 문제 상황 같은 명령어로 확인해봐도 PowerShell에서는 아예 prisma 폴더가 없다고 나옵니다. PS C:\Users\PC\Documents\onebite-books-server-main> npx prisma db Need to install the following packages: prisma@6.5.0 Ok to proceed? (y) y Environment variables loaded from .env Error: Could not find Prisma Schema that is required for this comm your package.json or put it into the default location. Checked following paths: schema.prisma: file not found prisma\schema.prisma: file not found prisma\schema: directory not found See also https://pris.ly/d/prisma-schema-location PS C:\Users\PC\Documents\onebite-books-server-main> npx prisma db Environment variables loaded from .env Error: Could not find Prisma Schema that is required for this comm You can either provide it with --schema argument, set it as `pri Checked following paths: schema.prisma: file not found prisma\schema: directory not found See also https://pris.ly/d/prisma-schema-location PS C:\Users\PC\Documents\onebite-books-server-main> npx prisma db risma/schema.prisma Error: Could not load --schema from provided path `prisma\schema PS C:\Users\PC\Documents\onebite-books-server-main> PS C:\Users\PC\Documents\onebite-books-server-main> npx prisma db risma/schema.prisma Error: Could not load --schema from provided path `prisma\schema PS C:\Users\PC\Documents\onebite-books-server-main> PS C:\Users\PC\Documents\onebite-books-server-main> npx prisma db risma/schema.prisma 하지만 VSCode에서는 명확하게 prisma/schema.prisma 파일이 존재합니다. VSCode에서 prisma/schema.prisma 가 분명히 보이는데, 터미널(PowerShell)에서는 왜 인식되지 않는 걸까요? CLI가 해당 파일을 찾을 수 있게 하려면 어떤 방법을 써야 하나요? 혹시 Windows 환경에서 자주 발생하는 문제인지, 강의에서 다루는 가이드와 다른 점이 있는지 궁금합니다.
안녕하세요 쿠케님! 강의에 나온 10분의 TTL이 없을시 조회수 증가 관련되서 질문드립니다!' 현 상황에서 게시글 접근시 마다 조회수 증가 API를 호출하고 있습니다. 테이블 정보는 다음과 같습니다. Board 테이블 id(auto-increment) readCount BoardRead 테이블 id(auto-increment) boardId userId 게시글 상세 접근시 마다 호출하는 '조회수 증가 API'의 흐름은 다음과 같습니다. 1. 해당 게시글을 유저가 조회 했는지 검증 (BoardRead 테이블에서 검증) 1-1. 조회 한 이력이 있으면 return; 2. Board 비관적 락 조회 3. Board 테이블 readCount 업데이트 4. BoardRead 테이블 insert Board의 readCount는 게시글 조회수를 나타내고, BoardRead는 '각 사용자는 게시글 1개당 1번 조회수 증가'를 검증하기 위한 용도 입니다. '각 사용자는 게시글 1개당 1번 조회수 증가' 정책을 반드시 가져가야 한다면 BoardRead 테이블에 있는 데이터도 레디스로 옮겨야 할까요? 그런데 조회수 데이터는 계속해서 쌓일테고 비즈니스에 중요하지 않은 데이터가 레디스 메모리만 차지하는 느낌이 들어서 꺼려지더 라구욤.. 강의 내용대로 TTL을 걸수 밖에 없는건가 고민도 듭니당.. (레디스는 클러스터 환경으로 사용하고 있습니다.) 기능은 그대로 유지하되 비관적 락을 뺄 수 있는 방법이 있을까요? ※ 번외로 트래픽 바로 몰리니까 비관적 락 로직 때문인지 잠금 이슈 나서 디비 바로 터졌버렸네요 하하하 ㅠ 비관적 락을 선호하지 않는 이유를 체감해버렸다.. ※ 뇌 + GPT 갈구니까 아래와 같은 여러 결론이 나왔습니다. 해결책1 1. Redis SET 자료구조로 중복 체크, 최초 조회면 TTL 걸어줌 2. 분산락(Redis)을 걸고, Board 테이블 readCount 업데이트 및 BoardRead Insert 수행 3. 락 해제 해결책2 1. Redis SET 자료구조로 중복 체크, 최초 조회면 TTL 걸어줌 2. 비동기로 Board 테이블 readCount 업데이트(낙관적 락 적용) 및 BoardRead Insert 수행 작성하면서 문득 'readCount를 정규화 할까?' 했는데 스케이링 넘 클것 같네요.. 이유는 테이블 설계를 JPA의 상속을 활용하는 방안으로 했기 때문에 readCount 필드가 '게시판'이란 추상 클래스에 위치해 있습니다. 주저리 주저리 적어봤는데 머릿속에 혼란이 오네요 ㅠㅠ 자기전 마지막 생각 레디스의 incr를 이용해 조회수 관리, 조회수 데이터는 mysql에 주기적으로 백업
기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
안녕하세요? 궁금한것이 있습니다. 보통 React로 csr을 만들어 배포하는데 next.js로 SSR 페이지 없이 CSR app을 만들어 웹서버(NGINX)에 배포할 수 있는지 궁금합니다. 그리고 SSR로 배포할때, 일반적으로 Node.js 서버를 DMZ 영역에 구성하는지 아니면, WAS처럼 내부망에 구성하는지도 궁금합니다.
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 순수 JPA 리포지토리문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 실전! querydsl 강의에서 4강의 순수 JPA 리포지토리와 quertdsl을 듣고 있습니다. 메뉴얼 따라서 MemberJpaRepository를 작성하고 basicTest를 실행했는데 No qualifying bean of type 'com.querydsl.jpa.impl.JPAQueryFactory' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} 오류가 나면서 실행이 안됩니다. JPAQueryFactory가 빈으로 등록이 안됐다고 하는거 같은데 MemberJpaRepository 생성자 안에서 할당해 주니까 memberRepository를 Autowired 할때 자동으로 들어간다고 생각했는데 아닌가요..? 검색해보니 JPAConfig 클래스를 생성해서 직접 bean을 등록하고 테스트에 @Import(JPAConfig.class)어노테이션을 작성해서 해결하면 된다고는 하는데 메뉴얼에 관련 내용이 없길래 다음 단계로 진행하기 전에 질문 드립니다. 정확한 상황을 알려드리기 위해 오류 발생 사진을 함께 첨부합니다.
안녕하세요 궁금한 것이 있습니다. Next.js 사전 렌더링 설명에서 유저가 접속 요청을 보낸다고 하면 서버에서 JS를 실행하여 렌더링 된 HTML을 보내게 되고 클라이언트에서 화면에 렌더링을 하고, 후속으로 JS 번들 파일을 보내게 되고 여기서 중요한 점은 CSR과 같이 모든 JS 파일을 번들링 해서 보낸다..?? 이후 페이지 이동 시 JS 파일이 있기 때문에 서버에 요청을 하지 않고 CSR 방식으로 흘러간다 라고 설명을 해주셨습니다. 여기서 궁금한게 있습니다. 초기 접속 시 JS 번들링 파일을 CSR과 같이 모든 JS를 보내는건지,,? 아니면 해당 접속 페이지에 해당하는 JS를 본내는 건지가 궁금합니다. 검색해보니 Next.js 초기 접속 시 해당 페이지 JS만 번들링 해서 보낸다는 얘기가 있어 헷갈렸습니다.
안녕하세요! 수업 잘 듣고 있습니다! 클래스 로더 수업 중에 로딩 과정에서 클래스 로더가 .class 파일을 읽고 그 내용에 따라 적절한 바이너리 데이터를 만들고 "메소드" 영역에 저장. 이라는 말이 있는데 바이트 코드가 메소드에 저장되는거 아닌가요? 인터프리터를 거쳐야 바이너리 데이터가 되는거 아닌가요?
안녕하세요! 좋은 강의 감사합니다 이번 강의를 수강하며 개념적으로 궁금한 점이 있어서 질문드려봅니다. ISR로 블로그 글을 revalidate 시간을 24시간으로 많이 넣어둔다고 하셨습니다. 티스토리나 벨로그에선 기존 글을 수정하면 바로 업데이트가 됩니다. 제가 아는 지식으로 ISR을 하게 된다면 24시간 동안 수정해도 기존 데이터를 보여주어야 한다고 생각해서 ISR보단 SSR이 적합하다고 생각했습니다. ISR은 이러한 문제를 해결할 수 있는지 궁금합니다. 블로그 글이나 뉴스같은 경우 대량의 데이터이기 때문에 그만큼 대량의 페이지가 HTML 파일로 생성되어 큰 용량을 차지할 것 같다는 생각이 들었습니다. 이러한 부분은 어떻게 해결할 수 있는지 궁금합니다. ISR / SSG를 사용하는 페이지 경로로 Next/Link를 사용하여 접속할 경우 클라이언트 사이드 라우팅이 이루어진다고 알고 있습니다. 이 경우 미리 빌드된 HTML 파일을 렌더링하는 ISR/SSG의 장점이 사라지는 것처럼 보이는데, Next/Link에서 ISR/SSG를 사용할 때 어떤 이점이 있는지 궁금합니다. 소중한 시간내어 읽어주셔서 감사합니다.
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢 ) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 12. 다형성과 설계 강의 자료에서 OCP원리를 보면 코드 수정은 닫혀 있다는 의미에서 "새로운 차를 추가하게 되면 기능이 추가되기 때문에 기존 코드의 수정은 불가피하다. 당연히 어딘가의 코드는 수정해야 한다."라고 되어 있습니다. 기존 코드의 수정이 불가피하다고 하는데 왜 코드 수정은 닫혀 있다고 표현하는 건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. class의 접근제어자를 private으로 설정시 외부 호출을 막는 것은 이해를 합니다. class의 volume 변수에 대해 실제 수정 해야 상황일 경우 (volume 200이 가능하게 되었을 때) privat로 설정된 volume 변수 수정 권한을 setting하는 것은 어떤 조직 구성과 방법으로 하는지 실제 경험을 사례로 설명을 요망합니다.