inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

"클라이언트 컴포넌트 안에, 서버 컴포넌트를 import 할 수 없다"는 주의 사항에 대해 궁금한 점이 있습니다

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요. 클라이언트 컴포넌트 안에, 서버 컴포넌트를 import 할 수 없다 라는 주의 사항에 대해 궁금한 점이 있습니다. Next.js 공식문서에는 아래와 같이 클라이언트 컴포넌트 안에 서버 컴포넌트를 직접 Import해 사용할 수 없다 고 나와 있는데요. 공식문서 강의에서 실습했을 때는, 클라이언트 컴포넌트 안에서 서버 컴포넌트가 사용되는 경우, 자동으로 클라이언트 컴포넌트로 바뀌는 것을 확인했습니다. 그렇다면, 서버 컴포넌트가 클라이언트로 바뀔 수 있는 경우는 해당 패턴을 사용해도 되는 건가요? 아래와 같이 서버 컴포넌트의 기능을 사용한다면, 에러는 나지 않지만 fetch 요청이 여러 번 되는 등, 정상적인 동작이 되지 않는 것을 확인했습니다. 이런 경우에 한해 지양하면 될까요? 결과적으로, 서버 컴포넌트가 클라이언트 컴포넌트로 바뀔 수 있는 경우, 제대로 동작하지만, 지양하자 는 것으로 이해하면 될까요? // 클라이언트 컴포넌트 "use client"; import ServerComponent from "@/components/server-component"; export default function ClientPage() { console.log("클라이언트"); return ( <div> <h1>클라이언트</h1> <ServerComponent /> </div> ); } // 서버 컴포넌트 export default async function ServerComponent() { const res = await fetch("https://jsonplaceholder.typicode.com/todos/1"); const value = await res.json(); console.log(value); return ( <h1>서버 컴포넌트</h1> ); } 감사합니다.

  • react
  • typescript
  • next.js
Gyuri Kim 댓글 2 좋아요 0 조회수 180

이전 대화 내용 기억하기

미해결

RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)

안녕하세요. 강의를 듣고 추가적으로 공부를 하려고 하는데 예를 들어 Q. 테슬라의 창업자는 누구야 A. 테슬라의 창업자는 OOO입니다. 이러한 대화 바로 다음 OOO에 관련한 추가 질문을 하려고합니다. 예시) Q. 그렇다면 그 사람에 대해서 간단하게 설명해줘. 위 질문을 하려면 LLM이 이전대화내용을 기억해야하는데 그것에 대해서 공부하려합니다. 키워드를 뭐라고 잡아야할까요?

  • python
  • 챗봇
  • llm
  • langchain
  • rag
brh1243 댓글 1 좋아요 0 조회수 183

종료 조건

해결됨

세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)

원래 상태로 돌아오기까지 4n번의 횟수가 걸린다는 것은 이해를 했습니다. 그런데 제가 처음에 생각한 종료 조건은 둘 중 하나의 큐라도 비어있게 된다면 합을 같게 만들 수 없는 경우라 생각했습니다. 그런데 시간초과가 발생하네요. 하나의 큐가 원래 상태로 돌아가기 위해서는 그 과정에서 반드시 원소가 하나도 없는 경우가 생길것이라 생각했는데 아닌건가요?

  • python
  • 코딩-테스트
  • 알고리즘
xk130 댓글 2 좋아요 0 조회수 138

빠르게 받아오는 API에 스트리밍을 사용해야 할까요?

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요! 다이나믹 페이지에서 데이터 패칭이 오래 걸리는 문제를 해결하기 위해, Next에서 임시로 로딩 UI를 보여주고, 추후 패칭이 완료되면 스트리밍으로 업데이트하는 것으로 이해했습니다. 로딩 UI는 데이터 패칭이 느릴 때 유용하지만, 패칭이 빠른 경우 오히려 깜빡거리는 느낌이 들어 사용자 경험 측면에서 안 좋을 수 있다고 느꼈습니다. 물론 제가 생각했을 때 가장 베스트는 API 속도를 측정하여 특정 시간 이상인 경우에 스트리밍 기술을 적용하고, 그 외에는 안하는 것이 좋다고 생각을 했지만, 측정하기도 힘들 뿐더러, 사용자 네트워크도 신경을 써야 하기 때문에 이러한 방법은 어렵다고 생각을 했습니다. 이러한 문제에서 강사님의 생각을 듣고 싶어 질문드리게 되었습니다.

  • react
  • typescript
  • next.js
qjatjs123123 댓글 2 좋아요 0 조회수 127

윈도우에서 cmd + shift +I 해도 안되는데요 ㅠㅠ

해결됨

3시간 만에 끝내는 Cursor 완벽 가이드

윈도우에서 cmd + shift +I 해도 안되는데요 ㅠㅠ 혹 유료기능인가요

  • react
  • next.js
  • cursor
  • 인공지능(ai)
Ming 댓글 4 좋아요 0 조회수 328

맥os환경에서 아무리해도 인터프리터가 보이지 않아요.

미해결

초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지

계속해서 인터프리터를 찾지 못해서 루트 경로에 .vscode폴더를 만들고 settings.json파일을 생성후, { "python.defaultInterpreterPath": "${workspaceFolder}/ch02_env/bin/python" } 해당 코드를 넣어 강제로 인식하게 했는데, 인터프리터 인식이 되었습니다..

  • python
  • 챗봇
  • streamlit
  • openai
  • chatgpt
커닝시티1채널에주니어발록 댓글 1 좋아요 0 조회수 172

DBeaver로 supabase connection해보기

미해결

Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)

Database Settings에서 Connection parameters의 Host 주소를 복사하려고하는데 Connection parameters 자체가 안보이는데 어떻게 하면 좋을까요 ??

  • react
  • 클론코딩
  • next.js
  • supabase
댓글 2 좋아요 0 조회수 453

클라이언트 라우터 캐시에 레이아웃 말고 JS Bundle은 캐싱이 안될까요?

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요! 클라이언트 라우터 캐시 기능에 대해 궁금증이 있어서 질문합니다. 클라이언트 라우터 캐시에 공통적으로 쓰이고 변하지 않는? 레이아웃들을 캐싱한다고 이해했습니다. 제가 궁금한 것은 RSC Payload는 수시로 바뀔 수 있을 것 같아 라우터 캐시에 저장하기 어렵겠지만, JS Bundle은 클라이언트 컴포넌트들로 구성되어 있다면 변하지 않으므로 캐싱해도 되지 않을까 생각을 해봤습니다.

  • react
  • typescript
  • next.js
qjatjs123123 댓글 2 좋아요 0 조회수 117

풀 라우트 캐시 이후 JS Bundle, RSC Payload도 불러오는지 궁금합니다.

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요! 풀 라우트 캐시 이후 JS Bundle, RSC Payload도 불러오는지 궁금해서 질문해봅니다. Next Link를 통해 페이지를 교체할 때, Next 서버는 JS Bundle과 RSC Payload를 클라이언트로 전송하고, 클라이언트는 이를 적절히 결합하여 페이지를 렌더링하는 것으로 이해했습니다. 만약 초기 접속 시 풀 라우트 캐시되어 있는 static html를 불러온 이후, JS Bundle, RSC Payload도 불러오는지 궁금합니다. 그리고 초기 접속 시 다이나믹 페이지 또한 html을 불러온 이후, JS Bundle, RSC Payload도 불러오는지 궁금합니다. 제 생각은 불러올 것 같지만, 확실히 알면 좋을 것 같아서 질문드려봅니다.

  • react
  • typescript
  • next.js
qjatjs123123 댓글 2 좋아요 0 조회수 132

9:30질문있습니다

해결됨

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

9:30질문있습니다 코드는 항상 메인부터 보고 출력순서를봤는데 이 문제는 main이 실행 되기도 전에 생기는 오류인 걸까요?

  • python
  • java
  • c
  • 정보처리기사
피로한 염소 댓글 2 좋아요 0 조회수 105

