인공지능 개발자 수다(유튜브 바로가기) 자세히보기
반응형

전체 글 93

[자료구조] 트리

1. 트리의 기본 개념노드(Node): 트리의 기본 구성 요소로, 데이터를 포함.루트(Root): 트리의 최상위 노드.간선(Edge): 두 노드를 연결하는 선.부모 노드(Parent Node): 다른 노드를 가리키는 노드.자식 노드(Child Node): 부모 노드에 의해 가리켜지는 노드.리프 노드(Leaf Node): 자식 노드가 없는 노드.서브트리(Subtree): 트리의 일부로, 특정 노드를 루트로 하는 트리.깊이(Depth): 루트 노드에서 특정 노드까지의 경로 길이.높이(Height): 특정 노드에서 리프 노드까지의 가장 긴 경로.2. 트리의 종류모든 트리의 종류를 다 공부하기에는 양이 많으니, 중요한 트리만 보고 넘어가기로 하자.이진 탐색 트리(Binary Search Tree): 기본적인 트..

[LangChain] 랭체인이란 무엇인가

참고자료: LangChain docs (링크), 공식홈페이지 LangChain은 자연어 처리(NLP)를 위한 툴과 서비스를 개발 및 통합하기 위한 프레임워크를 제공하는 오픈 소스 라이브러리입니다. 양한 NLP 모델과 툴을 쉽게 사용할 수 있도록 설계되었으며, 특히 대화형 AI, 번역, 요약 등과 같은 응용 프로그램을 구축할 때 유용합니다.1. 주요 기능모델 통합: 다양한 언어 모델을 하나의 통합된 인터페이스를 통해 손쉽게 접근하고 사용할 수 있습니다.대화 관리: 사용자와의 상호작용을 관리하고 최적의 대답을 생성하기 위한 로직을 포함합니다.모듈화: 필요에 따라 커스텀 모듈을 추가하거나 기존 모듈을 변경하여 특정 작업에 맞게 조정할 수 있습니다.툴 연동: 외부 데이터베이스, API 등 다양한 외부 자원과의 ..

[자료구조] 스택(Stack) 큐(Queue) 해시테이블(Hash Table)

파이썬에서는 이미 구현되어있다.클래스와 함수명을 외우기만 하면 된다!!!!1. 스택 (Stack)파이썬에서 스택은 리스트를 사용하여 쉽게 구현할 수 있습니다. 스택은 LIFO (Last In, First Out)의 원칙을 따르는 선형 자료구조입니다. 즉, 가장 나중에 추가된 요소가 가장 먼저 제거됩니다. 스택의 주요 연산은 다음과 같습니다.push: 스택의 맨 위에 요소를 추가합니다. - append()pop: 스택의 맨 위 요소를 제거하고 그 값을 반환합니다. - pop()peek/top: 스택의 맨 위 요소를 조회합니다. - ls[-1]isEmpty: 스택이 비어 있는지 확인합니다. - not ls # 비어있으면 Truestack = []stack.append(1) # 스택에 1을 pus..

[파이썬] 병렬처리(multi-threading, multi-processing)

1. 병렬처리를 하는 이유 프로그램의 실행 속도를 향상 여러 작업을 동시에 처리할 수 있음 2. 멀티스레딩 (Multi - Threading) 2.1. 쓰레드 설명 쓰레드는 프로세스 내에서 실행되는 실행 단위 같은 메모리 공간을 공유 입출력 작업이 많은 시나리오에서 유리 파이썬에서는 `threading` 모듈 사용 멀티스레딩은 자원을 공유해야 하거나 I/O 바운드 작업(I/O-intensive tasks)이 중심이 될 때 효과적. (대량의 데이터를 디스크에서 읽거나 쓰거나, 네트워크를 통해 데이터를 송수신하는 작업을 포함합니다.) 메모리 공유로 인해 데이터 동기화 문제가 발생할 수 있다. 한 스레드의 실패가 전체 프로세스에 영향을 줄 수 있습니다. 2.2. threading 모듈 사용법 쓰레드 생성과 실..

[자료구조] 문자열 (파이썬)

이번시간에는 문자열 사용방법에 대해 알아봅시다. 문자열도 마찬가지로 코딩테스트에서는 빠르게 처리할 수 있는 능력이 필요하다. (오래 걸리면 곤란하다) 1. 문자열 선언과 초기화 # 문자열을 선언하고 초기화하는 여러 방법 string1 = "안녕하세요" string2 = '코딩 테스트 준비 중입니다' string3 = """여러 줄에 걸쳐 문자열을 작성할 때는 이렇게 작성할 수 있습니다.""" # 출력해보기 print(string1) print(string2) print(string3) 2. 문자열 인덱싱과 슬라이싱 문자열의 슬라이싱도 마찬가지로 시작 인덱스는 포함하지만 마지막 인덱스는 포함하지 않는 것을 주의한다. 그리고, 음수를 사용할 때에는 시작 인덱스는 마찬가지로 포함 마지막 인덱스를 포함한다. (..

