라벨이 Metaphor인 게시물 표시

코딩에 대한 단상

벌써 4월 하순이다. 열흘만에 제품 하나 프로토타이핑을 하겠다고 했는데 곧 한달이 다 되어간다. 다행히 due date이 한달 정도 연기되어서 여유(?)가 생긴 것도 있고 현실적으로 주중에는 일정이 너무 빠듯하여 코딩을 하긴 어려워 주말 중심으로 코딩을 하다보니.. (주중엔 정말 혼절하는 일이 잦고.. ㅠ_ㅠ) 그래도 그와중에 진전이 되고 다시 코더로서의 흐름이 되살아나고 있다. 역시 믿을 건 내가 짠 기존 코드들.. ㅠ_ㅠ 설계를 상당히 상세한 수준으로 진행하고 난 다음에 top-down으로 코딩을 스크래치부터 시작하는데.. 코딩을 하면서 느끼는 안타까움은 설계를 열심히 하는 연구원들 중에 코딩을 못하는 친구들이 종종 있다는 것.. 물론 설계도 팀 회의 수준에서 편하게 발표할 때와 세미나 형식으로 앞에 나와서 할 때는 차이가 많이 나고.. 세미나 형식에서는 역시나 논리적 발표를 못하는 문제가 보통 보이지만... 문제가 뭘까 많이 생각해보고 어떻게 개선할 수 있을까 고민 중인데 현재까지 판단은 1. 앉아서 하는 팀 발표는 개별 사안을 산발적으로 편하게 얘기해도 다 이해하고 보통은 공통된 지식 기반이 많아서 일부 이슈만 가볍게 터치하면 되지만, 서서 하는 세미나는 좀더 큰 주제를 깊이있게 얘기할 것을 요구하기 때문에 훨씬 큰 논리성을 요구한다. 부담도 크고, 논리적으로 생각을 정리하기 위해서도 bottom-up과 top-down을 통해 개념 모델을 여러 번 다음어야 하는데 이런 일을 부담스러워하고 실제로 잘 극복하지 못하는 것이다. 논리가 산발적이고 나열적인 수준이라고 할까. 2. 그런 데로 작은 이슈들을 모아서 어느 정도 설계가 된 후에도 코딩을 전혀 시작하지 못하는 경우가 있는데 이건 왜 이럴까 생각을 해보면.. 설계는 큰 개념 모델을 통해 논리를 전개하지만 코딩은 철저하게 bottom 수준에서 시작해야 한다. task를 가능한 한 쪼개서 해야 하고 여러 개의 task를 동시에 머리에서 전개하면 진행하기 어렵다. ...

어떻게 생각할 것인가? How to think creatively

