inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

2.4 생성된 답변을 여러번 검증하는 Self-RAG 강의 에서 질문드립니다.

미해결

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

답변이 hallucinated인지 판별하는 노드에서 max_tokens를 100으로 설정했을 때는 올바르게 판단이 됐습니다. 그렇다면, 답변의 길이가 너무 길어서 모델이 hallucination 여부를 제대로 판별하지 못했다고 보신 건가요? 다만 이런 경우라면, 답변의 길이를 조정하기보다는 hallucination 여부를 판별하는 모델 자체를 조정하는 게 더 적절하지 않을까요? 실무 환경에서도 이런 상황이 발생할 수 있을 것 같은데, 보통은 답변 생성 모델을 판별 모델에 맞추는 게 일반적인지, 아니면 판별 모델을 답변 생성 모델에 맞추는 게 더 낫다고 보는지 궁금합니다.

  • 프롬프트엔지니어링
  • llm
  • ai-agent
  • langgraph
  • mcp
  • 카카오공채-개발
한유림 댓글 2 좋아요 0 조회수 106

10.3강 React.memo와 컴포넌트 렌더링 최적화 질문

미해결

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

export default memo(TodoItem, (preProps, nextProps) => { if (preProps.id !== nextProps.id) return false; if (preProps.isDone !== nextProps.isDone) return false; if (preProps.content !== nextProps.content) return false; if (preProps.date !== nextProps.date) return false; return true; } 사실상 isDone 빼고 바뀌는 게 없으니 if 부분 지울 수도 있나요? 아니면 위험한가요?

  • javascript
  • react
  • node.js
  • 카카오공채-개발
donghun Kang 댓글 2 좋아요 0 조회수 79

논리적 삭제 적용시 INDEX 생성 전략

해결됨

실전! 데이터베이스 완전정복 [설계편]

안녕하세요 논리적 삭제를 위한 컬럼 적용시 해당 테이블에서 조회할때 조회 조건에 항상 deleted_at 컬럼이 포함될거 같은데요 그러면 INDEX생성에 반영해주는게 좋을까요?

  • mysql
  • dbms/rdbms
  • database
  • modeling
  • db
  • 카카오공채-개발
Joe Hidden 댓글 2 좋아요 0 조회수 149

AI agent, basic llm chain 질문

해결됨

[인프런어워드 베스트셀러] 코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드

어떤 강의에 대한 질문인지 자세하게 알려주시면 답변을 드리는데 도움이 됩니다. 스크린샷 윈도우키 + 쉬프트키 + S(윈도우) 을 자세히 첨부하시면 답변 드리는데 많은 도움이 됩니다. 동영상 재생 관련 같은 인프런 서비스 관련 문의는 1:1 문의하기를 이용해 주세요. < 17. 텔레그램으로 구현하는 음성 기반 AI 비서: 메일 확인부터 회신까지 자동화하기>강의 질문 ai agent 뒤에 언어체를 설정하는 basic llm chain을 넣어주셨는데 basic llm chain에 넣어주신 프롬프트를 다 ai agent프롬프트에 같이 넣어서 실행해도 되지 않나요? 왜 따로 basic llm chain을 추가하셨는지 궁금합니다.

  • n8n
  • 인공지능(ai)
  • rag
  • ai-활용-(ax)
  • ai-agent
  • 카카오공채-개발
  • 카카오공채-서비스
퓨쳐셀프 댓글 2 좋아요 0 조회수 84

ㅠ 업스테이지 임베딩을 못 쓰네요..

해결됨

RAG를 활용한 LLM Application 개발 (feat. LangChain)

업스테이징 임베딩에서 오픈ai쪽 _AllReturnType를 사용하는건가요?ㅠ 버전 문제 같은데, 해결 방법이 없을까요 ? --------------------------------------------------------------------------- ImportError Traceback (most recent call last) Cell In[12], line 2 1 from dotenv import load_dotenv ----> 2 from langchain_upstage import UpstageEmbeddings 4 load_dotenv() 5 embedding = UpstageEmbeddings( 6 model = "solar-embedding-1-large" 7 ) File ~/IdeaProjects/inflearn-llm-app/.venv/lib/python3.10/site-packages/langchain_upstage/__init__.py:1 ----> 1 from langchain_upstage.chat_models import ChatUpstage 2 from langchain_upstage.document_parse import UpstageDocumentParseLoader 3 from langchain_upstage.document_parse_parsers import UpstageDocumentParseParser File ~/IdeaProjects/inflearn-llm-app/.venv/lib/python3.10/site-packages/langchain_upstage/chat_models.py:43 41 from langchain_core.utils import from_env, secret_from_env 42 from langchain_core.utils.function_calling import convert_to_openai_tool ---> 43 from langchain_openai.chat_models.base import ( 44 BaseChatOpenAI, 45 _AllReturnType, 46 _convert_message_to_dict, 47 _DictOrPydantic, 48 _DictOrPydanticClass, 49 _is_pydantic_class, 50 ) 51 from pydantic import BaseModel, Field, SecretStr, model_validator 52 from tokenizers import Tokenizer ImportError: cannot import name '_AllReturnType' from 'langchain_openai.chat_models.base' (/Users/xeroman.k/IdeaProjects/inflearn-llm-app/.venv/lib/python3.10/site-packages/langchain_openai/chat_models/base.py)

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
  • 카카오공채-개발
xeroman 댓글 2 좋아요 0 조회수 191

클러스터 설정 오류

해결됨

15일간의 빅데이터 파일럿 프로젝트

안녕하세요 선생님 클러스터 설정 시 오류가 발생하여 질문 드립니다. ㅜㅜ 다른 질문 글들을 참고하여 Cluster 1 삭제 후 재설치도 해보았고, putty로 접속하여 rm -rf /dfs/nn 명령어로 디렉토리 삭제 후 cluster 재설치도 해보았는데 계속 오류가 발생합니다. 원인과 해결 방법이 있을지 문의 드립니다.. * stderr로그 일부 Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory /tmp. Name node is in safe mode. The reported blocks 0 has reached the threshold 0.9990 of total blocks 0. The number of live datanodes 0 needs an additional 1 live datanodes to reach the minimum number 1. Safe mode will be turned off automatically once the thresholds have been reached. NamenodeHostName:server01.hadoop.com at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.newSafemodeException(FSNamesystem.java:1448) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkNameNodeSafeMode(FSNamesystem.java:1435) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:3100) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.mkdirs(NameNodeRpcServer.java:1123) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.mkdirs(ClientNamenodeProtocolServerSideTranslatorPB.java:696) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:869) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:815) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2675) at org.apache.hadoop.ipc.Client.getRpcResponse(Client.java:1499) at org.apache.hadoop.ipc.Client.call(Client.java:1445) at org.apache.hadoop.ipc.Client.call(Client.java:1355) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:228) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:116) at com.sun.proxy.$Proxy9.mkdirs(Unknown Source) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.mkdirs(ClientNamenodeProtocolTranslatorPB.java:640) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:422) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:165) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:157) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:359) at com.sun.proxy.$Proxy10.mkdirs(Unknown Source) at org.apache.hadoop.hdfs.DFSClient.primitiveMkdir(DFSClient.java:2339) ... 18 more

  • 빅데이터
  • hadoop
  • kafka
  • zookeeper
  • redis
  • flume
  • impala
  • 데이터-엔지니어링
  • 카카오공채-개발
현지원 댓글 2 좋아요 0 조회수 151

혹시 강사님께 n8n 워크플로어 전체를 다운로드받아서 파일로 드려서 http request노드 3개오류 수정 및 체크를 부탁드려도 될까요?

해결됨

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

현재 CURSOR IDE로 개별 노드 다운후 수정한 후 다시 업로드 해보고 코파일럿에게 물어봐도 그대로 오류가 떠서요 근데 call blog image maker노드는 다운받아서 CURSOR IDE로 수정후 다시 업로드 했더니 완벽히 수정됬습니다.(강의를 보고 따라한 파일들인데 오류가 떠서 커서 IDE)에 물어보니 자기가 이렇게 수정했다고 하네요 (수정후 3번 그림처럼 executive workflow해보니 call blog image maker노드는 정상작동하는것도 확인되네요 그리고 그림 크기가 갑자기 정상으로 돌아왔습니다 2번째 사진 처럼요, 원래는 1번째 사진처럼 오류가 있었습니다. 그리고 워드프레스 글도 정상적으로 올라갔습니다. 이제 http request 노드 3개 오류(오류가 떴는데 워드프레스 글은 정상적으로 올라오는데 상관없을까요?)만 수정하면 됩니다.~~!! ) 1 2 바로 위가 3번 그림 아래는 제가 커서 IDE에 물어본 내용들입니다. 수정 완료 요약 a.json 파일의 오류를 성공적으로 수정했습니다! 🔧 수정된 문제들: JSON 구조 불완전 문제 : 마지막에 불필요한 쉼표와 닫는 중괄호 누락 해결 : 올바른 JSON 구조로 완성 n8n 워크플로우 구조 부족 문제 : 필수 워크플로우 속성들이 누락됨 해결 : 다음 속성들 추가: "name": "Search WEB Tool" "active": false "settings": { "executionOrder": "v1" } "id": "search-web-tool" "tags": [] ✅ 수정 결과: 이제 a.json 파일은 완전하고 유효한 n8n 워크플로우 파일입니다: JSON 구문 : 올바른 JSON 형식으로 수정됨 워크플로우 구조 : n8n에서 인식할 수 있는 완전한 구조 기능 : "Search WEB" HTTP Request Tool이 포함된 워크플로우 이 파일을 n8n에 import하면 정상적으로 작동할 것입니다. 이제 수정된 파일을 확인해보겠습니다: Read b.json 수정 완료 요약 b.json 파일의 오류를 성공적으로 수정했습니다! 🔧 수정된 문제들: JSON 구조 불완전 문제 : 마지막에 불필요한 쉼표와 닫는 중괄호 누락 해결 : 올바른 JSON 구조로 완성 n8n 워크플로우 구조 부족 문제 : 필수 워크플로우 속성들이 누락됨 해결 : 다음 속성들 추가: "name": "Search W Tool" "active": false "settings": { "executionOrder": "v1" } "id": "search-w-tool" "tags": [] ✅ 수정 결과: 이제 b.json 파일은 완전하고 유효한 n8n 워크플로우 파일입니다: JSON 구문 : 올바른 JSON 형식으로 수정됨 워크플로우 구조 : n8n에서 인식할 수 있는 완전한 구조 기능 : "Search W" HTTP Request Tool이 포함된 워크플로우 차이점 : a.json과는 다른 노드 ID ( f6fb76dc-1121-45de-af68-7f494d155945 )와 위치 ( [784, 576] )를 가짐 📝 a.json과 b.json의 차이점: 노드 이름 : a.json은 "Search WEB", b.json은 "Search W" 노드 ID : 서로 다른 고유 ID 위치 : 서로 다른 좌표 위치 워크플로우 ID : 각각 다른 워크플로우 식별자 이제 두 파일 모두 n8n에 정상적으로 import할 수 있습니다! 이제 수정된 파일을 확인해보겠습니다: Read c.json 수정 완료 요약 c.json 파일의 오류를 성공적으로 수정했습니다! 🔧 수정된 문제들: JSON 구조 불완전 문제 : 마지막에 불필요한 쉼표와 닫는 중괄호 누락 해결 : 올바른 JSON 구조로 완성 workflowInputs 비어있는 문제 문제 : workflowInputs.value 가 빈 객체 {} 로 되어있어서 이미지 생성에 필요한 데이터가 전달되지 않음 해결 : 이미지 프롬프트와 alt 텍스트를 전달하도록 수정 "workflowInputs" : { "mappingMode" : "defineBelow" , "value" : { "image_prompt" : "={{ $json.image_prompt }}" , "image_alt" : "={{ $json.image_alt }}" } } n8n 워크플로우 구조 부족 문제 : 필수 워크플로우 속성들이 누락됨 해결 : 다음 속성들 추가: "name": "Blog Image Maker Caller" "active": false "settings": { "executionOrder": "v1" } "id": "blog-image-maker-caller" "tags": [] ✅ 수정 결과: 이제 c.json 파일은 완전하고 유효한 n8n 워크플로우 파일입니다: JSON 구문 : 올바른 JSON 형식으로 수정됨 워크플로우 구조 : n8n에서 인식할 수 있는 완전한 구조 기능 : "Blog-Image-Maker" 워크플로우를 호출하는 executeWorkflow 노드 데이터 전달 : 이미지 프롬프트와 alt 텍스트가 올바르게 전달됨 📝 세 파일 비교: a.json : "Search WEB" HTTP Request Tool b.json : "Search W" HTTP Request Tool c.json : "Call 'Blog-Image-Maker'" Execute Workflow 노드 이제 세 파일 모두 n8n에 정상적으로 import하고 사용할 수 있습니다! 🎉

  • docker
  • n8n
  • 인공지능(ai)
  • 프롬프트엔지니어링
  • ai-활용-(ax)
  • 카카오공채-개발
