React로 개발 후 Nignx로 배포 할 경우, Dockerfile의 멀티 스테이지를 이용하면 Docker 이미지 용량을 줄일 수 있다.를Node.js는 React 앱을 빌드할 때 필요한데, 배포 단계에서는 빌드 후 생성된 결과물만 필요하므로, Node.js가 필요없어진다. # Step 1: Build (빌드 단계)FROM node:18 AS builder # Node.js 환경을 builder라는 이름으로 설정WORKDIR /app # 작업 디렉토리 설정COPY package*.json ./ # package.json 복사RUN npm install # 의존성 설치COPY . . ..

1. 브레이크 포인트란?- 디버깅할 때 코드의 특정 지점에서 프로그램 실행을 멈추게 하는 표시 1) 브레이크 포인트가 왜 필요할까?- 문제의 원인을 정확히 찾기 위해- 변수 값이 예상한 대로 변하는지 상태 확인- 코드가 의도한 순서대로 실행되는지 코드 흐름 이해 2) 브레이크 포인트를 잘 잡는 법- 에러 발생 직전 위치에 설정- 중요한 조건문 앞에 설정- 함수의 시작 부분에 설정 : 함수의 인자 값이나 초기상태를 확인하고 싶을 때- 변수 값이 바뀌는 부분에 설정- 에러 메시지와 관련있는 부분에 설정 3) 팁- 처음부터 너무 많은 브레이크 포인트를 걸지 말고, 문제와 관련된 부분에만 선택적으로 설정- 브레이크 포인트를 걸고 하나씩 확인하면서 점점 좁혀나가기 4) vscode에서 브레이크포인트 설정하는 법*..
에이전트 구동 시간이 너무 오래걸려, 디버그를 위해 쿼리 파라미터를 추가해, 해당 파라미터가 있을 경우에는 에이전트를 호출하지 않고 사전에 정의해둔 데이터를 반환하게 했다. 1. type형식- FastAPI에서는 쿼리 파라미터는 문자열(str)로 전달됨- debug=True라고 해도, debug는 "True"문자열일 가능성이 있음@router.post("/cafe")async def get_cafes( user_input: TravelPlanRequest, prompt: Optional[str], debug: Optional[bool] = False, # 기본값 False redis_client: Redis = Depends(get_redis)): if str(debug).l..
1. redis 연결import redis# Redis 클라이언트 생성r = redis.Redis(host='localhost', port=6379, db=0)# 연결 테스트print(r.ping()) # True가 출력되면 정상 연결 2. 문자열 데이터1) 저장: setr.set("mykey", "hello")2) 조회: get- get은 바이트 데이터를 반환해, decode("utf-8")로 문자열 변환value = r.get("mykey")print(value.decode("utf-8")) # hello3) 데이터 삭제: delr.delete("mykey")4) 만료 시간 설정: expirer.set("temp", "temporary")r.expire("temp", 10) # temp 키를 1..
카페를 추천해주는 멀티 에이전트를 구현했는데, 자료를 검색하고 선택을 하는 과정이 많지만, 마지막에 추천해주는 결과만 저장하기가 아까웠다. 그래서 에이전트를 중간에 나눠서 그동안 찾은 자료들을 redis에 저장하기로 했다.Redis는 Set & Tag 구조를 사용할 수 있어서 다중 키워드 검색이 용이하다. 1. Redis의 Set이 SQL보다 빠른 이유1) MySQL과 같은 관계형 데이터베이스에서는 WHERE 조건을 만족하는 행을 찾기 위해 테이블을 조회해야 한다.조건이 여러개(OR)일 경우, 테이블 전체를 스캔할 수 도 있어, 데이터가 많아질수록 성능 저하가 일어날 수 있다.O(n)이상2) Set은 해시 테이블을 기반으로 동작하기 때문에, 특정 키를 검색할 때 O(n) 이하의 속도를 가진다. 2. My..
redis는 기본적으로 Linux에 설치하지만, Microsoft에서 제공하는 설치 파일을 통해서도 설치 가능하다.하지만 버전은 16년 버전...(redis 3.0버전..)나는 python에서 reids를 쓰고 싶었다.pip install redis를 하면 최신 버전인 5.2.1의 redis-py가 설치된다. 지원하는 redis 버전은 5.0이상. https://pypi.org/project/redis/어차피 배포할때는 ubuntu환경에서 하기도 하고, docker-desktop을 설치할때 WSL도 설치했어서 Microsoft배포용 윈도우 reids버전(3.0)대신 윈도우 내에서 wsl을 사용해 Linux 환경에서 Redis를 설치했다.https://learn.microsoft.com/ko-kr/wind..
1. Redis와 키워드로 장소 찾기- 예: 홍대에 있는 조용한 카페 정보를 저장하고 싶을 때,1) 장소 정보(카페 이름, 위치 등)2) 카페 관련 키워드 (홍대, 조용한 카페, 데이트 장소 등) 2. 어떻게 저장할까?- Redis에 키워드를 여러 개 저장해서, 조건에 맞는 카페를 쉽게 찾아낼 수 있다.- 구현 예시: 카페A를 "홍대", "조용한 카페", "데이트 장소" 키워드와 연결해 등록, "홍대"키워드로 저장된 카페를 찾음import redisimport json# Redis 연결redis_client = redis.Redis(host="localhost", port=6379, db=0)# 카페 정보를 저장하는 함수def save_place_with_keywords(place_name, place_..
1. Redis란?- Remote Dictionary Server, 오픈 소스 인메모리 데이터 저장소- 주로 캐싱, 세션 관리, 실시간 데이터 처리 등에 사용된다- 키-값(key-Value) 구조를 기반으로 하며, 빠른 성능과 다양한 데이터 구조를 지원 2. 왜 Redis를 사용 할까?1) 빠른 성능- 데이터를 메모리(RAM)에 저장하기 때문에 디스크 기반 데이터베이스(MySQL, PostgreSQL 등)보다 훨씬 빠르게 읽고 쓸 수 있다.- 평균 마이크로초(㎲) 단위 응답 속도로, 초당 수십만 건 이상의 요청을 처리할 수 있다. 2) 다양한 데이터 구조 지원- 단순한 key-value 뿐만 아니라 list, Set, Sorted Set, Hash, Bitmap, hyperLogLog 같은 자료 구조를 ..
- Total
- Today
- Yesterday
- 줄넘기
- C언어
- llm
- 영어회화
- 스크랩
- opic
- 습관
- IH
- 다이어트
- 오픽
- SQL
- ChatGPT
- 기초
- 오블완
- 뉴스
- 아침
- 실기
- 갓생
- 경제
- 티스토리챌린지
- 루틴
- 빅데이터 분석기사
- 30분
- 프로그래머스
- 미라클모닝
- Python
- 고득점 Kit
- 운동
- Ai
- 아침운동
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |