Software Engineering
-
HDFS란? (하둡분산파일시스템)Data 2021. 1. 16. 10:56
HDFS는 하둡 환경에서 분산 파일 시스템 기능을 담당하는 하둡의 주요 모듈입니다. 이번 글에서는 HDFS와 관련해 다음과 같은 부분들을 다루고자 합니다: HDFS의 주요 목적 (이번글) HDFS 주요 개념 및 아키텍쳐 HDFS(하둡분산파일시스템) 읽기, 쓰기, 삭제 시의 Flow 살펴보기 HDFS 네임노드 및 데이터노드의 기능과 구현 관련글: 하둡이란? (Apache Hadoop) HDFS는 설계 시 특정 목적을 가지고 해당 목적을 만족시키기 위해 고안되었습니다. 또한, 그 요구사항을 만족하기 위해 희생한 부분들도 존재하는데요. 그러한 부분들을 알아보며 HDFS가 무엇이고, 어떤 것을 위해 만들어져서 사용되는지 사용하기에 적당하지 않은 곳은 어디인지 알아보겠습니다. HDFS의 주요 목적 HDFS는 구글..
-
하둡이란? (Apache Hadoop)Data 2021. 1. 15. 08:25
빅데이터와 관련해 자주 언급되는 것이 바로 하둡(Hadoop)입니다. 정확히는 아파치 하둡 프로젝트인 이 '하둡'은 '하둡 환경'을 중심으로 많은 프로젝트가 진행되면서 구분이 모호해지는 경우가 많은 듯 합니다. 이번 글에서는 아파치 하둡이 무엇이고, 구성하는 모듈은 어떤 것이 있으며 어떤 특성을 지니는지 알아보겠습니다. 관련글: HDFS란? (하둡분산파일시스템) YARN이란? (하둡분산자원관리) 맵리듀스란? (하둡분산처리엔진) 하둡과 하둡이 탄생한 배경 아파치 하둡은 오픈소스이며, 안정적이고 확장성있는 분산 컴퓨팅을 위한 프로젝트로 여러 소프트웨어 묶음을 말합니다. 프로젝트의 목적이 단순한 모델을 통해 수많은 컴퓨터로 이루어진 클러스터 환경에서 대량의 데이터를 처리할 수 있도록 하는 데에 있습니다 [1]..
-
파이썬 튜플 내부구조 (Python Tuple Internals)Python 2021. 1. 12. 18:24
파이썬의 튜플은 파이썬 시퀀스(sequence)의 하나로, 주로 Immutable이라는 부분만을 중심으로 기술되곤 합니다. 하지만, 이는 튜플의 또 하나의 큰 장점인 필드명 없이이 다양한 데이터타입(heterogeneous/homogeneous)을 기록한다는 부분을 간과하게 하는데요 [2]. 이번 글에서는 파이썬 튜플의 내부구조와 관련해 아래와 같은 사항을 다뤄보려 합니다: 튜플구조와 2가지 특성 (Immutability, Records with no field names) 최적화 관련글: 파이썬 딕셔너리 내부구조 파이썬 클래스 내부구조 튜플구조와 2가지 특성 튜플은 파이썬의 다른 데이터타입과 비교할 때, 비교적 간단한 구조를 가집니다 [1]: 위와 같이 PyObject, PyVarObject, PyOb..
-
나의 미니멀리즘 레시피 (My Minimalism Recipe)Mental Model 2021. 1. 9. 23:47
대략 2년 전에 책으로 봤던 미니멀리즘에 대한 이야기를, 2021년이 시작되며 넷플릭스를(21년 리뉴얼 버젼도 있습니다) 통해 다시 보며 더욱 진한 감동이 있었습니다. Joshua와 Ryan의 미니멀리스트 스토리를 다룬 생동감 넘치는 다큐멘터리는 다시 한 번 '미니멀리즘'에 대한 환기를 시켜주었기에 이번 글에서 다뤄보려합니다. 다양한 정의가 있지만, 한국의 밀집한 수도권에서 서울로 출퇴근을 하며 생계를 이어가는 한 개발자의 상황에서 느끼는 미니멀리즘과 그것을 삶까지 연결시키기 위해 고안한 여러가지 레시피(Recipe)를 소개하고자 합니다. “Minimalism is a tool to eliminate life’s excess and focus on the essentials” 내가 느끼는 미니멀리즘 사람..
-
패스트캠퍼스 스쿨 취업 포트폴리오 준비하기 (프로그래머 포트폴리오)Career 2021. 1. 7. 18:43
비전공자로 패스트캠퍼스 데이터사이언스 스쿨을 졸업할 당시 저는 면접 시 보여주거나 증명할 수 있는게 없었고, (제가 만약에 면접관이라도) 저를 누군가 뽑아주긴 어려워 보였습니다. 스쿨은 데이터사이언스였지만, AI 인력도 대학, 대학원의 많은 인력이 좋은 교육을 통해 시장에 진입할 듯하여, 저는 소프트웨어 엔지니어적(SE)인 실력을 먼저 쌓자는 생각을 하였습니다. 식품연구원에서 개발자로 전직(직무전환)한 이야기 (feat. 8개월) 17년 7월, 저는 식품연구원으로 재직하던 회사를 그만두고 18년 3월 비전공자 개발자(데이터 엔지니어 신입)로 취업에 성공하였습니다. 직무전환에 대한 글은 많지만 식품연구원에서 개발자로 kadensungbincho.tistory.com 그렇기에 데이터 환경에서 SE적인 측면이..
-
데이터 엔지니어 역량 (feat. 구인구직사이트 자격요건)Data 2021. 1. 6. 22:32
먼저, 구인구직 사이트를 크롤링해서 얻은 자격요건의 주요 단어들을 살펴보고, 개인적으로 중요하다고 생각되는 부분들을 살펴보겠습니다. 관련글: 데이터 엔지니어란? '데이터 엔지니어'라는 직무는 어떻게 탄생되었나: 요구사항과 도구들 기업 내의 데이터 환경은 어떤 모습인가 데이터 엔지니어의 업무범위(하는 일) 자격요건 크롤링 결과 기존에 StitchData와 같은 곳에서 아래와 같은 'Data Engineer Skills - Top 20' 같은 자료는 있었으나, 저도 멘토링을 하면서 한국 실정은 어떠한가?라는 의문이 항상 있었습니다. 그래서 이번 기회에 스크래핑을 통해 자격요건을 긁어서 주요 기술 단어만 살펴보기로 마음 먹었습니다. 그 결과 총 200 여건의 데이터 관련 JD(Job Description) 중..
-
데이터 엔지니어의 업무범위(하는 일)Data 2021. 1. 6. 18:05
데이터 엔지니어의 업무는 단순하게 보면 '데이터 상품'을 만들기 위한 업무 또는 해당 업무의 기반을 만드는 업무라고 할 수 있습니다. 최종적으로는 데이터, 데이터 플랫폼, 데이터 서비스 등의 다양한 형태의 상품으로 보이더라도, 사실 그 내부에서는 서로 유기적으로 연결되어 있습니다. 이번 글에서는 먼저 domain 결합이 강한 형태와 self-service 형태의 데이터 업무 구조를 알아보고, 데이터 구조의 부분별로 상세히 어떤 일을 하는지 살펴보겠습니다. 관련글: 데이터 엔지니어란? '데이터 엔지니어'라는 직무는 어떻게 탄생되었나: 요구사항과 도구들 기업 내의 데이터 환경은 어떤 모습인가 데이터 엔지니어 역량 (feat. 구인구직사이트 자격요건) Domain-Oriented vs Self-Service ..
-
파이썬 딕셔너리 내부구조와 관련 개념 살펴보기 (Python Dictionary Internals and relating concepts)Python 2021. 1. 4. 17:20
파이썬 딕셔너리는 해쉬테이블(Hash Table)로 내부적으로 리스트를 포함(3.6 이후)하고 있으며 파이썬 언어 자체에도 많이 쓰이고 있어서(모듈 네임스페이스, 클래스 및 인스턴스 속성, 함수의 키워드 아규먼트 등 [5]), 그 내부구조를 자세히 공부해보면 다양한 중요개념들을 배울 수 있습니다. 또한, 3.6 버젼에서 내부구조가 변경되면서 키의 Ordering을 보장하였는데, 그 부분도 내부구조를 살펴보며 다룰 수 있을 것 같습니다. 이 글에서는 아래와 같은 사항을 다루고자 합니다: 딕셔너리는 해쉬테이블 왜 3.6 이후 버젼은 딕셔너리 키가 Ordering되나? Combined 및 Split table Memory 할당 Hash collision Key lookup optimization (Old Ve..