철수네 소프트웨어 세상 [본점]

소프트웨어와 관련이 있다면 뭐든지 – I no longer work for Microsoft.

Archive for 5월 2008

최근 보안에 관해 본 글 중 한심한 것 하나

with 2 comments

Pursuit of Simplicity: Why AIR Doesn’t Ask for Permission

보안을 위한 measurement와 UX는 충돌날 수 밖에 없다. 그래서 양쪽 밸런싱을 잘 맞춰야 되는데, Vista 처럼 갑자기 기능을 넣어서 불편함이 생길 수는 있지만, safety 이슈를 "불편하니까, 문제 생기면 해결하지”라는 식의 말은 하면 당연히 안되지 않나. 이글의 이야기는 Active X 컨트롤때의 오류 재탕이다. Desktop Application이 Trust 이슈라고? 그럼, 사용자가 signing된 Active X만 실행하면 문제 없겠군하(말도 안되는). 보안에 관한 창이 뜨면 자동적으로 ok를 누르는데 뭣하러 띄우냐는 말이랑 똑같은데 어이 없다. Malware나 Adware를 설치할때 사용자가 알고 설치하나, 모르고 설치(did install)하지.

이런 마인드로 만들고 있구나…

Advertisements

Written by charlz

2008년 5월 23일 at 오후 3:05

Uncategorized에 게시됨

JavaFX 포스트 쓰려다가;;;

leave a comment »

JavaFX가 발표되어서 긴 포스팅을 준비하다가…말았다.

기술적인 세부사항에 들어가면 다르겠지만, 하는 말이나 전략이 Flash+Silverlight 좀 짬뽕한 것이랑 똑.같.잖.아.

JavaFX is a family of products for creating rich internet applications (RIAs) with immersive media and content across the multiple screens of your life. It includes a runtime and a tools suite that web scripters, designers, and developers can use to quickly build and deliver the next generation of rich Internet applications for desktop, mobile devices, TV, and other platforms. JavaFX tools suite will offer developer and authoring tools that bridge the gap between user experience design and development logic, giving designers and developers unprecedented collaboration opportunities.

여기에 JavaFX를 Flash나 Silverlight로 바꿔보길.

기술적인 내용을 더 읽어보기 전에는 별로 할 말이 없다.

그것보다 근래 썬의 CEO 조나단 슈와츠가 Sun을 살리려고 올라섰다가 근래 Split하고 주가가 곤두박질치는 것에 대해 수근대는 것을 보는데, 웃기는건 하나같이 기술적으로는 훌륭하지…으로 시작한다. 쩝. 기술쟁이 입장에서 씁쓸하네.

Written by charlz

2008년 5월 8일 at 오후 11:03

Uncategorized에 게시됨

Microsoft 2.0 주문~

with 2 comments

마이크로소프트에 관한 책에 대한 집착은 병적인걸까. 전에도 블로깅했듯이 집에는 Pre-마이크로소프트 서적부터 마이크로소프트의 역사를 보여주는 여러가지 다양한 책들이 널려있다. 한동안 끊었었는데, 이번에 Mary Jo FoleyMicrosoft 2.0을 나도 모르는 새에 아마존에서 주문한 결제 내역이 문자로 띠리링하고 날라왔다. 자꾸 주문해대서 책이 나온다치면 귀를 막고 모른척하고 블로그 안보고 했는데, 이번에는 반대로 보던 블로그에서 광고를 하니 안 볼 수가 없었다. 게다가 별로 관심 없는 반독점 어쩌고에 대한 것이 아니라 관심이 많은 내용이다.

