분류 전체보기 1194

[AWS cli] S3 sync

S3 sync 디렉터리와 S3 경로를 동기화한다. 원본 디렉터리에서 지정한 타깃 경로로 새 파일 및 업데이트된 파일을 재귀적으로 복사한다. 즉, 원본 디렉터리와 타깃 경로에 존재하는 파일의 차이(변경일, 해시값, 파일 크기) 등을 비교하여 차이가 있는 파일만을 업데이트한다. 리눅스의 rsync 명령어와 유사하다. sync 명령은 S3 버킷에 푸시하는 데이터 양을 줄임으로써 비용을 절감할 수 있다. 사용법 aws s3 sync / / /ORIGIN_PATH와 /TARGET_PATH 각각이 로컬 디렉터리인지 s3 경로인지에 따라 업로드, 다운로드, 버킷 간 동기화가 가능하다. 로컬 디렉터리에서 S3 버킷으로 동기화 (업로드) aws s3 /PATH/LOCAL s3://TARGET/PREFIX # 예시 aws..

AWS 2022.06.25

[BOJ] 9546 - 3000번 버스

문제 https://www.acmicpc.net/problem/9546 n명의 승객을 태우고 있는 3000번 버스는 버스 정류장마다 문을 연다. 정류장마다 타고 있는 승개의 수의 절반과 반 명의 승객이 내린다. k개의 정류장에서 승객이 내렸고, 마지막 정류장에서 승객이 없었다면 맨 처음 타고 있던 승객이 몇 명인지 구하여라. 풀이 t번째 정류장에서의 승객의 수를 \( n_t \)라고 하자. 정류장마다 내리고 남은 승객의 수는 아래와 같이 계산할 수 있다. $$ \begin{matrix} n_t - (0.5n_t + 0.5) = n_{t+1} \\ 0.5n_t - 0.5 = n_{t+1} \end{matrix} $$ 마지막 정류장에서의 승객이 0명이므로, 정류장이 1개인 경우, 2개인 경우, 3개인 경우…..

Algorithm/백준 2022.06.24

[k8s] drain

drain kubectl drain 영어로 배수구, 물 빠짐 등의 의미로, 노드에 존재하는 모든 Pod를 제거하고, Pod를 다른 노드에 스케쥴링하도록 한다. drain 한 node는 cordon을 실행한 것과 동일하게 SchedulingDisabled 상태가 되기 때문에 신규 Pod를 스케쥴링하지 않는다. drain은 커널 업그레이드, 하드웨어 유지 보수 등의 노드 관리를 위해 노드에서 포드를 안전하게 제거할 때 사용한다. 동작 순서 1. 새 포드가 노드에 스케쥴링되지 않도록 한다. (cordon) 2. 노드에서 실행 중이던 포드를 삭제한다. 이 때 Daemonset으로 실행된 포드가 존재하면 drain에 실패한다. 3. ReplicationController, ReplicaSet, Job, Daemo..

Kubernetes 2022.06.23

[Python] exec

exec 문자열 또는 코드 객체와 같이 동적으로 생성된 프로그램을 실행한다. exec(object, globals=None, locals=None) 매개변수 object : 문자열 또는 코드 객체 global : (선택) 딕셔너리 사용 locals : (선택) 매핑 객체 사용 사용법 exec('CODE') # 예시 code = 'nums = [i for i in range(5)]' exec(code) print(nums) exec 외에서 선언한 변수, 라이브러리도 exec 내에서 사용할 수 있다. eval VS exec exec은 문자열 식을 실행하는 eval 함수와 비교되곤 한다. 참고 : 2021.12.17 - [eval] 문자열 식 실행 exec 또한 eval과 마찬가지로 문자열을 실행시키므로 매우..

Python 2022.06.22

[MySQL] DML (INSERT, UPDATE, DELETE)

DML 데이터 조작 언어 (Data Manipulation Language) 데이터를 조회하거나 삽입, 갱신, 삭제할 수 있다. 데이터를 조작하여 저장하는 과정은 트랜잭션(Transaction)이라고 하며, DML은 트랜잭션을 다루는 명령어라고 할 수 있다. INSERT 테이블에 새로운 행을 삽입할 때 사용한다. INSERT INTO table_name [(column1, column2, …)] VALUES (val1, val2, …); -- 예시 INSERT INTO departments (department_id, department_name, manager_id, location_id) VALUES (271, 'Sample_Dept', 200, 1700); 예시 실행 결과 SELECT * FROM ..

