[HTTP] Cross Origin Resource Sharing, CORS
·
CS/Network
최신 브라우저의 대부분은 헤더와 CORS 정책을 적용한다. 따라서, CORS 문제는 어디에서나 발생할 수 있는 문제 중 하나이다. 따라서, CORS 표준을 맞추려면 모든 개발자 혹은 관리자가 알고 있어야하는 개념이다. CORS CORS란 현재 IP가 아닌 다른 IP로 리소스를 요청하는 구조로 일단 간단하게 알아두자. CORS에 대해 이해하려면 다음 3가지를 알아야하며 이 3가지에 관하여 설명할 것이다. Origin(Cross Origin VS Same Origin) SOP Access-Control-Allow-Origin 위 3가지는 모두 CORS에 관련된 것들이다. 1. Origin Origin은 요청이 시작된 서버의 위치를 나타내는 문구이다. 만약, Naver 로그인 서버로 로그인 요청을 한다고 가정..
[프로그래머스] 요격 시스템
·
PS/프로그래머스
스케줄링과 비슷한 레벨 2의 요격 시스템 문제를 풀어보았다. 스케줄링 문제는 개념은 알고있었는데 관련 문제는 처음 풀어보는 것 같다. import java.util.*; // A나라의 미사일은 X축에 평행하게 좌표로 주어짐 // B나라에서 최소한의 미사일을 사용하여 요격 // 시간복잡도 O(N^2)
[프로그래머스] 타겟 넘버
·
PS/프로그래머스
DFS/BFS 감을 되찾고자 레벨 2의 타겟 넘버 문제를 풀었다. 나는 DFS를 선택해 문제를 풀었다. // numbers 배열에 숫자들의 목록이 들어있음 // 배열의 숫자들을 각 단계에서 더하거나 빼서 // target이 나올 수 있는 경우를 카운트해서 반환. // DFS/BFS 사용하는 것이 좋아보임 class Solution { static int result = 0; public int solution(int[] numbers, int target) { return dfs(numbers, target, 0, 0); } // numbers: 숫자 배열 // target: 목표값 // idx: 숫자 배열의 인덱스 // compute: 계산된 값 public int dfs(int[] numbers, i..
[백준] 오아시스 재결합 - 3015 Python
·
PS/백준
플레5 문제인 오아시스 재결합 문제이다. 스택을 사용하여 문제를 풀었다. 겁도 없이 플레5 문제를 풀게 되었는데 스택을 사용한다는 것을 알고 있으니 생각보다는 괜찮았던 것 같다. (몇 시간 걸리긴 했지만) 확실히 Java 보다는 Python이 좀 더 간편한 것 같다. 자바로 푼 건 파이썬으로, 파이썬으로 푼건 자바로 풀어봐야겠다. # 두 사람 A와 B가 서로 볼 수 있으려면, 두 사람 사이에 A 또는 B보다 키가 큰 사람이 없어야 한다. # 줄에 서있는 사람의 키가 주어졌을 때, 서로 볼 수 있는 쌍의 수를 구하는 프로그램 import sys # 입력 N(1
도커 컴포즈와 간단한 컴포즈 문법
·
Docker
docker-compose를 사용하는 이유는? 도커 명령어를 파일로 관리하기에 복잡한 도커 컨테이너 및 도커 네트워크를 구성하기에 용이하여 사용한다. 첫 번째로 도커보다 간결하다. 기존의 도커는 간단한 html을 만들고 nginx로 연결하려면 아래와 같은 도커 명령어를 입력해야 한다. 아래 도커 명령어는 도커 컴포즈로 좀 더 단순하게 표현이 가능하다.(뒤에서 알아봄) docker run -it -p 8080:80 --rm -v $(pwd):/usr/share/nginx/html/ nginx --rm 옵션은 종료시 컨테이너를 삭제하기 위해 준 것이다. 두 번째로 컨테이너 간 연결이 쉬워진다. 아래는 postgresql과 django-sample이란 컨테이너를 연결하는 예이다. --link 옵션을 주어 dj..
Dockerfile은 무엇일까?
·
Docker
우리가 만든 우리의 애플리케이션을 이미지로 만든다고 가정해보자. 비어있는 도커 OS 이미지 생성 Git clone을 통해 해당 소스코드를 OS(우분투) 이미지 내로 복사 소스코드 담겨있는 우분투 이미지를 컨테이너에서 이미지화해서 배포 개발을 하고 배포를 하는 과정은 한 번만 이루어지는 것이 아닌 계속해서 이루어지게 된다. 그렇다면 위의 과정은 매우 반복적인 작업이다. 따라서, 이를 하나를 묶을 수 있는 작업이 필요하다. 이것을 도커 파일이 작업을 대신 해주게 된다. 도커 파일 Dockerfile의 정확한 정의는 다음이다. 하나의 완성된 이미지를 구성하기 위해서 있어야 할 패키지, 의존성, 소스코드, 스크립트들을 하나의 file로 기록하여 도커가 읽고 이를 실행시켜 이미지화 시킬 명령 파일. Dockerf..