일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Parquet
- 시뮬레이션
- 구현
- datanode
- ACID
- Spring
- procedure
- 백준
- boto3
- S3
- database
- wrapper class
- MVC
- namenode
- EventScheduler
- SQL
- hdfs
- Transaction
- 프로그래머스
- priorityqueue
- MySQL
- ES6
- Algorithm
- greedy
- JPA
- BIT연산
- BFS
- spark
- bigdata
- 우선순위큐
- Today
- Total
목록전체 글 (20)
IT 개발일지

Bucket 옵션Versioning- 동일한 bucket 내에 다양한 버전의 객체를 저장하는 것.- 특정 이미지 객체 파일을 bucket에 저장하고 수정, 삭제 등 변화가 일어날 때, 변화분 이전 이전 버전의 객체를 따로 저장한다- 고유의 ID를 통해 식별 가능, 문제 및 복원이 필요할 때 복구 용이Server Access Logging- 버킷의 접근 요청에 대한 모든 정보를 Traking하는 것- 행동, 상태, 에러 코드, 요청자, 요청 버킷 등 모든 정보에 대해 추적Static Website Hosting- static한 웹페이지를 따로 올릴 수 있음- 호스팅하기 간단하기 때문에 간간히 이용하기도 함Bucket 설정- S3의 세부설정에서 Bucket에 대한 접근 권한 등 다양한 설정을 할 수 있다.-..

S3 : Simple Storage Service의 약자로, 파일 서버의 역할을 하는 서비스 S3는 왜 필요할까? 1. 데이터 저장 역할- 대규모의 데이터를 저장, 관리, retrieve하기 위한 역할- 다양한 형식의 데이터(파일, 이미지, 비디오, 문서 등)을 bucket이란 공간에 저장- S3를 사용함으로써 application 및 서비스가 대규모의 데이터에 쉽게 접근, 사용, 가공할 수 있다.- 또한 전 세계 어디서나 데이터를 손쉽게 업로드 및 다운로드 할 수 있다.2. 트래픽 증가에 대한 확장성- 일반적인 파일 서버는 트래픽이 증가함에 따라서 장비를 증설해야 한다.- 하지만 S3를 이용하게 되면 이를 AWS에서 대행해주어 트래픽에 따른 시스템적인 문제를 걱정할 필요가 없어진다.3. 접근 제어 설..

Bit연산을 하는 이유- 컴퓨터에서는 자료를 표현하기 위해 1bit를 활용하며, 1bit는 0 또는 1로 나타난다.- 이렇게 작은 bit를 활용하여 보다 효율적인 알고리즘을 구현할 수 있다. 1. 자료 저장과 집합 표현 용이- 예를 들어 1~32번 사람이 존재하고, A는 {1, 3, 5, 10}, B는 {2, 3, 5, 31} 번과 친구 관계를 맺는다고 하자. 이때 1. A와 B의 모두와 친구인 사람? 2. A 또는 B와 친구인 사람?과 같은 문제를 풀 때, 반복문으로 풀 수 있지만 친구 관계를 0 또는 1로 표현하는 Bit-Masking을 함으로써 쉽게 할 수 있다. 2. 데이터 압축 및 값의 효율적인 비교- 두 문자열A, B를 비교할 때는 문자열의 길이 만큼 시간복잡도가 걸린다.- 이때, 사용하..
ECMA Script(ES)Javascript의 표준 규격 자바스크립트의 첫 등장 : 1990년대 Netscape회사에서 Brendan Eich라는 사람에 의해 최초 개발Javascript가 잘 되자 MS에서는 Jscript라는 언어를 개발해 IE에 탑재하였으나, 두 스크립트의 형식 등이 너무 제각각이라 크로스 브라우징을 하는 데 문제가 생겼다.따라서 표준을 마련하는 것이 필요하여 ECMA(European Computer Manufactures Association)라는 정보와 통신시스템의 비영리 표준 기구에 제출하여 표준에 대한 작업을 ECMA-262란 이름으로 1996년 11월에 시작해 1997년 6월에 채택되었다.ES는 최초로 표준이 정의된 이후로 지속적으로 발전하였고, 현재는 ES6까지 발전하였다..
문제 접근BFS를 활용해서 모든 sources에 대한 최단 거리를 구할 수 있다.각각의 거리가 1이기 때문에 다익스트라를 사용하지 않고 풀 수 있다.BFS를 사용할 때, destination에서부터 시작하는 게 직관적이고 풀이도 깔끔하다.만약 매 sources의 원소마다 반복한다면, 방문처리 등을 제대로 처리하지 않으면 매번 그래프를 탐색해 시간초과 이슈 가능n이 최대 100,000이어서 인접 행렬 대신 인접 리스트 활용 (메모리 초과 이슈 가능)적용 알고리즘BFS시간복잡도지역의 수 : 3 왕복 정보 가능 r = 2 시간복잡도 : O(n + r)만약 모든 sources에서 각각 BFS를 돌린다면 500(sources최대 개수) x 600,000 = 약 3억번의 연산 이슈시행착오BFS를 탐색할 때, 거리를..
Consistency(일관성) Consistency in Data : 데이터베이스의 트랜잭션은 데이터베이스에서 정한 *무결성 조건을 만족해야 한다. (즉, 허용된 방식으로만 데이터만 변경해야 함) 데이터베이스에 기록된 데이터는 constraints , cascades, trigger 등 명시된 규칙에 따라야만 일관성을 유지할 수 있음 Consistency in Reads: 그리고 테이블의 한 객체가 변경된다면, 해당 객체가 등장하는 다른 모든 테이블에 반영되어야 한다. * 데이터 무결성(Integrity) : 데이터의 값이 정확한 상태 1. Consistency in Data Disk와 Data Model간의 관계가 일치하는가 1. 특징 해당 데이터 모델은 DBA에 의해 정의된다. 외래 키(FK)에 의해..
문제 접근 N개의 카드에서 M번 카드 합체를 한 후 카드에 적혀있는 총 합의 최솟값을 구하는 문제 그리디를 활용할 수 있다. 탐욕 선택 속성(만족) 1번 카드 합체를 할 때마다 구하는 최솟값을 모두 더하면 ⇒ 전체의 최솟값을 구한다는 것이 보장된다. 최적 부분 구조(만족) 전체 문제 : M번 카드 합체 후의 총 합의 최솟값 부분 문제 : M번을 진행하면서 각 단계에서 2개의 카드를 뽑아서 최솟값 구함 즉, 각각의 부분 문제에서 최적의 해를 구한 후, 조합하여 전체 문제의 최적해 구할 수 있음 적용 알고리즘 그리디 알고리즘 우선순위 큐 매 부분 문제를 해결하기 위해 최솟값을 추출하기 위해서 우선순위 큐를 활용할 수 있음 시간복잡도 각 단계마다 가장 작은 2개의 값을 뽑아서 문제의 조건을 고러해서 제한시간(..
Atomicity(원자성) - 더이상 쪼개질 수 없다는 특성이라는 의미를 함축 => 트랜잭션이 여러가지 쿼리가 하나의 작업으로 묶여있기 때문에 해당 트랜잭션을 더이상 쪼갤 수 없음. - Transaction의 모든 쿼리는 성공해야 함 - 만약, 트랜잭션 도중 한 Query가 실패하면, 이전에 트랜잭션 내에서 성공적으로 실행되었던 모든 쿼리들은 ROLLBACK되어야 한다. - 만약 데이터베이스가 다운되었다면, 이전에 트랜잭션 내에서 성공적으로 실행되었던 모든 쿼리들은 ROLLBACK되어야 한다. 예시 - 해당 SQL구문은 Account A에서 Account B로 100$를 송금할 때의 상황을 가정한 것이다. * 초기 account_id balance 1 $1000 2 $500 -- MySQL 예시 STAR..