build할 때 type오류에 대한 질문이 있습니다.

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요! build할 때 계속해서 type 오류가 발생하여 질문 드립니다. 현재 page.tsx에는 아래와 같이 작성되어 있습니다. import BookItem from "@/components/book-item"; import { BookData } from "@/types"; export default async function Page({ searchParams, }: { searchParams: { q?: string; }; }) { const response = await fetch( `${process.env.NEXT_PUBLIC_API_SERVER_URL}/book/search?q=${searchParams.q}` ); if (!response.ok) { return <div>오류가 발생했습니다...</div>; } const books: BookData[] = await response.json(); return ( <div> {books.map((book) => ( <BookItem key={book.id} {...book} /> ))} </div> ); } 근데 여기서 build를 하면 아래와 같은 에러가 발생합니다. .next/types/app/(with-searchbar)/search/page.ts:34:29 Type error: Type 'Props' does not satisfy the constraint 'PageProps'. Types of property 'searchParams' are incompatible. Type 'Record<string, string | string[]> | undefined' is not assignable to type 'Promise<any> | undefined'. Type 'Record<string, string | string[]>' is missing the following properties from type 'Promise<any>': then, catch, finally, [Symbol.toStringTag] 32 | 33 | // Check the prop type of the entry function > 34 | checkFields<Diff<PageProps, FirstArg<TEntry['default']>, 'default'>>() | ^ 35 | 36 | // Check the arguments and return type of the generateMetadata function 37 | if ('generateMetadata' in entry) { Next.js build worker exited with code: 1 and signal: null 사실 gpt를 이용하여 받은 코드로 작성해보면 에러를 해결할 수는 있는데 이게 근본적인 해결 방법인지 잘 모르겠고, gpt가 작성한 코드가 잘 이해가 되지 않습니다. 우선 gpt에서 받은 답변은 아래와 같습니다. import BookItem from "@/components/book-item"; import { BookData } from "@/types"; export default async function Page({ searchParams }: any) { const qRaw = searchParams?.q; const q = Array.isArray(qRaw) ? qRaw[0] : qRaw ?? ""; const response = await fetch( `${process.env.NEXT_PUBLIC_API_SERVER_URL}/book/search?q=${encodeURIComponent(q)}` ); if (!response.ok) { return <div>오류가 발생했습니다...</div>; } const books: BookData[] = await response.json(); return ( <div> {books.map((book) => ( <BookItem key={book.id} {...book} /> ))} </div> ); } 이렇게 하면 해결은 되긴합니다. 다만 왜 해결이 되는 건지 이해가 잘 되지 않아서 그런데 왜 자꾸 build할 때 type 오류가 발생하는지 알려주시면 감사드리겠습니다!

  • react
  • typescript
  • next.js
khhan1990 댓글 2 좋아요 0 조회수 314

404에러 문의드립니다

해결됨

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

버튼눌러서 게시글 조회하면 404에러뜨는데 뭐가 문제인지 알 수 있을까요?

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
댓글 2 좋아요 0 조회수 123

7:10

해결됨

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

자식클래스 호출전에 부모클래스 먼저 호출된다했는데 출력값 둘쨋줄은 자식클래스의 기본 생성자인데 따로 호출한적이 없는데 왜 호출 되는건가요?? 그리고 부모클래스 기본생성자의 출력 시점은 eCar.star();를 호출할때 출력되는건가요?

  • python
  • java
  • c
  • 정보처리기사
피로한 염소 댓글 2 좋아요 0 조회수 107

tailwindcss 오류관련 문의 드립니다 ㅠㅠ

해결됨

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

버젼이 달라서인지.. CNA 했을 때 tailwind.config.js 파일이 없었습니다. 강의에서는 원래부터 존재하던데.. 그래서 어떻게어떻게 추가를 했는데. Error: It looks like you're trying to use tailwindcss directly as a PostCSS plugin. The PostCSS plugin has moved to a separate package, so to continue using Tailwind CSS with PostCSS you'll need to install @tailwindcss/postcss and update your PostCSS configuration. 라는 에러가 끝나지를 않네요 ㅠ GPT한테 열심히 물어봤는데 도저히 해결이 안돼서 문의드립니다. 밑은 제가 설정해둔 코드입니다. tailwind.config.js /** @type {import('tailwindcss').Config} */ module.exports = { content: [ "./src/**/*.{js,ts,jsx,tsx,html,css}", // 필요한 파일들 포함 "./app/**/*.{js,ts,jsx,tsx}", // Next.js의 `app` 폴더 추가 "./components/**/*.{js,ts,jsx,tsx}", // 컴포넌트 폴더 추가 ], theme: { extend: { colors: { 철수가좋아하는색깔: "#3498db", // 나만의 부트스트랩 만들기 영희가좋아하는색깔: "green", }, }, }, plugins: [], }; postcss.config.js module.exports = { plugins: { tailwindcss: {}, autoprefixer: {}, }, }; globals.css /* @import "tailwindcss"; */ @tailwind base; @tailwind components; @tailwind utilities; 로 해도 안되고, @import "tailwindcss"; 도 안됩니다...

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

re-rank score 관련 아래 질문입니다.

미해결

RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)

학습 관련 질문이 있으시면, 상세하게 남겨주세요. 문제가 발생한 부분의 코드를 함께 올려주세요. 수업 영상 몇 분/초 구간인지 알려주세요.

  • python
  • 챗봇
  • llm
  • langchain
  • rag
정영수 댓글 1 좋아요 0 조회수 104

미해결

RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)

