
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. 멤버 변수란?- 클래스 내부에서 정의된 변수- 객체(인스턴스)의 속성을 저장하는 역할 1) 클래스 변수- 클래스명.변수명으로 선언- 모든 객체가 공유하는 변수 2) 인스턴스 변수- self.변수명으로 선언- 각 객체(인스턴스)마다 개별적으로 존재하는 변수- 즉, 객체마다 다른 값을 가질 수 있음class Person: species = "Human" # 클래스 변수 def __init__(self, name, age): self.name = name # 인스턴스 변수 self.age = age # 인스턴스 변수p1 = Person("Alice", 25)p2 = Person("Bob", 30)print(p1.name, p1.age) # Alice 25pri..
1. 싱글톤 패턴이란?- 클래스의 인스턴스를 단 하나만 생성하여 전역적으로 공유하는 디자인 패턴- 동일한 객체를 여러 곳에서 공유할 수 있어, 메모리 낭비를 줄이고 일관성을 유지할 수 있다- 한 번 만들어진 객체의 메모리 주소를 공유 2. 싱글톤 패턴이 필요한 경우1) 데이터베이스 연결- DB 커넥션은 여러 개 만들 필요 없이 하나만 유지해야 함2) 웹크롤러 인스턴스- Selenium 같은 크롤러를 사용할 때, 여러 개 만들지 않고 하나의 브라우저 인스턴스를 공유3) 설정(Configuration) 객체- 애플리케이션의 환경 설정을 하나의 객체로 관리하여 모든 모듈에서 동일한 설정을 사용4) 로그 시스템- 모든 모듈이 동일한 로그 시스템을 공유 3. 일반 클래스와 싱글톤 패턴 비교class Normal:..
Python 함수의 매개변수 개수를 동적으로 받을 때 사용하는 문법 1. *args 위치 인자- 여러 개의 위치 인자(positional arguments)를 받을 때 사용- 튜플 형태로 전달됨- 인자의 개수가 정해져 있지 않아, 여러 개를 받을 수 있다def add_numbers(*args): return sum(args) # args는 튜플로 저장됨print(add_numbers(1, 2, 3, 4)) # 10print(add_numbers(10, 20)) # 30 2. **kwargs 키워드 인자- 여러 개의 키워드 인자를 받을 때 사용- 딕셔너리 형태로 전달됨- 매개변수 이름과 값을 같이 넘길 수 있다- 함수 내부에서 kwargs.items()를 사용해 키-값 쌍을 처리할 수 있다def..
1. GIL이란?- Global Interpreter Lock- Python의 CPython 인터프리터에서 동시에 하나의 스레드만 실행될 수 있도록 제한하는메커니즘- 멀티스레드 환경에서도 한 번에 하나의 스레드만 Python 바이트 코드를 실행할 수 있다.- 따라서 멀티스레딩으로 처리하면 느려질 수 있다. 2. GIL이 왜 필요할까?- Python의 메모리 안전성을 유지하기 위해 존재- Python이 메모리 관리 시스템은 참조 카운트를 기반으로 한다- 여러 개의 스레드가 동시에 실행되면 참조 카운트 값을 수정하는 과정에서 Race Condition이 발생할 수 있는데, 이를 방지하기 위함이다* Race Condition 이란?- 두 개 이상의 스레드가 동시에 같은 자원(메모리, 파일, 변수 등)에 접근..
1. asyncio가 필요한 이유* asyncio란? Pytyhon의 내장 모듈(라이브러리)- python은 위에서 아래로 순차적으로 실행된다(동기)- 네트워크 요청이나 데이터베이스 쿼리 같은 작업은 실행하는데 시간이 걸리기 때문에 대기 시간을 줄이기 위해 사용- I/O 작업이 완료될 때까지 기다리는 동안 다른 작업을 수행할 수 있다-싱글 스레드 환경에서도 병렬적으로 작업을 처리할 수 있다- 멀티스레딩보다 메모리 사용량이 적고, 코드가 간결해진다 2. 이벤트 루프란?- 비동기 작업(코루틴, I/O 작업 등)을 실행하고 관리하는 역할을 하는 핵심 엔진- 비동기함수(async def)를 실행하려면 반드시 이벤트 루프가 필요하다- 이벤트 루프는 비동기 작업을 예약하고 실행하며, 실행이 끝날때까지 관리한다- 한..
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. 쿠키의 탄생- 웹은 초기 상태 관리를 하지..
- Total
- Today
- Yesterday
- IH
- 경제
- llm
- 줄넘기
- 아침운동
- 실기
- 오블완
- Ai
- 습관
- SQL
- 30분
- 빅데이터 분석기사
- 뉴스
- opic
- 운동
- 프로그래머스
- 고득점 Kit
- 영어회화
- 갓생
- 오픽
- 다이어트
- Python
- 스크랩
- 미라클모닝
- C언어
- ChatGPT
- 티스토리챌린지
- 아침
- 기초
- 루틴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |