'2016/02'에 해당되는 글 3건

  1. 2016.02.22 업무가 빠른 사람의 심플한 습관 1
  2. 2016.02.22 프로그래머가 모르면 손해인 범용적인 툴(tool) 100선
  3. 2016.02.16 쉽게 배우는 하둡 에코 시스템 2.0 (Hadoop ECO system 2.0)

업무가 빠른 사람의 심플한 습관

Happening 2016. 2. 22. 10:46

아래의 문장을 읽으시고

해당된다 2점

애매하다 1점

해당 되지않는다 1점

으로 계산하시고 마지막에 합계를 내주세요


□    01. 어떤 일이라도 신중을 기한다.

□    02. 인터넷이나 게임을 하면 시간을 잊어버린다.

□    03. 멍때리고 텔레비를 보는 경우가 많다.

□    04. 손님이 나란이 줄을 서있는 가게를 좋아한다.

□    05. 컴퓨터가 오랜된것이라도 소중히 사용한다.


□    06. 업무 도구에는 얽매이지 않는다.

□    07. 사생활보다 일이 먼저다.

□    08. 아침은 아슬아슬할때까지 자고 일어난다.

□    09. 밤늦게 잔다.

□    10. 한번더 자는경우가 많다.


□    11. 휴일에도 일생각을 한다.

□    12. 휴일에는 느긋하게 자고있다.

□    13. 몸을 단련하는일을 그다지 하지 않는다.

□    14. 장래의 목표를 가지고 있지 않다.

□    15. 미래보다도 현재가 소중하다라고 생각한다.


□    16. 시킨거밖에 일하지 않는다.

□    17. 시급보다는 년봉을 생각한다.

□    18. 가능한한 잔업수당을 벌고싶다.

□    19. 다른사람 말은 순순히 듣는다.

□    20. 주변 사람들에 맞춰서 행동한다.


□    21. 복수의 일을 병행해서 진행한다.

□    22. 업무 순서를 확실히 정하고 일을 시작한다.

□    23. 중요한 일보다 긴급한일을 우선적으로 한다.

□    24. 귀찮은 일은 나중에한다.

□    25. 일의 단락을 지을때 까지는 퇴근하지 않는다.


□    26. 지시받은 일은 곧바로 한다.

□    27. 업무를 완벽하게 하지않으면 기분이 내키지 않는다.

□    28. 사고방식, 업무의 진행방법은 보수적이다.

□    29. 일은 가능한한 혼자서 한다.

□    30. 문장을 쓰는게 서툴다


□    31. 헛된 일은 하고 싶지않다.

□    32. 주위에 신경을 쓰는 경우가 많다.

□    33. 어떤일이라도 거절 않한다.

□    34. 다른사람이 자신을 어떻게 생각하고 있는지 신경쓰인다.

□    35. 돈과 시간중에 돈이 더 소중하다.



결과

40~70점

당신은 일처리가 느린 사람입니다.

일에 대한 사고방식,  생활 습관등을 새로 검토해야될 필요성이 있는것 같습니다.


15~39점

당신은 평범한 사람입니다.

조금은 일에 대한 자세를 바꾸면, 업무 능력이 한단계 업 될수있습니다.


0~14점

당신은 일처리가 빠른 사람입니다.

일 뿐만아니라 사생활에서도 충족한 생활을 보내고 있을 것입니다.



일처리가 빠른 사람의 사고방식

■ 완벽하지 않아도 좋다라고 생각한다.

■ 필요 이상 신경 쓰지않는다.

■ 다른 사람과 다르게 행동한다.

■ 때와 경우에 따라서는 일을 거절한다.

■ 시킨 일만 하지마라.

■ 옛날 방식에 고집하지 않는다.

■ 확실한 목표를 가진다.

■ 미래를 생각해서 일한다.

■ 결과를 신경쓰지말고 할수 있는일을 힘껏 한다






일처리가 빠른 사람의 업무방식

■ 회사 이외에서도 일을 할수있다.

■ ON 과 OFF를 확실히 한다.(일을할땐 일을 놀땐 논다)

■ 하나의 일에 집중해서 완성시킨다.

■ 일의 순서에 너무 고집 부리지 않는다.

■ 급하지 않는 일을 중시여긴다.

■ 않해야할 업무 리스를 만든다.

■ 시간 먹는 벌레를 발견하면 즉시 처리한다.

■ 뭐든 노트에 뭐든 기록한다.

■ 메뉴얼과 체크리스트를 활용한다

■ 근무 시간을 멍하니 보내지 않는다.

■ 일이 끝난후의 시간을 자신의 투자에 사용한다.

■ 퇴근 시간을 결정해서 일을한다.

■ 투자효과를 생각해서 시간을 사용한다.

■ 단기투자 보다 장기 투자를 선택해라.

■ 시간을 2배로 활용한다.(이동 시간등)





일처리가 빠른 사람의 생활습관

■ 지금밖에 할수없는 일은 지금한다.

■ 필요없는 물건은 눈 딱감고 버린다.

■ 매일 운동을 한다.(체력)

■ 돈으로 시간을 산다.(100m 떨어진곳에서 100원에 파는 물건이 1m 떨어진 곳에서 200원에 판다면 200원 짜리 물건을 사란소리)

■ 업무의 도구에 고집한다.(사용 하기 편한 펜, 노트 등등)

■ 사생활 시간을 충분히 확보 한다.

■ 집중력을 높인다.(충분히 자라)

■ 작업을 시작하기전에 어떤식으로 하면 효율적으로 할수 있을지 생각하고 작업하기.

■ 뇌의 골든타임을 유용하게 활용한다.(아침에 공부)

■ 무리를 해서라도 아침 일찍일어나 본다.(잠자는 시간을 활용한다)

■ 자고 일어나 다시 자는건 하지말고, 낮잠을 잔다.

■ 자기전에 몇시간 잘수있을지 생각한다.

■ 휴일에도 생활리듬을 뿌수지 않는다.

■ 인생의 시간을 관리해서 자신의 목표에 접근한다.(뭐를 하기 위해서, 몇살에 뭐가 필요한지)


출처 : http://tkdwnsdkk.tistory.com/99


:     

TISTORY에 Login하려면 여기를 누르세요.


프로그래머가 모르면 손해인 범용적인 툴(tool) 100선

IT News 2016. 2. 22. 10:41



에디터

Vim

vim가 있으면 대부분의 프로그래밍이 가능하다.

vim습득 하는데 시간이 걸린다는게 안좋은점이다.

에이터 플러그인

  • neocomplcache.vim
  • quickrun.vim
  • vimproc + quickrun
  • unite.vim

MacVim

Emacs

VIM, Emacs는 특별 하다라는 느낌이네요

에디터 플러그인

  • anything.el

CocoaEmacs

Mou

Markdown를 쓰기위한 에디터

SublimeText2

CotEditor

무료. 완전 가벼운 에디터.
간단한 문장 수정에 적합하다.

Coda

쉐어. 에디터+IDE 같은 느낌. 디자인을 확인하면서 편집이 가능하다.FTP,SSH,SVN등도 함께  쓸수 있어서 디자이너에게는 이걸로 충분.

TextWrangler

Espresso

Espresso 는 리얼타임으로 CSS를 프리뷰하면서 쓸수 있는 에디터.

JSON Editor

간단하게 JSON을 조작하는 에디터.


IDE(종합개발환경)

Xcode

iPhone어플을 개발할 마음이 없어도 넣어두면, 서로 차이가 나는 소스를 간단하게 다룰수 있는 FileMerge어플이랑opendiff코멘드등 덤으로 붙어 있기 때문에 추천

Eclipse

Eclipse나NetBeans등 우선 사용하는 파. 그래서 어느쪽이 좋은지를 결정하는거보다 '이건 뭐가 뛰어나지?'를 보고, 경우에 따라서 바꿔 가며 쓰자.

http://www.eclipse.org/

NetBeans

Eclipse나NetBeans등 우선 사용하는 파. 그래서 어느쪽이 좋은지를 결정하는거보다 '이건 뭐가 뛰어나지?'를 보고, 경우에 따라서 바꿔 가며 쓰자.

PhpStrom

PHP나JavaScript를 시작하는 웹 프로그래머용 IDE。

Cloud9

아직 조잡하지만, 브라우저에서 실행할수 있는IDE. GitHub나Bitbucket등과 연동

WebStorm

현재 IDE중에서는 JavaScript 부분의환경이 최고. 자매품 PHPStorm도 평가가 좋다,
내부 소스 프로그램 수정,버그 수정등이 간단하게 되지만, 유료 입니다. 써볼만한 가치는 있다고 생가갑니다...

Nide

node.js IDE



SQL, DB

Sequel Pro

MySQL클라이언트. phpMyAdmin가 필요없어 졌다.

Navicat

MySQL클라이언트

MySQLWorkbench

EER그림도 그릴수 있기때문에 데이터 베이스 설계에도 사용할수있음.

HeidiSQL

Windows용 MySQL클라이언트 인데요,HeidiSQL
JDBC/ODBC등없이 이거 하나로 접속 가능하며, 스프레드 시트를 순차적으로 열어가는 형태의 브라우징이 가능하다.

그렇기 때문에 "실제 DB데이터를 보면서 데이터를 조작한다" 라는 점이 직감적으로 가능해, 매우 편리.

SSH터널 접속, 서버 간의 데이터 덤프 & 리스토어도 가능하기 때문에 , 운영 작업은 거의 이걸로 완결.
단, 좀 불안정하기 때문에 , 거의 멈추지 않는 작업에는 적합하지 않을지도...
(그런건 서버에서 해! 라고 한소리 들을것 같네요)

adminer

phpMyAdmin랑 같은 브라우저 베이스의 DB클라이언트.

1파일에서php가 움직이는 환경이라면 OK, 무엇보다도 가볍기 때문에 편하게 자주 쓰고 있다.
MySQL,PostgreSQL, SQLite, MS SQL,Oracle랑 의외로 무슨 SQL이든 사용이 가능한데 어째서인지 마이너.

SQLEditor

ER도 작성 툴. 생SQL나ActiveRecord Model를 출력할수있다.

Base.app

SQlite용 GUI관리 툴.

ERMaster

DB관리 툴。
Eclipse의 플러그인인데, DB관리+도큐멘트화가 엄청나게 편해진다.

The SQLite Sorcerer

SQLite용 클라이언트. AIR제.

PHP

MAMP

xhprof

php 로 쓰여진 Web어플리케이션 병목지점을 조사할때 필수

xdebug

PHPUnit

사용할수 있는 테스트 프레임 워크가 이것 밖에 없음

Phing

php 의 빌드 툴,테스트 환경이나 본방 환경등의 환경을 환경채로 부트스트랩 지시나, 종합 테스트 설정에 쓰임





Ruby

travisCI

계속 통합

bundler

어플리케이션 마다 필요한 Gem 을 관리 할수있다. 디플로이 장소 구축에 편리

Capistrano

디플로이,PHP 든지 다르 언어로 쓰여진 어플리 케이션도 설정에 따라서 이걸로 디플로이 가능

Pry

irb에서 갈아 탐.

watchr

guard

gist


Java

JavaDecompiler

JavaScript

node.js

JavaScript의 대화 실행 환경, 어쨋든 빠르게 JS의 동작 체크 하고싶을때 편리

SpiderMonkey

JavaScript의대화 실행 환경 어쨋든 빠르게 JS동작을 체크하고 싶을때

ringo.js

JavaScript의대화 실행 환경 어쨋든 빠르게 JS동작을 체크하고 싶을때

jsPerf

JavaScript의 벤치 마크를 얻을수 있는 사이트. js 벤치마크를 얻어서 공개하는데 편리.

jsFiddle

브라우저내에서 JavaScript 실행・HTML/CSS의 마크업 같은게 가능하다

Google Closure Compiler

JavaScript를 압축할 일이 있으면 、Google Closure Compiler

YUI Compressor

JavaScript도 CSS도 압축할 일이 있으면 、YUI Compressor

impress.js

enchant.js

npm

forever

coffee-script

rvm

nvm

nave

Python

pypy

python에서 쓴 프로그램이 좀 느리다고 생각하면 일단 한번 사용해 본다(django가 움직이기 때문에 관계가 있지요?)

virtualenv, virtualenvwrapper, pythonbrew

python이라 하면 virtualenv, virtualenvwrapper。최근에는 pythonbrew을  쓴다

SimpleHTTPServer

Python라면、SimpleHTTPServer가 편한거 같습니다.

pip

ipython

scipy

werkzeug

CSS, HTML, LESS

Less.app

LESS을 쓸일이 있으면 LESS.app도 편리함.

Twitter Bootstrap

자신은 프로그램에 집중 하고싶다, 나름대로 멋도 있는게 좋다 라는 경우에는 Twitter Bootstrap로 템플릿을 간단하게 작생해 두면 좋을지도.

zen-coding

HTML/CSS의 입력 지원. IDE가 지원 하거나、에디터에 플러그인으로 넣을수 있다.



테스트

xUnit계

XUnitTestPatterns든지 읽어두면 어느 언어의 xUnit계의 테스트 프레임 워크도 이해하기 쉬워짐

xSpec계

JBehave이나 RSpec이나. PHP에는 없음.Wikipedia영어판BDD가 알기 쉽다.

QuickCheck계

프로그램 구조 그대로 기술해서,랜덤으로 인수를 부여서해서 검증하는 테스트 프레임 워크.
오리지널은 Haskell부터인데,메이저 언어 에서도 이미 꽤 사용중
Haskell 이외의 언어에서 의욕적으로 쓸수있도록 개발하고있는YelloSoft 가 알기 쉬울지도


네트워크

Hoster

hosts파일을 GUI로 설정하는 어플.

wireshark

wireshark, tshark는 사용방법만 외워두면 초 강력.

HTTP Client

MockSMTP

가상 로컬SMTP. 인터넷에 연결되지 않아도 SMTP로 동작을 체크가능

FTP, SSH, SCP

~/.ssh/config: SSH주변 설정을 정리해두면 엄청 편리

PuTTY

WindowsのSSH는 PuTTY파 이지만、다른 사람에게 추천하는건 Poderosa

Poderosa

WindowsのSSH는 PuTTY파 이지만、다른 사람에게 추천하는건 Poderosa

ClusterSSH

Transmit

리모트 한 상태에서 파일을 더블 클릭하면 파일을 로컬에 보존→열림、파일 보존→자동적으로 업로드등이 가능, 간단한 개발에는 꽤 편리.

그리고 접속 하는쪽 디렉토리를 Finder에 마운트 할수있는 공포의 기능등. 물론 ssh도 대응

grep

rak

Ruby계의 툴  rak 코멘드. grep검색 툴.

ack

better than grep

jvgrep

