개발 주머니쥐🐁

[LangGraph] 동일한 상태가 공유되는 랭그래프와 그래프 구성

🪵 LangChain의 한계 🪵 복잡한 작업 플로우를 설계하기 힘들다 Agent가 동적인 의사결정 중에 각 단계에서 의도하지 않은 결과가 나왔을 때, 이전 단계로 돌아가서 검색을 다시 한다거나, 답변을 다시 생성하는 플로우를 짜는게 전통적인 RAG, LangChain 만으로는 한계가 있다. LangGraph를 이용하면 재생성 플로우를 설계해...

[LangChain] Agent System 정의와 LangChain 프레임워크의 핵심 구성요소

🦙 Agent System 🦙 LLM을 추론엔진으로 사용하여 어떤 행동을 할지, 그 행동의 입력은 무엇일지 결정하는 시스템을 말한다 🎯 언어모델이 단순히 텍스트를 출력하는 것을 넘어 실제 행동을 취하게 한다. 도구를 사용하는 과정까지 LLM이 컨트롤한다. 🗿 Agent System 동작 방식 행동의 결과를 다시 Agent에 피드...

[CI_CD] (Github Actions) 확장성을 고려한 프로젝트에서 많이 쓰는 CI/CD 구축 방법

🪵 AWS CodeDeploy 🪵 서버 (EC2 인스턴스) 가 여러대여도 쉽게 배포를 할 수 있게 도와준다 ※ 무중단 배포기능도 내재되어 있어 쉽게 무중단 배포를 구현할 수 있다. AWS CodeDeploy가 EC2에 명령을 해야하는데, EC2가 해당 명령을 알아들을 수 있는 프로그램을 설치해야 한다 (codedeploy-agent) 🧙‍♂...

[CI_CD] (Github Actions) 서버 밖에서 빌드를 수행하고 빌드된 파일만 전달받는 CI/CD 구축 방법

🗿 일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법 🗿 Github Actions 안에서 빌드와 테스트를 진행하고 빌드된 파일을 전달한다 AWS EC2에서 빌드하는 것아 아닌 Github Actions에서 빌드함으로써 서버 (EC2) 의 성능에 영향을 거의 주지 않는다. 다만, 무중단 배포 구현이나 여러 EC2 인스턴스에 배포해야하는 상황...

[CI_CD] 일련의 로직을 실행시키는 기능인 Github Actions을 이용한 개인 프로젝트 CI/CD 구축 방법

🪵 CI/CD란 🪵 테스트 (Test), 통합 (Merge), 배포(Deploy)의 과정을 자동화하는 것을 말한다 새 기능을 구현한 코드가 있을 때마다, 커밋(Commit) 하고 브랜치에 머지(Merge) 해서, 서버(AWS EC2)에서 직접 매번 업데이트된 코드를 다운받아, 빌드 (Build) 하고 테스트 (Test) 해서 실행시켜주는 과정...

[자바8] 프로세스 內 실행 작업단위 스레드와 자바의 스케줄링 및 스레드 상태전이

🪵 멀티태스킹과 멀티프로세싱 🪵 OS는 스케줄링이라는 기법을 이용해 동시에 여러 작업을 수행한다 하나의 CPU 코어로 여러개의 프로그램을 동시에 실행하는 것처럼 보이게 하는 기술을 ’ 멀티태스킹 ‘이라 한다. 즉, CPU가 매우 빠르게 여러 개의 프로그램 코드를 번갈아 연산하는 것이다. ⚠️ 프로그램 실행 = CPU 연산 프로그램의 실...

[webapp] 의존성을 관리하고 빌드 프로세스를 단순하게 묘사하는 groovy기반의 gradle

빌드 자동화 도구 🐀 빌드 자동화 도구, Gradle 빌드란 실행파일을 만드는 과정을 말한다. 작업한 파일들(소스코드, 라이브러리, 이미지)을 출시하기 적합한 형태로 포장하는 일을 말한다. 압축 변환 결국 빌드란 ✨ 소스코드 파일을 컴파일한 후 여러 개의 모듈을 묶어 실행파일로 만드는 과정이다. 빌드되어 나온 결과물을 🗿 artifact...

[ts] 점진적으로 타입스크립트를 적용해 나가는 프로세스 및 프로젝트 환경 구성, 편리한 유지보수를 위한 유틸리티 타입

타입스크립트를 점진적으로 적용해 나가기 ⚔️ 타입스크립트를 점진적으로 적용해 나가기 (1) 타입스크립트 환경 구성 (2) 명시적인 any 선언 (3) 구체적인 타입 정의 (4) 외부 라이브러리 모듈화 (5) 'strict' 옵션 추가 후 타입 정의 타입스크립트 환경 구성 🥯 타입스크립트 환경 구성 typescript 라...