안녕하세요. 더 유익하고 본질적인 지식 콘텐츠로 많은 가치를 드릴 수 있도록 노력하겠습니다.
AI DT 전문 개발사 (주)하이퍼이지 대표이사
M사 금융 AI 모델 개발 및 총괄
(사)한국정보통신네트워크협회 AI분과기술위원
前 P사 DT Simulation SW 개발 총괄
前 시리즈 A 스타트업 기술 팀장
前 대기업 소프트웨어 엔지니어링 기술 용역 다수
前 소프트웨어 공학 온/오프라인 교육 다수 (스타트업, GS리테일, 삼성 등)
문의사항, 추가질문, 집필, 강의제안 ==> endupfree@gmail.com
강의
수강평
- 탄탄한 백엔드 NestJS, 기초부터 심화까지
- 한 번에 끝내는 AI 에이전트 개발 올인원 (w. CrewAI, LangGraph, Google ADK)
- 한 번에 끝내는 AI 에이전트 개발 올인원 (w. CrewAI, LangGraph, Google ADK)
게시글
질문&답변
대규모 크롤링 시 동시 요청 수 제어 방법
안녕하세요 좋은 질문 감사합니다.인프런 AI 인턴도 말해주긴 했지만, asyncio.Semaphore를 사용하는게 더 안전하게 크롤링할 수 있는 방어코드 입니다. Semaphore은 특정 개수만큼만 '허가'를 내주고 허가를 받은 코루틴만 특정 작업을 수행할 수 있도록 하는 장치입니다. 사실 근데 Semaphore 설정보다도 더 중요한게, 각 요청 사이에 sleep을 주는게 좋습니다.await asyncio.sleep(0.5) 이런 식으로 시간 텀을 적절하게 주는 방식도 많이 사용하구요. 저는 실무에서 크롤링 할때 sleep을 0.5에서 1.5 사이로 랜덤하게 주면서 각 요청마다 sleep을 주면서 하는 편입니다.+동시 요청 수에 대한 수준은 사실 크롤링 대상 웹 서버 마다 전부 다 달라서 적절하게 판단하여 결정하는게 좋습니다.
- 0
- 2
- 20
질문&답변
DTO에 대한 질문
안녕하세요! DTO 뿐만 아니라 Schema에서도 검사 진행 하는 것을 보여드리고자 해서 보여드린 것입니다!실제로 실무에서 엄격하고 방어적으로 코드를 짠다면 둘 다 씁니다. 형식적, 표면적(validatable) 제약은 DTO 영속성, 무결성 제약(DB 레벨)은 Schema/DB 이렇게 하면 중복처럼 보여도 방어적 설계(Defense in depth)가 되어 실수나 우회 입력에 안전합니다.그래서 둘 다 검증하는게 베스트라고 생각하시면 됩니다.
- 1
- 2
- 26
질문&답변
Request Scope에 대한 내용
안녕하세요!혹시 Request Scope가 구체적으로 어떤 맥락에 해당하는 것일까요?Request Scope가 내포하는 의미가 여러가지로 해석될 수 있어서요!제가 잠시 언급했었다면 해당 맥락 부분을 알려주시면 자세히 말씀 드리겠습니다.
- 0
- 2
- 10
질문&답변
백엔드 MVC에서 View의 역할은 무엇인가요?
안녕하세요 글로 남기는 것보다 영상으로 남기는게 더 나을 것 같아서 강의 보충 영상으로 남깁니다.https://inf.run/t1nQ1
- 1
- 2
- 17
질문&답변
자료가 잘못 올라왔어요
엇 그러네요 ㅠㅠ 감사합니다!!
- 1
- 1
- 33
질문&답변
Firecrawl의 search()에 integration 인자 전달시 TypeError: unexpected keyword argument 'integration'
안녕하세요 좋은 질문 감사합니다.말씀 주신대로 과거 firecrawl 버전에서 해당 옵션을 반드시 붙여야 동작했었는데, (메타정보로 firecrawl에서 기록 용도 & 과거 버전에는 에이전트 프레임워크 표준화가 안되어 있어서 일부 프레임워크를 위해 넘겨주는 선택적 파라미터) 저도 지금 다시 확인해 보니, 해당 파라미터 붙이는걸 제거한 것으로 확인됩니다. 현 시점으로 제거하셔도 문제 없으십니다!
- 0
- 1
- 41
질문&답변
4강, 환경설치에서 에러가 발생합니다.
안녕하세요. uv --version 했을때 버전이 잘나온다면, uv 문제는 아닙니다. 에러 메시지를 보니, 저희 프로젝트에서 사용하는 crewai 패키지에서 순수 파이썬 뿐만 아니라 C++ 빌드 도구를 사용하는데, 보통은 윈도우에 설치가 되어 있는데, 이게 깔리지 않아서 발생한 에러인 것 같습니다.우선 다운 받아주셨다고 했는데 아래 순서대로 다시 재설치 해주시는 것을 권장드립니다.계속 안되면 uv.lock을 삭제해주시고 다시 uv sync를 해보시는 것도 권장드립니다. 이것도 안되면 다시 문의 부탁드립니다.Visual Studio Installer 다운로드에러 메시지에 나온 링크 https://visualstudio.microsoft.com/visual-cpp-build-tools/ 로 접속하세요.'Build Tools 다운로드' 버튼을 눌러 설치 프로그램을 받습니다.필요한 워크로드 선택 및 설치다운로드한 vs_BuildTools.exe 파일을 실행하면 Visual Studio Installer가 뜹니다.'워크로드' 탭에서 'C++를 사용한 데스크톱 개발 (Desktop development with C++)' 항목을 체크하고 오른쪽 하단의 '설치' 버튼을 누릅니다.다른 옵션들은 굳이 선택하지 않아도 됩니다. C++ 컴파일러 및 관련 도구들만 설치하면 됩니다.PC 재부팅설치가 완료되면 환경 변수 등이 시스템에 완전히 적용되도록 PC를 재부팅하는 것이 좋습니다.uv sync 재시도재부팅 후, 다시 프로젝트 폴더로 돌아와서 터미널에 아래 명령어를 실행합니다.
- 0
- 2
- 52
질문&답변
추가 업데이트 관련 건
안녕하세요! 해당 부분은 조금 더 개선해서 다른 프로젝트로 업데이트 될 예정입니다.OpenAI API 말고 Gemini API 사용 예정이며, 디스코드 말고 직접 인터페이스 개발으로 진행할 계획이며, 추가 강의로 업데이트 될 예정입니다. 업데이트 시점은 아직은 일자를 확정할 수는 없으나, 올해 안으로는 반드시 출시 예정입니다. 해당 강의는 보충 강의이며 본 강의에 핵심적인 콘텐츠가 수록되어 있으니, 참고하시면 좋을 것 같습니다.
- 0
- 2
- 33
질문&답변
nest js 버전문제
안녕하세요! 프로젝트 전체 폴더 압축해서 올려드리면 제가 문제 원인 확인해보겠습니다.
- 0
- 2
- 34
질문&답변
cpu 연산
먼저 두 가지 개념에 대해 한 번 더 정리하고 설명드리겠습니다.병렬성(Parallelism)병렬성은 두 개 이상의 작업이 실제로 동시에 실행되는 상황.주로 여러 코어를 가진 CPU나 GPU에서 볼 수 있음.각 코어는 독립적으로 작업을 수행할 수 있으므로, 여러 작업을 동시에 실행할 수 있음.동시성(Concurrency)동시성은 두 개 이상의 작업이 동시에 발생하는 것처럼 보이는 상황.실제로는 이러한 작업들이 빠르게 번갈아 가며 실행되는 것이지만, 사용자는 이러한 작업들이 동시에 진행되는 것처럼 느낌.예를 들어, 단일 코어 CPU에서 운영체제는 여러 프로세스나 스레드를 관리하며, 각 작업이 동시에 실행되는 것처럼 보이게 할 수 있음. 이는 각 작업을 빠르게 전환하며 CPU 시간을 분할하는 것으로 가능. 이미지 처리 작업으로 예시를 들어보면, 동시성의 경우, CPU는 이미지의 한 픽셀을 처리한 후 다음 픽셀로 넘어가며, 이를 빠르게 반복합니다. 이는 각 픽셀이 동시에 처리되는 것처럼 보이지만, 실제로는 각 픽셀이 순차적으로 처리됩니다. 반면에 병렬성의 경우, 여러 코어를 가진 CPU나 GPU는 이미지의 여러 픽셀을 동시에 처리할 수 있습니다. 각 코어는 다른 픽셀을 독립적으로 처리하기 때문에, 실제로 여러 작업이 동시에 수행됩니다.동시성, 병렬성 내용 자체가 사실 정말 어려운 개념입니다 ㅎㅎ 강의 내용을 반복해 보시면서, 컴퓨터 공학, 운영체제 쪽으로 깊게 공부하고 싶으시면,쉽게 배우는 운영체제 - YES24 이 책을 빌려서 가볍게 읽어 보시는 것을 추천드립니다. (단순하게 그냥 추천 드리는게 아니라, 저도 직접 읽어봤습니다 ㅎㅎ)추가적으로 궁금하신 내용 있으시면 질문해주세요!
- 0
- 1
- 349