이 책의 저자인 Mary Jo Foley는 오래전의 At the Evil Empire 컬럼이나 Microsoft Watch/All About Microsoft로 뿐만 아니라 전세계적으로 알려진 마이크로소프트 전문가이다. 소스도 풍부하고, 의견도 풍부하고, 다루는 것도 넓고 다양하다. 뭐든 마이크로소프트에 관해서는 기술에서부터 비즈니스와 정책등 전부 다루는데, 그런 이유에서 나온지 얼마 안된 이 책이 벌써 높은 순위를 차지하고 있지 않을까. Microsoft 2.0의 부제가 (아직 빌게이츠가 가지도 않았지만서도) 벌써 “How Microsoft Plans to Stay Relevant in the Post-Gates Era”다. 아직 책을 받지는 못했지만, 목차를 봐서는 아마도 빌게이츠가 만든 문화 등에 대한 내부 이야기보다는 현재의 상황과 소문과 방향성을 가지고 이야기를 풀어나가는 책이지 않을까싶다. 읽기 전에 벌써 여러가지 생각을 해본다.

어떤 사람들은 빌게이츠가 물러나면 후계자 문제로 마이크로소프트의 운명도 밝지만은 않을 것이라고들 하는데, 지금의 시기를 보면 꼭 그렇지만은 않아 보인다. 영향이 적다는 뜻이 아니라, 없어도 다르게 잘 굴러간다는 의미로 말이다. (단적으로 Yahoo!와의 게임에서도 선전하는 것을 봐서 그런 생각이 든다.^^)

빌게이츠가 방향을 바로잡는 역할을 계속 해왔겠지만, 재미난 것은 이런 역할이 밀실에서 이루어지기보다는 빌이 있던 없던 많은 사람들(그것도 그들만의 리그일지도 모르겠지만)에게 그것을 나누고 전달하고 서로 잘 경쟁할 수 있는 구도로 신기하게 만들어지게 되었다는 것이다. 한사람이 꼭 한 방향을 고수할 필요 없이 제각기 방향을 가면서 내부 경쟁을 하는 분위기라는 것이다. 경쟁이라고 똑같은 것을 가지고 서로 경쟁한다는 것이 아니라 각기 다른 비젼을 가지고서 다른 방향을 쳐다보고 있더라도 그것 자체로는  문제가 되지 않는다는 것이다. 게다가 서로 보완하기도 하고, 또 그렇다고 다 제치고 올라가는 모양새는 보여주지 않는다. 큰 회사라서 그런 것일지도 모르겠지만, 자생적인 밸런스를 가진 인간 생태계 만들어놓았다고 표현해야할 것 같다. 그러면서도 회사는 크기에 맞지 않게 잘도 바꾸면서 외부에 적응한다. 조직도 자주 바뀌고, 일하는 방식도 자주 바뀐다. 스티브 발머가 누구하나 귀여워해서 키우는 모양새도 아니고, 잘하면 잘해주고 못하면 혼내면 되는 자연스러운 모양새이다. 비젼이 있다면, 가지고 있는 엄청난 자금에서 투자를 해주면 되는 것이다. 비젼이 틀리더라도 나온 결과물을 활용하는 방법도 다양하다. 말이 쉽지 이 비젼이라는 것에 철저한 검증이 들어가기 때문에 간단히 투자가 나오는 것은 아니지만, 비젼을 구체적으로 보이기만 하면 실험해볼 수 있는 길은 활짝 열려 있다. 또한 연구소도 세계적으로 알려져있고, 이 연구소와도 잘 연동되어 신기술의 실용화 기간이 빠르다.

주저리주저리 뭣이 되었건, 우리나라처럼 자식이 물려받는 회사가 아니라 물러나면서 자신이 없이도 잘 굴러갈 수 있는 철저한 모양을 만들어놓고 나갈 수 있는 그런 능력 자체가 엄청난 것이란 생각이 든다. 그리하여 Post-Gates Era는 이렇게 비가오게 하고 다시 비가 증발해서 구름을 만들고 다시 비를 내리게 하도록 만든 그런 모양에서 시작할 것이다. 이미 내년을 준비하고, 2년 뒤를 준비하고, 5년 뒤를 준비하고, 또 10년 뒤를 준비하고 있고, 그 큰 덩치에도 불구하고 작년의 잘못, 제작년의 잘못 그리고 그 전의 잘못을 되풀이 하지 않기 위해서도 여러가지를 하고 있는 것(하고 있다고 모두 이뤄지는 것은 아니지만)이 사원의 입장에서 눈에 보이는데 굳이 아닌척 하면서 다르게 이야기할 필요가 있으랴. 이래가지고는 “빠”소리를 뗄 수가 없겠군.