1분 1minute 댓글 2 좋아요 0 조회수 128

현재 http request 3개 노드에서 전부 이런에러가 뜨네요. 해결방법이 있을까요?

해결됨

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

Gateway timed out - perhaps try again later? { "errorMessage": "Gateway timed out - perhaps try again later?", "errorDetails": {}, "n8nDetails": { "time": "2025. 10. 5. 오후 3:49:44", "n8nVersion": "1.110.1 (Self Hosted)", "binaryDataMode": "filesystem" } }

  • docker
  • n8n
  • 인공지능(ai)
  • 프롬프트엔지니어링
  • ai-활용-(ax)
  • 카카오공채-개발
1분 1minute 댓글 2 좋아요 0 조회수 164

MCP 강의 따라하다보니 n8n에서 MCP 클로드로 연결이 안됨

미해결

노코드 자동화 입문부터 실전까지: n8n 완전정복 (한국 최초 n8n 앰버서더 직강)

문제 / 오류 / 질문에 대해 설명해 주세요 n8n에서 MCP 클로드로 연결이 안되요. 하단의 첨부된 이미지 같이 오류가 발생됩니다. 오류 메시지가 있다면 작성해 주세요 사용 중인 워크플로우를 공유해 주세요 n8n 설치 정보 안내 n8n 버전: 데이터베이스 종류 (기본값: SQLite): n8n 실행 프로세스 설정 (기본값: own, main): n8n 실행 방식 (예: Docker, npm, n8n cloud, 데스크탑 앱 등):Docker 운영 체제:윈도우10

  • 업무-생산성
  • n8n
  • chatgpt
  • llm
  • 카카오공채-개발
  • 카카오공채-서비스
