전체 글
-
분산처리엔진이란? (Distributed Execution Engine)SE Concepts 2021. 8. 29. 15:11
분산처리엔진(Distributed Execution Engine)은 네트워크로 연결된 컴퓨터들로 이뤄진 클러스터에서 대용량의 데이터 처리를 위해 실행되는 소프트웨어 시스템입니다. 분산처리엔진은 하나의 안정적인 머신과 같은 대용량의 컴퓨팅과 I/O 성능이라는 '추상화'를 제공하기에 사용자는 하나의 머신에서 작업을 수행하는 것과 유사한 형태를 통해 작업을 수행할 수 있는데요. 이렇게 네트워크로 연결된 시스템의 각 머신은 데이터에 의존하는 컨트롤 흐름을 처리합니다 [1]. 그렇기에 분산 병렬 컴퓨팅에서 어려운 부분인 task 스케쥴링, 데이터 동기화, 데이터 송신, 네트워크에서의 실패와 같은 부분들을 구현해 놓았고, 사용자는 손쉽게 분산 병렬 데이터 프로세싱 애플리케이션을 작성할 수 있습니다. 분산처리엔진은 ..
-
맵리듀스 작업 개선을 위한 추가적인 사항들Data 2021. 8. 28. 08:56
맵리듀스는 간단하게 map과 reduce 함수 작성을 통해 구현됩니다. 대부분의 경우에 기본적인 map과 reduce만으로 충분하지만, 특정 상황에서는 몇몇의 추가적인 설정이 매우 유용한데요. 이번 글에서는 [1]에 기반해 그러한 사항들을 알아보겠습니다. 파티셔닝 함수 맵리듀스 사용자들은 원하는 reduce tasks 수(결과물 파일 수)를 설정하게 됩니다. 중간결과물의 키에 대한 파티셔닝 함수를 사용하여 데이터는 이러한 task들에 파티션되게 됩니다. 디폴트 파티셔닝 함수는 hashing을 사용합니다. 이 경우 대부분 적절히 균형잡힌 파티션이라는 결과는 낳는데요. 하지만 어떠한 상황에서는 데이터를 다른 파티셔닝 함수를 사용해 파티션하는 것이 유용하기도 합니다. 예로, 결과물의 키가 URL이고 단일한 호..
-
맵리듀스란? (Hadoop MapReduce)Data 2021. 8. 22. 21:44
맵리듀스는 프로그래밍 모델임과 동시에 구현체를 부르는 말로, 그 구현체는 '분산처리엔진' 역할을 하는 하둡의 중심 모듈 중 하나입니다. 사용자는 키/값 쌍을 처리하는 map 함수를 설정하여 중간 결과물 형태의 키/값 쌍 데이터를 만들고, reduce 함수를 설정하여 앞선 중간 결과물의 키를 통해 같은 키를 가진 값들을 합쳐서 최종 결과물을 만듭니다 [1]. 이렇게 함수형 스타일로 작성된 프로그램은 자동적으로 병렬화되어 처리되며, 일반적인 상용 기기에서(특별한 고성능 기기가 아닌) 대용량으로 처리를 가능하게 합니다. 그렇기에 이러한 프로그램을 사용하여 분산병렬 애플리케이션을 손쉽게 개발하고 사용할 수 있게 합니다. 이 글에서는 '맵리듀스'와 관련해 아래와 같은 내용을 다루겠습니다: 맵리듀스 프로그래밍 모델..
-
Red-Black Tree란?SE Concepts 2021. 8. 22. 21:36
레드-블랙 트리는 각 노드에 "color"라는 추가적인 비트 정보가 담긴 self-balancing 이진 탐색 트리입니다. 노드 삽입, 삭제 시에도 균형을 유지하기에 빠른 접근을 가능하게 해주는 자료구조인데요 [2]. 트리가 변경될 때마다, 새로운 트리는 재-나열(re-arrange)되고 다시 색깔이 설정되어(re-painted) 색깔 특성을 회복하고 이것은 unbalanced 트리가 worst-case가 되는 것을 막습니다. 재-균형(rebalance)은 완벽하진 않지만 O(log n)의 검색 시간을 보장합니다. 노드 삽입과 삭제 시에도 재-나열과 repaint를 포함해 O(log n) 안에 수행됩니다. 또한, 디스크 소비와 관련해서 "color"라는 추가적인 비트 정보는 노드 당 1비트를 소모하기에 ..
-
도커의 보안(Security) 알아보기SE General 2021. 8. 16. 12:23
보안은 중요하다는 점을 모두 알고 있습니다. 하지만 보안에 대해서 보통 까다롭고 복잡하고 지루하고 어렵다고 많이 느끼는데요. 그렇기에 대다수의 플랫폼에서 도커는 매우 사용이 간단한 보안 기능을 제공합니다. 또한, 그러한 디폴트는 완벽하지는 않지만 충분한 보안을 제공합니다. 이번 글에서는 도커 보안과 관련해 리눅스 환경 기준으로 중점이 되는 부분들인 리눅스 보안 기술과 도커 플랫폼의 보안 기술을 알아보겠습니다. 리눅스 보안 기술 네임스페이스 컨트롤 그룹 capabilities Mandatory access control seccomp 도커 플랫폼 보안 기술 스웜모드의 보안 Image scanning Docker Content Trust Docker Secrets 리눅스 보안 기술 대부분의 컨테이너 플랫폼은..
-
앞으로 5년, 집을 사고팔 타이밍은 정해져 있다Contents Review 2021. 8. 8. 09:53
이번 글에서는 '앞으로 5년, 집을 사고팔 타이밍은 정해져 있다'을 요약해서 전달 드리겠습니다. 내용 중에서 '서울 및 경기권'과 관련된 내용을 중심으로 아래와 같은 내용을 다룹니다: 현 부동산 시장의 주요 흐름 수요, 공급, 유동성으로 본 현재의 집값 수요, 공급으로 본 미래의 집값 예측 현 부동산 시장의 주요 흐름 이번 장에서는 한국 부동산 시장의 주요 흐름을 살펴보겠습니다. 주요 항목들은 모두 양극화 심화와 핵심지(서울) 집중을 암시하고 있는데요. 관련해 지방소멸, 서울 공급 부족, 3기 신도시, 최근 주요 대책들, 서울과 기타 광역시 비교를 알아보도록 하겠습니다. 지방소멸 아래 일본의 사례를 보면, 하락장에서는 핵심지(도쿄)와 비핵심지(그 외) 모두 유사한 하락세를 보이나 상승세에서는 중심지가 우..
-
임장정보 정리하는 법Portfolio Management & Real Estate 2021. 8. 7. 15:42
임장(臨場)은 '현장에 임한다'라는 뜻으로 부동산을 살 때 탐색을 하거나 탐방을 하는 것을 말합니다. 이 글에서는 임장 전의 분석, 임장, 임장 후 정리에 이르는 내용을 정리하는 방법을 기술해두려고 합니다. 많은 글들이 존재하지만, 주로 '월급쟁이부동산' 카페의 글들 [1]을 참고하여 제 생각대로 정리해보았습니다. 임장은 정의에서 알 수 있듯이 최종 목적은 구매를 할지, 안 할지 판단하는 데에 있습니다. 그러한 판단은 투자의 관점에서 본다면 실제 가치보다 저렴한지 여부에 의해 결정 되는데요. 그렇기에 처음부터 끝까지 대상 지역이 '저평가인가 아닌가'를 판단하는 데에 그 정보의 목적이 존재합니다. 이 글에서는 주로 구매대상을 '아파트'로 한정하고 작성하였습니다. 임장 대상의 선정 임장 사전 분석 임장 체크..
-
우리가 자기계발 이전에 '자기이해'가 필요한 이유Contents Review 2021. 8. 5. 21:39
'스트레스'라는 개념은 우리에게 익숙한 개념입니다. 우리의 일상에서 빈번히 발생하고, 피할 수도 없으며, "적당한 스트레스는 좋다"라는 말이 나올 정도로 긍정적인 관점을 가지고 있기도 합니다. 반대로, 우리는 '트라우마'라는 것에 대해서는 지울 수 없고, 영향에서 벗어날 수 없으며, 일상과 조금은 멀고 '특별한 사건'으로 인해 발생하는 것이라는 인식을 가지고 있습니다. 책 'Widen the Window (번역본: 최악을 극복하는 힘)'에서 저자 Elizabeth Stanley는 '누적된 스트레스와 트라우마'로 뒤덮인 자신의 과거 경험과 '신경가소성', '후생유전학' 등의 최신 과학을 통해 '누적된 스트레스와 트라우마가 어떻게 몸과 마음에 영향을 미치는지, 어떻게 극복할 수 있는지, 어떻게 더욱 스트레스..