inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

에러, 로딩 내용 페이지를 모든 페이지에 다 만드는 이유가 따로 있나요?

미해결

기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)

에러나 로딩을 전역적으로 상태로 봐서 에러나 로딩을 띄우는게 아닌, 페이지별로 전부 다 복붙으로 넣는 이유가 따로 있나요..? 일단 따라해보고있긴 한데, 뭔가 좀 아닌것 같아서 질문 드립니다ㅠㅜ

  • react
  • 인터랙티브-웹
  • 클론코딩
  • next.js
  • tailwindcss
  • zustand
Junho 댓글 3 좋아요 2 조회수 214

parsedData를 콘솔에 찍으면 나오질 않고 있습니다.

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요. 강의 24분쯤의 내용입니다. parsedData를 콘솔에 찍으면 아무것도 나오지 않고 있습니다. Application에 로컬스토리지에 보면 4개의 데이터가 잘 저장되어있는데요. 인강을 몇번 돌려 봐도 계속 그런 상태인데 제가 뭐 놓치고 있는게 있을까요? function reducer(state, action) { let nextState; switch (action.type) { case "INIT": return action.data; case "CREATE": { nextState = [action.data, ...state]; break; } case "UPDATE": { nextState = state.map((item) => String(item.id) === String(action.data.id) ? action.data : item ); break; } case "DELETE": { nextState = state.filter((item) => String(item.id) !== String(action.id)); break; } default: return state; } localStorage.setItem("dairy", JSON.stringify(nextState)); return nextState; } export const DiaryStateContext = createContext(); export const DiaryDispatchContext = createContext(); function App() { const [data, dispatch] = useReducer(reducer, []); const idRef = useRef(0); useEffect(() => { const storedData = localStorage.getItem("diary"); if (!storedData) { return; } const parsedData = JSON.parse(storedData); console.log(parsedData); }, []);

  • javascript
  • react
  • node.js
댓글 2 좋아요 0 조회수 117

15강 한글 처리 질문

미해결

실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌

jsp화면에서 contentType 과 pageEncoding 이 모두 UTF-8인데 왜 상단에 reqeust.setCharacterEnding("UTF-8"); 을 지정해야 되는지 잘 모르겠습니다. 어짜피 저 코드를 주석 달아도 실행되서 똑같이 출력 결과가 동일한데 굳이 하는 이유는 무엇인지 자세히 알려주실 수 있을까요?ㅠ

  • java
  • jsp
soojinkimss 댓글 1 좋아요 0 조회수 126

서버배포 플랫폼 사용시 중복 등록?

해결됨

(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>

서버 배포 강의를 들으며 실습 중인데 cloudflare 에서 등록을 한 상태에서 aws 에 등록을 하면 어떻게 되는 건가요? 최신 등록 플랫폼에 종속 되고 이전 플랫폼은 해지 되는 건가요?

  • react
  • aws
  • Google-Analytics
  • cloudflare
  • adsense
  • 수익화
dream have 댓글 1 좋아요 0 조회수 105

코드제공 안되나요?

해결됨

(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>

코드 제공은 안되나요? 글씨가 작아서 잘 보이않아요. 화면보고 따라서 작성하기가 힘드네요. 강의자료에 없는거 같아서 여쭤봅니다.

  • react
  • aws
  • Google-Analytics
  • cloudflare
  • adsense
  • 수익화
코딩초보 댓글 1 좋아요 0 조회수 143

기출 23년 2회 38:36 마지막 두번째 take() point--의 적용문제

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

point 0 1 2 3 isWhat 5 6 3 현재 point가 1로 6을 출력한 뒤 마지막 두번째 take()를 하면 return isWhat[point--]는 현재의 isWhat값인 6을 출력한 뒤에 point는 0이 되고, 다시 마지막 take()를 다시하면, return isWhat[point--]로 point 0일 때 isWhat의 값 5를 출력한 뒤에 point -1이 되어 종료되는 것은 아닌가요? 6이 한 번 더 있어야 되는 것은 아닌지 여쭈어 봅니다.

  • python
  • java
  • c
  • 정보처리기사
iwinners 댓글 1 좋아요 0 조회수 94

Error: connect ECONNREFUSED ::1:6379 트러블 슈팅

해결됨

Next + React Query로 SNS 서비스 만들기

문제 발생 : npm run start:dev 시 위와 같은 에러 발생 Error: connect ECONNREFUSED ::1:6379 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1615:16) { errno: -4078, code: 'ECONNREFUSED', syscall: 'connect', address: '::1', port: 6379 } 문제 원인: Redis 연결 실패 → 애플리케이션이 Redis 서버(포트 6379 )에 연결하려 했지만 거부됨. ECONNREFUSED 오류는 Redis가 실행되지 않거나, 접근할 수 없는 상태 일 때 발생. 문제 해결 : Redis 기본 설정은 IPv6 ( ::1 )을 사용함. IPv4( 127.0.0.1 )로 강제 변경해 해결 localhost 가 아닌 127.0.0.1 로 변경 // .env 기존 코드 REDIS_URL=redis://localhost:6379 // .env 변경 코드 REDIS_URL=redis://127.0.0.1:6379 위 에러 만나고 애쓴 부분 공유합니다. 혹시 잘못된 해결 방법이라면 알려주시면 감사하겠습니다!

  • react
  • next.js
  • react-query
  • next-auth
  • msw
10rlatkdtn 댓글 1 좋아요 2 조회수 352

HelloController 어노테이션 인식안돼요

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 혹시 강의대로 똑같이 했는데 오류가 떠서 질문 남깁니다ㅠㅠ 오류 java : cannot find symbol symbol : class Controller 무엇이 문제일까요ㅠ.. 따로 건든것도 없습니다 .

  • java
  • spring
  • mvc
  • spring-boot
성희 댓글 1 좋아요 0 조회수 358

[JS 03-1-1] 스크롤-스크롤 실습 관련 질문입니다.

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

window.scrollTo({ top: 0, behavior: "smooth" }); 제 화면은 왜 부드럽게 스크롤 이동이 안되는걸까요? behavior 빠졌을 때와 차이가 없어보여요.. 사용 브라우저는 크롬입니다

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
방가워요 댓글 1 좋아요 0 조회수 86

상속 10개 예제 - 유형 5번 질문

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요. Java 상속 10개 예제 파트의 유형 5. 부모 메서드를 오버라이딩하지 않고, 자식에서 새롭게 정의된 메서드를 사용 할 경우에 대해 질문이 있어서 남깁니다. 아직 제가 업캐스팅에 대해 완벽히 이해가 되었지 않았기 때문에 드리는 질문입니다. 업캐스팅이란, 객체 생성 시, 클래스의 타입은 부모 클래스로, 생성자는 자식 생성자로 하는 것이라 배웠습니다. 업캐스팅이 진행 될 경우, 기존 부모 클래스 내부 메서드는 해당 객체에서 활용할 수 있지만, 자식 클래스에서 부모 클래스의 메서드를 오버라이딩 하지 않고, 새롭게 정의한 메서드를 사용할 수 없는 것인가요? 예를 들어, 다음과 같은 코드를 살펴 볼 경우, class Parent { // 부모 클래스의 void형 메서드 show void show() { System.out.println("Parent show"); } } class Child extends Parent { // 자식 클래스의 void 형 메서드 show(int a) // 부모 클래스에 존재하지 않던 메서드를 새롭게 정의한 메서드 void show(int x) { System.out.println("Child show : " + x); } } public class Main { public static void main(String[] args) { Parent p = new Child(); // 업캐스팅으로 생성된 객체 p // p는 참조 타입이 Parent이고, 생성은 Child 생성자에 의해 생성된 객체이다 p.show(); // p.show() -> Child에 없는 메서드 -> Parent에서 해당 메서드 호출 p.show(1); // p.show(1) -> Child에만 있는 메서드 -> 참조 타입이 Parent이기 때문에 컴파일 에러 발생 } } p.show()는 Parent 클래스에서 정의된 메서드 show()를 호출하지만, p.show(1)는 Child 클래스에서만 정의된(Parent 클래스에는 없는) 메서드이기 때문에, 참조 타입에 따라 컴파일 에러가 발생하는 것 같습니다. 아직 제가 업캐스팅을 잘 이해하지 못해서 그런지, 업캐스팅이 없으면 안되는 경우를 제가 모르기 때문인지, 업캐스팅의 이점을 잘 모르겠습니다. 사실 저 경우도 단순히 Child 타입으로 p를 만들었다면 문제 없이 넘어가는 경우이고, 두 번째 자식 클래스의 메서드에서 오버라이딩을 진행한 경우에도 업캐스팅을 사용해야 하나?라는 의문이 들었습니다. class Parent { void show() { System.out.println("Parent show"); } } class Child extends Parent { void show() { System.out.println("Child show"); } void show(int x) { System.out.println("Child show : " + x); } } public class Main { public static void main(String[] args) { Child p = new Child(); p.show(); p.show(1); } } 업캐스팅을 단순히 정처기 실기를 통과하기 위한 하나의 주제로 보는 상황이라 이런 문제가 벌어지는 것 같습니다...ㅠㅠ 혹시 개발 과정에서 업캐스팅이 없으면 안 되는 경우(저처럼 그냥 타입을 Child로 바꿔버리면 안 되는 경우 등)에 대한 예시가 있을까요?? 다양한 문제 상황을 주셔서 여러 고민을 할 수 있는 것 같습니다. 항상 질 높은 강의 감사드립니다!

  • python
  • java
  • c
  • 정보처리기사
김민규 댓글 2 좋아요 0 조회수 108

자바 중급 1편 String클래스 문제와 풀이 1, 5번문제

미해결

김영한의 실전 자바 - 중급 1편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 자바 중급 1편 String클래스 문제와 풀이 1에 5번째 indexOf와 substring을 조합해서 hello.txt 의 파일 명과 확장자 부분을 분리하는 문제입니다. package lang.string.test; public class TestString5 { public static void main(String[] args) { String str = "hello.txt"; String ext = ".txt"; int index = str.indexOf(ext); String fileName = str.substring(0, 5); System.out.println("fileName = " + fileName); System.out.println("extName = " + ext); } } 제 코드 package lang.string.test; public class TestString5 { public static void main(String[] args) { String str = "hello.txt"; String ext = ".txt"; int extIndex = str.indexOf(ext); String filename = str.substring(0, extIndex); String extName = str.substring(extIndex); System.out.println("filename = " + filename); System.out.println("extName = " + extName); } } 정답 코드 위 코드가 제가 작성한거고 아래 코드가 pdf교재의 정답입니다. 선생님과 코드는 다르지만 같은 결과가 나왔습니다. 제가 궁금한 건 선생님처럼 코드 작성을 하면 더 좋은 부분이 있나요? 혹은 제가 작성한 코드가 결과는 같지만 어떠한 문제가 있는 게 아닐까 싶어서 질문 남겨봅니다. 단순한 호기심입니다!

  • java
  • 객체지향
keoung ko 댓글 1 좋아요 0 조회수 88

Lottie사용 관련

해결됨

(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>

콘솔창에 Lottie 관련으로 경고 메시지 같은게 뜨는데 해당 내용은 어떻게 해야 해결할 수 있나요? 혹시페이지에 문제가 생기지는 않는건가요? 문서를 봐도 무슨 말인지 모르겠네요. componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details. * Move data fetching code or side effects to componentDidUpdate. * Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run npx react-codemod rename-unsafe-lifecycles in your project source folder. Please update the following components: Lottie2

  • react
  • aws
  • Google-Analytics
  • cloudflare
  • adsense
  • 수익화
댓글 2 좋아요 0 조회수 110

App.tsx에서 Icon을 못가지고 오는 오류..('VectorIcons' could not be found ~)

해결됨

[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스

왜인지 모르게 npm install로 npm install --save @react-native-vector-icons/fontawesome5이런식으로 설치를 해주고 나서 import FontAwesome5 from '@react-native-vector-icons/fontawesome5'; 을 하면 icon을 가지고 오지 못해서 [runtime not ready]: Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'VectorIcons' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes, stack: invariant@2200:25~ 위에와 같은 오류가 발생합니다,,, font가 제대로 카피되지 않아서 벌어지는 일 같아용,,, 그래서 여러가지 시도해본 결과 다른거 할 필요없이 import FontAwesome5 from '@react-native-vector-icons/fontawesome5'; 이런식으로 Icon이 아니라 FontAwesome5를 해주니까 되더라구요,,? 그런 후에 다시 import Icon from '@react-native-vector-icons/fontawesome5'; 이렇게 Icon으로 해주니까 font들이 제대로 카피가 되더라구요,,? 위에 사진처럼 복사되면 제대로 된거죠? (Icon 잘 나옵니다,,) 혹시 바로 import Icon했을때는 왜 안된건지 아실까요?

  • javascript
  • react
  • node.js
  • react-native
  • typescript
김라영 댓글 3 좋아요 0 조회수 200

hello-spring 프로젝트 생성후 인텔리제이에서 가져오는처음부터 에러가 발생합니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니요 비슷한내용은 있으나 문제가 다릅니다. 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 오류메시지는 다음과 같으며 이미 1.8버젼으로 설정이 되어있는데 오류메시지가 출력됩니다.

  • java
  • spring
  • mvc
  • spring-boot
타릭 댓글 1 좋아요 0 조회수 175

2차원 배열-리팩토링2 강의중에 질문

해결됨

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 8분47초 강의 중에 구조 개선- 값 입력 강의하시는중에 배열 선언을 최적화 하기위해서 이중for문 이용해서 변수i선언해서 푸는법 알려주셨는데요! 혹시 밑에있는 이중 for문에 arr[row][column] =i++; 추가해서 컴파일하면 값은 똑같이 나오는데 이렇게 코딩하는것이 더 효율적인거 아닌가해서 문의드립니다! package array; public class ArrayDi2 { public static void main(String[] args) { int[][] arr = new int[2][3]; //row 는 행,열은 coulmn int i=1; for (int row = 0; row < arr.length; row++) { for (int column = 0; column < arr[row].length; column++) { arr[row][column]= i++; System.out.print(arr[row][column] + " "); } System.out.println(); } } } 이 코드요!

  • java
  • 객체지향
박준혁 댓글 1 좋아요 0 조회수 113

에러가 떠요

미해결

처음 만난 리액트(React)

git에 있는 chapter 03에 있는 거 그대로 copy 하고 index.js 수행 해도 아래와 같은 오류가 떠요.. 버전은 16이구요.. 어디가 잘 못 된걸까요? Cannot read properties of undefined (reading 'S') TypeError: Cannot read properties of undefined (reading 'S') at http://localhost:3001/static/js/bundle.js:19184:56 at ./node_modules/react-dom/cjs/react-dom-client.development.js ( http://localhost:3001/static/js/bundle.js:20831:2 ) at options.factory ( http://localhost:3001/static/js/bundle.js:29391:31 ) at __webpack_require__ ( http://localhost:3001/static/js/bundle.js:28833:32 ) at fn ( http://localhost:3001/static/js/bundle.js:29050:21 ) at ./node_modules/react-dom/client.js ( http://localhost:3001/static/js/bundle.js:21060:20 ) at options.factory ( http://localhost:3001/static/js/bundle.js:29391:31 ) at __webpack_require__ ( http://localhost:3001/static/js/bundle.js:28833:32 ) at fn ( http://localhost:3001/static/js/bundle.js:29050:21 ) at ./src/index.js ( http://localhost:3001/static/js/bundle.js:28617:74 )

  • HTML/CSS
  • javascript
  • react
반짝이는 거북이 댓글 3 좋아요 1 조회수 252

4분 40초 상속과 생성자 연쇄 호출 문제

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

A s2=new B('Y') 구문 부분이 명확히 이해가 안되어 질문드립니다. 아래에 쓴 해석이 맞는지 확인 부탁드립니다. 해석) A s2=new B('Y') 가 생성되었을 때, 상속의 원칙으로 부모의 기본 생성자를 호출해야되나 B(char x)의 첫줄에 this()로 인해 자신의 클래스[B class]의 기본 생성자[B()]가 호출되며, 기본생성자의 출력구문이 모두 종료된 후 다시 B(char x)으로 돌아와 남은 출력 구문을 실행하고 종료. 헷갈리는 부분이 있어 다른 질문도 드립니다. 1. B(char x)의 this로 인해 자신의 기본 생성자인 B()를 실행했을 때 super()가 없었어도 A클래스의 기본생성자를 호출하고 B클래스의 기본 생성자를 호출한 뒤 B(char x)의 출력구문을 실행한다. -> 이게 맞다면 왜 super()가 없었어도 A클래스의 기본생성자를 호출되는지? 그리고, 만약 A클래스에 기본 생성자가 없었다면 출력이 어떻게 되는지 궁금합니다. 2. B(char x)에 this가 없었다면 부모의 기본 생성자가 호출이 되고 다시 돌아와 출력문이 실행되는지 궁금합니다. 3. main에서 생성자가 생성이 될 때마다 생성자에 명시적으로 super나 this가 없다면 부모의 기본 생성자가 호출이 되는지 궁금합니다 -> main에서 업케스팅 형태로 생성1 생성2 생성3 ... 인 경우에서 생성부분에 파라미터가 있든 없든 명시적으로 super나 this가 없다면 각각 실행마다 부모의 기본 생성자가 실행이 되는지 적다보니 질문이 많이 생겼습니다.. 확인 부탁드립니다 감사합니다!

  • java
뿐뿐 댓글 2 좋아요 0 조회수 121

iOS설정에 오류가 있는 것 같습니닷,,(info.plist 설정 오류)

해결됨

[2025] 비전공자도 가능한 React Native 앱 개발 마스터클래스

강의 설명에서는 아래 사진처럼 되어져 있는데 -> false의 위치가 틀렸어요 이게 맞습니다(아래 사진) 아마 1번 사진처럼 하면, Info.plist오류라고 뜨면서 앱이 실행이 안됩니다! 2번 사진처럼 붙여넣어주셔야 합니다,, 제대로 설정되면 Info.plist를 Property List로 열었을때 오류 없이 잘 열릴꺼에요(1번 처럼하면 PropertyList 안열림) 열려서 Fonts provided by application에 추가한 폰트들이 잘 들어가져있다면 잘 설치된거에요~ cf1) 이렇게 했는데 갑자기 잘 안된다면 podfile제거하고 다시 설치해보세용 cd ios pod deintegrate pod install 이렇게 하시면 되용 cf2) 만약에 No script URL provided. Make sure the packager is running or you have embedded a JS bundle in your application bundle. unsanitizedScriptURLString = (null) 이런 에러가 뜨면 터미널로 가서 npm start해주면 됩니다.. 저처럼 헷갈리시는 분들이 있을까봐 남겨용 학습에 관련된 질문만 해주세요. 질문은 상세하게 무엇이 궁금한지 작성해주세요. 질문은 '마크다운'을 사용하여 할 수 있습니다. 유사한 질문이 있었는지 살펴보고 질문 해주세요. 부담갖지 말고 강의에서 궁금하신 점 전부 질문해주세요 :)

  • javascript
  • react
  • node.js
  • react-native
  • typescript
김라영 댓글 2 좋아요 0 조회수 380

Parallel Routes시 default.tsx 와 page.tsx의 차이가 궁금합니다.

미해결

Next + React Query로 SNS 서비스 만들기

해당 강좌 default.tsx에서 기본 페이지로 사용시킬때 default.tsx를 처리해두고 빈페이지를 구성하는 형태를 사용하는 예제를 따라서 진행해보았는데요. 여기서 궁금한점이 page.tsx를 @modal에 하나더 유지시키고 return null 처리를 하는 컴포넌트를 두어도 똑같이 동작은 되는데, default.tsx 를 좀 더 권장하는 이유가 있을까요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
Sol. Dawin 댓글 2 좋아요 0 조회수 182

요청 메모화와 데이터 캐시에 대해 제가 이해한 것이 맞는지 궁금합니다

해결됨

Next + React Query로 SNS 서비스 만들기

아래가 제가 이해한 내용인데 맞을까요? 요청 메모화 ssr 요청 사이클 내 에서만 페치 결과를 캐싱하여 중복 요청 방지 (한 서버 요청 사이클 끝나면 초기화) 예를들어 Home컴포넌트와 자식 컴포넌트인 Header 컴포넌트에서 렌더링 시 에 동일한 요청을 날렸다면 Home컴포넌트의 요청이 캐싱되고 Header 컴포넌트의 요청은 캐싱된 값 사용 데이터 캐시 한 ssr 요청 사이클 내 뿐만 아니라 서버에 전역적으로 유지되는 캐시 요청 메모화와 다르게 서버 요청 끝나도 초기화되지 않고 지속됨 즉, 여러 클라이언트 요청 간에도 유지됨 A가 먼저 페이지 요청 → 백엔드에 요청 후 넥스트 서버에 데이터 캐싱 B가 같은 페이지 요청 → 백엔드 요청 없이 넥스트 서버 캐시에서 데이터 반환 결론 즉, 요청 메모화는 렌더링 최적화 , 데이터 캐시는 네트워크 요청 절약 을 위한 것

  • react
  • next.js
  • react-query
  • next-auth
  • msw
10rlatkdtn 댓글 1 좋아요 2 조회수 160

인기 태그

인프런 TOP Writers

주간 인기글