전체 글 1296

새노트북이 왔습니다.

이번 회사는 노트북을 한대밖에 안주는 관계로.(?) 집에서 작업용으로 노트북을 한대 구입했습니다. 기존의 맥을 팔고 한 10만원 보태서 구매했습니다. 집에 있는 맥북은 와이프 전용이 되어 버렸고.. 집에서 공부겸 잔업겸으로 전용 노트북이 한대 필요했거든요.. 주문하려도 몇가지 고민좀 하다가 주문 당일 되니까는 I3 코어 모델이 나와서 구매했습니다. I3 치고는 싼건지.. 아니면 델이 싼건지는 잘 모르겠습니다만, 삐까뻔쩍한게 기분은 좋습니다. 키보드 터치도 마음에 들구요. 카메라도 달렸군요. 출장가면 유용하겠습니다. 포트들을 보니까는 약간 싼티가 납니다. ㅜㅡ 전체적으로 메탈 소재라서 지금은 멋집니다만, 나중에 기스나고, 지문 묻으면 장난 아니겠군요. 오늘 매우 피곤한데, 그래도 개봉이라도 해보고 잘라고 ..

사는 이야기 2010.05.10

Microsoft Sync Framework (MSF)

오늘 제안 관련해서 잠깐 살펴본 내용인데, MS에는 MSF라는 프레임웍이 있다. 무엇인가 하니, 두개의 DataSource를 동기화 시켜주는 것이다. Outlook client와 Win Phone 동기화 시켜주는것, ITunes에서 컨텐츠 동기화와 같은 동기화가 대표적인 예이다. MSF는 소스 데이타스토어(이하 DS)에서 타겟 DS로 데이타를 동기화 시켜주는데, 기본적인 원리 자체는 소스 DS의 Item들에 Time stamp 등을 달아서, SRC와 DES을 비교하여 동기화를 해주고, 만약에 Confliction이 발생하면 Call back에 정의된 Rule에 따라서 Confliction을 처리해주게 된다. 간단한거 같은데, 왜 MSF가 필요하냐? 일단 구조를 보면, 데이타를 가지고 오고 비교하기 위한 ..

