안녕하세요! 강의를 수강하면서 나날이 성장하는게 느껴집니다!! SSG, SSR, ISR 개념을 배우면서, SSR을 언제 사용해야 하는지에 대한 고민이 생겼습니다. 블로그 글이나 GPT의 답변을 참고해보니, 개인화된 사용자 데이터나 요청 시에만 알 수 있는 정보에 의존하는 페이지를 렌더링해야 하는 경우 사용한다고 합니다. 저는 조금 다른 접근을 고민해봤습니다. ISR을 활용하여 개인화된 페이지를 생성하고, Middleware에서 사용자 인증을 검증하는 방식 으로 생각해봤습니다. 또는 SSR 대신 SSG를 사용하고, 클라이언트 측에서 필요한 데이터를 패칭하는 방식 으로 생각해봤습니다. 정리하자면 SSR은 언제 써야하는지 잘 모르겠습니다. 소중한 시간 긴 글 읽어주셔서 감사합니다!!
덮어씌워진다는게 이해가 안되서요! test1 = name();이 실행되었을때 홍길동이 입력되면 return 되는 값은 홍길동 아닌가요?? 질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산) 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
안녕하세요. 실습을 진행하면서 새로고침 했을때 브라우저 개발자도구 네트워크 탭에 api 요청 로그가 남지 않더라구요. 그래서 새로고침을 하거나 처음 앱을 실행시켰을 경우 사전 렌더링에 의해서 서버측에서 api요청을 진행하면서 로그가 남지 않는걸로 이해했습니다. 그러면 만약 api 요청에 대한 디버깅을 진행해야 하는 상황이라면 서버측 터미널 로그로만 확인 수 밖에 없는걸까요??
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 오류 내용: 로그인 시도 시 Wrong user name or password라고 뜹니다. ( Wrong user name or password [28000-232] 28000/28000 ) 스프링부트 버전: 3.4.2 H2 버전: 2.3.232 build.gradle dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' } application.properties spring.application.name=hello-spring spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa 버전에 알맞게 h2를 설치한 후, 윈도우 환경에서 h2.bat를 실행했습니다. 강의자료를 보며 추가해야 할 코드를 다 추가한 것 같은데, 로그인이 되지 않고 무엇이 문제인지 모르겠습니다. 또, 새로고침 시에 사용자명이 기본적으로 sa가 아니라 계속 admin으로 표시됩니다. (로그인할 때는 sa로 바꿔 로그인 시도했습니다.)
안녕하세요! 좋은 강의 감사합니다. 이번 강의를 들으며, Link 를 사용해 /book/${id} API 를 호출하여 데이터를 불러오는 방식 대신, fetchBooks API 로 받아온 books 데이터를 props 로 전달하는 방식은 어떨까 라는 생각이 들었습니다. 정답은 없는 것 같지만 강사님의 생각이 궁금해서 여쭤봤습니다.
각각의 CPU 코어에는 각각의 캐시 메모리가 있고 여기에 임의의 쓰레드가 할당되어 실행된다고 하셨습니다. RAM에서 캐시 메모리를 가져올 때 primitive type은 직접 값을 가져오므로 메모리 가시성 문제가 발생할 수 있지만 참조값을 가져오는 경우에는 캐시 메모리에서도 참조를 하게되므로 가시성 문제가 존재할 수 없는 구조인가요? synchronized 메서드 안에서 사용된 멤버 변수의 경우 자동적으로 volatile 로 처리된다고 이해하면 될까요? 항상 감사합니다!
[질문 템플릿] 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)어노테이션을 작성해서 해결하면 된다고는 하는데 메뉴얼에 관련 내용이 없길래 다음 단계로 진행하기 전에 질문 드립니다. 정확한 상황을 알려드리기 위해 오류 발생 사진을 함께 첨부합니다.