안녕하십니까 강사님! 덕분에 강의 너무 유익하게 잘 들었습니다! 강의 들으면서 궁금했던 점을 질문 드립니다. 1. 워크플로우와 에이전트 혹은 커스텀 도구 등 선택 기준에 대하여는 명확한 기준이 있다기보다는 성능 비교를 통해 정확도, 토큰 사용량, 시간 등 이러한 지표들을 테스트 해가며 적절한 에이전트 혹은 워크플로우로 구축하면 될까요? 아니면 사용하는 호출 모델을 이해하여 그 모델에 맡게 최적화를 해야할까요? 이러한 부분들이 강의 들으면서 궁금했습니다! 2. 학사 졸업생 및 신입으로 프롬포트 엔지니어링 등 이러한 분야로 취업 준비를 한다면 기업들이 원하는 인재상은 어떤지도 궁금합니다! RAG기술을 어느정도 이해하고 구축하며 또 추가적으로 도움될 기술이 있는지 궁긍합니다. 수준 높은 강의를 듣게 되어 영광입니다. 앞으로도 강사님의 강의 많이 참고하겠습니다. 감사합니다!!
안녕하세요. 강의 내용이 좋아서 재밌게 잘 보고 있습니다. 피상적으로 virtual dom을 접했을때는 virtual dom과 dom을 비교하는 글들위주로 보다보니 dom은 전체를 렌더링해서 느리고 virtual dom은 일부만 조작해서 성능이 향상된다는 인식이 있었는데요. 강의를 듣다보니 virtual dom의 기능이 이런 방향과 다른결이라고 느꼈습니다. 강의에서 이해한 내용과 찾아본 지식을 종합해서 virtual dom에 대한 나름대로의 정리를 해보았는데요. 제대로 인식한 것이 맞는지 피드백이 가능할까요? dom의 렌더링과 virtual dom의 렌더링은 서로 다른 시점이고 다른 책임을 가지고 있다. virtual dom은 dom렌더링을 낚아채서 빠르게 최적화하는게 아니고 dom렌더링은 브라우저가 항상 진행하는것이다. virtual dom은 빠른호출이 아니라 개발편의성 관점으로 보아야한다. 전체 트리에서 변경된부분을 찾기 때문에 하드코딩된 것과 비교해 호출속도에 있어서 오히려 오버헤드가 있을수있다. 기존의 상태가 변경될때, 필요한 요소를 일일히 찾아서 innerHTML로 업데이트하는 과정을 virtual dom을 통해 추상화하여 제공하는것이다. 필요한부분만 업데이트하는것이 중요한것은 17.1 innerHTML and its inefficiency에서 말씀하신대로 상태유실가능성 방지를 위한것이다.
안녕하세요! human-in-the-loop에 대해서 질문드립니다. 랭그래프에서 워크플로우를 정의할 때, LLM응답 후 reivew 작업을 노드에 추가하여 human-in-the-loop를 구현할 수 있다고 이해하였습니다. 이때, LLM응답이라는 작업이 끝나지 않아도(응답이 stream으로 생성되는 도중에도) 사람이 review할 수 있도록 구현할 수 있을까요? 생성되던 응답을 일시 정지 시키고, 응답 history를 토대로 tool이나 args를 변경시킬수 있을지 궁금합니다.
안녕하세요, 제로초님. 프론트엔드 문서화 관련하여 질문을 드릴 게 있습니다. 저희 회사에서 단기간에 규모가 큰 프로젝트를 진행하다보니 AI의 도움을 빌려 만들기는 만들었는데 문서화가 제대로 되지 않은 상태입니다. 최근 한 명의 백엔드 개발자가 프론트엔드도 함께 개발을 하게 되어 문서화의 필요성을 느끼고 있는데, 문서화에 대한 경험이 없어 제로초님께 여쭤봅니다. 현재 폴더 구조는 FSD를 채택하여 개발 중입니다. 구상중인 것은 Slice 단마다 문서를 만드려고 하는데, 해당 Slice에 포함된 파일의 사용 방식(API input값, output 값 등)에 대해 작성하고, store(zustand)에 저장된 값을 적고, ui에서 필요한 정보값들에 대해서도 적어보려고 합니다. 이렇게 모든 폴더에 정리하게 된다면 못해도 50개가 넘는 문서가 만들어지게 될텐데, 괜찮은 방법인지 확신하지 못하겠네요.(현재 회사에 있는 개발자분들은 딱히 관심이 없어보이십니다ㅠ) 제로초님이라면 해당 문서에 어떤 내용을 담으실지 궁금합니다. 그리고 프로젝트 전체를 소개하는 문서에는 Tech Stack, 프로젝트 구조 이외에 어떤 항목을 넣는 것이 좋을지도 궁금합니다. 이 수업에서 배운 디자인패턴에 대해서도 작성하는 것이 좋을까요?
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
CRUD 중 DELETE 요청의 경우 어떤 기준으로 반환 타입을 정하는 게 좋을지 궁금합니다. 제가 생각하기에는 아래 두 가지 방식이 있을 것 같습니다. 강사님께서는 이러한 상황에서 어떤 기준을 표준으로 사용하시는지 궁금합니다. 1. 일관된 응답 return { success: true, data: null }; CREATE , READ , UPDATE 와 동일하게 성공 여부를 명시 하고 data 는 null 로 처리하여 응답 구조를 통일하는 방식입니다. 이렇게 하면 프론트엔드에서 일관된 형태로 응답을 처리 할 수 있을 것 같습니다. 2. HTTP 표준 준수 (204 No Content) @HttpCode(204) 응답 본문을 따로 내려주지 않고 상태 코드만 반환 하는 방식입니다. 이 경우 RESTful 표준에 부합 하고 불필요한 네트워크 비용을 줄일 수 있을 것 같습니다. 다만 프론트엔드에서는 응답 본문이 없어 분기 처리가 필요 할 수도 있을 것 같습니다. 이 두 가지 방식 중에서 실무에서는 어떤 기준으로 선택하시는지 또는 프로젝트 성격에 따라 구분하는 기준이 있을지 궁금합니다.
31강 공공데이터 API 를 사용하여 자동화하는 공부중인데요, 정부 전산센터 화재로 인해, 공공데이터 포털 접속이 되질 않아 실습을 할 수가 없네요^^ 공공데이터에 대해 관심이 많은데^^ 아쉽습니다... 실습을 하려면, 공공데이터 포털이 빨리 복구 되는 수 밖에 없겠죠?? 항상 열정적인 강의 감사드립니다..
안녕하세요 강의 잘 보고 있습니다 🙂 멀티패러다임 프로그래밍 책을 최근에 보고 더 자바스크립트 근간을 공부할 필요가 있구나 싶어서 이 강의도 듣게 되었습니다. 다름이 아니라 '함수형 자바스크립트 프로그래밍'이라는 책도 출간이 되어 있는 걸로 알고 있는데, 혹시 강의와 같은 내용일까요?
제로초님께서 강의에서 작성해주신 if문을 보면, if (!word || (word[word.length-1] === newWord[0] && newWord.length ===3 )) 입니다. ||연산자를 기준으로 첫 번째 조건이 "첫 제시어가 비어있는가"이고, 해당 조건만 true일 때도 실행이 되게됩니다. 그런데 첫 제시어의 글자수가 3보다 길거나 짧아도 게임진행이 되어버리는데 원래 의도하신건지 궁금합니다.
강사님, Vibe 코딩에 관심이 있어서 강의를 수강하고 있는데 앞부분에 알려주신 API KEY 입력 관련해서 Google AI Studio에서 API KEY 받아서 알려주신 대로 Cursor 입력해서 사용하는데,, Cursor 화면 인터페이스가 영상 촬영하신 2월달과 달라진거 같고 설명주시는 Gemini 2.0 flash도 조회가 안되는거 같은데... 현재 Cursor 환경이 달라진 걸까요? 궁금해서 문의드립니다.
안녕하세요. 10강에서 TaskMaster에서 복잡도를 사용하기 위해서 Perplexity API 를 입력해서 쓰셨는데, Cluade Code를 사용하면 자체 Provider를 사용하는 거 같은데 다른 이유가 있으신가요? https://github.com/eyaltoledano/claude-task-master/blob/main/docs/examples/claude-code-usage.md
답변이 hallucinated인지 판별하는 노드에서 max_tokens를 100으로 설정했을 때는 올바르게 판단이 됐습니다. 그렇다면, 답변의 길이가 너무 길어서 모델이 hallucination 여부를 제대로 판별하지 못했다고 보신 건가요? 다만 이런 경우라면, 답변의 길이를 조정하기보다는 hallucination 여부를 판별하는 모델 자체를 조정하는 게 더 적절하지 않을까요? 실무 환경에서도 이런 상황이 발생할 수 있을 것 같은데, 보통은 답변 생성 모델을 판별 모델에 맞추는 게 일반적인지, 아니면 판별 모델을 답변 생성 모델에 맞추는 게 더 낫다고 보는지 궁금합니다.
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 부분 지울 수도 있나요? 아니면 위험한가요?
안녕하세요, 강의 잘 듣고 있습니다. 23강에서 SearchFormView 클래스의 show 메서드 오버라이딩과 관련하여 궁금한 점이 생겨서 질문드립니다. // SearchFormView.js show(searchKeyword = "") { this.inputElement.value = searchKeyword; this.showResetButton(this.inputElement.value.length > 0); } super.show() 를 호출하지 않아도 화면이 의도대로 동작하는 것을 확인했는데요. super.show() 호출이 단순히 체이닝을 위한 호출인지 아니면 제가 놓친 다른 의도가 있는 것인지 궁금합니다.
어떤 강의에 대한 질문인지 자세하게 알려주시면 답변을 드리는데 도움이 됩니다. 스크린샷 윈도우키 + 쉬프트키 + S(윈도우) 을 자세히 첨부하시면 답변 드리는데 많은 도움이 됩니다. 동영상 재생 관련 같은 인프런 서비스 관련 문의는 1:1 문의하기를 이용해 주세요. < 17. 텔레그램으로 구현하는 음성 기반 AI 비서: 메일 확인부터 회신까지 자동화하기>강의 질문 ai agent 뒤에 언어체를 설정하는 basic llm chain을 넣어주셨는데 basic llm chain에 넣어주신 프롬프트를 다 ai agent프롬프트에 같이 넣어서 실행해도 되지 않나요? 왜 따로 basic llm chain을 추가하셨는지 궁금합니다.
저는 풀스택 주니어입니다. 특수 목적을 위해 바닐라js에서 ,document.innerHTML이나 element.remove(), element.append() 등으로 html element의 생성과 삭제가 빈번한 로직을 다루고 있습니다. 이 때 종종 브라우저 렌더링의 실행 완료에 대해 명확하게 알지 못해서 찝찝한 채로 브라우저에 렌더링 일을 시키고 있습니다. 그러던 중 이벤트 루프 관련 3개 강의(16,17,18강) 를 듣고 복습차, 17강으로 다시 돌아와서 보는 2분18초 경에 브라우저 랜더링에 대해 궁금한게 생겼습니다. 예를 들면 const mySchedule = async () => { await randeringPipelineTask(); //랜더링파이프라인 await macroTask(); // 매크로태스크(); } 으로 구성된 mySchedule 메서드가 있다고 가정하겠습니다. macroTask()는 renderingPipelineTask()의 브라우저 페인트까지 모두 완료를 확인한 후에 실행될까요? 아니면 JS엔진이라는 것은, 페인트는 브라우저에 렌더링을 해달라고 부탁까지만하고 macroTask()를 실행할까요? ('실행의 시작'과 '실행의 끝'을 나눠서 생각해서 그런지 생각하면 할수록 햇갈립니다.)