ildasm (C# 디컴파일러)

C#에도 자바의 JAD와 비슷하게 디컴파일툴이 있는데, ildasm.exe라는 도구이다. *.exe 파일을 ildasm을 통해서 디컴파일 해보면 어셈블리코드로 대략 어떤 작업을 하고 있는지 볼 수 있다. (Reverse engineering할때 유용할듯) 사용방법은 프로그램 > 시작 > Visual Studio Folder > Visual Studio Command Prompt를 실행한 후 ildasm 을 치면 GUI 툴이 뜬다. 파일메뉴에서 EXE 파일을 열면 된다. 보고싶은 메서드를 더블 클릭하면 어셈블리 코드를 보여준다. 아래는 간단한 HelloWorld.cs를 디어셈블해본 내용 HelloWorld.cs using System; using System.Collections.Generic; using..

IIS의 Asynchronous 처리.

확인을 좀 해봐야알겠지 IIS의 Request 처리 메카니즘은 Java 기반의 WAS 보다 뛰어난것 같다. 일단 Asynchronous IO 처리라는 것이 되는데, 이는 WebLogic Server에서 최근에 추가된 Future Servlet과 유사한듯 하다. 보통 WAS는 Request를 받으면, 해당 Request를 처리하는 Thread가 Allocation이 되고, Response를 보낼때 까지 Thread를 잡고 있는데, DB나 외부 시스템을 호출하는 IO가 있을 경우 IO 처리 시간동안 Thread를 점유하는 비효율적인 메카니즘이 생겨나고, 이는 실제 처리할 수 있는 Request 수를 줄인다. 이를 보강하는 방법인 일단 Request를 받은 후에, 처리가 완료될때까지 Thread를 Releas..

IIS Process 구조

IIS 6.0 기준이고, 5.0은 구조가 다르다. HTTP.SYS 라는 커널 레벨의 디바이스드라이버에서 HTTP Request를 받는다. 어떤 AP인지 식별한 다음에, AP POOL에서 W3WP.EXE를 Invoke해서 사용한다. W3WP.EXE에서 aspnet_isapi.dll을 호출하여, 컴파일된 ASP의 DLL을 수행한다.일반적인 웹서버 아키텍쳐와 같은데, 각 Request를 Thread가 아니라 Process가 핸들링 하는 형태이고 상용 WAS와 유사하게 AP별로 POOL을 나눠서 관리하고, POOL별로 AP을 디플로이 할 수 있다. 참고 : http://dotnetslackers.com/articles/iis/ASPNETInternalsIISAndTheProcessModel.aspx

오늘 상무님께 들은 재미있는 커리어 이야기..

오늘 상무님께서 담배피러가자고 하셔서 따라갔다가 재미있는 이야기를 하나 들어서 정리해 봅니다. 직장생활이 마치 보잉 747의 이륙 과정과 같다고 하더군요. 30대에는 이륙 준비를 위해서 연료를 채우는 시기랍니다. 이때 커리어, 자기 관리, 인맥들을 해놓은 사람들은 준비가 된것입니다. 40대가 되면 활주로에 서게되는데 이때 30대에 준비해놓은 사람들은 이륙해서 50대에 하늘로 비행을 하는겁니다. (정상에서 만납시다!!) 라는 메세지와 함께 이륙하는거지요. 준비를 해놓지 못한 사람은 40대에 이륙하지 못하고, 브레이크를 잡거나 (계속 활주로에 머물러 있는 겁니다. 기존 회사에 남아 있는 건데, 이것도 뒤에서 비행기 오면 비켜줘야져..) 아니면 계속 액셀 밟아서 낭떨어지로 떨어지거나 시궁창에 쳐박히는 겁니다...

사는 이야기 2010.05.04

비지니스맨에게 유용한 무료 아이폰앱 3개.

아무래도 직장인이다보니, 스마트폰이 일하는데 매우 유용합니다. 그중에 비지니스에서 가장 밀접하게 사용되는게 Task 관리와 연락처 관리 등인데. 괜찮은 무료 앱이 있어서 소개합니다. 첫번째로 명함 스캔앱입니다. Camcard lite로 http://itunes.apple.com/kr/app/id364514190?mt=8 에서 다운 받을 수 있습니다. 명함을 사진찍으면 바로 연락처로 등록할 수 있게 해줍니다. 주소나, 이름, 이메일,연락처들을 자동 인식하는데, 인식률이 상당히 높습니다. 요즘 애용하고 있습니다. 두번째는 Task 관리 도구입니다. Awesome note, Franklin Covey(플랭클린 플래너의 앱버전),Infomant등 여러가지 테스트해봤는데, Task 관리도구는 간단하고 직관적인 것..

MS SQL Replication 아키텍쳐

MS SQL은 데이타 베이스간의 실시간 데이타 복제를 위해서 "Replication"이라는 기능을 제공한다. 딱 보면, Oracle의 Golden Gate, IBM의 Info sphere, Quest의 Shareflex,MySQL의 geo replication 과 비슷한 CDC 기능이다. Replication 방식은 크게 두가지로 나뉘어 지는데, Snapshot replication과 TransactionalReplication이다. Snapshot Replication 이 복제 방식은 간단하게 생각하면 Source 데이타 베이스의 내용을 Export해서 Target에 Import하는 개념으로 생각하면 된다. 데이타 베이스에 대한 복제를 시작하기 전에 초기 데이타를 적재 하거나, 또는 업무가 없을때 데이..

알아두면 편리한 MS 오피스 2010 기능-OneNote

MS에 근무하는 지라.. 일단 최신 MS 제품으로 업무를 보고 있습니다. Win7 EE에 오피스 2010인데... 유용한 기능이 하나 있어서 소개해둡니다. 일 성격상 여러 웹문서를 봐야하고 각종 노트와 메모를 해야 하는데, 예전에는 FreeNote등을 사용했습니다. 오피스2010에는 OneNote라는 것이 등장했는데, 이놈이 물건이더군요.. 1. 웹페이지를 노트에 그대로 저장할 수 있다. 웹페이지에서 Print를 누르고, Print To OneNote하면, 해당 페이지를 이미지 처리해서 One Note에 그대로 저장해줍니다. 북마크 할필요도 없고, 여러 Comment를 첨부할 수 있어서 매우 유용합니다. 2. 저장소를 네트웍으로 해서 어디서나 사용이나 공유가 가능 OneNote의 저장소를 PC가 아니라 ..

새직장 출근2일째...

오늘이 새직장 출근 2일째입니다. 새로 옮긴 직장은 다름이 아니라 Microsoft Korea입니다. 컨설팅에서 엔터프라이즈 고객을 대상으로하는 아키텍트롤을 맏고 있습니다. 자바만 하던놈이 왠 MS냐? 하실 수 있으실텐데... 여러 이유가 있겠지만 일단 블로그상을 통해서 밝힐 수 있는 이유는 다들 아시겠지만, 현재 기술의 선도는 더이상 IBM,SUN,Oracle과 같은 벤더 보다는 Twitter,FaceBook,Google,Apple등 서비스 영역에서 이루어지고 있습니다. 엔터프라이즈 기술에 기반을 둔 저로써는 엔터프라이즈+서비스를 모두하고 있는 Microsoft가 하나의 선택이 됩니다. 자바는 할만큼 했다? 10년 했으니 오래한것 같기는 합니다. :) 물론 새로운 기술이 계속 나오고 있으니, 할만큼 했..

