
[FastAPI] <4 : 에러 핸들링>
1. 예외가 필요한 상황들 클라이언트에게 해당 작업에 대한 권한이 없는 경우. 클라이언트가 해당 리소스에 엑세스할 수 없는 경우. 클라이언트가 엑세스할 항목이 항목이 존재하지 않는 경우. 우리는 해당 상황들에 적절한 HTTP 응답 코드 (주로 400번대)를 부여하고 반환한다. 400번대의 HTTP 응답 코드들은 아래 링크에 정리해두...
1. 예외가 필요한 상황들 클라이언트에게 해당 작업에 대한 권한이 없는 경우. 클라이언트가 해당 리소스에 엑세스할 수 없는 경우. 클라이언트가 엑세스할 항목이 항목이 존재하지 않는 경우. 우리는 해당 상황들에 적절한 HTTP 응답 코드 (주로 400번대)를 부여하고 반환한다. 400번대의 HTTP 응답 코드들은 아래 링크에 정리해두...
1. 최장 공통 부분 수열(LCS) LCS(Longest Common Subsequence)는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP 와 CAPCAK의 LCS는 ACAK가 된다. 2. DP를 활용한 LCS 알고리즘 풀이. LCS 문제도 DP로 풀이 가능하다. 2차원 dp...
공식 문서 1. 의존성 주입이 필요한 이유 공통된 로직(반복된 코드)가 필요한 경우 보안, 인증 등 요구사항을 강제해야 하는 경우(이 부분은 Security로 가능하다.) db 연결을 하는 경우(api_key?) 등등의 예에서 코드 반복을 줄여준다. 2. Depends 사용예 해당 작업들을 FastAPI에선 Depends를 불러와 해결한다...
1. 유니온 파인드 알고리즘이란? 유니온 파인드란 그래프 자료구조에서 특정한 두 노드가 같은 그래프(같은 부모를 공유하는지)에 속하는지 알아보는 알고리즘이다. 두 노드를 합치는 Union, 두 노드가 같은 그래프에 속하는지 찾는 Find, 두 가지 부분으로 이루어진다. 2. 유니온 파인드의 예시 다음과 같은 그림에서 생각해보자. 노...
1. 이분 그래프의 정의 이분 그래프란 하나의 정점에서 나온 노드가 2개 이하이며, 2개인 경우 두 노드가 각각 인접하지 않도록 분할 가능한 경우를 뜻한다. 1.1 이분 그래프의 예 단순히 생각했을때 순환이 없는 경우만 거르면 될 것 같지만 약간 다르다. 일직선의 그래프의 경우 이분 그래프의 정의를 만족한다. 평범한 이진 트리의 경우도 이...
참고 문서: 공식문서 0. 이 글에서 설명할 것들 Pydantic BaseModel Optional Union Field 1. Pydantic Pydantic 은 FastAPI에서 가장 널리 사용되는 검증 라이브러리이다. 공식 문서의 설명에 따르면 Pydantic은 빠르고 확장성...
참고 문서: 공식문서 0. 이 글에서 설명하고 있는 것들 동시성과 병렬성 async / await 코루틴 1. 동시성과 병렬성 먼저 async / await를 설명하기 전에 프로그래밍에서의 동시성과 병렬성을 설명해보자. 공식문서에 따르면 해당 개념을 여자친구와 버거를 먹으러 레스토랑에 간 상황에 비유하고 있다. 이 버거 비유에...
1. 최소 공통 조상 알고리즘 소개. 최소 공통 조상 (Lowest Common Ancestor)는 트리형 자료구조에서 임의의 두 노드가 갖는 가장 가까운 부모 노드를 찾는 알고리즘이다. 이때 트리의 형태는 이진 노드가 아니어도 상관없고, 전형적인 트리 구조라면 모두 가능하다. (즉 cycle이 있는 graph는 불가능하다.) 그림으로 예를 들어...
0. 이전 글 DP <1> DP <2> DP를 사용한 다른 문제들은 해당 링크에 정리했다. 1. 냅색 알고리즘 소개. 냅색 알고리즘은 주어진 가방의 최대 중량 안에서, 물건들을 최대 가치만큼 넣었을 때의 최대 가치를 찾는 문제이다. 그림의 예를 들어보자. 다음과 같은 예가 있다. 가방에 넣을 수 있는 최대 중량은 ...
[Caution]해당 게시글은 유튜브 모두의 AI 님의 영상 정리와 제 사견이 들어있습니다. 0. 이전 글 0 : 소개 1 : Langchain 2 : LLM 3 : Document Loader 4 : Text Splitters 5 : Text Embeddings 1. Vectorstores란? 앞서서 Text Emb...