
[트러블 슈팅] fastapi에서 Svelte 화면 로드 안됨(feat. CORS)
1. 문제 원인 fastapi로 백엔드 서버를 만든 후 Svelte로 간단한 프론트 페이지를 만들어서 테스트해보려 했다. 페이지가 제대로 보여지지 않았다. 정확히는 fastAPI 백엔드 서버와 Svelte의 프론트 서버가 서로 통신하지 못했다. (백엔드 서버 로그에 아무것도 뜨지 않았다.) 구글링 해본 결과 해당 문제는 CORS 정책에 의해 ...

1. 문제 원인 fastapi로 백엔드 서버를 만든 후 Svelte로 간단한 프론트 페이지를 만들어서 테스트해보려 했다. 페이지가 제대로 보여지지 않았다. 정확히는 fastAPI 백엔드 서버와 Svelte의 프론트 서버가 서로 통신하지 못했다. (백엔드 서버 로그에 아무것도 뜨지 않았다.) 구글링 해본 결과 해당 문제는 CORS 정책에 의해 ...

풀었던 그리디 문제 중 개인적으로 어려웠던 문제들을 정리해보았다. 1. 책 나눠주기 백준 9578번: 책 나눠주기 N개의 책에 번호를 매긴 후, M명의 사람들에게 두 정수 a ~ b 인 신청서를 적어 내라고 지시한다. 이후 해당 신청서의 범위 내의 학생들에게 책을 분배한다. 이때 나누어 줄 수 있는 최대의 학생을 구한다. 1.1 발상 처음엔 ...

1. 문제 원인 Redis에 저장된 Key - Value 값이 있다. Key는 정수고 Value는 json 값이다. Key: 1 Value: { "answer_num": 2, "answer": "fffffff", "question": "안녕하세요" } 다음과 같은 문제들이 있었다. 이때 Value를 불러오고 싶은데 계속 String...

1. Greedy 알고리즘 설명 그리디 알고리즘은 매 순간 최적의 선택을 하는 결정이 전체의 관점에서도 최적의 선택인 알고리즘이다. 예를 들어 A - > B → C → D 의 루트로 A에서 출발해 D로 도착하려 할 때, A → B, B → C, C → D의 각각의 루트를 언제나 가장 짧은 경로로 이동해야만 전체 경로에서도 가장 짧은 거리가 된...

1. 데코레이터 Decorator 파이썬 관련 코드를 보다 보면 가끔 등장하는 모양이 있다. @deco def hello(): print("안녕하세요") 이 건방진 골뱅이(@)는 어디에 쓰이는 것일까? 이름에 걸맞게 해당 기능은 함수를 장식하는 기능을 한다. 여기서 장식한다는 뜻은 @ 이하에 쓰일 함수를 직접 수정하지 않고 추가적인 기능...

이전글 [Docker] 도커<1> 미리 작성된 Dockerfile을 토대로 Docker image를 build 하므로 중요한 과정이다. 이번 게시글에선 Docker image 빌드 시 사용되는 명령어에 대해 정리해보았다. FROM base 이미지를 생성하는 명령어 주로 Dockerfile 최상단에...

1. python-dotenv python_dotenv는 파이썬에서 어플리케이션의 환경 변수를 쉽게 관리할 수 있게 해주는 패키지이다. 1.1 특징 .env 파일만 바꾼다면 다양한 환경 변수 적용 가능 환경변수를 소스코드에서 분리하기 때문에 보안 강화 (.gitignore 사용 가능) 환경 변수가 어디 있는지 한 눈에 확인 가능 ...

1. 도커 Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다. Docker는 애플리케이션을 컨테이너라는 하나의 유닛으로 만들고, 이 안에는 사용된 라이브러리, 작성된 코드, 시스템 도구, 런타임 등 애플리케이션을 실행하는데 필요한 모든 것이 담겨있다. 운영체제에 상관없이 사용할 수 있고, 가상머신(VM)...

1. 우선순위 큐 큐(Queue) 란 가장 먼저 들어온 데이터가 제일 먼저 빠지는 FIFO(First In First Out) 형식의 자료구조이다. 큐에서는 데이터를 pop 할때 가장 먼저 들어온 순서 기준으로 빠지게 되지만, 우선순위 큐에서는 들어온 순서가 아닌, 가장 우선순위가 높은 데이터부터 빠지게 된다. 표로 정리하면 다음과 같다. ...

0. 이전 글 보안 - 1 보안 - 2 보안 - 3 공식문서 JWT 토큰에 대한 설명 앞에서 작성했던 모든 개념을 활용해 JWT 토큰과 비밀번호 해싱을 사용한 안전한 어플리케이션을 만들어보자. 1. Hash 및 비밀번호 확인 from passlib.context import CryptContext pwd_context = CryptCo...