나무지기 댓글 3 좋아요 0 조회수 466

'서비스 개발자를 위한 Kafka 쉽고 깊게 알기' 학습자료 오류

해결됨

카카오 면접관과 함께하는 워크플로우 기반의 대용량 트래픽 처리 기법

자료를 다운로드 하면, 윈도우에서는 대부분의 압축파일 내에 파일이 없다고 나옵니다. Mac에서 작업하셔서 그런 것 같은데 확인 부탁드립니다.

  • spring
  • kotlin
  • mysql
  • kafka
  • EDA
  • 카카오공채-개발
수박 댓글 3 좋아요 0 조회수 167

openai 사용하면서부터 할당량 초과했다고 나오네요.

해결됨

한시간으로 끝내는 LangChain 기본기

RateLimitError: Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. For more information on this error, read the docs: https://platform.openai.com/docs/guides/error-codes/api-errors .', 'type': 'insufficient_quota', 'param': None, 'code': 'insufficient_quota'}} 무료계정이라 할당량 초과로 뜨는 거 같은데요.

  • 프롬프트엔지니어링
  • llm
  • langchain
  • 카카오공채-개발
아라레 댓글 2 좋아요 1 조회수 536

Safety 이해

미해결

한시간으로 끝내는 LangChain 기본기

안녕하세요 Safety 체인에 대해서 이해가 잘 안가서요. 예를들어 "독도는 누구땅이냐?"는 질문으로 하고 AI가 "독도는 한국땅"이다라는 응답을 했을때 해당 답변이 할루시네이션인지 아닌지를 검증하기 위한 "독도는 한국땅이 맞아 맞으면: Yes, 틀리면: No 로 대답해줘" 라는 Safety 질문을 만들고 그거를 체인으로 연결시키라는걸로 이해했는데 맞을까요?

  • 프롬프트엔지니어링
  • llm
  • langchain
  • 카카오공채-개발
개발 까마귀 댓글 1 좋아요 0 조회수 108

upstate import 가 안됩니다.

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

