Q1. Docker란 무엇인가요?A. Docker는 컨테이너를 생성하고 관리하는 오픈 소스 플랫폼입니다. 애플리케이션 실행 환경의 일관성을 보장하고, 배포와 확장이 쉬운 가벼운 환경을 제공합니다. 또한, 컨테이너 격리를 통해 보안성과 성능이 향상됩니다. Q2. Docker 이미지란 무엇인가요?A. Docker 이미지는 애플리케이션의 실행에 필요한 코드, 라이브러리, 설정 등을 포함한 불변의 템플릿입니다. 컨테이너는 이 이미지를 기반으로 생성됩니다. Q3. Docker 컨테이너란 무엇인가요?A. Docker 컨테이너는 이미지에서 생성된 실행 가능한 인스턴스입니다. 이를 통해 애플리케이션을 격리된 환경에서 실행할 수 있습니다. Q4. Docker의 레이어개념이 무엇이며, 레이어 캐싱이 왜 중요한가요?A. D..
CAST 함수는 특정 칼럼이나 값을 데이터 타입을 변환하는 함수입니다.아래처럼 사용할 수 있습니다.CAST (바꾸고 싶은 값 AS 데이터타입)기본 활용 예1. 기본적인 타입 변환SELECT CAST('123' AS INT) + 10;>>> 133SELECT CAST('2024-01-01' AS DATE);>>> 2024-01-01 2. 소수점 자릿수 조절SELECT CAST(123 AS DECIMAL(5, 2));>>> 123.00JSON 데이터 추출 iddata01{ "age": "26", "name": "meeseeks" }12 { "age": "27", "name": "morty"} User테이블에는 JSON타입의 data칼럼이 있습니다. 여기서 첫 행의 data칼럼..
대부분의 SQL 데이터베이스에서는 대소문자 구분을 하지 않습니다. 테이블과 칼럼명뿐만 아니라 쿼리 내에서 조건으로 사용되는 문자열 또한 대소문자의 구분이 없는데요, 이 부분을 간단하게 알아보겠습니다.기본 설정 idname01meeseeks12Meeseeks23MEEseekS Tistory 데이터베이스의 User 테이블이 있고, name에는 문자열 값들이 있습니다. 데이터베이스는 영여의 대소문자를 구분하지 않으므로, 이 세 값을 모두 같다고 판단합니다. SELECT *FROM UserWHERE name = "meeseeks";>>> id name 1 meeseeks 2 Meeseeks 3 MEEseekS 따라서 위 쿼리를 실행하면 우리가 원하는 값과 달리 세 개 행 모두를 반환합니다.BIN..
Q1. Kubernetes의 Pod은 무엇인가요?A. 쿠버네티스의 가장 작은 배포 단위로,하나 혹은 여러 컨테이너로 구성됩니다. 동일 Pod 내의 컨테이너들은 같은 네트워크과 스토리지를 공유합니다. Q2. Kubernetese의 Node는 무엇인가요?A. Pod가 실제로 실행되는 서버입니다. 여러 Pod가 하나의 Node에 배포될 수 있습니다. 각 노드는 Pod를 관리하는데 필요한 리소스(CPU/메모리)를 제공합니다. 마스터/워커노드가 있으며 마스터 노드는 쿠버네티스 전체 시스템을 통제하는 역할을 담당하고, 워커노드는 실제 실행을 담당합니다. Q3. Kubernetes의 클러스터는 무엇인가요?A. 여러 노드로 구성된 하나의 큰 시스템입니다. 마스터노드와 워커노드들이 클러스터를 구성합니다. Q4. Kube..
Q1. Airflow란 무엇인가요?A. 에어플로우는 워크플로우 자동화와 스케줄링을 위한 오픈소스 플랫폼입니다. 데이터 파이프라인을 쉽게 구성하고, 모니터링할 수 있는 툴입니다. Q2. Airflow의 구성 요소는 무엇이 있나요?A. DAG, Task, Operator, Scheduler, Executor, Web Server 등이 있습니다. Q3. Airflow의 DAG는 무엇인가요?A. 먼저 DAG는 데이터 파이프라인을 정의하는 기본 단위입니다. Task들의 순서와 종속 관계를 설정해서, 특정 작업이 끝나면 다음 작업이 실행되도록 흐름을 구성합니다. Q4. Operator란 무엇인가요?A. Operator는 Airflow에서 작업의 실제 로직을 정의하는 구성 요소입니다. PythonOperator는 ..
Q1. 하둡은 무엇인가요?A. 하둡은 빅데이터의 분산 저장과 처리를 위한 오픈소스 프레임워크입니다. HDFS/맵리듀스/YARN이 주요 구성 요소입니다. Q2. HDFS란 무엇이며, 어떻게 동작하나요?A. HDFS는 대규모 데이터를 분산 저장하는 파일 시스템입니다. 큰 데이터를 작은 단위의 여러 블록으로 나누어 저장하고, 각 블록은 복제되어 데이터 손실을 방지합니다. Q3. RDBMS와 HDFS의 차이점은 무엇인가요?A. RDBMS는 Schema on Write 방식을 사용하여, 사전에 스키마를 정의하며 데이터를 저장할 때 이 스키마에 맞아야합니다. HDFS는 Schema on Read를 사용하여, 원본 파일을 그대로 저장하고 데이터를 처리하는 시점에서 스키마를 적용합니다. 확장 시에도 RDBMS는 Sca..
멀티스레드와 멀티프로세스는 이름에서 알 수 있듯 둘 다 여러 작업이 병렬적으로 동시에 실행되는 것이다.용량이 큰 데이터를 처리하거나, 계산량이 많은 경우 성능을 개선하기 위해 이러한 병렬 처리를 사용한다.멀티스레드 (Multi-threading)스레드(Thread)는 하나의 프로세스 내에서 실행되는 작업 단위입니다.멀티스레드는 한 프로그램 내에서 여러 스레드를 동시에 실행하는 방법입니다.예를 들어, 한 문서 편집기에서 동시에 철자 검사와 자동 저장을 수행하는 것은 멀티스레드로 처리할 수 있습니다.장점: 메모리를 공유하므로 자원 사용이 적고, 스레드 간 통신이 빠릅니다.단점: 하나의 스레드가 문제가 생기면 다른 스레드에도 영향을 줄 수 있습니다.멀티프로세싱 (Multi-processing)프로세스(Proc..
⚠️이슈대용량 데이터를 requests.get 메소드로 WGET 에이전트를 사용해 다운로드하는 과정에서, 동일 서버에서 실행 중인 Docker 컨테이너가 다운되는 현상 발생.💡 해결requests.get() 메소드에 stream=True 파라미터를 추가하여 데이터를 청크(chunk) 단위로 스트리밍 방식으로 처리함📝 학습발생 원인requests.get() 메소드의 기본 값은 stream=False.이 설정에서는 서버로부터 받은 응답 데이터를 한꺼번에 메모리에 로드한 후, 전체 데이터를 디스크에 기록함.때문에 대용량 파일을 다운로드할 때, 모든 데이터를 메모리에 적재하므로 메모리 과부하가 발생할 수 있음.이로 인해, 시스템에서 메모리 부족 현상(Out of Memory, OOM)이 발생하고, OOM K..
- Total
- Today
- Yesterday
- 파이썬
- 스택
- SSAFY
- django
- 바이너리 조건
- sql대소문자
- 빅데이터
- SQL
- 오블완
- 리눅스
- 백트래킹
- json필드
- 완전탐색
- re라이브러리
- 하둡
- 우분투
- Linux
- hdfs
- MySQL
- mysql binary
- 백준
- sql 데이터타입 변경
- docker
- ubuntu
- 싸피
- 백준 3020
- 티스토리챌린지
- 정규표현식
- stream=true
- 프로그래머스
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |