조대협 293

SharedPreference를 이용한 데이타 저장 및 애플리케이션간 데이타 공유

SharedPreference를 이용한 데이타 저장 및 애플리케이션간 데이타 공유 조대협 (http://bcho.tistory.com) 안드로이드에서는 데이타를 저장할때 여러가지 방법을 사용할 수 있다.대표적인 방법으로는 일반적으로 파일을 생성해서 저장하는 방법, 그리고 안드로이드에 내장된 데이타 베이스인 SQLite 데이타 베이스를 활용하는 방법이외에 SharedPreference라는 클래스를 사용하여 데이타를 저장하는 방법이 있다. SharedPreference SharedPreference는 간단하게 Key/Value 형태로 데이타를 저장할 수 있는 데이타 구조로 내부적으로는 XML 파일로 저장이 된다. 사용법이 매우 간단해서 일반적인 설정값이나 세션 정보, 사용자 정보와 같은 값들을 저장하거나 주..

소프트웨어 마에스트로 과정에 대해서

공부좀 하고 그냥 자려다가, 소프트웨어 마에스트로 과정에 대한 기사와 글들이 올라오는 것을 보고 생각을 하다가 몇글자 올려놓고 잠자리에 들려고 한다. http://bizn.khan.co.kr/khan_art_view.html?artid=201509141126591&code=930100&med=khan에 보면 소프트웨어 마에스트로 과정이 세금낭비에 실패인양 하는 형태의 기사와 함께, 국정 감사등에서 소프트웨어 마에스트로 과정에 대한 네가티브한 이야기들이 올라오고 있는 것 같다. 물론 방만한 예산운영이 있었다면 분명히 고쳐져야할 일이겠지만, 제도나 프로그램에 대해서는 찬성하는 편이다.주위에 소프트웨어 마에스트로 과정의 창업자나 엔지니어가 있고, 이들을 멘토링 하는 사람들도 있고 얼마전에는 이 인원들의 우수성..

IT 이야기 2015.09.16

애자일 팀 모델에 대하여

애자일 팀 발전 모델에 대하여Functional team, Product Team, Feature Team조대협 (http://bcho.tistory.com) 개요 관리자(CTO)역할을 맏으면서 가장 고민중에 있는 것 중 하나는 팀을 어떻게 모델하여 최적화된 개발팀 구조를 가지느냐 이다.근래의 개발팀의 모델은 애자일 사상에 영향을 받아서 작고, 독립적인 팀의 모델로 진화하고 있으며 대략적인 특징은 다음과 같다.· Self organized· Cross functional· 2 pizza team Cross functional 모델은, 하나의 팀 내에서 기획부터 디자인,개발 및 테스트를 모두 진행할 수 있는 팀 모델로 팀 안에 앱,프론트,백앤드 개발, 기획,테스터와 같은 모든 역할을 하나의 팀내에 모두 가..

ALM/애자일 2015.09.08

40대에 다시 도전을 시작합니다.

40대에 새로운 도전을 시작합니다. 1990년대의 벤처, 첫 외국 회사 BEA, NHN, 오라클, 마이크로소프트,사업, 중간 중간 프리렌서 까지,그리고 대기업까지. 40대에 올때까지 정말 파란만장한 시절은 보낸거 같습니다. 남들이 보면 화려하다고 할 수 있지만 와이프한테 월급도 제대로 못갔다 주고 힘들었던 시절도 많았습니다. 오랜 여행끝에 대기업에 안착을 했습니다. 2년 반이지만 정말 재미있었습니다. 이번에는 마지막이라고 안착하고 안정적인 삶을 살아 보려고 결정했습니다. M&A도 해보고, 박사님들 스카웃 할려고 미국 로드 투어도 해보고고, 글로벌 회사에서 치프 아키텍트라는 것도 해봤습니다. 짧은 시간 동안 설계한 서버 아키텍쳐만 수십개이고, 돌아가는 서버 인스턴스만 몇 백개 같습니다.그런데 몬가 이상하더..

사는 이야기 2015.05.12

아키텍쳐 문서화는 어떤 도구를 사용하는게 좋을까?

아키텍쳐 문서화는 어떤 도구를 사용하는게 좋을까?조대협(http://bcho.tistory.com) 제 현재 본업은 아키텍트 입니다. 주로 시스템을 설계하는 역할을 하는데, 이 아키텍쳐 문서를 주로 PPT를 사용합니다. 문서는 워드로 만드는게 좋을 수 도 있고, EA나 StarUML등등 많은 툴이 있는데, 굳이 PPT를 사용하는 이유를 적어놓고자 합니다.사실 예전에는 MS WORD로 설계문서를 만들었습니다. 만들어 놓으면 멋도 있고, 자세한 내용 표현이 가능해서 탐독하면서 이해하기도 좋습니다. 그런데, 고객사의 요구 때문에, PPT로 바꾼후, 거의 습관처럼 PPT로 아키텍쳐 문서를 만들다 보니, 몇가지 장점이 있습니다. 1. PPT 는 표현에 제약이 없다.아키텍쳐 디자인은 특성상 많은 다이어그램과 노트등..

Apache Storm을 이용한 실시간 데이타 처리 #5 –Storm의 병렬/분산 처리

대충보는 Storm #5-Apache Storm 병렬 분산 처리 이해하기 조대협 (http://bcho.tistory.com) Storm에 있는 Spout과 Bolt들은 여러개의 머신에서 어떻게 나눠서 처리될까? Storm 클러스터는 여러대의 분산된 서버에서 운용되기 때문에, 당연히 Spout과 Bolt도 나눠서 처리된다 그렇다면 이런 Storm의 병렬 처리 구조는 어떻게 되는 것일까?이 글에서는 Spout과 Bolt를 병렬로 처리하는 Storm의 구조에 대해서 알아보도록 한다.Storm의 병렬 처리를 이해하기 위한 개념Storm의 병렬 처리를 이해하기 위해서는 몇가지 개념을 정리해야 한다. Node,Worker,Exectutor,Task 이 네 가지 개념을 이해해야 한다. NodeNode는 물리적인 서..

Apache Storm을 이용한 실시간 데이타 처리 #3 -Storm 클러스터 설정과 배포

대충보는 Storm #3-Storm 싱글 클러스터 노드 설치 및 배포조대협(http://bcho.tistory.com) 지난번에는 간략하게, Storm을 이용한 HelloStorm 애플리케이션을 개발용 클러스터인 Local Cluster에서 구동해봤다. 이번에는 운영용 클러스터를 설정하고, 이 운영 클러스터에 지난번에 작성한 HelloStorm 토폴리지를 배포해보도록 한다. Storm 클러스터의 기본 구조Storm 클러스터를 기동하기 전에, 클러스터가 어떤 노드들로 구성이 되는지 먼저 알아보도록 하자 Storm 클러스터는 기본적으로 아래와 같은 3가지 구성요소로 구성이 되어 있다.먼저 주요 노드인 Nimbus와 Supervior 노드에 대해서 알아보자, Nimbus와 Supervisor 노드는 각각 하나..

빠르게 훝어 보는 node.js - #16 - Passport를 이용한 OAuth 2.0 API 인증 (Facebook 2/2)

빠르게 훝어보는 node.js#16 - Passport를 이용한 OAuth 2.0 API 인증 (Facebook 2/2)조대협 (http://bcho.tistory.com) node.js에서 페이스북 로그인하기앞에서(http://bcho.tistory.com/913) 설명한 Facebook 로그인 시나리오를 기반으로 하여 node.js와 passport-facebook 모듈을 이용해서, 간단한 로그인 서비스를 만들어보자.시나리오만들고자 하는 시나리오는 다음과 같다. /login 페이지에서 페이스북 로그인 버튼이 출력된다. 페이스북 로그인 버튼을 누르면 /auth/facebook 페이지로 이동한다./auth/facebook 페이지에서는 페이스북에 로그인을 하기 위한 OAuth 요청을 passport-fac..

카우치베이스(Couchbase) 서버-#4 뷰(View) 이해하기

Couchbase Server#4. 뷰(View) 이해하기 조대협 http://bcho.tistory.com 뷰는 카우치베이스의 아주 강력한 기능중의 하나이다. RDBMS의 뷰의 개념과 유사한 개념으로, 원본 데이터로부터, 필터링을 통하여 원하는 형태의 데이터로 변환하여 보여주는 일종의 읽기 전용 테이블과 유사한 개념으로 보면 된다. 이를 통해서 키-밸류 스토어 기능만 제공하는 일반 NoSQL에 비해서 filtering 뿐만 아니라, Indexing,grouping,ordering과 같은 다양한 기능을 이 뷰를 이용하여 사용할 수 있다.카우치베이스의 뷰는 원본 데이터에서 자바스크립트로된 맵&리듀스(Map&Reduce) 함수를 통해서 데이터를 정재한 후에, 뷰로 만들어낸다. 간단하게 개념을 잡아보면 다음과..