Written by charlz

2008년 5월 8일 at 오전 2:27

Uncategorized에 게시됨

CSI: New York에 사용된 PhotoSynth 기술

leave a comment »

CSI: New York Video: Admissions – CBS.com (비디오)

보나세라: Familiar with PhotoSynth? – 포토신스 알아요?

애덤: PhotoSynth, Yes, Taking a large collection of photos, analyzing the similarities, and displaying them in a reconstructed 3 dimensional space. – 포토신스, 예, 많은 양의 사진들을 찍어서, 유사성을 분석하고, 이를 다시 3차원 공간에 재구성하는 것이죠.

보나세라: Exactly, build me a high school gym. – 맞았어, 고등학교 체육관을 재구성해주세요.

애덤: 예, 헉~

개인적으로 CSI spin-off중에서 제일 좋아하는 CSI Newyork의 시즌4 에피소드18에 나오는 대사이다. 이번 에피소드에서는 그냥 사건에서 사용되는 랩탑/액세사리로써나 혹은 멋진 디스플레이 기술로써가 아닌 사건의 해결을 위한 기술로 마이크로소프트의 PhotoSynth가 그 이름 그대로 사용된다. 연출을 위해서 PhotoSynth의 PM이 직접 가서 컨설팅을 했으니.^^

PhotoSynth는 위 대사의 설명대로인 기술이고, 재구성된 3차원 공간을 볼 수 있는 클라이언트의 Tech Preview가 제공되고 있다. 이외의 내용은 아직 공개되지 않은 상황이라 뭐라 할 수 없지만, 드라마에서 사용된 씬들은 기술을 과장한 것이 아니라 실제 돌아가는 비트를 사용한 것이고 이처럼 무궁한 Appliance가 기대되는 밝은 미래를 가지고 있는 제품이다. 이 Tech Preview를 공개한지 근 1년반이나 되는 시점에서 이런 재미난 이벤트를 보여준 것은 뭔가 힌트가 있는 것이리라.

NY

보나세라: The clarity is unbelievable!

애덤: And~ in 3D 🙂

3차원으로 구성된 스샷은 등장인물들 뒤통수가 안나와서 안썼으니, 드라마를 직접 한번 보시길.ㅎㅎㅎ

Written by charlz

2008년 5월 3일 at 오후 6:25

Uncategorized에 게시됨

간만에 유레카를 외쳤다(IoC)

with one comment

최근 회사에서 이런 저런 문서들을 읽다가 "유레카!”를 외치게 되었다(벗고 뛰쳐나가지는 않았다). 젠장. 답은 눈앞에 있었는데도 불구하고 그 주변만 수년간 헤메고 있었던 것이었으니, 속 시원하고 한편으로는 내 능력이 한탄스럽기도 하고. 아무튼 유레카에 이른 그냥 짧은 談을 적어본다. (아쉽게도 교훈적인 이야기는 아니다^^)

SoC(Separation of Control), IoC(Inversion of Control)이라는 말을 알게 된 것은 거의 9년전 Apache의 Avalon과 Cocoon 프로젝트를 쫓아다니면서였다. (정확히는 이를 도입한 Stefano Mazzocchi의 글을 읽고 나서겠지) 그때는 마치 하나의 패턴처럼 그냥 그냥 외우고 썼었지만, 정작 태생적인 Why를 이해하기 위해서는 역부족이었다. 교과서에 나오는 것처럼 텍스트에 적힌 Why를 이야기할 수는 있지만, 제대로 된 이해에서 오는 것은 아니었으니 사용할때마다 얼마나 답답했으랴. 사실 이를 사용함으로써 생기는 장점만으로도 사용할 이유는 충분하니까.