--------------------------------------------------------------------------- ImportError Traceback (most recent call last) Cell In[3], line 1 ----> 1 from langchain_upstage import ChatUpstage 2 llm = ChatUpstage() File ~/Documents/dev/Langchain/devInf/.venv311/lib/python3.11/site-packages/langchain_upstage/__init__.py:1 ----> 1 from langchain_ upstage.chat _models import ChatUpstage 2 from langchain_upstage.document_parse import UpstageDocumentParseLoader 3 from langchain_upstage.document_parse_parsers import UpstageDocumentParseParser File ~/Documents/dev/Langchain/devInf/.venv311/lib/python3.11/site-packages/langchain_upstage/chat_models.py:43 41 from langchain_core.utils import from_env, secret_from_env 42 from langchain_core.utils.function_calling import convert_to_openai_tool ---> 43 from langchain_ openai.chat _models.base import ( 44 BaseChatOpenAI, 45 AllReturnType, 46 convert_message_to_dict, 47 DictOrPydantic, 48 DictOrPydanticClass, 49 is pydantic_class, 50 ) 51 from pydantic import BaseModel, Field, SecretStr, model_validator 52 from tokenizers import Tokenizer ImportError : cannot import name '_AllReturnType' from 'langchain_ openai.chat _models.base' (/Users/frair/Documents/dev/Langchain/devInf/.venv311/lib/python3.11/site-packages/langchain_openai/chat_models/ base.py ) 이런 메세지이고요 from langchain_upstage import ChatUpstage llm = ChatUpstage() 해당부분 실행시 나타납니다. 파이썬 3.11.9 버전 사용하고 있고 설치된 랭체인들을 보니 langchain_openai-0.3.34 langchain)upstage-0.7.3 버전으로 설치가 되어있기는 합니다. venv 사용하고 있고 맥os 실리콘 쓰고있습니다.

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
  • 카카오공채-개발
guri Mag 댓글 2 좋아요 0 조회수 195

n8n워크플로어 전체를 json으로 export 한후 커서 IDE를 이용해 오류 수정후 다시 import 해서 오류수정 가능한가요?

해결됨

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

사실지금까지 강의들으면서 오류나면 코파일럿에게 오류난거 보여주고 꾸역꾸역 22강까지 왔는데요 현재4가지 수정해야 할 오류가 있는데 오류1 http request 3개 오류 오류2 워드프레스 발행시 그림 크기조절 안됨 오류3 call image 노드 계속 실행 오류4 ai 불러오는 메인노트 오류 등등 앞으로도 오류가 계속있을건데 그냥 전체 워크플로어를 json코드로 만들어 export 하고 커서 ide같은 ide에 일괄 오류 수정 요청 후 다시 import 하여 오류를 수정할수 있을지 여쭤봅니다

  • docker
  • n8n
  • 인공지능(ai)
  • 프롬프트엔지니어링
  • ai-활용-(ax)
  • 카카오공채-개발
1분 1minute 댓글 2 좋아요 0 조회수 126

22강까지 강사님이 말씀하신데로 진행했는데 에러가 뜨네요(도와주세요

해결됨

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

http request 3개에서 에러뜸 api 호출 문제 createplanai에서 too many request에러 call blog image maker 나 다른 AI에서 계속로딩 되는데 워드프레스 가면 발행되있음 어렵네요~~ 코파일럿하고 물어봐서 모바텀엑스에서 하는데 해결이 안돼네요 도와주세요

  • docker
  • n8n
  • 인공지능(ai)
  • 프롬프트엔지니어링
  • ai-활용-(ax)
  • 카카오공채-개발
1분 1minute 댓글 4 좋아요 0 조회수 124

22강까지 다 들었습니다. 근데 에러가 뜨내요

해결됨

수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화

airtable에서 클러스터중 하지 않은거 yes로 바꾼다음에 executing눌렀는데요 Search Web, Search W에러 뜨고요 가운데 HTML Maker, Gemini Chat Model3는 1시간째 돌아가고 있어요 근데 워드프레스에 가보면 제가 아까 airtable에서 yes로 바꾸고 executing누른 클러스터가 이미 포스팅이 되어있고 airtable에서 포스팅완료가 되었더라고요

  • docker
  • n8n
  • 인공지능(ai)
  • 프롬프트엔지니어링
  • ai-활용-(ax)
  • 카카오공채-개발
1분 1minute 댓글 2 좋아요 0 조회수 75

wsl 관련 질문입니다.!

미해결

Airflow 마스터 클래스

https://inf.run/d2v1x 이분과 같은 증상(?)이라 해야되나 wsl로 우분투 설치시에 저도 아이디 비밀번호 입력이 없었습니다. 그래서 재부팅후 설치를 헀는데 이런게 나오네용

  • python
  • 데이터-엔지니어링
  • airflow
  • 카카오공채-개발
bbbangduk9 댓글 2 좋아요 0 조회수 119

인기 태그

인프런 TOP Writers

주간 인기글