본문 바로가기

728x90
반응형

분류 전체보기

(367)
[NGINX] 504, Gateway Time-Out HTML 삽입 미리보기할 수 없는 소스 개요 FastAPI + LangChain을 이용한 간단한 WAS를 AWC-EC2에 올려놨다. 이 구조에 더해 Reverse Proxy로써 Nginx도 같이 구성해 놓은 상황이다. 또한 LangChain에서 특정 결과를 내기까지 적어도 60~80초가 걸리는 현상이 존재하는 상황이기도 하다. 그렇다보니 요청을 한 후 응답을 받기까지의 시간이 60초가 넘었을 때 Nginx에서 504 Gateway TimeOut이 뜨는 현상이 발생했다. 어떻게 해결할 수 있을까? 1. Nginx에 설정 추가하기 Nginx에서 일단 설정을 다음과 같은 설정을 추가해 주자. location / { # 아래 항목 추가 proxy_connect_timeout 300; proxy_send_tim..
[Programmers] 코딩 기초 트레이닝 #8 HTML 삽입 미리보기할 수 없는 소스 배열 만들기 3 https://school.programmers.co.kr/learn/courses/30/lessons/181895 def solution(arr, intervals): answer = [] for x in intervals: start, end = tuple(x) answer.extend(arr[start:end + 1]) return answer 문자 리스트를 문자열로 변환하기 https://school.programmers.co.kr/learn/courses/30/lessons/181941 def solution(arr): return ''.join(arr) 문자열 돌리기 https://school.programmers.co.kr/learn/c..
[FastAPI] Request 단위의 Transaction 잡기 HTML 삽입 미리보기할 수 없는 소스 2023.10.06 - [Frame Work/FastAPI] - [FastAPI] DI는 bootstrapping을 생각해보기 개요 FastAPI에서 DI를 적용하기 위해, FastAPI의 Depends 함수가 아닌 dependency-injector 라이브러리를 활용했다. 이를 통해 DB Session을 Singleton으로 설정하고, Repository에서 Session을 주입받아 처리하는 시도를 했다. 그러나 이 과정에서 여러 Repository 간에 수행되는 쿼리에 대한 Transaction이 올바르게 묶이지 않는 문제가 발생했다 이번 글은 이러한 문제의 배경과 함께 어떻게 이를 해결했는지에 대한 기록을 담는다. 1. Transaction 처리의 발단 Fas..
[Programmers] 코딩 기초 트레이닝 #7 HTML 삽입 미리보기할 수 없는 소스 콜라츠 수열 https://school.programmers.co.kr/learn/courses/30/lessons/181919 def solution(n): answer = [] while n != 1: answer.append(n) if n % 2 == 0: n = int(n / 2) else: n = int(3 * n + 1) answer.append(1) return answer 가까운 1찾기 https://school.programmers.co.kr/learn/courses/30/lessons/181898 def solution(arr, idx): for x in range(idx, len(arr)): if arr[x] == 1: return x retur..
Google OAuth 로그인의 번거로움 해결하기 Google OAuth Token을 얻는 과정이 매번 번거로운데 어떻게 하면 편하게 얻을 수 있을까? HTML 삽입 미리보기할 수 없는 소스 개요 최근 Google OAuth Login 기능을 구현하면서 상당히 번거로운 점을 체감했다. 매번 url을 클릭해서 브라우저를 열고 계정을 선택해서 나온 callback url에서 code를 따로 추출하고 url decoding을 한 뒤 이를 다시 access_token으로 가져오기 위한 코드를 사용한다는 점이 그러했다. 어떻게 하면 이렇게 번거로운 과정을 단축하여 편하게 id_token과 access_token을 얻을 수 있을지 고민했는데 Google 개발 문서를 뒤적거리고 조금의 아이디어를 보태서 해결할 수 있었다. 그러한 배경으로 앞서 이야기한 번거로운 과정..
[Programmers] 코딩 기초 트레이닝 #6 HTML 삽입 미리보기할 수 없는 소스 뒤에서 5등까지 https://school.programmers.co.kr/learn/courses/30/lessons/181853 def solution(num_list): num_list.sort() return num_list[:5] 홀수 vs 짝수 https://school.programmers.co.kr/learn/courses/30/lessons/181887 def solution(num_list): odd_numeber = 0 even_number = 0 for idx, value in enumerate(num_list, start=1): if idx % 2 != 0: odd_numeber += value if idx % 2 == 0: even_numb..
[FastAPI] Header Authenticate와 Swagger Authorize Jwt 인증 시 header에 "access-token"이라는 key를 통해특정 api 호출 시에만 검증 하고 싶다.  목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스개요 FastAPI의 EndPoint에 Jwt Authenticate를 적용해야하는 상황이다. header key에는 "access-token"을 지정하고 EndPoint는 실제로 Authenticate를 수행할 건지 말 건지는 선택적으로 적용하고 싶었는데 어째선지 FastAPI에서는 관련 내용을 찾아보기 힘들었다.  문서에 관련 내용은 없어도 FastAPI에서 제공하는 APIRouter는 dependencies라는 parameter를 통해 API가 실행되기 전 수행할 동작을 지정할 수 있지만 다소 문제..
[Programmers] 코딩 기초 트레이닝 #5 접두사인지 확인하기 https://school.programmers.co.kr/learn/courses/30/lessons/181906 def solution(my_string, is_prefix): return int(my_string.startswith(is_prefix)) 문자열 정수의 합 https://school.programmers.co.kr/learn/courses/30/lessons/181849 def solution(num_str): return sum([int(x) for x in num_str]) 주사위 게임 1 https://school.programmers.co.kr/learn/courses/30/lessons/181839 def is_odd(num): return True if ..

728x90
반응형