블로그 챌린지 방에서 프로젝트 관리와 관련해 질문이 나온 김에 캡스톤 프로젝트가 어떻게 관리되고 있는지 작성해본다.(약간의 사견들이 포함됨.) 추후에 블챌 출석 관리 방식도 따로 다루어보겠다. 현재 캡스톤 팀은 개발 2명 + 아트 2명으로 구성된 4인팀이다. 여기서 기획/디자인팀은 예경님이, 개발팀은 내가 전담하고 있어 개발쪽 프로젝트 관리는 다소… 내 방식대로 운영중이다…(ㅎㅎ)전체적인 프로젝트 관리는 예경님과 함께했던 박쥐피플 팀에서의 협업 경험과, 회사에서 배운 실무적인 프로젝트 관리 방식들을 바탕으로 조금씩 다듬었다. 프로젝트 관리 도구💬 카카오톡 – 빠른 전달용🎧 디스코드 – 회의실 및 실시간 작업 기록 용🗂️ 노션 – 문서 및 아이디어 정리, 공고 업로드 용📊 구글 스프레드시트 – 공용..
책임 분산형 구조 제안안procedural 방식의 패턴 생성(1)에서 새로운 이미지 생성과 렌더링 구조를 제안했다. 구조 요약서버패턴 타입 선택, 랜덤 파라미터 생성, 렌더링 알고리즘(JS 코드 등) 제공클라이언트받은 알고리즘과 파라미터로 실시간 이미지 렌더링 수행아티스트패턴 템플릿(노드 기반)을 설계하거나, 결과물을 조정해 피드백 제공 p5.js 도입 예제p5.js 도입새로운 구조를 검증하기 위해서, 빠르게 시각화 가능한 프레임워크로 p5.js를 도입했다. p5.js는 노드 에디터를 직접 지원하지 않고 코드를 수동으로 작성하여 만들어야 하지만, 아래의 이유로 채택하게 되었다.노드 파싱 과정이 필요없어 pattern function 작성하여 바로 테스트 가능WebGL 기반이며 웹 브라우저에서 바로 렌더..
서버 아키텍처와 LLM 통합 구조현재 서버는 DB, Redis, MQ, WebSocket 등의 주요 기능을 AppContext 기반으로 통합 관리하고, 서비스 로직에서는 이를 유틸리티 레이어를 통해 일관되게 호출하는 구조를 채택하고 있다.웹소켓 테스트 등 시연화면에서 사용된 LLM 기능은 컨텍스트 외부에서 개별 함수로 처리되어 단순 일회성 호출로 구현되어 있었다.특히 AI 서버의 요구사항 중 "알고리즘은 교체 가능해야한다"를 충족하기 위해서, LLM 기능을 기존 서버 아키텍처의 원칙(DI, IoC)에 따라 통합하고 모듈화하는 형태로 설계할 필요가 있었다.또한 AI 개발자가 전체 서버 구조를 처음부터 끝까지 이해하지 않더라도 LLM 관련 모듈만 파악하면 즉시 작업에 투입될 수 있도록 인터페이스 형태로 구조..
20250723 아웃라인 바탕으로 내용 작성 완료함LLM 테스트 자동화 도구 기획LLM 테스트를 하자기획단계에서 “그래서 LLM으로 무엇을 할 수 있지?”에 대한 답이 필요했다. 이를 확인하기 위해 실제 시나리오상에서의 성능, 품질, 응답 특성 등을 체계적으로 측정하고 분석가능한 형태로 기록해야 했다.초기에는 개인용 PC에 Ollama를 설치하거나 GPT와 같은 온라인 AI 서비스를 활용해 수작업으로 실험을 진행했다. 프롬프트와 이에 대한 응답 결과는 실험자가 직접 입력 및 복사하였으며, 응답의 특성이나 품질에 대한 평가를 함께 수기로 기록하는 방식으로 이루어졌다.당연하게도! 이러한 방식은 한계가 있다. 1. 반복과 비교가 어렵다동일한 조건의 실험을 다시 수행하거나 모델 간 결과를 비교하기 어렵다. 2...
uvicorn path.to.main:app --reload --host 0.0.0.0 --port 8000API 문서 접속 경로기본 접근 URL http://localhost:8000문서 타입 URLSwagger UI (기본): http://localhost:8000/docsReDoc (간결 스타일): http://localhost:8000/redocOpenAPI JSON (스펙 파일): http://localhost:8000/openapi.json
5월 28일자 회의에서 발표한 내용을 바탕으로 재구성함.이미지 생성하기… 어케해이미지를 생성해서 보여주는 방법에 대해 2가지 방법을 구상했다. 1. 이미지 생성 diffusion model을 사용한다. (이하 AI 방식)LLM을 통해 가공된 프롬프트를 diffusion model에 전달해 이미지를 출력하는 방법이다. 가장 다양한 형태의 이미지를 생성할 수 있고, 하이퀄리티를 쉽게 뽑을 수 있다. 다만, AI를 전담으로 하는 개발자가 없는 상황에서 당장 이미지 생성 모델을 도입하기에는 부담이 있다. 2. procedural 한 방식으로 이미지를 생성한다. (이하 procedural 방식)3D 모델링 분야에서 모델링과 텍스처링에서 사용하는 방법을 차용한 것으로, 흔히 노드 에디터에서 절차지향적 방식이 사용된..
window 에서 rabbitmq 실행 시 아래와 같은 에러 발생할 경우 2024-12-12 12:05:42.435000+09:00 [warning] Using RABBITMQ_ADVANCED_CONFIG_FILE: path/to/AppData/Roaming/RabbitMQ/advanced.config2024-12-12 12:05:43.607000+09:00 [error] 2024-12-12 12:05:43.607000+09:00 [error] BOOT FAILED2024-12-12 12:05:43.607000+09:00 [error] ===========2024-12-12 12:05:43.607000+09:00 [error] ERROR: could not bind to distribution p..
script : main.pycwd : 작업 위치interpreter : 실행하고자 하는 python을 interpreter로 지정cwd가 interpreter 경로에 영향을 미칠 수 있으니 주의venv 안의 /bin/python 경로로 사용{ "apps": [ { "name": "name", "script": "main.py", "cwd": "/path/to/cwd", "interpreter": "path/to/python/env/bin/python", } ]}
logging.StreamHandler가 기본적으로 stderr를 사용하기 때문에 pm2에서 error.log에 기록됨StreamHandler의 stream을 명시적으로 sys.stdout으로 설정해야함. logging.handlers — Logging handlers
자세한 내용은 추후 작성 예정... 다음주에는 투두리스트 대신 설명글로 바까오겄습니다. 대신에 pm2 관련 메모를 일일기록에서 꺼내와서 옮겼고 비공개 해두었던 https://wavicle.tistory.com/6 작업노트를 완성해서 올렸습니다. 그리고 팀원들이 ollama 설치를 헷갈려해서 빠른시일내로 설치 방법을 쪄와야 할 듯. 250528 회의에서 시연한 내용 동영상과 27-28일 작업 내역 아키텍처 그림에서 빨간색으로 표시한 부분을 (기능적으로) 다 만들었다고 보면 된다. 물론 패킷 설계를 하지 않았기 때문에(아직도) 기능상 구현이 완료되었고, 실제 통신 규격에 맞추는 작업을 해야 한다. redis와 mysql에 저장하는 부분도 핸들러와 유틸이 있기 때문에 기능적으로는 완성이긴 한데, 현재 상태로는..