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 같은 자료 구조를 ..

1. crewai는 output은 pydantic을 지원하지만 input은 pydantic을 지원하지 않는다. 2. Custome Tool 생성시 Pydantic 문제- Pydantic 모델( BaseTool을 상속 )에서는 클래스 변수를 명시적으로 선언해야한다.- 에러 발생 코드 def __init__(self): self.unique_places = {} # placeId를 추적하기 위한 딕셔너리- 클래스 레벨에서 필드 정의
1. 배포 전 Docker 이미지 실행 후 테스트해보기1) DockerFile build 하기 (이미지 이름 뒤에 띄어쓰기 후 온점 꼭 넣기)docker build -t 이미지이름설정 .2) docker 실행하기- rm: 테스트 후 이미지 자동으로 삭제하고 싶을때 입력docker run --rm -p 8000:8000 이미지이름3) 이후 http://localhost:8000/docs로 접속해서 test 2. AWS EC2에서 print문 확인하기1) AWS EC2 생성 후 init_key.pem 파일 다운로드 2) 파일 저장 후 init_key.pem 파일 저장한 위치에서 cmd 창 오픈 3) 전달받은 키 입력ssh -i "init_key.pem" ubuntu@할당받은주소.amazonaws.com 4)..
1. 싱글톤 패턴이란?- 클래스의 인스턴스를 단 하나만 생성하여 전역적으로 공유하는 디자인 패턴- 동일한 객체를 여러 곳에서 공유할 수 있어, 메모리 낭비를 줄이고 일관성을 유지할 수 있다- 한 번 만들어진 객체의 메모리 주소를 공유 2. 싱글톤 패턴이 필요한 경우1) 데이터베이스 연결- DB 커넥션은 여러 개 만들 필요 없이 하나만 유지해야 함2) 웹크롤러 인스턴스- Selenium 같은 크롤러를 사용할 때, 여러 개 만들지 않고 하나의 브라우저 인스턴스를 공유3) 설정(Configuration) 객체- 애플리케이션의 환경 설정을 하나의 객체로 관리하여 모든 모듈에서 동일한 설정을 사용4) 로그 시스템- 모든 모듈이 동일한 로그 시스템을 공유 3. 일반 클래스와 싱글톤 패턴 비교class Normal:..
1. TCP/IP(Transmission Control Protocol / Internet Protocol)- 컴퓨터와 네트워크 장비가 데이터를 주고 받는 규칙(프로토콜)들- TCP(전송 제어 프로토콜): 데이터를 정확하고 안정적으로 전달- IP(인터넷 프로토콜) : 데이터를 어디로 보낼지 주소를 지정- TCP/IP의 4계층TCP/IP 계층설명대표 프로토콜네트워크 인터페이스 계층실제 물리적인 네트워크 연결MAC 주소(물리적 주소)를 사용해 장치 식별이더넷, Wi-Fi, ARP인터넷 계층IP 주소를 기반으로 데이터 전달IP, ICMP, ARP전송 계층신뢰성 있는 데이터 전송TCP, UDP응용 계층최종 사용자에게 서비스 제공HTTP, FTP, SMTP, DNS 2. 쿠키의 탄생- 웹은 초기 상태 관리를 하지..
1. 비동기란? - 하나의 스레드에서 여러 작업을 동시에 실행하고 나중에 결과를 받아 처리할 수 있다.- I/O 바운드 작업에 적합(네트워크, DB 요청, API 호출 등 대기시간이 긴 작업)- FastAPI는 내부적으로 이벤트루프를 관리하므로 따로 asyncio.run()을 쓰지 않아도 됨* def로 정의된 엔드포인트는 기존의 동기 방식으로 실행됨 (이벤트 루프를 사용X, CPU 작업 최적화), 스레드풀에서 실행a- 멀티스레드 기반 처리(ThreadPoolExecutor에서 실행)- 관련 함수비동기 기능설명async def비동기 함수 선언await비동기 함수 호출 시 사용asyncio.run()비동기 함수 실행asyncio.gather()여러개의 비동기 작업 병렬 실행asuncio.create_task..
- Total
- Today
- Yesterday
- 오블완
- 루틴
- 프로그래머스
- 오픽
- 줄넘기
- 다이어트
- 갓생
- opic
- 습관
- 기초
- 아침
- Ai
- 고득점 Kit
- Python
- 티스토리챌린지
- 30분
- 스크랩
- 아침운동
- SQL
- 실기
- 운동
- C언어
- 빅데이터 분석기사
- ChatGPT
- llm
- 영어회화
- 미라클모닝
- 뉴스
- IH
- 경제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |