빅데이터 실시간 적재 개요 원천에서 어떠한 데이터가 발생할 때, 데이터의 실시간이라는 것에는 여러가지 의미가 있다. 빠르게 데이터가 발생 오랜 시간 발생 대규모로 발생 만약 이런 실시간 데이터를 DB에 저장한다고 한다면 초당 수백, 수천건의 데이터를 RDBMS의 트랜잭션과, 영속성을 생각하며 저장할 수 있을지를 생각해줘야한다. 이 외에도 실시간 데이터는 실시간으로 분석을 할 수 있어야 하는데, 초당 수백, 수천, 수만건의 데이터가 발생하는 환경에서 이를 실시간으로 분석한다는 것은 큰 오버헤드를 발생시키는 일이다. 또한 장애가 발생했을 경우 데이터의 유실 문제를 피할 수 없으며, 장애가 복구됐다고 하더라도 그 시간동안의 데이터 또한 유실이 되는 것이다. 따라서 빅데이터의 실시간 적재라 함은 대규모로 발생되..
프로그래머스 - 올바른 괄호 문제 요약 올바르게 짝지어진 괄호는 ( 뒤에 )로 닫혀야한다. 제대로 닫히지 않은 괄호는 올바른 괄호가 아니다. 생각 괄호의 순서에 맞게 값을 저장해야하기 때문에 스택을 사용한다. 스택에서 pop()연산은 효율이 좋지 못하기 때문에 이를 보완하기 위해 queue를 함께 사용한다. 코드 from collections import deque def solution(s): dq = deque(s) stack = [] ret = True while dq: v = dq.popleft() if v == "(": stack.append(v) elif v == ")" and stack and stack[-1] == "(": stack.pop() else: ret = False return ..
프로그래머스 - 같은 숫자는 싫어 문제 요약 0~9로 이루어진 배열 arr이 있을 때, 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거한다. 중복된 숫자만 제거하되, 원래 배열의 순서는 유지해야한다. 생각 set은 중복은 제거하지만, 순서를 보장하지 않기 때문에 사용할 수 없다. in으로 look up을 하기에는 처음에 나온 숫자가 나중에 다시 나올 수 있기 때문에 사용할 수 없다. 따라서 스택을 사용하여 직접 arr를 탐색하며 판단해야한다. 코드 def solution(arr): stack = [] stack.append(arr[0]) for i in range(1, len(arr)): if arr[i] != arr[i - 1]: stack.append(arr[i]) return stack 설명 값..
프로그래머스 - 기능개발 문제 요약 각 기능은 진도가 100%일 때 서비스에 반영할 수 있다. 각 기능의 개발 속도는 모두 다르다. 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발 될 수 있지만, 이 경우에 앞에 있는 기능이 배포될 때 함께 배포된다. 따라서 배포해야 하는 기능에는 순서가 있다. 문제 생각 순서가 있기 때문에 stack 혹은 queue 사용을 고려한다. 하루가 지날때마다 speeds의 값이 하나씩 증가하는 방식으로 하루가 지날때마다 개발 진척도가 결정될 것이기 때문에 반복문을 사용하고, 한번의 루프가 하루라고 생각하면 이해가 쉽다. 코드 def solution(progresses, speeds): stack = [] day = 0 cnt = 0 while len(progresses) > ..
- Total
- Today
- Yesterday
- Espher
- 네트워크
- OS
- Flutter
- 빅데이터
- sqoop
- oozie
- CS
- CSAPP
- Hadoop
- BOJ
- GROK
- Algorithm
- DP
- elasticsaerch
- kafka
- 빅데이터를지탱하는기술
- DFS
- 파이썬
- cka
- HDFS
- mahout
- 이코테
- logstash
- Elasticsearch
- 백준
- kubernetes
- 프로그래머스
- Python
- heapq
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |