2015년 10월 1일 목요일

빅데이터 확산을 위한‘스케일 아웃 NAS' 아키텍처 구축의 5가지 기본원리

비정형 데이터를 실행 가능한 비즈니스 인텔리전스(Business Intelligence, 이하 BI)로 변환하고자 한다면, 첫 번째 단계는 데이터의 페타바이트(Petabyte, 이하 PB)를 처리할 수 있는 스토리지 아키텍처를 구축하는 것입니다. EMC 아이실론(Isilon)의 닉커쉬(Nick Kirsch)는 스케일 아웃(Scale-out) NAS(Network Attached Storage)가 가장 좋은 솔루션이라고 언급합니다. 빅데이터는 지금까지와는 다른 저장방식을 요구함에 따라 데이터의 빠른 증가속도를 따라갈 수 있도록 선형적 확장을 지원하는 스케일 아웃 NAS가 주목받고 있습니다. 이에 기업/공공기관에서 효과적인 스케일 아웃 NAS 아키텍처 구축을 위한 기본원리를 소개합니다. 

스케일 아웃 NAS의 개요
기업은 실행 가능한 BI를 위해 데이터 마이닝(mining)에 대한 기대와 더불어, 종이문서를 디지털화하고 이메일, 워드 문서, 엑셀 파일 등 모든 다른 비정형 데이터들을 저장하는 빅데이터의 세계로 가고자 합니다.
기업의 정보는 급작스럽게 페타바이트급으로 늘어나 축적되고 있기 때문에, 그들이 해결해야 할 가장 큰 문제는 스토리지입니다.

스케일 아웃 NAS의 5가지 기본원리
  1. 단순한 구성을 할 것
  2. 예측 가능할 것
  3. 효율적으로 구성할 것
  4. 항상 사용가능할 것
  5. 기업 환경에 맞출 것

개발자들에게 유용한 10가지 오픈소스 온라인 코딩툴

페어 프로그래밍, 소셜 코딩, 협업개발 등을 위해 브라우저를 통한 공유, 개발, 코드 디버깅이 가능한 툴들이 급격히 확산되고 있습니다. 이에 따라 개발자들에게 유용한 온라인 디버깅 툴, 통합개발환경 등을 소개할 필요가 있습니다.
 
오픈소스 운동은 협력, 공유, 아이디어의 무료 공유에 주목하며, 이런 모든 것들을 위한 활발한 공개토론회가 필요합니다. 새로운 온라인 코드 공유 사이트들, 디버깅 도구들, 성숙된 IDE들이 매일 생겨나고 있으나, 최근까지도 웹프로그램을 정교하게 개발하는 것은 어려운 일입니다. 여기에서는 효과적이고 경쟁력 있는 오픈소스 온라인 코딩 툴을 소개합니다.

Koding(공개 시험판)
소셜 코딩에서의 새로움은 실제로 그렇게 새로운 것이 아니며, Kodingen으로 알려진 Koding은 완전한 기능을 갖춘 브라우저 기반의 IDE로 여전히 베타 버전으로 남아있으나, 이미 좋은 평가를 받고 있음

Cloud9
Cloud9은 백-엔드 상에서 Node.JS와 함께 설계되고 클라이언트 상에서 자바스크립트/HTML5와 함께 설계된 오픈 소스 IDE임

CodePen
알렉스 바즈케즈(Alex Vazquez) 등이 개발한 CodePen은 프론트엔드 기능에 재미를 느끼게 하는 것에 집중하고 있으며, 특히 CSS3 그리고 캔버스 애니메이션은 특별한 관심을 얻고 있음

Dabblet
Dabblet는 자바스크립트를 해석하는 JsFiddle과는 다르게 CSS/HTML에 최적화된 웹테스트 환경을 지님

Pastebin.me 
Pastebin.me는 온라인 코드 공유 방식으로, 코딩을 자동 완성시키는 스니펫트는 이메일을 통해 공유할 수 있는 독특한 URL을 Pastebin.me에서 설정할 수 있음

CSSDesk
CSSDesk가 단독 디자이너/개발자인 조쉬 파이레스(Josh Pyles)의 작업이라는 사실은 오늘날 가장 작은 규모의 개발 팀이 얼마나 많은 것을 할 수 있는지를 보여줌

JSFiddle
JSFiddle은 자바스크립드/HTML/CSS/SCSS를 웹에서 바로 작성해서 디버깅과 테스트를 해 보고 소스를 공유할 수 있는 최고의 서비스 중 하나임

jsdo.it
L5, CSS, JavaScript, JQuery 소스를 작성한 후 결과를 확인하고 공유할 수 있는 사이트임 

Tinker.io
Chiel Kunkel의 Tinker는 능력을 드러내지 않는 것과 시각적으로 단순하게 디자인하는 것을 선호하기 때문에, 결과적으로 다른 사람들의 코드나 과시하는 것에 집중하는 것이 아니라, 스스로 작업하고 있는 코드에 집중하게 함

Tinkerbin
2011 필리핀 웹 디자인 컨퍼런스를 위해 제작된 Tinkerbin은 이제는 잘 이해할 수 있는 포맷 즉 HTML/Haml/JS/CoffeeScript/CSS/Sass/LESS를 지원함

안드로이드 스마트폰을 위한 USB 기반 통합 디버깅 방법

스마트폰 사용자의 증가와 더불어 스마트폰 개발에 대한 관심이 증가하고 있습니다 . 특히 안드로이드 운영체제를 사용하는 스마트폰에 대한 관심이 더욱 증가하고 있는 상황입니다 . 이러한 안드로이드 스마트폰은 소스가 공개되어 있는 특징을 가지고 있으며 , 이 공개 소스를 활용한 스마트폰 개발과 연구가 증가하고 있는 추세입니다 . 안드로이드를 활용한 소프트웨어 개발은 제조사가 개발하는 안드로이드 스마트폰 플랫폼 개발과 마켓에서 수익을 얻는 응용프로그램 개발로 나뉘고 있습니다 . 이 중 스마트폰 제조사의 안드로이드 커널과 프레임워크에 대한 개발 환경은 크게 부족한 상황이며 , 또한 안드로이드 스마트폰 사용자가 GPL 라이선스로 되어 있는 안드로이드 커널을 수정하여 재 배포 하는 일은 개발 환경 부족으로 쉽지 않습니다 . 특히 안드로이드 커널 디버깅 작업은 매우 힘든 상황입니다 .

안드로이드 스마트폰 개발에서 안드로이드 커널 디버깅 작업은 초기 보드 이식 작업부터 시작하여 각종 디바이스 드라이버 작업을 수행할 때 주로 필요합니다 . 또한 , 사업자 요구 사항과 제조사 요구 사항에 따른 추가적인 기능 개발이 필요하며 , 최종 제품이 납품될 때까지 개발 기간 전체적으로 커널 디버깅 작업이 요구됩니다 . 납품된 이후에도 버전 업그레이드와 버그 수정 등의 이유로 안드로이드 커널 디버깅 작업은 계속 이루어집니다 . 이러한 이유로 커널 디버깅 작업은 지속적인 버그 수정과 커널 패치 등 스마트폰 개발 프로세스의 상당 부분을 차지하고 있습니다 . 이처럼 안드로이드 커널 디버깅에 걸리는 시간을 줄이는 것은 개발 기간을 단축시켜 제품 출시 일을 앞당길 수 있습니다.

안드로이드 디버깅 방법


USB기반 통합 디버깅 개발환경 구조



USB기반 통합 디버깅 개발환경 구현