안녕하세요~ 강의 내용 중 궁금한게 있는데요 layout에선 usepathname, usesearchparams 와 같은 값에 접근할 수 없기 때문에 'use client' 지시어를 활용해 클라이언트 컴포넌트를 통해 해당 값에 접근해야한다 라고 말씀해주셨는데 이 개념은 단순 서버 컴포넌트와 클라이언트 컴포넌트에 따른 차이점과 동일한 의미 아닌가요?? next.js 자체가 서버컴포넌트 일 경우 usepathname, usesearchparams 와 같은 훅을 사용할 수 없는데 Page.tsx 컴포넌트도 마찬가지 아닌가요?? 'layout에선' usepathname, usesearchparams 와 같은 값에 접근할 수 없기 때문에 'use client' 지시어를 활용해 클라이언트 컴포넌트를 통해 해당 값에 접근해야한다. 라는 말씀이 Page.tsx 에서의 사용법과 어떤 차이점이 있는지 잘 이해가 가질 않습니다... 아 참고로 next 클라이언트 페이지 라우팅 시 layout영역은 리렌더링 되지 않고 page.tsx 영역만 렌더링된다라는 partial rendering 개념은 이해했습니다. 강의랑 유튜브 항상 잘 보고있습니다. 양질의 영상 제공해주셔서 감사합니다!
안녕하세요 좋은강의 감사드립니다. 제 주변도 사서 듣는다고 합니다. 예전에 완강해놓고 관련프로젝트를 하다 궁금한점이 생겼습니다. 이런식으로 분리된 구조라면, 유저 정보는 어떻게 가져오는건가요?? 예를들어서 게시판이면, 거기에 들어가면 게시글들이나 댓글들 뿐만 아니라 유저의 닉네임이라던가, 유저가 설정한 대표이미지 라던가 등등 유저정보에 관한것들도 같이 뷰 렌더링을 위해선 필요한 정보들일텐데 유저와 관련된 서비스도 뭔가 따로 분리가 되어있을것 같은데 이때 유저 정보들은 어떻게 같이 가져오는지 궁금합니다. 디비도 다 따로 사용할텐데 연관관계매핑도 아닐테고...모르겠네요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] oracle openjdk 설치하려고 할 시 버전이 21은 선택이 안되고 24로 고정되어 선택되는데 vendor를 변경해도 될까요? 아니면 버전을 24로 해도 될지 궁금합니다.
출력값 3번째줄에 있는 Tesla Model 3 start는 eCar.start();에서 start가 부모 클래스안에 있으니까 거기에 입력하여 출력하고 eCar.stop();와 eCar.checkBattery();는 자식값에 재정의하였기에 재정의한 데에 넣어 출력하는 건가요?
Querydsl fetchResults(), fetchCount() Deprecated(향후 미지원) Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다. 안녕하세요 최근 강의를 구매하고 좋은 강의 잘 들었습니다. 하지만 querydsl은 향후 강의에 나와있는 방식으로는 page처리를 못하게 되는데 이에 맞는 강의도 올라가는 것인가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 회원 등록 api 에서 아래 코드 처럼 saveMemberV1 메서드의 반환값은 new CreateMemberResponse(id)입니다. @PostMapping("/api/v1/members") public CreateMemberResponse saveMemberV1(@RequestBody @Valid Member member){ Long id = memberService.join(member); return new CreateMemberResponse(id); } 근데 MemberForm.java 에 id를 추가하고 이걸로 리턴받으면 안되나요? 왜 굳이 DTO 를 만들어서 리턴하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 환경설정 PDF 강의 자료에서는 검증용 Q 타입 생성 Gradle IntelliJ 사용법 Gradle -> Tasks -> build -> clean Gradle -> Tasks -> other -> compileQuerydsl 이라고 되어 있는데 부트 3.0 이후부터는 build.gradle에서 compileQuerydsl 부분이 빠져있기 때문에 'Gradle -> Tasks -> other -> compileQuerydsl' 문구가 다른 문구로 대체되어야 하지 않을까요? 저는 clean 클릭 후 Gradle -> Tasks -> build -> build 를 클릭해서 해결했지만 clean 클릭 후 더 나은 방법이 있지 않을까 싶어서 clean 후 어떤 버튼을 클릭해야 할지 문의드립니다.
안녕하세요 선생님 항상 강의 잘 듣고 있습니다. 문제를 푸는 중에 궁금했던 건데요. 이런 코드에서 어떨 때는 배열 내 위치를 하나 더 움직이고 어떨 때는 ASCII 코드의 그 다음 알파벳을 뱉는데 이게 너무 헷갈립니다..ㅠ 주소에서 연산을 하는 거면 배열에서 위치를 옮기고 값에서 연산을 하는거면 ASCII코드에서 다음 알파벳을 뱉으면 되는건가요..? 주석에 제가 이해하는 법을 적어놨는데 이렇게 이해하면 되는걸까요? 특히, printf("%s", a+2); 이런 부분 같은 경우에는 a+2에서 a는 시작주소를 뜻하니 a[0], 따라서 a[0]+2 --> a[0]은 값이니 h, h라는 값에서+2하니까 j 이런 사고 과정으로도 흘러가는 거 같아 헷갈립니다..ㅠㅠ 답변 주시면 감사하겠습니다! # include <stdio.h> int main() { char a[6] = "hello"; printf("%s", a+2); // a는 시작주소(=a[0])를 뜻하니 a[0]의 주소에서 2번 옮김? -> llo printf("%c", a[1]+2); //a[1]은 값으로 e를 뱉으니 ASCII? -> g printf("%c", *a+1); // *a는 a[0]의 값 h를 뱉으니 ASCII? -> i printf("%c", *(a+1)); //(a+1)은 a[0]에서 하나를 더 움직인 주소 ->의 값 = e printf("%c", a[1]); // a[1] = e return 0; } 출력값 : llogiee
가장 쉽고 깊게 알려주는 MongoDB 완벽 가이드 [ By. 비전공자 & Kakao 개발자 ]
MongoDB 설명에서 "BSON(Binary JSON)이라 효율적이고 더 많은 데이터 타입을 지원한다" 고 언급하신 부분에 대해 질문드립니다. 결국 Redis나 MySQL 같은 RDB도 내부적으로는 데이터를 바이너리 형태로 저장하지 않나요? 모두 바이너리로 저장하는데, 왜 MongoDB만 특별히 "바이너리라서 효율적이고 타입을 많이 지원한다"고 강조하는지 잘 이해가 안 됩니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 강의 수강 잘 하던 도중 질문이 생겨 여쭤봅니다. 강의에서는 Service 계층에서만 테스트를 하고 있고 Repository 계층에서는 따로 진행하지 않고 있습니다. 실무에서도 어차피 Service 계층이 Repository 계층을 당겨서 사용하는 것이기에 Service 계층에 대해서만 테스트 케이스를 작성하면 충분할까요 ? 그리고 강의에서 Member의 Name을 unique로 잡으라고 말씀하시고 있는데, 실무에서는 id로 검증하는 것이 올바른 방법이겠죠 ?
안녕하세요 지난번에 많은 도움 받았던 윤상필입니다. 추가 강의는 너무 감사합니다! 다만 아직 진행하지는 못했습니다 그전에 본업과... 사고친것을 수습하느나 벌써 열흘의 시간이 흘렀내요 추가 강의는 진행해보고 궁금한거 있으면 연락드리겠습니다 오늘은 다름아니라 위에 언급한 사고때문에 발견한건데요 배경은 이렇습니다. 코드노드에서 const crypto = require('crypto'); 이걸 사용하고싶었는데요 리퀘스트 자체가 되는지 모르겠다만.. 우선 지피티에서는 된다 하였고 진행하였습니다 도커 컴포즈도 건드려보고 이렇게 저렇게 하다가 docker-compose down -v 하라고 하더군요 진행했고... 그결과 볼륨이 다 삭제가 되버려서 기존에 있던 워크플로우가 모두 지워졌습니다 지피티에서는 로컬 디렉토리를 앞으로는 바꾸라고 하는데요 거기까진 진행을 못했습니다. 여튼 복습한다 생각하고 다시 만들어가면될텐데요 그전에 백업에 대한 욕구가 생겼습니다. 강의 안대로 진행하면 백업자체는 가능합니다 다만 복구가 진행이 되지않았습니다 (제컴터의 문제 일수도 있지만 공유드려 봅니다) https://level-sodalite-012.notion.site/2297117a1a43809ea70ce9c53ebbd34b 지피티와의 대화는 pdf로 저장하였으나, 인프런에 업로드가 되지 않아 노션에 저장하고 공유해드립니다. (지피티는 두번의 대화를 하였고, 실패를 먼저 대화하였고, 그뒤 다시 지피티대화를 열어서 진행하였습니다) 지피티 pdf 저장은 크롬 확장프로그램으로 진행하였습니다 매번 도움주셔서 감사합니다!
자바 21, 스프링 부트 3.4.5로 하는데 dependencyManagement { imports { mavenBom " org.springframework.cloud :spring-cloud-dependencies:2024.0.1" } } 이 부분이 에러가 나는거 같아요 Execution failed for task ':dependencies'. > Could not resolve all artifacts for configuration ':detachedConfiguration3'. > Cannot resolve external dependency org.springframework.boot:spring-boot-dependencies:3.4.5 because no repositories are defined. Required by: root project : Possible solution: - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html 빌드가 안되네요 ㅠㅠ