사는 이야기 2010.04.27

Time to move on ... (옮길때가 되었습니다.)

오늘 제임스고슬링이 Oracle(Sun)을 떠난다는 글이 블로그에 포스팅이 되었더군요. 저도 옮길때가 된거 같습니다.(me too!!) :) 마침 고슬링 글이 올라올때랑 비슷해서 인용해보았습니다. ^^ 98년부터 자바쪽에 몸담고 일을 했는데, 이제 O社를 떠사서 다른쪽으로 넘어갑니다. 고슬링 말처럼 저역시 "do more harm than good" 입니다. 정확한 이유를 이야기 하는건 무의미 합니다. 10년 넘게 자바쪽의 경력으로 "자바스터디 조대협"이라는 이름으로 활동했습니다. 10년전에 만들었던 자바 커뮤니티 사이트 자바스터디, JCO 등의 백그라운드를 가지고 있는 이름이었기 때문에 이를 모두 버리는 결정이 쉽지는 않았습니다. 다만 좋은 이유만 밝힌다면, 이제 아키텍트로써 기술에 종속되지 않고 시스..

사는 이야기 2010.04.12

ROA (REST 아키텍쳐)의 완성

고객사 차세대 아키텍쳐에 대한 Blue Print를 Research하다가 NoSQL (Cassandra, HBase)등을 reference했는데, 결과적으로 ROA 아키텍쳐의 완성은 NoSQL DBMS가 있어야 하는게 아닌가 싶다. 보고용 Article을 좀 쓰다가 정리가 안되서 blog에 포스팅하는데, ROA에서 문제는 기존의 RDBMS는 ROA의 Resource구조와 맵핑이 잘 안된다. ROA는 1 resource가 하나의 저장소에 저장되는 형태가 좋은데, (하나의 ROW라던지). RDBMS는 여러개의 Table에 걸쳐서 데이타가 나누어 저장되고, Key 구조도 FK를 이용하거나해서 복합 키가 생겨 버려서 Key 정의에도 모호성이 보인다. 반면에 NoSQL DB, 특히 Column형 DB는 Key &..

분산데이타 베이스 Cassandra vs HBase 에 대한 짧은 의견

http://www.roadtofailure.com/2009/10/29/hbase-vs-cassandra-nosql-battle/comment-page-1/ Cassandra의 센터간 데이타 복제에 대한 자료를 찾다가 발견했는데, Cassandra 소개 페이지에 들어가보면 inter-data-center 복제가 가능하다고 명시되어 있다. 그런데 위의 링크된 문서를 보니 방식이 Coordinator가 변경된 내용을 실시간으로 복제하는 방식이다. 문제는 전제 조건이 센터간 Fiber 망을 사용하는 low latency 환경이라야 하는것.. 이래서야 센터간의 망 구축 비용이 더 들테니까는 PASS, 거기에 아직 검증된 사례가 없다. 반면에 HBase의 경우 Golden Gate와 같은 CDC나 MySQL ge..

