[Docker] 도커< 3 : 포트포워딩>
이전글 [Docker] 도커<1> [Docker] 도커<2> 도커 Image를 통해 컨테이너를 만들었다면 해당 컨테이너를 외부에 노출시켜야 외부에서 사용이 가능해진다. 1. 호스트머신의 포트와 컨테이너의 포트를 바인딩하기(포트포워딩) 호스트 머신의 포트: 외부에서 호스트 머신에 접근할 때 사용되는 포트 컨테이너의...
이전글 [Docker] 도커<1> [Docker] 도커<2> 도커 Image를 통해 컨테이너를 만들었다면 해당 컨테이너를 외부에 노출시켜야 외부에서 사용이 가능해진다. 1. 호스트머신의 포트와 컨테이너의 포트를 바인딩하기(포트포워딩) 호스트 머신의 포트: 외부에서 호스트 머신에 접근할 때 사용되는 포트 컨테이너의...
최근 간단한 백엔드 서버를 만들어보면서 DB 커넥션과 세션의 개념을 알게 되어 정리해본다. 1. DB 커넥션 커넥션(Connection) 은 애플리케이션과 DB 간의 통신 채널이다. 애플리케이션과 DB간의 데이터를 주고받기 위해선 반드시 커넥션이 물리적으로 연결되어 있어야 한다. 특징 애플리케이션이 시작되면 커넥션이 열려야 한다. 애플리케...
풀었던 그리디 문제 중 개인적으로 어려웠던 문제들을 정리해보았다. 이전 글 그리디<2-1> 3. 공항 백준 10775번: 공항 난이도 골드2의 문제이다. 문제가 약간 설명이 이해하기 어렵게 되어있는듯 하다. 공항에 도킹할 수 있는 게이트의 숫자가 주어지고, 도킹을 시도하려는 비행기가 순서대로 주어진다. 이때 비행기는 1번부터...
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 사용 가능) 환경 변수가 어디 있는지 한 눈에 확인 가능 ...