from langchain.retrievers.document_compressors import DocumentCompressorPipeline from langchain_community.document_transformers import EmbeddingsRedundantFilter # 중복 문서 제거 redundant_filter = EmbeddingsRedundantFilter(embeddings=embeddings_model) # 쿼리와 관련성이 높은 문서만 필터링 relevant_filter = EmbeddingsFilter(embeddings=embeddings_model, similarity_threshold=0.5) # Re-ranking re_ranker = LLMListwiseRerank.from_llm(llm, top_n=2) pipeline_compressor = DocumentCompressorPipeline( transformers=[redundant_filter, relevant_filter, re_ranker] ) pipeline_compression_retriever = ContextualCompressionRetriever( base_compressor=pipeline_compressor, base_retriever=chroma_db.as_retriever() ) question = "테슬라 회장은 누구인가요?" compressed_docs = pipeline_compression_retriever.invoke(question) print(f"쿼리: {question}") print("검색 결과:") for doc in compressed_docs: print(f"- {doc.page_content} [출처: {doc.metadata['source']}]") print("-"*100) print() `(4) DocumentCompressorPipeline` - 여러 압축기를 순차적으로 결합하는 방식 - BaseDocumentTransformers를 추가하여, 문서를 더 작은 조각으로 나누거나 중복 문서를 제거하는 등의 작업도 가능 여기에서 result = chain.invoke() 로 받아서 result의 데이터를 보면, context = result['context'][i] query_similarity_score = context.state['query_similarity_score'] 이렇게 similarity_score 처럼 rerank score같은거 보고싶은데, # 크로스 인코더를 사용하여 유사성 점수를 계산합니다. sentence_pairs = [[query, prediction]] similarity_scores = cross_encoder_model.predict(sentence_pairs) 이런식으로 계산을 해야하나요? 추출하고 싶은데 방법을 잘 모르겠습니다.

  • python
  • 챗봇
  • llm
  • langchain
  • rag
정영수 댓글 1 좋아요 0 조회수 100

갑자기 정적페이지 크롤링

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 갑자기 선수강의에 없었던 정적페이지크롤링 파일이 나오는데 이건 어떻게 해야 하나요. 어디서 참고해야 하나요

  • python
  • 웹-크롤링
ajh7457 댓글 1 좋아요 0 조회수 100

저도 tailwind.config.js 가 없네요..

해결됨

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

이거 관련해서 한번 정리해주시면 좋을거같습니다. ㅠㅠ 인터넷에서 찾아보고 gpt한테도 물어봤는데 해결방법을 못찾겠네요.

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
jihun6548 댓글 2 좋아요 0 조회수 538

리액트 라우터 관련

미해결

따라하며 배우는 리액트 A-Z[19버전 반영]

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 리액트 학습 중에 궁금한 게 있어서 질문드려요. 기본 path 가 아닌 라우트로 바로 접속을 할때, html을 받으면 라우팅이 이뤄지구 useeffect로 api 요청이 가면서 페이지 렌더링이 이뤄지는건가요?

  • react
  • redux
  • tdd
  • typescript
  • next.js
  • 소프트웨어-테스트
Sohyeon 댓글 1 좋아요 0 조회수 129

getPostRecommend() tags 속성 사용

미해결

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

getPostRecommend() 함수 내부에서 tags : ['post', 'recommends'] 로 설정이 되어있는데, queryClient.prefetch 함수나, useQuery 함수의 queryKey와 항상 동일하게 일치시켜야 하나요? 불러온 데이터를 캐싱할 경우, react-query에서만 관리를 키를 관리해도 되지 않을까요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
그린티라떼 댓글 2 좋아요 0 조회수 102

인기 태그

인프런 TOP Writers

주간 인기글