아파치 분산 데이타 베이스 Cassandra 소개

Introduction of Cassandra 카산드라는 구글의 BigTable 컬럼 기반의 데이타 모델과 FaceBook에서 만든 Dynamo의 분산 모델을 기반으로 하여 제작되어 Facebook에 의해 2008년에 아파치 오픈소스로 공개된 분산 데이타 베이스 입니다. 기존의 관계형 데이타 베이스와 다르게 SQL을 사용하지 않는 NoSQL의 제품중의 하나이며, 대용량의 데이타 트렌젝션에 대해서 고성능 처리가 가능한 시스템이다.(High-Scale). 노드를 추가함으로써 성능을 낮추지 않고 횡적으로 용량을 확장할 수 있다. 얼마전에 트위터도 MySQL에서 Cassandra로 데이타베이스를 전환하였다고 한다.. 자바로 작성되었음에도 불구하고, 데이타베이스라는 명칭에 걸맞게 여러 프로그래밍 언어를 지원합니다..

세계를 못 따라가는 한국 IT 기술들..

요즘 하는 프로젝트가 글로벌 스케일의 시스템 아키텍쳐를 잡고 있습니다. 쉽게 이야기 하면 수천만명이 사용하는 시스템에 대해서 여러 국가에 데이타센터에 서버를 두고 하나의 서비스처럼 이용하게 해주는 것입니다. 페이스북,트위터 같은 서비스들이 되겠군요. 이미 제 블로그에서도 오래전부터 이야기 했지만, 엔터프라이즈 기술들은 이미 이런 SNS 쪽에 비해서 기술이나 트렌드를 못 따라가는 것 같고.. 오늘 하고 싶은 이야기는 전세계의 서비스는 High Scale 시스템이다.(동시에 아주 대용량의 트렌젝션을 처리하는 시스템), Geo Replication이다. (대륙간 클러스터링 및 데이타 동기화) 등에 대해서 이야기 하는데.. 한국에는 정작 이런 사례나 기술이 전무하다는 겁니다. 작은 땅떵어리에서 IDC 여러개에 ..

Cassandra 분산 데이타 베이스

오늘 Facebook에 이어서 Twitter도 MySQL에서 Cassandra 데이타베이스를 사용한다는 기사를 봤습니다. http://www.ciobiz.co.kr/news/articleView.html?idxno=2064 아마 오라클의 MySQL 인수와 관련이 있지 않는가 하는 생각도 듭니다. 예전 천리안,하이텔 PC통신 시절에는 RDBMS가 대용량의 게시물 처리에 맞는 성능을 내지 못해서 ISAM과 같은 파일 시스템 기반의 데이타 저장 구조를 가졌던 것을 기억합니다. Facebook이나 Twitter도 상당히 많은 양의 트렌젝션을 가지고 있는 SNS 사이트중 하나입니다. (거의 대표급이라고 봐야져..) SNS는 복잡한 RDBMS 연산이 필요 없습니다. 오라클과 같은 관계형 데이타베이스의 복잡한 JOI..

[연재] 2010년 IT 트랜드-2.가상화 기술의 본격화

사실 가상화 자체는 나온지 오래된 기술이다. 세삼스럽게 이런 구닥다리 기술이 작년에 이어 올해에도 계속 주목 받는 이유는 무엇일까? 몇가지 원인을 꼽을 수 있는데, ① 그린 IT의 필요성 ② 클라우드의 발전 ③ 기술의 현실성 그린 IT는 이산화탄소 배출양을 줄이기 위해서 전기 사용량을 줄인다는 개념을 포함하는데 더욱 쉽게 말하면 서버 운영에 들어가는 비용을 줄이겠다는 것이다. 보통 데이타 센터의 서버는 평상시 CPU 사용률이 30~40%정도 밖에 안된다. 나머지는 잘못된 용량 산정이나 Peak Time에 대한 대비이다. 가상화를 사용하면 하드웨어 자원을 유동적으로 배정해서 이 자원의 사용률을 80~90%까지 극대화 할 수 있어서 하드웨어 자원에 대한 비용을 절약할 수 있고, 전기료와 하드웨어를 설치할 공..

[연재] 2010년 IT 트렌드-1.모바일 컴퓨팅 환경의 발전

해외에서는 새로운 버전의 아이폰 출시 준비, 안드로이드 2.0 발표, 구글의 넥서스원 폰의 발표, 삼성 전자의 bada 플랫폼 발표등으로 금년은 모바일 플랫폼의 싸움의 한해가 될것 같다. 후발 주자인 안드로이드가 모토롤라나 HTC등과 손을 잡고 여러 단말기를 내고 있지만, 단말 인터페이스와 스크린 SIZE들이 통일화 되지 않아서 애플리케이션 개발이 어렵고 애플과 비교하여 개발환경이 떨어지고, 오픈 마켓이 활성화 되지 않은 점에서 개발자 들을 끌어드리기가 쉽지 않겠지만 반대로 윈도우즈나,리눅스,맥등의 모든 개발환경을 지원하고 폭이 넓은 자바를 개발언어로 하고 있다는 점에서 반격의 가능성이 있지 않을까 싶다. 반대로 애플은 그간 단말기 업그레이드가 정체되어 왔고, 맥에서만 개발이 가능하며 Objective ..

외국 컨설턴트 vs 한국 컨설턴트.

프로젝트 마무리와, 병과로 인한 휴가로 인해서 그간 트윗과 블로그 활동이 뜸 했습니다. 이번 프로젝트 역시 호주 출신의 컨설턴트와 진행했던 프로젝트였습니다. 그간 외국계 컨설턴트들과 일하면서 느끼는 점은 추상적인 개념을 문서화하는 능력, 프로세스, 논리적인 의사 결정 방법에는 외국계 컨설턴트가 대체적으로 뛰어난것 같습니다. 기술적인 면에서는 한국 컨설턴트가 거의 압도적으로 우위입니다. 사실 절대적인 것은 아닌데. 기술적인면 역시 생각해보면 호주에서 잘하는 컨설턴트가 한국까지 올 시간이 있을리가 없습니다. 프로젝트 금액이 엄청나게 크지 않는 이상은요. 프로젝트 금액이 크면 보통 Director나 상위 아키텍트가 움직이기 때문에, 마찬가지로 기술적인 디테일은 떨어집니다. 그런면에서는 사실상 유럽이나 미국이나..

IT 이야기 2010.01.05

Second언어로 파이썬 시작.

몇달전에인가 사무실에 있을때, 언어에 대한 커버러지를 넓히기 위해서 Ruby와 Groovy를 고민하다가 Groovy를 조금 손대다가 말았습니다. 그러다가 엊그제 Google Cloud 자료를 보다보니 Python을 주로 지원하고 Google의 내부 애플리케이션도 Python으로 만들어져 있는 것을 봤습니다. 예전에 후배가 로그 분석하는 도구도 Python으로 뚝딱 만들더군요. 저는 awk와 sed 스크립트 찾아가면서 만들던데. 그래서 겸사겸사 어젯밤에 2시간 정도 투자해서 쭈욱 튜토리얼을 봤습니다. 정말 언어 자체는 강력하고 또한 쉽습니다. 대략 2시간정도면 언어 자체에 대한 감은 쉽게 찾을 수 있겠더군요. Django라는 웹프레임웍도 있어서 웹개발도 무난할것 같습니다. 이미 수년을 검증받고 살아남은 언..

클라우드 컴퓨팅

올해 초 부터 클라우드 컴퓨팅에 대한 말들이 많다. 차세대 성장 동력이 어쩌고 이야기는 많지만 사실 실체는 거의 없다. 유일하게, Google,Amazon,MS만이 Public 클라우드 플랫폼을 서비스하고 있다. 그나마 Google이나 MS는 잘 만들어진 웹호스팅 시스템과 같은 느낌이다. 진정한 클라우드는 Amazon 정도라고나 할까? (사견입니다.) 출처 : http://news.cnet.com/8301-13953_3-9917409-80.html 아마존 클라우드는 Virtual Image를 로드해서 기동할 수 가 있다. 그래서 어느 미들웨어나 DBMS를 사용할 수 도 있고 Language의 제약도 받지 않는다.Prebuilt Image들의 경우 상용인 오라클이나 웹로직까지 이미 들어있어서 쉽게 시스템을..