이미지
이 글은 생각하는 방법과 창의적 사고에 대한 고민의 연장선 상에 있다. 마침 재미있는 책을 하나 읽었다.   Spark of Genius 천재성의 섬광 생각의 탄생 - 다빈치에서 파인먼까지 창조성을 빛낸 사람들의 13가지 생각도구 (Spark of Genius : The Thirteen Thinking Tools of the World's Most Creative People) http://www.yes24.com/24/goods/2535237 레오나르도 다빈치, 아인슈타인, 파블로 피카소, 마르셀 뒤샹, 리처드 파인먼, 버지니아 울프, 제인 구달, 스트라빈스키, 마사 그레이엄 등 역사 속에서 뛰어난 창조성을 발휘한 사람들이 과학, 수학, 의학, 문학, 미술, 무용 등 분야를 막론하고 공통적으로 사용한 13가지 발상법을 생각의 단계별로 정리하고 있다. 역사상 가장 위대하다고 손꼽히는 천재들이 자신... Robert Root-Bernstein과 Michele Root-Bernstein 부부가 함께 쓴 이 책에서는 유명한 과학자, 예술가들의 사례를 분석하면서 다음 13가지 생각 방법들을 사용하여 생각의 창의성을 높일 수 있다고 주장한다. 관찰, 형상화, 추상화, 패턴 인식, 패턴 형성, 유추, 몸으로 생각하기, 감정 이입, 차원적 사고, 모형 만들기, 놀이, 변형, 통합 개인적으로 사례나 통계를 통해 현상들을 관통하는 어떤 법칙이나 경향들을 발견한 다음엔 그 법칙이...

Apple iCloud와 Google, Cloud Computing Metaphor 비교

이미지
애플의 스티브 잡스는 6월 6일 있었던 WWDC 오프닝 키노트에서 자사의 iOS 플랫폼을 새로운 클라우드 컴퓨팅 플랫폼인 iCloud와 밀접하게 결합하도록 플랫폼의 진화를 선언했다. 일부 클라우드 서비스 제공 기업들이 클라우드를 주로 스토리지 즉, 저장소 중심으로 표현하는 경향이 있어서, 왜 KT 같은 기업들이 클라우드 컴퓨팅을 스토리지 중심으로 바라보나 (혹은 광고하나?) 하는 의문이 있었는데, 애플의 iCloud 발표는 또하나의 다른 시각을 보여주는 셈이었다. 스티브 잡스가 설명하는 애플의 iCloud 메타포 클라우드 컴퓨팅을 어떻게 이해하면 좀더 쉽게 개념(mental image)을 잡을 수 있을까? 그리고 구글과 애플, 기타 다른 기업들의 접근 방식을 이해할 수 있을까? 추상적 개념은 은유법만큼 이해하기 쉬운 게 없고, 또 잘 만들어진 은유 체계는 사고의 깊이를 더하고 더 발전시킬 수가 있다. 조금 지나치게 단순화하는 감이 있지만, 개괄적 수준에서 이해해주기 바란다. 클라우드 컴퓨팅의 기반 기술을 보는 게 아니라 활용 측면에서 바라보는 것이므로 전문 지식 없이도 쉽게 이해할 수 있을 것이다. 클라우드 컴퓨팅의 메타포(은유 체계) 흔히 클라우드라고 부르는 것은 클라우드 컴퓨팅(Cloud Computing)을 뜻하는 것인데 단순화해서 표현하자면 클라우드는 인터넷을 의미하고 컴퓨팅은 개념적인 컴퓨터의 연장선 상에 있다. 메인프레임, 유닉스 혹은 퍼스널 컴퓨터(PC)에 익숙해진 컴퓨팅 개념을 클라우드로 확장시키려면 컴퓨팅의 요소들을 식별해보면 쉬운데 대표적 요소는 1. 프로세서 즉 계산 장치, 2. 장기 기억 장치 즉 저장소(스토리지), 그리고 3. 이 환경에서 실제 실행되는 프로그램 들을 들 수 있다. 이렇게 단순화하면 첫번째 요소인 프로세서에는 PC의 경우에 CPU와 메모리, 캐시 등의 요소들이 모두 포함된다고 볼 수 있다. 즉, 프로세서라고 분류한 영역은 계산 능력을 가지고 있다. 좀더 구체적으로...

맥북에서 느끼는 Steve Jobs의 개인 컴퓨터 Metaphor(은유 체계)

이미지
지난 6월부터 맥북프로를 구입하여 사용하고 있으니 이제 반년쯤 되었다. 구매 동기는 아이폰앱 개발이긴 했는데 실제로 개발하진 않았고, 구입 직후에 정든 회사 퇴직을 결정하여 결국 퇴직 후 사용하기 위한 개인 노트북이 되어버렸다. 국내에서 맥을 사용하는 것은 MS조차 버린 액티브X가 지배하는 국내 웹 환경을 고려하면 큰 모험이다. 하지만, 개인적으로 그런 복잡한 사이트들을 전혀 사용하지 않아서 별 문제될 건 없었다. 맥OS X의 만족도는 100점은 아니다. 맥OS X의 만족도에 대해 얘기를 하자면 솔직히 아주 높은 편은 아니다. MS 윈도우에 익숙해있다가 맥에 적응하는 게 처음엔 조금 불편한 부분도 있었지만, 안정성 부분도 몇 주에 한번 정도는 전원을 눌러줘야 하는 사태가 발생한다. 주로 플래시 플러그인이 문제를 일으키는 것 같긴 하지만, 어쨌든 애플리케이션에 의해 운영체제가 중지되는 건 이해하기 어려운 일이다. 다만, MS 윈도우에 비해 최대절전모드가 매우 안정적이고 빠르다는 점은 놀라웠다. 이건 아이폰에도 그대로 적용된 기능. 많이 사용하는 애플리케이션이 Safari 브라우저, Emacs 에디터, 그리고 Xcode 개발툴, iTunes(음악과 iTunes U 동영상) 정도인데다가 그나마 아이폰으로 인해 트위터나 페이스북, iTunes 같은 경우도 많은 시간을 맥이 아닌 아이폰에서 사용하기 때문에 맥북의 활용도는 브라우징, 개발, 오피스 사용한 문서 작성이 핵심이다. 오랫동안 MS 윈도우에 익숙해져있었기 때문에 MS 윈도우와의 차이는 매우 특별하게 느껴지는데 제일 처음 느끼는 건 터치패드이다. 아이폰이 등장하면서 멀티터치가 익숙해졌지만, 오랫동안 마우스에 익숙해있던 사람들에게 마우스가 아닌 멀티 터치를 통해 컴퓨팅 입력을 한다는 건 첨 느끼기엔 매우 불편한 것이다. 처음엔 스크롤을 어떻게 하는지 몰라 엄청 당황하고 불편했었다. 브라우저의 스크롤바를 찾아 일일이 터치로 드래깅하려니.. 손가락을 두 개로 하면 인식을 다르게 한다는 생각을 하...