자화자찬 인데요,grep로jvgrep. go언어로 쓰여져 있기때문에 linux에서도 windows에서도 똑같이 동작.
일본어 엔코딩은 거의 지원해주고 있고, 여러가지 엔코딩 파일이 섞여있을때의 grep등, 통칭 쓸때없는 문자를 포함한 정규표현에도 올바르게 움직입니다.(한국어도 있나 싶어서 검색해봤지만 딱히 눈에 띄이진 ㅇ

Tips

export GREP_OPTIONS='--color=auto'
에서fgrep/egrep/grep했을때에 매치했을때 단어가 컬러로  하이라이트 되도록 표시 된다

grep/fgrep/egrepの-o 옵션. 매치한 단어만 유출 할수있다, 이것은 한줄로 완성된 프로그램을 쓸때 사용할수 있다.egrep은 확장정규표현 이기때문에 Perl이든지 Ruby같은 편리한 정규표현을 사용할수있다. fgrep은 고정 문자열검색할때 빠른다.
詳細: http://d.hatena.ne.jp/lurker/20070131/1170201200

통계처리

수만건 정도의 로그를 간단하게 처리하고 싶을때 편리
중앙값, 표준편차등도 한방에 구할수 있다. 데이터를 기준으로 히스토그램, 3D그래프등

R

Octave

터미널

TotalTerminal

Mac의 터미너를 바로가기키로 바로 불러낼수 있습니다.

iTerm2

percol

percol 가 터미널로 사용할수 있는 범용적이고 편리한 툴입니다. 어떻게 사용하는지에 따라 지식/센스등을 시험받는 기분이 듭니다.



Subversion

Cornerstone

SVN클라이언트

Versions

SVN클라이언트

git

SmartGit (Windows)

Git 클라이언트

SourceTree (Mac)

Git 클라이언트

GitHub

자신이 쓴 소스코드를 공개

tig

git를 사용할거라면 tig가 없으면 살아갈수없다.

GitX

Tower

github for mac

브라우저

SRWare Iron

UserAgent를 바꿀수있는 Chrome같은 사용방법으로 쓸수있다.


패키지관리

MacPorts

프리. 패키지 관리 툴. 컴파일에 시간이 걸리지만 옛날부터 사용하고 있기떄문에 손 놓을수 없는 툴.

Homebrew

UNIX의 코멘드등을 간단하게 사용할수 있다.

그외 개발 툴

codekit

CodeKit automatically compiles Less, Sass, Stylus, CoffeeScript & Haml files.

pandoc

적으면서 모은 markdown메모를
도큐멘트로 만들때에 pandoc을 사용해서html화 한다.

Integrity

고속 링크체커. 디플로이 전의 필수 아이템

Omnigraffle

쉐어 . 도큐멘트 작성 툴. 이걸로 사용서를 만들때 엄청 빠르게  끝낼수 있음.

osx-gcc-installer

Mac에서「xcode는 필요없지만, gcc만은 원해」라고 생각했을때 죽을만큼 고마운  툴. 우선 Watch 나 즐찾

VMware + Gentoo (or Ubuntu, Debian, etc)

ImageOptim

이미지 파일을 경량화

HTML서버로서의 Dropbox

HTML+CSS+JS를 글로벌 액세스로 디버그 할려고 생각하면, 결국 Dropbox의Public 폴더가 가장 간단한 하다는걸 깨달았습니다.(스마트폰용 사이트 등)

그외 작업 효율화 관계 툴

Caffeine

BetterTouchTool

ClipMenu

Limechat for mac osx

Preferences -> Log -> Show image links in inline을 사용함으로 바꾸면
유저명에 대응한 영상을 Twitter에서 가져와서 인라인으로 전개해준다.
물론 틀린 프로필 이미지가 전개 되는경우도 있지만, 유명한 사람이 많은IRC같은거라면 대체로 맞다

QuickSilver

Quicksilverは、어플리케이션을 실행시켜、컴퓨터 ・파일조작、e-mail 임시저장과 송신과 같은 작업을 키보드로 빠르게 처리 할수있다.

Quix

quix 편리하지만 사용하는 사람을 본적이없다.

Skitch

Lingon

프리 or  쉐어。자동 기동 관리 툴. OSX의 자동기동 프로그램을 시각적으로 편집하거나 할수있다.

Growl

기본적인 곳의 Mac이라면 Growl

Alfred

QuickSilver같은 fuzzy 같은 문자열에 의한、어플리케이션 검색 & 실행 런처. QuickSilver보다도 좋은점은、매치 하는 어플리케이션가 없을때는 구글 검색해준다는 점.

Reeder

RSS리더는 Reeder를 추천.

Cinch

Mac에서 간단하게 가면을 2분할(Win7의 그것)을 해주는 툴.

Fluid

Web어플을 간단하게 로컬어플리화 할수있는 녀석. Web어플로 간단하게 개발해서、클라이언트를 브라우저로 하지 않거나  항상 상주 시키고 싶을때에 편리.

DIVVY

화면을 핫키 한방에 분할 할수있다.

A Better Finder Rename

RENAME가 초 간단

Skim

경량 PDF리더。Adobe Acrobat보다 좋은거같다.

Bean

Microsoft Word보다도 쾌적

Unix/Linux/Macコマンド

  • gdb
  • lv
  • xargs
  • iotop
  • htop
  • iperf
  • htop
  • zsh
  • tree
  • make
  • bison
  • awk
  • screen
  • byobu
  • tmux

서버에서 장기간 걸리는 작업을 불안정한 회선등으로 할때에 특별히 도움이 됩니다.

screen은 간단하게 프로센스를 오래 살도록 하는데에 편리합니다.
ssh에서 접속해서 무언가 시간이 걸리는 프로세스를 실행해도 접속을 끊으면 프로세스도 커널에 종료되어버리는데
거기에서 screen안에서 프로세스를 기동해서、screen을 deattached해두면、그 프로세스는 오래살수있도록 할수있습니다.

.

처음에 고맙다라고 생각한게 서버위에서 장시간 작업할때
통신가 툭 끊어져도 screen의 프로세스 자체는 살아남기 때문에, 다시한번 서버에 접속해서
남아있는 screen의 프로세스에 attached하면 작업이 즉시 재개 시킬수 있습니다.

vim의 작업 상태 등도 그대로 남아 있습니다.
byobu라는것은 screen가 좋은느낌으로 커스텀마이즈 된 녀석


screen/tmux 가 다가가기 힘든 사람에게는 byobu가 추천입니다.
우선 곤란해 하지 않을 설정이 기본적으로 되어져 있습니다.

나머지는 밑의 많은t ips
"terminal multiplexor Advent Calendar 2011 : ATND" http://atnd.org/events/22320

.

네이티브의 바이너리 관련、od,file,nm,strings,strace,varglind

.

개인적으로는 vim/zsh/screen。이 3개는 어떤 환경이라도 반드시 넣는다

.

find ./ -name *.php | xargs grep hoge とかはよく使いますね。Windowsは秀丸のgrepが強力です。

git, 자주 사용하는 코멘드랑 옵션

http://qiita.com/items/2047#comment-2182

추운날에 CPU가 발열해서 따듯해지는 코멘드

추운날은 충전중의 맥북에서 ruby -r digest/sha1 -e 'loop{Digest::SHA1.hexdigest(Time.now.to_f.to_s)}'
같은걸 하면  잠깐 방치하면 마음대로 CPU가 발연해서 따듯해짐

미분류

mscgen

sequence도를 쓸거라면 mscgen를 추천

cheat

yUML

UML을 그리고 출력할수 있는 Web서비스. 유닉크한 URL가 발행되기 때문에  블로그에 붙이거나 가능

클래스 /액티비티 /유즈 케이스

WebSequenceDiagrams.com

UML을 그리고 출력할수 있는 Web서비스. 유닉크한 URL가 발행되기 때문에  블로그에 붙이거나 가능

시퀀스 도

http://www.websequencediagrams.com/

Cacoo

AppleK for VMware

Mac에서 가상 머신 위의 Windows를 사용하는 경우에는 키 조작이 Mac과 같으되도록 설정해주는 어플. 유료지만 VM위에서의 작업효율이 크게 올라가기 때문에 추천
- VMWare용
http://www.trinityworks.co.jp/software/AppleKforVMware3/index.php
- Parallels용
http://www.trinityworks.co.jp/software/AppleKforParallels3/index.php

KeyRemap4Macbook

왜인지 아직 거론되지 않는 KeyRemap4Macbook. 키 분배를 자유럽게 커스텀마이즈 할수있음、같은 키를 길게 눌렀을때나  키가 입력되기전까지 기다리는 시간을 표준 보다 고속화 할수있다. Mac을 사용하는 프로그래머에게 있어선 많이 쓰는 어플.
http://pqrs.org/macosx/keyremap4macbook/index.html.ja

BitNami

다양한 OSS플랫폼/어플을 인스톨러를 사용해서 간단하게 도입할수 있게해주는 소프트

http://bitnami.org/stacks

AMPPS

다양한 OSS플랫폼/어플을 인스톨러를 사용해서 간단하게 도입할수 있게해주는 소프트
http://www.ampps.com/

TEKICO

일본어・영문자 더미 문자를 생각하는 AIR제품 소프트. Web사이트의 프론트 타이프 작업할때에 활용.



출처 : http://tkdwnsdkk.tistory.com/101


:     

TISTORY에 Login하려면 여기를 누르세요.


쉽게 배우는 하둡 에코 시스템 2.0 (Hadoop ECO system 2.0)

IT News 2016. 2. 16. 13:23

그 동안 제 블로그에서 많이 인용되는 글 중 하나가 바로 "쉽게 배우는 하둡 에코 시스템(http://blrunner.com/18)"인데요. 작성한 지 3년이 넘어가는 글이라서 최근 동향에 맞게 다시 정리를 해봤습니다.

[그림]하둡 에코시스템


코디네이터


- Zookeeper(http://zookeeper.apache.org)
분산 환경에서 서버 간의 상호 조정이 필요한 다양한 서비스를 제공하는 시스템으로, 크게 다음과 같은 네 가지 역할을 수행합니다. 첫째, 하나의 서버에만 서비스가 집중되지 않게 서비스를 알맞게 분산해 동시에 처리하게 해줍니다. 둘째, 하나의 서버에서 처리한 결과를 다른 서버와도 동기화해서 데이터의 안정성을 보장합니다. 셋째, 운영(active) 서버에 문제가 발생해서 서비스를 제공할 수 없을 경우, 다른 대기 중인 서버를 운영 서버로 바꿔서 서비스가 중지 없이 제공되게 합니다. 넷째, 분산 환경을 구성하는 서버의 환경설정을 통합적으로 관리합니다.


리소스 관리


- YARN(http://hadoop.apache.org)

얀(YARN)은 데이터 처리 작업을 실행하기 위한 클러스터 자원(CPU, 메모리, 디스크등)과 스케쥴링을 위한 프레임워크입니다. 기존 하둡의 데이터 처리 프레임워크인 맵리듀스의 단점을 극복하기 위해서 시작된 프로젝트이며, 하둡2.0부터 이용이 가능합니다. 맵리듀스, 하이브, 임팔라, 타조, 스파크 등 다양한 애플리케이션들은 얀에서 리소스를 할당받아서, 작업을 실행하게 됩니다. 얀에 대한 자세한 설명은 http://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/index.html을 참고하시기 바랍니다.


- Mesos(http://mesos.apache.org)

메소스(Mesos)는 클라우드 인프라스트럭처 및 컴퓨팅 엔진의 다양한 자원(CPU, 메모리, 디스크)을 통합적으로 관리할 수 있도록 만든 자원 관리 프로젝트입니다. 메소스는 2009년 버클리 대학에서 Nexus 라는 이름으로 시작된 프로젝트이며, 2011년 메소스라는 이름으로 변경됐으며, 현재는 아파치 탑레벨 프로젝트로 진행중이며, 페이스북, 에어비엔비, 트위터, 이베이 등 다양한 글로벌 기업들이 메소스로 클러스터 자원을 관리하고 있습니다. 메소스는 클러스터링 환경에서 동적으로 자원을 할당하고 격리해주는 매커니즘을 제공하며, 이를 통해 분산 환경에서 작업 실행을 최적화시킬 수 있습니다. 1만대 이상의 노드에도 대응이 가능하며, 웹 기반의 UI, 자바, C++, 파이썬 API를 제공합니다. 하둡, 스파크(Spark), 스톰(Storm), 엘라스틱 서치(Elastic Search), 카산드라(Cassandra), 젠킨스(Jenkins) 등 다양한 애플리케이션을 메소스에서 실행할 수 있습니다.


데이터 저장


- HBase(http://hbase.apache.org)
H베이스(HBase)는 HDFS 기반의 칼럼 기반 데이터베이스입니다. 구글의 빅테이블(BigTable) 논문을 기반으로 개발됐습니다. 실시간 랜덤 조회 및 업데이트가 가능하며, 각 프로세스는 개인의 데이터를 비동기적으로 업데이트할 수 있습니다. 단, 맵리듀스는 일괄 처리 방식으로 수행됩니다. 트위터, 야후!, 어도비 같은 해외 업체에서 사용하고 있으며, 국내에서는 2012년 네이버가 모바일 메신저인 라인에 HBase를 적용한 시스템 아키텍처를 발표했습니다.


- Kudu(http://getkudu.io)

쿠두(Kudu)는 컬럼 기반의 스토리지로서, 특정 컬럼에 대한 데이터 읽기를 고속화할 수 있습니다. 물론 기존에도 HDFS에서도 파케이(Parquet), RC, ORC와 같은 파일 포맷을 사용하면 컬럼 기반으로 데이터를 저장할 수 있지만, HDFS 자체가 온라인 데이터 처리에 적합하지 않다는 약점이 있었습니다. 그리고 HDFS 기반으로 온라인 처리가 가능한 H베이스의 경우, 데이터 분석 처리가 느리다는 단점이 있었습니다. 쿠두는 이러한 문제점들을 보완하여 개발한 컬럼 기반 스토리지이며, 데이터의 발생부터 분석까지의 시간을 단축시킬 수 있습니다. 클라우데라에서 시작된 프로젝트이며, 2015년말 아파치 재단의 인큐베이션 프로젝트로 선정됐습니다.


데이터 수집


- Chukwa(http://chukwa.apache.org)
척와(Chuckwa)는 분산 환경에서 생성되는 데이터를 HDFS에 안정적으로 저장하는 플랫폼입니다. 분산된 각 서버에서 에이전트(agent)를 실행하고, 콜렉터(collector)가 에이전트로부터 데이터를 받아 HDFS에 저장합니다. 콜렉터는 100개의 에이전트당 하나씩 구동되며, 데이터 중복 제거 등의 작업은 맵리듀스로 처리합니다. 야후!에서 개발했으며, 아파치 오픈소스 프로젝트로 공개돼 있습니다.


- Flume(http://flume.apache.org)
플럼(Flume)은 척와처럼 분산된 서버에 에이전트가 설치되고, 에이전트로부터 데이터를 전달받는 콜랙터로 구성됩니다. 차이점은 전체 데이터의 흐름을 관리하는 마스터 서버가 있어서 데이터를 어디서 수집하고, 어떤 방식으로 전송하고, 어디에 저장할지를 동적으로 변경할 수 있습니다. 클라우데라에서 개발했으며, 아파치 오픈소스 프로젝트로 공개돼 있습니다.


- Scribe(https://github.com/facebook/scribe)
페이스북에서 개발한 데이터 수집 플랫폼이며, Chukwa와는 다르게 데이터를 중앙 집중 서버로 전송하는 방식입니다. 최종 데이터는 HDFS 외에 다양한 저장소를 활용할 수 있으며, 설치와 구성이 쉽게 다양한 프로그램 언어를 지원합니다. HDFS에 저장하려면 JNI(Java Native Interface)를 이용해야 합니다.


- Sqoop(http://sqoop.apache.org)
스쿱(Sqoop)은 대용량 데이터 전송 솔루션이며, 2012년 4월에 아파치의 최상위 프로젝트로 승격됐습니다. Sqoop은 HDFS, RDBMS, DW, NoSQL 등 다양한 저장소에 대용량 데이터를 신속하게 전송하는 방법을 제공합니다. 오라클, MS-SQL, DB2 등과 같은 상용 RDBMS와 MySQL, 포스트그레스큐엘(PostgreSQL)과 같은 오픈소스 RDBMS 등을 지원합니다.


- Hiho(https://github.com/sonalgoyal/hiho)
스쿱과 같은 대용량 데이터 전송 솔루션이며, 현재 깃헙(GitHub)에 공개돼 있습니다. 하둡에서 데이터를 가져오기 위한 SQL을 지정할 수 있으며, JDBC 인터페이스를 지원합니다. 현재는 오라클과 MySQL의 데이터 전송만 지원합니다.


- Kafka(http://kafka.apache.org)

카프카(Kafka)는 데이터 스트림을 실시간으로 관리하기 위한 분산 메세징 시스템입니다. 2011년 링크드인에서 자사의 대용량 이벤트처리를 위해 개발됐으며, 2012년 아파치 탑레벨 프로젝트가 됐습니다. 발행(publish)-구독(subscribe) 모델로 구성되어 있으며, 데이터 손실을 막기 위하여 디스크에 데이터를 저장합니다. 파티셔닝을 지원하기 때문에 다수의 카프카 서버에서 메세지를 분산 처리할 수 있으며, 시스템 안정성을 위하여 로드밸런싱과 내고장성(Fault Tolerant)를 보장합니다. 다수의 글로벌 기업들이 카프카를 사용하고 있으며, 그중 링크드인은 하루에 1조1천억건 이상의 메세지를 카프카에서 처리하고 있습니다.


데이터 처리


- Pig(http://pig.apache.org)
피그(Pig)는 야후에서 개발됐으나 현재는 아파치 프로젝트에 속한 프로젝트로서, 복잡한 맵리듀스 프로그래밍을 대체할 피그 라틴(Pig Latin)이라는 자체 언어를 제공합니다. 맵리듀스 API를 매우 단순화한 형태이고 SQL과 유사한 형태로 설계됐습니다. SQL과 유사하기만 할 뿐, 기존 SQL 지식을 활용하기가 어려운 편입니다.


- Mahout(http://mahout.apache.org)
머하웃(Mahout)은 하둡 기반으로 데이터 마이닝 알고리즘을 구현한 오픈소스 프로젝트입니다. 현재 분류(classification), 클러스터링(clustering), 추천 및 협업 필터링(Recommenders/collaborative filtering), 패턴 마이닝(Pattern Mining), 회귀 분석(Regression), 차원 리덕션(Dimension reduction), 진화 알고리즘(Evolutionary Algorithms) 등 중요 알고리즘을 지원합니다. Mahout을 그대로 사용할 수도 있지만 각 비즈니스 환경에 맞게 최적화해서 사용하는 경우가 많습니다.


- Spark(http://spark.apache.org)
스파크(Spark)는 인메모리 기반의 범용 데이터 처리 플랫폼입니다. 배치 처리, 머신러닝, SQL 질의 처리, 스트리밍 데이터 처리, 그래프 라이브러리 처리와 같은 다양한 작업을 수용할 수 있도록 설계되어 있습니다. 2009년 버클리 대학의 AMPLab에서 시작됐으며,   2013년 아파치 재단의 인큐베이션 프로젝트로 채택된 후, 2014년에 탑레벨 프로젝트로 승격됐습니다. 현재 가장 빠르게 성장하고 있는 오픈소스 프로젝트 중의 하나이며, 사용자와 공헌자가 급격하게 증가하고 있습니다.


- Impala(http://impala.io)
임팔라(Impala)는 클라우데라에서 개발한 하둡 기반의 분산 쿼리 엔진입니다. 맵리듀스를 사용하지 않고, C++로 개발한 인메모리 엔진을 사용해 빠른 성능을 보여줍니다. 임팔라는 데이터 조회를 위한 인터페이스로 HiveQL을 사용하며, 수초 내에 SQL 질의 결과를 확인할 수 있습니다. 2015년말 아파치 재단의 인큐베이션 프로젝트로 채택됐습니다.


- Presto(https://prestodb.io)

프레스토(Presto)는 페이스북이 개발한 대화형 질의를 처리하기 위한 분산 쿼리 엔진입니다. 메모리 기반으로 데이터를 처리하며, 다양한 데이터 저장소에 저장된 데이터를 SQL로 처리할 수 있습니다. 특정 질의 경우 하이브 대비 10배 정도 빠른 성능을 보여주며, 현재 오픈소스로 개발이 진행되고 있습니다.


- Hive(http://hive.apache.org)
하이브(Hive)는 하둡 기반의 데이터웨어하우징용 솔루션입니다. 페이스북에서 개발했으며, 오픈소스로 공개되며 주목받은 기술입니다. SQL과 매우 유사한 HiveQL이라는 쿼리 언어를 제공합니다. 그래서 자바를 모르는 데이터 분석가들도 쉽게 하둡 데이터를 분석할 수 있게 도와줍니다. HiveQL은 내부적으로 맵리듀스 잡으로 변환되어 실행됩니다.


- Tajo(http://tajo.apache.org)
타조(Tajo)는 고려대학교 박사 과정 학생들이 주도해서 개발한 하둡 기반의 데이터 웨어하우스 시스템입니다. 2013년 아파치 재단의 인큐베이션 프로젝트로 선정됐으며, 2014년 4월 최상위 프로젝트로 승격됐습니다. 맵리듀스 엔진이 아닌 자체 분산 처리 엔진을 사용하며, HiveQL을 사용하는 다른 시스템들과는 다르게 표준 SQL을 지원하는 것이 특징입니다. HDFS, AWS S3, H베이스, DBMS 등에 저장된 데이터 표준 SQL로 조회할 수 있고, 이기종 저장소간의 데이터 조인 처리도 가능합니다. 질의 유형에 따라서 하이브나 스파크보다 1.5 ~ 10배 빠른 성능을 보여줍니다.


워크플로우 관리


- Oozie(http://oozie.apache.org)
우지(Oozie)는 하둡 작업을 관리하는 워크플로우 및 코디네이터 시스템입니다. 자바 서블릿 컨테이너에서 실행되는 자바 웹 애플리케이션 서버이며, 맵리듀스 작업이나 피그 작업 같은 특화된 액션으로 구성된 워크플로우를 제어합니다.


데이터 시각화


- Zeppelin (https://zeppelin.incubator.apache.org)

제플린(Zeppelin)은 빅데이터 분석가를 위한 웹 기반의 분석 도구이며, 분석결과를 즉시 표, 그래프로 제공하는 시각화까지 지원합니다. 아이파이썬(iPython)의 노트북(Notebook)과 유사한 노트북 기능을 제공하며, 분석가는 이를 통해 손쉽게 데이터를 추출, 정제, 분석, 공유를 할 수 있습니다. 또한 스파크, 하이브, 타조, 플링크(Flink), 엘라스틱 서치, 카산드라, DBMS 등 다양한 분석 플랫폼과 연동이 가능합니다.  2013년 엔에프랩의 내부 프로젝트로 시작됐으며, 2014년 아파치 재단의 인큐베이션 프로젝트로 선정됐습니다.


데이터 직렬화


- Avro(http://avro.apache.org)
RPC(Remote Procedure Call)와 데이터 직렬화를 지원하는 프레임워크입니다. JSON을 이용해 데이터 형식과 프로토콜을 정의하며, 작고 빠른 바이너리 포맷으로 데이터를 직렬화합니다. 경쟁 솔루션으로는 아파치 쓰리프트(Thrift), 구글 프로토콜 버퍼(Protocol Buffer) 등이 있습니다.


- Thrift(http://thrift.apache.org)

쓰리프트(Thrift)는 서로 다른 언어로 개발된 모듈들의 통합을 지원하는 RPC 프레임워크입니다. 예를 들어 서비스 모듈은 자바로 개발하고, 서버 모듈은 C++로 개발되었을때, 쓰리프트로 쉽게 두 모듈의 통신 코드를 생성할 수 있습니다.  쓰리프트는 개발자가 데이터 타입과 서비스 인터페이스를 선언하면, RPC 형태의 클라이언트와 서버 코드를 자동으로 생성합니다. 자바, C++, C#, Perl, PHP, 파이썬, 델파이, Erlang, Go, Node.js 등과 같이 다양한 언어를 지원합니다.  



출처 : http://blrunner.com/99


:     

TISTORY에 Login하려면 여기를 누르세요.