Martin Fowler에 의해서 그 구현들이 IoC라는 말보다는 DI(Dependency Injection)이 더 맞다는 제안이 커뮤니티에 받아들여져서 요즘에는 DI로 통하는데, 이 DI 컨테이너 혹은 런타임 혹은 프레임웍 혹은 패턴은 Java 진영에서는 흔히 프레임웍(Avalon, Spring등)으로 사용되지만, .NET 쪽에서는 패턴식으로는 많이 사용되더라도, 어떤 제품 프레임웍으로써의 사용례가 많지 않고 역사(?)가 (상대적으로) 짧다. Spring.NET, Castle, Unity, Structure Map(PicoContainer가 있을때는 PicoContainer.NET)등. 어차피 만든 사람들은 진영과 상관없이 왔다갔다 하는 사람들이기 때문에 어느 쪽이 더 우월하다 어쩌다 논쟁을 할 가치도 없지만, 그 프레임웍들이 이전 Java 커뮤니티처럼 사용되지 않았던 것은 사실이다.

딱 찝어서 그렇다고 할 수는 없지만, 대개 Java의 커뮤니티의 경우에는 자생적으로 기술들을 만들어 이것이 그대로 Java 커뮤니티에 다시 돌려지지만(사용되지만), .NET 커뮤니티의 경우에는 조금 다르게 자생적으로 만들어도 이는 직접 커뮤니티로 가지 않고 .NET 팀에 “피드백”으로 들어가 .NET 커뮤니티에 돌려지는 경향이 많다. 한마디로, Java에서는 좋은 것이 만들어지면 바로 프로젝트에서 사용하지만, .NET에서는 이것이 제품에 반영될때까지 사람들이 사용하지 않는다는 것이다. ASF등의 힘이 컸을지도. (점차 사람들이 교환(?)되면서 이런 성격도 점차 섞이고 있긴 하고 이를 타파하기 위한 노력도 굉장히 많다)

근래 .NET Framework의 BCL 드자이너인 Krzysztof Cwalina가 Managed Extensible Framework(MEF)이라는 것에 대해서 포스팅을 했었다. 그 글에는 마이크소프트 내에서 Framework을 확장하는 여러가지 기술들에 대해서 이야기하면서 DI(Dependency Injection)을 이야기한다. 마이크로소프트에서도 뭔가 공식적인 움직임을 만든다고 공식적으로 이야기한 것이다. (사실 ObjectBuilder나 근래 Unity라는 Application Block이 Pattern&Practice 팀에서 나왔고, 정확히 이야기하면 수년간 계속 연구중이다)

MEF를 만드는 팀은 (수십개의 큰 팀으로 이뤄진) 커다란 Division으로 치면 나와 같은 Division이다. 해서 이에 대한 정보를 얼마든지 볼 수 있다는 뜻. 참새가 방앗간을 지나칠 수 없듯이, 나도 역시나 찾고 열심히 읽어보기 시작했고…거기서 유레카를 외치게 된 것이다. 그것도 별 것 아닌 몇십페이지짜리 문서의 몇장짜리 짧은 단락에서 말이다. 당연하지만, 회사에서 뭔가를 하고자 하면 이에 대한 정당성이 명확하고 매니저에게 설득이 되어야 펀딩이 되고 할 수 있는 것이다. 따라서 이런 문서들이 넘쳐난다. 하니, 이런 문서에서 진주를 발견하는 일은 흔할 수도 있다고 할 수 있겠지.

소프트웨어를 공부하면서 이해해야하는 것들 중에서는 나뉘어져 그 구분을 이해해야하는 것들이 많이 있다. 쉽게 온라인/오프라인, 정적 언어/동적 언어, 런타임/컴파일 타임등등. 여기서 또하나 중요한 것은 이들이 둘로 나눠지는 이유를 아는 것 뿐만 아니라 이 둘이 궁극적으로 겹치거나 애매하거나 혹은 상관관계를 가지는 중간 영역이 커다랗게 있다는 것이다. 언제나 그렇다. 예를 들어 소프트웨어의 발전 과정에 있어서 템플릿이나 메타 프로그래밍처럼 강력한 무기라고 하더라도 컴파일 타임에 모든것을 하려는 C++시대만 계속 될 수만은 없는 노릇이고, Java/C# Generics나 Duck Typing이라는 것도 나와야 한다. 디스크에 있더라도 메모리로 올려지게 마련이다. 동적 형식(Type)이 다가 아니고, 정적 언어에서도 Type Inferencing이라는 형태로 흉내낼 수도 있다. 온라인이라도 Google Gears등처럼 오프라인 스토리지 형태가 필요한 것이다.

