안녕하세요, 강사님. 이제 강의를 신청하고 본격적으로 수업을 들으려고 합니다 제가 현재 리눅스(페도라) 버전 노트북과 Window 버전 데스크탑을 이용 중인데, 혹시 리눅스로도 해당 강의를 따라갈 수 있을까요? (첫 개발이라 좀 더 쉬운 환경에서 작업하고 싶기는 합니다!) 제가 주로 카페나 외부에서 혼자 노트북으로 작업하는 일이 많아서 리눅스로도 해당 강의 내용을 충실히 이행할 수 있는지 여쭤보고 싶어서 문의 남겼습니다. 답변 부탁드리겠습니다:> 아, 그리고 좋은 강의 만들어주셔서 감사합니다!
수익형 AI 강의 들으면서 다 설치한 상태인데, 나만의 RAG 시스템 강의 따라가려고 하니 수익형 AI 강의에서는 설치하지 않았던 docker desktop 을 이번 강의에서는 초반에 설치를 하던데, 그대로 하면 될까요? docker desktop 설치한다고 해서 기존에 해뒀던거에 영향이 가진 않겠지요?
안녕하세요, 강의에서 훅( useState , useEffect ) 사용 규칙과 내부 동작 원리를 공부하다가 궁금한 점이 있어 질문드립니다. React는 훅을 순서 기반 으로 관리한다고 배웠습니다. 그래서 다음과 같은 규칙이 있는 걸로 알고 있습니다: 훅은 컴포넌트 최상위에서만 호출 해야 한다. 조건문, 반복문, 중첩 함수 안에서 훅을 호출하면 안 된다. 이와 관련해 궁금한 점은 다음과 같습니다: 개발하다 보면 상태가 많아지고 상태마다 핸들러도 많아지게 되어 코드가 길어지게 됩니다. 그러다 보니 소스코드를 한눈에 파악하기 어려워지는 것 같습니다. 실무에서는 상태별로 핸들러를 묶어서 작성하는 패턴을 많이 쓰나요? 예를 들어: const [count, setCount] = useState(0); const handleChangeCount = () => { ... }; const [name, setName] = useState(''); const handleChangeName = () => { ... }; 이런 방식으로도 구현을 하시는지, 아니면 useState는 최상단에서 묶어 관리하고 handler는 handler끼리 useEffect는 useEffect 끼리 작성하는 것이 일반적인지 궁금합니다.
안녕하십니까 훌륭하신 강병진님! 질문이 있어서 글 남깁니다! 저는 현재 교내 학교 문서를 RAG를 만들어서 정보를 얻는 것을 구현하던 중입니다. 우선 개인 학생 성적, 수강 데이터들로 교내 졸업 요건을 파악하는 그래프를 구현 하던 중에 정확도 향상을 고민하던 중 조언을 듣고 싶습니다! 현재 '21학번 컴퓨터공학과 졸업요건 알려줘' 라고 임베딩 검색을 할때 k값을 3으로 할때는 다른 학과 정보까지 같이 나옵니다. 그래서 k값을 1로 하면 딱 컴퓨터 공학과에 맞는 정보들만 주지만 공통 졸업 요건 부분들을 파악하지 못합니다. 결국 학교 문서상으로 llm이 판단하려면 공용 졸업요건 + 개별 학과 졸업요건 정보가 같이 주어져야지 잘 판단하는 거 같습니다. 그래서 생각한 방법이 쿼리가 오면 그걸 기반으로 공통 졸업 요건 파악하는 노드, 개별 학과 졸업 요건 파악하는 노드를 만들어서 그걸 generate노드로 줌 데이터 전처리 과정에서 임베딩 할 때 청크를 학과 별로 나눈다음에 메타데이터로 학과 이름을 넣어주고 하나의 retrieve로 k값의 갯수를 늘림 이 정도 방법이 생각나는데 이러한 접근이 올바른지 혹은 더 적절한 방법이 있는지 궁금합니다. 참고 사항입니다!) 현재 구현 그래프 동작은 다음과 같습니다 엔트포인트 호출시 해당 학생 id값으로 db쿼리로 학생 성적 받아와서 성적 리스트와 쿼리를 상태로 가짐. 유저 쿼리로 벡터db invoke값을 context로 담고 generate에서 쿼리, 성적 리스트, 컨텍스트 정보로 llm이 판단 (model: gpt-5-mini) 글 읽어주셔서 감사합니다!!
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
초기 세팅에서 "yarn start:dev"실행 시, Nest 앱이 포트 listen까지 잘 되어 '/' path 요청 시 'Hello World!' 문자열을 잘 응답하는 것을 확인했습니다. 하지만 app.module.ts에 타입 ORM 정보를 넣은 후, import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { TypeOrmModule } from '@nestjs/typeorm'; @Module({ imports: [ TypeOrmModule.forRoot({ type: 'postgres', host: '127.0.0.1', port: 5432, username: 'postgres', password: 'postgres', database: 'typeormstudy', entities: [], synchronize: true, }), ], controllers: [AppController], providers: [AppService], }) export class AppModule {} 실행을 시키면 다음에서 그냥 멈추어 버립니다. [Nest] 21556 - 2025. 11. 16. 오후 11:55:25 LOG [NestFactory] Starting Nest application... [Nest] 21556 - 2025. 11. 16. 오후 11:55:26 LOG [InstanceLoader] TypeOrmModule dependencies initialized +1036ms [Nest] 21556 - 2025. 11. 16. 오후 11:55:26 LOG [InstanceLoader] AppModule dependencies initialized +0ms 왜 타입ORM 설정을 하니 Nest 앱이 3000 포트에서 실행을 하지 못하고 멈추는지 원인을 못 찾겠네요 ㅠ 그래서 [RoutesResolver] 로그가 찍히지 않습니다. cf_sns 프로젝트에서는 잘 넘어갔는데, typeorm study 부분에서 이렇게 막히네요; 딱히 차이는 없는데 이유를 모르겠습니다 ㅠ
OpenAI를 활용한 나만의 AI 에이전트 만들기 (Agent Builder, GPT-5, Chatkit, Cloudflare, MCP, Fine Tuning, CoT 등)
https://platform.openai.com/chat/edit?models=gpt-5-nano 여기에서 tools > add 선택, MCP Server를 선택하면, Add Connector 팝업이 뜨는데, 계속 무한로딩되면서 화면에 아무것도 뜨지가 않습니다. 검색해보니 맥os는 시스템설정 > 보안에 가면 MCP관련해서 설정을 열어줘야 한다는데 관련 내용도 보이질 않네요. 혹시 무엇이 문제일까요? ==> 다음날 어떤 작업도 하지 않았는데 저절로 해결이 되었습니다. 어떤 이유로 해결되었는지 모르겠습니다.
안녕하세요. 좋은 강의 감사합니다! 26. 클래스와 스타일을 다루는 가장 강력한 방법 – classList, style, 그리고 리플로우까지 에서 인라인 스타일로 스타일을 바꾸면 리플로우/리페인트가 자주 발생할 수 있어 성능에도 안 좋을 수 있다고 설명하셨는데요. 예시로 들어주신 코드에서는 어차피 자바스크립트 엔진이 싱글 스레드라 클래스든 인라인 스타일이든 모두 반영된 후에, 리플로우/리페인트가 발생하기 때문에 성능적으로는 유의미한 차이가 없을 것 같은데요. 좀 더 구체적인 설명을 해주실 수 있을까요? ChatGPT 답변도 같이 첨부합니다. https://chatgpt.com/share/69181628-34d0-8007-8e81-02401c649370
그랩님, 강의 잘 듣고 있습니다. 다름이 아니라 궁금한 사항( =에러 해결방법 ) 이 필요해서 글을 남기게 되었습니다. 101강 에서 Axios 에러(400) 가 안드로이드 스튜디오 에뮬레이터에서 발생 하고 이어 아래의 추가 사진2 에서 보시다시피 502 Bad Gateway가 발생 하여 어떻게 해결 할 수 있는지 에 대해 알고 싶어서 질문 드립니다. 일단 101강 처음부터 ~ 4분 52초까지 그랩님께서 작성하신 소스코드를 똑같이 작성 후 결과 를 보려하는데, 농구공 그림 (세부사항:판매자:그랩,가격,상품명등등) 이 나오지 않아 서 이것을 어떻게 하면 그랩님과 같은 결과를 볼 수 있을지에 대해 여쭈어봅니다. 사진 1 첨부 : 판매되는 상품들 밑에 100강만 들었을 시에 농구공 화면이 잘 나왔으나 101강 4분 52초까지 의 내용의 소스코드를 입력 후 결과값 보면 400 에러도 발생하고 농구공도 안나오게 됩니다. 어떻게 해야 하나요? 사진 2 첨부 : ngrok http 8080후 진행 하면, 아래와 같이 502 Bad Gateway라고 뜨는데, 이 에러 의미와 무엇이 잘못된건지 그리고 어떻게 해결 해야 하는지 답변 주시면 좋겠습니다. 이어서 중간에 아래 사진 과 같은 절차 를 겪었었는데요, 필요할 것 같아 참고 로 스샷을 첨부합니다. axios 설치 후 grab-market-mobile에서 npm start하니 다른 프로세스에의해 포트 8081이 사용 되고 있는데 8082 포트를 대신 쓸거냐는 질문 에서 y or n 하라는데 y하게 되었는데요 , 이 다음에 어떻게 해야 그랩님 강의와 똑같이 잘 작동할 수 있을까요? 더불어서 또 다른 에러가 발생하는데요, 또 다른 에러는 cmd에서 ngrok http 8080 입력 후 포워딩 주소 를 크롬브라우저에 복사 후 붙여넣으면 , 이전 밑에 질문에서는 정상 작동되었으나 지금 은 아래와 같이 바뀐 에러 가 발생 하였습니다. 해결법을 모르기에 아래에 사진을 첨부합니다. 꼭 답변 부탁 드립니다. 그랩님의 답변 부탁 드립니다.
안녕하세요. 목차를 살펴보다가 이상한 점을 발견해서 문의합니다. (책 맨 앞의 목차가 아니라 "목차 메뉴"의 출력이 이상해서 문의합니다.) 저는 알라딘에서 전차잭으로 구매했는데 홈페이지 상세 페이지에서는 순서가 제대로 잘 나와있는 것 같은데... 제 전자책에서는 목차가 이상하게 출력됩니다. 챕터10 -> 파트4(300페이지) 챕터14~17까지 순서대로 나오다가 -> 챕터 11~13까지 나옵니다. 이건 해당 구매처로 문의해야 하는 걸까요?
그랩님, 강의 잘 듣고 있습니다. 다름이 아니라 궁금한 사항( =에러 해결방법 ) 이 필요해서 글을 남기게 되었습니다. 101강 에서 Axios 에러(400) 가 안드로이드 스튜디오 에뮬레이터에서 발생 하고 이어 아래의 추가 사진2 에서 보시다시피 502 Bad Gateway가 발생 하여 어떻게 해결 할 수 있는지 에 대해 알고 싶어서 질문 드립니다. 일단 101강 처음부터 ~ 4분 52초까지 그랩님께서 작성하신 소스코드를 똑같이 작성 후 결과 를 보려하는데, 농구공 그림 (세부사항:판매자:그랩,가격,상품명등등) 이 나오지 않아 서 이것을 어떻게 하면 그랩님과 같은 결과를 볼 수 있을지에 대해 여쭈어봅니다. 사진 1 첨부 : 판매되는 상품들 밑에 100강만 들었을 시에 농구공 화면이 잘 나왔으나 101강 4분 52초까지 의 내용의 소스코드를 입력 후 결과값 보면 400 에러도 발생하고 농구공도 안나오게 됩니다. 어떻게 해야 하나요? 사진 2 첨부 : ngrok http 8080후 진행 하면, 아래와 같이 502 Bad Gateway라고 뜨는데, 이 에러 의미와 무엇이 잘못된건지 그리고 어떻게 해결 해야 하는지 답변 주시면 좋겠습니다. 그랩님의 답변을 기다립니다.
완전 초보를 위한 N8N 설치부터 셀프호스팅까지_DOCKER 실습편 입니다. GIHUB 에서 NVIDIA GPU 유저로 복사해서 설치 하려고 하는데.. 세번째 줄 docker compose --profile gpu-nvidia up을 복사하고 엔터를 치면 아래와 같이 나옵니다. C:\N8N\self-hosted-ai-starter-kit>docker compose --profile gpu-nvidia up time="2025-11-13T13:12:52+09:00" level=warning msg="The \"POSTGRES_USER\" variable is not set. Defaulting to a blank string." time="2025-11-13T13:12:52+09:00" level=warning msg="The \"POSTGRES_PASSWORD\" variable is not set. Defaulting to a blank string." time="2025-11-13T13:12:52+09:00" level=warning msg="The \"POSTGRES_USER\" variable is not set. Defaulting to a blank string." time="2025-11-13T13:12:52+09:00" level=warning msg="The \"POSTGRES_PASSWORD\" variable is not set. Defaulting to a blank string." time="2025-11-13T13:12:52+09:00" level=warning msg="The \"POSTGRES_USER\" variable is not set. Defaulting to a blank string." time="2025-11-13T13:12:52+09:00" level=warning msg="The \"POSTGRES_DB\" variable is not set. Defaulting to a blank string." time="2025-11-13T13:12:52+09:00" level=warning msg="The \"POSTGRES_USER\" variable is not set. Defaulting to a blank string." time="2025-11-13T13:12:52+09:00" level=warning msg="The \"POSTGRES_PASSWORD\" variable is not set. Defaulting to a blank string." env file C:\N8N\self-hosted-ai-starter-kit\.env not found: CreateFile C:\N8N\self-hosted-ai-starter-kit\.env: The system cannot find the file specified.
자바스크립트는 싱글 스레드 언어라고 알고 있습니다. 자바스크립트 자체적으로 실행하지 못하고 Node나 브라우저에서 실행해야 되는데 브라우저에서 실행할 경우 선생님께서 가르쳐주신 콜스택, Callback Queue, WebpAPI 모듈이 EventLoop를 통해 멀티스레드처럼 동작한다고 이해했습니다. 여기서 질문이 있는데요. SetTimeout에서의 콜백이 WEB API에게 던져놓고 시킬 때, 싱글스레드 녀석은 CallStack에서 일한다고 바쁜데 언제 SetTimeout 콜백을 처리하나요? WEB APIs가 콜백을 따로 처리한다는 건 또 다른 스레드가 존재한다는 의미인가요? 그러면 싱글스레드인척하는 멀티스레드인셈인가요?? ㅎㅎ;