Database 2022.06.21

[MySQL] DDL (CREATE, ALTER, DROP, TRUNCATE)

DDL 데이터 정의어 (Data Definition Language) 데이터베이스 스키마와 데이터를 어떻게 저장해야 하는지 정의한다. Commit하지 않아도 데이터베이스에 즉각 반영되며 데이터 사전에 기록된다. DDL은 여러 객체에 대해 실행할 수 있지만 이 글에서는 테이블을 대상으로 각 명령어를 알아본다. CREATE CREATE TABLE은 새로운 테이블을 생성할 때 사용한다. CREATE TABLE tablename ( column1 datatype, column2 datatype, ... ); -- 예시 CREATE TABLE sample_product ( product_id INT, product_name VARCHAR(20), manu_date DATE ); 예시 실행 결과 SHOW COLUM..

Database 2022.06.20

Web font

Webfont 온라인의 특정 서버에 위치한 폰트 파일을 다운로드하여 화면에 표시하는 웹 전용 폰트 대부분의 웹 브라우저에서 기능을 지원하며, 로컬 컴퓨터의 폰트 설치 상황에 관계없이 웹에서 항상 원하는 서체를 사용할 수 있게 한다. CSS의 @font-face 규칙을 사용해 적용할 수 있다. @font-face 웹 브라우저에 서체의 이름과 다운로드할 위치를 알려준다. @font-face { font-family: ; // 폰트 이름 설정 src: [,]*; // URL() 또는 local()의 매개변수로 원격 폰트 파일 위치 설정. format()으로 폰트 파일 형식 설정 [font-weight: ]; // 폰트 굵기 [font-style: ]; // 폰트 스타일 } // 예시 @font-face { f..

기타 2022.06.19

[Algorithm] 에라토스테네스의 체

에라토스테네스의 체 고대 그리스 수학자 에라토스테네스가 발견한 소수를 찾는 방법 알고리즘 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 즉, 2부터 n까지의 모든 수를 나열한다. 지우지 않은 수 중 가장 작은 수를 찾는다. 이 수는 소수이다. 자기 자신을 제외한 소수의 배수를 모두 지운다. 더 지울 수가 없을 때까지 2 ~ 3 과정을 반복한다. 또는 \( \sqrt{n} \)의 정수부보다 작은 소수의 배수를 지우고 남는 수는 모두 소수이다. 그림의 경우, \( 11^2 > 120 \)이므로, 120보다 작거나 같은 수 가운데 2, 3, 5, 7의 배수를 지우고 남는 수는 모두 소수이다. 구현 Python으로는 아래와 같이 구현할 수 있다. def prime_list(n): # 에라토스테네스의 ..

Algorithm 2022.06.18

[MySQL] 조건문 (IF, CASE WHEN)

조건문 MySQL에서 조건문에 해당하는 IF, CASE WHEN에 대해 정리한다. IF 첫 번째 매개변수로 전달된 조건이 참이면 두 번째 매개변수로 전달된 값을 반환한다. 거짓이면 세 번째 매개변수로 전달된 값을 반환한다. IF(condition, value_if_true, value_if_false) 세 개의 매개 변수 전부 필수값이다. 예시 ) SELECT IF(500 30 THEN 'The quantity is greater than 30' WHEN Quantity = 30 THEN 'The quantity is 30' ELSE 'The quantity is under 30' END AS QuantityText FROM OrderDetails; JAVA의 Switch Case문과 비슷한데, WHEN..

Database 2022.06.17

[MySQL] NULL 처리 (IS NULL, IFNULL, COALESCE)

NULL 값이 없는 데이터인 경우 NULL로 채워진다. NULL은 결측치(Missing Value)이므로 데이터 조회, 처리 시 NULL이 없는 데이터만 조회하거나 NULL이 아닌 다른 값으로 치환하는 경우가 발생한다. 💡 결측치 Missing Value. 데이터에 값이 없는 것을 뜻한다. 줄여서 NA 또는 Null로 표현된다. 이 글에서는 NULL을 처리하는 몇 가지 방법을 정리한다. IS NULL / IS NOT NULL =, 와 같은 비교 연산자로는 NULL을 조회할 수 없다. 따라서 NULL을 조회할 때에는 IS NULL, IS NOT NULL연산자를 사용해야 한다. IS NULL은 NULL인 데이터를, IS NOT NULL은 NULL이 아닌 테이터를 조회한다. IS NULL SELECT colu..

Database 2022.06.16