[자료구조] 배열 (파이썬이에서는 리스트)

시작하기 전에... 코딩테스트를 준비하면서 리스트가 뭔지 아는 수준이면, 곤란하다. 자주 사용하는 기법을 반드시 외워두고 사용하는 것이 좋겠다. 특히 함수 사용 이후 반환된 값이 어떠한 형식인지 (list 형식인지, None 값인지, int/float/str 값인지) 반드시 알아두는 것이 좋겠다. 특히 in-place 형식의 수정인지 알아 두는 것은 중요하다. 1. 리스트 생성 # 리스트 생성 numbers = [1, 2, 3, 4, 5] 2. 리스트에 값 추가 (append, insert, exend, +) append 리스트에 값 추가 In-place 수정 (함수사용시 리스트에 바로 추가됨) value = 6 numbers.append(value) print(numbers) # [1, 2, 3, 4,..

백엔드 서버(FastAPI)를 쿠버네티스로 실행하기

0. 이전 글/영상 FastAPI로 Hello World 를 출력해 보자. (영상링크) 쿠버네티스 기본적인 사용방법 쿠버네티스(Kubernetes) 기본적인 사용 방법 1. 터미널을 열어줍니다. 쿠버네티스 명령어는 터미널 안에 작성해 주세요. 2. 쿠버네티스 기본 구조 2.1. 클러스터 (Cluster) 쿠버네티스 클러스터는 여러 컴퓨터(물리적 또는 가상)의 그룹으로, 쿠 databoom.tistory.com 파이참(Pycharm)에 Poetry 세팅 파이참(Pycharm)에 Poetry 세팅 1. Poetry 환경 세팅 Poetry는 pyenv와 함께 사용하면 좋다. 먼저 pyenv를 설치하고, 필요한 파이썬 라이브러리를 설치해 주자. 그리고 나서 Poetry를 설치하자. poetry 설치 명령어는 아..

MLOps 2024.04.09

쿠버네티스(kubenetes)에 데이터베이스 추가하기

이번 시간에는 쿠버네티스 클러스터에 데이터베이스를 추가해 보겠습니다. 데이터베이스를 쿠버네티스에서 운영할 때는 StatefulSet과 PersistentVolume을 사용하여 데이터의 영속성과 안정성을 보장하는 것이 중요합니다. 그리고 데이터베이스는 PostgreSQL을 이용하겠습니다. 1. PersistentVolume (PV) 및 PersistentVolumeClaim (PVC) 생성 먼저, 데이터를 영구적으로 저장할 PersistentVolume과 이 볼륨을 사용할 PersistentVolumeClaim을 정의합니다. PersistentVolume은 클러스터 리소스로서, 실제 스토리지 시스템에 대한 세부 정보를 포함합니다. PersistentVolumeClaim은 사용자가 이 볼륨을 사용하겠다는 요..

MLOps 2024.03.28

쿠버네티스(Kubernetes) 기본적인 사용 방법

1. 터미널을 열어줍니다. 쿠버네티스 명령어는 터미널 안에 작성해 주세요. 2. 쿠버네티스 기본 구조 2.1. 클러스터 (Cluster) 쿠버네티스 클러스터는 여러 컴퓨터(물리적 또는 가상)의 그룹으로, 쿠버네티스를 사용하여 관리됩니다. 클러스터는 컨테이너화된 애플리케이션을 배포, 관리, 확장하기 위한 환경을 제공합니다. 클러스터 내에서 컨테이너는 포드라는 단위로 구성되어 실행됩니다. 클러스터는 고가용성, 고성능, 확장성 등을 제공하여 애플리케이션의 요구사항을 충족시키기 위해 설계됩니다. 클러스터는 크게 마스터 노드와 워커 노드로 구분됩니다: 마스터 노드: 클러스터의 관리, 스케줄링, 구성 변경 등의 책임을 집니다. API 서버, 스케줄러, 컨트롤러 매니저 등의 구성 요소가 포함됩니다. 워커 노드: 실제..

MLOps 2024.03.28

쿠버네티스(Kubernetes) 설치와 실행 방법

0. 개인 로컬 PC에 쿠버네티스를 설치하는 이유 개인 노트북/로컬 PC에 쿠버네티스를 설치하는 경우, 일반적으로 개발, 테스트, 학습 및 실험 목적으로 사용합니다. 로컬 환경에서 쿠버네티스를 사용하면 실제 운영 환경에 배포하기 전에 애플리케이션을 개발하고 테스트할 수 있으며, 쿠버네티스의 다양한 기능과 워크플로우를 직접 경험하고 익힐 수 있습니다. 실무에서는 실제 운영서버에 쿠베너티스를 설치하거나, AWS의 EKS, Google Cloud의 GKE, Azure의 AKS와 같은 관리형 쿠버네티스 서비스를 사용. 1. Macbook M1 기준 1) Homebrew 설치: Homebrew가 아직 설치되어 있지 않다면, 터미널에서 다음 명령어를 실행하여 설치 /bin/bash -c "$(curl -fsSL h..

MLOps 2024.03.19
반응형