이런 것들을 이해하기 쉬운 방법 중 하나는 그 역사(History)를 이해하는 것이다. 어떤 사람이 어떤 이유로 그런 것을 사용했는가는 이해에 있어서 좋은 접근 방법이라고 생각한다. 역사는 그 필요를 보여주고, 필요에 의한 사용과 생성은 언제나 말이 된다. 역사는 또한 Trial & Error를 직접 겪지 않고도 보여주는 멋진 자료이기도 하다. 그리고 나는 이를 맹신하면서 따른다. 맹신하기에 이 역사에 어떤 이해하지 못하는 갭이 있으면 앙금으로 남는다는 것이 문제다. 이 IoC의 이해 문제도 이런 앙금이 있었지만, 간단한 연결고리에 대한 설명 몇 문구로 내 머릿속의 화룡점정畵龍點睛격이 된 것이다.

그게 다는 아니다. 거기다가 요즘 C#을 처음부터 꼼꼼하게 다시 공부하겠다고 Accelerated C# 2008을 정독하고 있기도 한데 여기서 5번째 챕터를 읽는 중이었고, 마침 이 챕터에 또 연관된 내용이 들어있기도 했다. 여하튼 이래저래 관련 내용들이 우연히 한 곳에 비슷한 시기에 모여 딱 들어맞았으니 외칠만도 했겠지. 별게 아닌데도 쓰여있는 내용이 아니라 그걸 통해서 여태껏 생각하지 못했던 뭔가가 떠올랐을때의 그 신기함이란.

이 간단한 것을 5년 전에 알았다면, 어땠을까. 인생의 각도가 0.2도 정도 바뀌지 않았을까. 뭐 그 정도 가지고라고 이야기해도 실상은 아마도 내 공부 방향이 바뀌었을지도 모를 일이고, 0.2도 정도는 가능하다고 생각된다. 알고나면 허무할지도 모르나, 알고자 하는 과정이 챌린징하다는 것이 지식의 묘미 중 하나일 것이다. 위대한 업적은 아니더라도 뭔가를 알게 된다는 것은 벤젠을 발견한 꿈이나 목욕탕에서 유레카를 외친 것과 다를 것이 없지 않을까. 유한한 인간에게 있어서 알기 위한 과정이 너무 오래 걸려서 탈이지.

유레카 한번은 외쳐줘야 고루한 회사 생활 할맛 나는게 아니겠나…모두 즐공 하시길.^^

Written by charlz

2008년 5월 2일 at 오후 10:35

Uncategorized에 게시됨

a couple of의 번역

with one comment

야후! 사전 – couple of

학교에서 영어를 배울때부터 이해가 안갔던 a couple of의 번역. 위에 사전 링크를 보면,

a couple of players 두 사람[한 쌍]의 경기자.

이렇게 되어있다(사전이니까 맞겠지).

문제는 예를 들어 영화를 볼때, “a couple of 어쩌고”하면 둘을 이야기하는 것이 아니라는 것이다. “they’re just a couple of locals” = "걔네 들은 그냥 주민 몇이야”의 의미인데, 영화 자막을 보면 꼭 “주민 두명이야”라고 콕 찝어서 2명을 지정한다. “두어명”이라고 2명을 이야기하는 것이 아닌 얼버무리는 표현도 있는데 말이지. (우리나라에서 커플이라고 하면 남녀 한 쌍을 이야기하긴 한다.)

오늘 또 “a couple of things”라고 하는데, “두가지에요”라고 자막이 나온다. 물론 이 말을 하고 2가지를 이야기하지 않는다.

이거 주입식 교육의 산물일까 아니면 내가 잘못 알고 있는걸까?

Written by charlz

2008년 5월 1일 at 오후 2:37

Uncategorized에 게시됨

%d 블로거가 이것을 좋아합니다: