IT/Web Dev | Posted by 철규님(최규철) 2011.05.10 12:18

[jQuery Mobile] 1. Overview of jQuery Mobile

이 글은 jQuery Mobile 공식 홈페이지(http://jquerymobile.com/)의 Docs and Demos를 기반으로 작성되었습니다.
작성일(2011/05/10) 기준 jQuery Mobile의 최종 버전은 jQuery Mobile 1.0 Alpha 4.1입니다.


1. Overview of jQuery Mobile
< jQuery Mobile로 Web application 만들기 >
Written by Gyucheol Choi on 10 MAY 2011
jQuery는 네이티브 어플리케이션과 유사하게 동작하는 웹 어플리케이션을 쉽게 작성할 수 있도록 도와주는 프레임워크입니다. jQuery에서 제공되는 자바 스크립트 라이브러리를 이용해 HTML 문서 생성, 이벤트 처리, 애니메이션 처리, AJAX 인터액션 등을 손쉽게 활용해 웹 어플리케이션을 작성할 수 있습니다.

jQuery Mobile은 모바일 환경에서 동작하는 웹 어플리케이션 개발에 최적화된 모바일 웹 개발 프레임워크 라고 볼 수 있습니다. jQuery를 이용해서 작성한 웹 어플리케이션도 모바일 환경에서 실행이 가능하지만, 모바일 기기의 특성에서 오는 제약사항을 고려하고자 한다면, jQuery Mobile의 선택이 더 올바를 것입니다.

이 글에서는 jQuery Mobile 공식 홈페이지(http://jquerymobile.com/)의 Docs and Demos를 참고로 해서 jQuery Mobile의 특징에 대해서 알아보려 합니다.
Intro to jQuery Mobile
jQuery Mobile은 하나의 어플리케이션이 어떤 스마트폰이나 태블릿PC의 모바일 웹 브라우저에서도 일관성 있는 UI를 가지도록 하는 자바스크립트 라이브러리입니다. 때문에 마이너한 일부 브라우저를 제외하면 jQuery Mobile로 작성된 어플리케이션은 동일한 화면 구성, 또는 사용자의 편의성을 크게 해치지 않는 한도 내에서 적절히 최적화된 화면 구성을 가지게 됩니다. 웹 '어플리케이션'을 목표로 삼은만큼 jQuery Mobile로 작성된 '웹' 어플리케이션은 일반 'PC용' 어플리케이션과 꽤나 비슷한 수준의 사용환경 또한 제공합니다.


다양한 사용 환경에 적절하게 대응하기 위해서 jQurey Mobile은 깔끔하게 정리된 시맨틱 HTML(clean, sementic HTML)을 사용합니다. 장치에서는 이 HTML 파일을 읽어 CSS와 jQuery Mobile 적용 과정을 거쳐서 풍부한(rich and interactive) 사용자 경험을 가진 어플리케이션을 생성합니다.
Key Features
  • jQuery 개발과의 일관성 유지 및 jQuery 개발 유경험자의 쉽고 빠른 적응을 위해 jQuery core를 기반으로 함
  • HTML을 지원하는 대부분의 주요 모바일 플랫폼에서 호환 가능
    - iOS, Android, Blackberry, Palm WebOS, Nokia/Symbian, Windows Mobile, bada, MeeGo 등
  • 성능(속도)를 위해 코드 사이즈를 최소화하고 이미지 사용을 줄임
  • 빠른 개발과 스크립트 사용 최소화를 위해 HTML5 마크업 중심으로 각 페이지와 동작에 대한 설정을 함
  • 가능한한 모든 환경에서 핵심 내용과 기능을 정확하게 전달하고, 최신 플랫폼에서는 일반 어플리케이션과 동일한 사용 환경 제공을 위해 점진적 개선(Progressive enhancement) 방법을 사용
  • 페이지 내의 모든 jQuery Mobile 위젯을 자동으로 초기화하기 위해 HTML5의 data-role 속성을 이용함
  • 다른 보조적인 기능 지원을 위해 다양한 부가 요소가 포함되어 있음
  • 터치, 마우스, 커서를 사용하는 입력 등을 단순한 API로 간단하게 지원하기 위해 새로운 이벤트 사용
  • 터치에 최적화되거나 테마 변경이 가능한 컨트롤 등을 위해 새로운 플러그인 지원
  • 사용 환경을 손쉽게 변경할 수 있도록 테마 기능 지원

Supported platforms


Supported platforms in Alpha 4
Alpha 4가 릴리즈되면서, Windows Phone 7의 지원이 추가되었습니다. 다음의 플랫폼에서는 jQuery Mobile의 기능이 완벽하게 지원되고, 처음 의도한 화면의 구성이 흐트러짐 없이 표현됩니다.

  • Apple iOS 3.1-4.2
  • Android 1.6-2.3
  • Blackberry 6
  • Windows Phone 7
  • Palm WebOS 1.4
  • Opera Mobile 10.1 (Android)
  • Opera Mini 5.02 (Android)
  • Firefox Mobile beta (Android)
Target platform additions for beta
다음 릴리즈에서는 Blackberry 5, Nokia/Symbian을 지원할 계획이라고 합니다. 삼성의 Bada와 MeeGo는 지원하는 폰을 확보하는 대로 테스트 후 공식 지원 리스트에 업데이트 할 예정이라고 합니다. 또한 jQuery Mobile은 jQuery core를 기반으로 하고 있기 때문에 Firefox, Chrome, Safari, Internet Explorer, Opera 등과 같은 PC용 웹 브라우저의 최신 버전에서도 정상적으로 동작합니다.

댓글을 달아 주세요

IT/Computing | Posted by 철규님(최규철) 2011.05.03 22:12

[번역] How to beat Apple

권정혁/구루(@xguru)님의 트위터에서 좋은 글이 소개되어 번역합니다.
잘못 번역된 내용이 “당연히” 있을 테니 원문을 꼭 참고해서 읽으세요. 번역 오류나 개선, 오타에 대한 피드백은 언제나 환영하고 감사드립니다. ^^


Apple 넘어서기
How to beat Apple
Written by Jason Kottke on 26 APR 2011
Translated by Gyucheol Choi on 03 MAY 2011
원문 보기
한동안은 iPhone과 iPad 대항마를 만들어내는 회사들이 그들의 게임에 있어서 Apple을 넘어서기란 불가능할 것이다. Apple은 공급망의 이점을 가지고 있고, 그들 고객의 카드 번호를 대량으로 보유하고 있으며(왜 잡스가 이 이야기를 매 Apple 행사마다 꺼낼까? 그만큼 중요하다는 것!), 주요 특허, Steve Jobs나 Jony Ive와 같이 평생을 바친 임직원, 주요 미디어 업체와의 굳건한 연대, 그리고 앱스토어, 어플리케이션, 하드웨어의 통합 에코시스템 등을 가지고 있다. 아주 눈에 띄는 경쟁력이다

하지만 영리한 경쟁자라면 Apple이 따라하거나 직접적으로 경쟁할 수 없을만큼 눈에 띄는 제품을 만들 수 있는 약점 또한 Apple은 가지고 있다.

  1. Apple은 큰 규모에 있어서는 "소셜"을 잘 못한다. Ping(Apple의 SNS 서비스, 역자주)?, 게임 센터? 무슨 소리. 소셜 어플리케이션은 Apple의 DNA에 없는 듯 하다. 그들의 베스트 어플리케이션은 여전히 1인용 또는 2/3/4인용이다. 누군가는 폰/앱/게임/음악/비디오 경험에 있어서 iPhone/iPad를 넘어서기 위해 Facebook의 소셜 그래프를 어떻게 이용할 지를 찾아내야 한다. 그리고는 파트너들과, 특히 Facebook과, 이런 것을 구현해야 한다. Facebook Fone은 잘만 된다면 엄청난 성공을 이룰 것이다.
  2. Apple은 클라우드도 하지 못한다. Mobile Me가 2000년 1월(그때는 iTools로 불렸었다)에 나왔지만, 이 버시스는 새로 나온 Dropbox 만큼도 관심을 끌지 못하고 있다. iPod, iPhone, iPad는 여전히 데스크탑/노트북 그리고 iTune에 묶여있다. 분명 더 나은 방법을 위한 기회가 있을 것이다.
  3. iTunes는 갈수록 구식이 되어가고 있다. 클라우드와 소셜이 두 가지 약점이라면, iTunes는 아주 오래되었고 최근 몇 년 동안은 비대한 기능의 집합체가 되어가고 있다. 뮤직 스토어, 비디오 스토어, 앱 스토어, 모바일 장치 관리자, "소셜" 네트워크... 게다가 음악을 재생하는 용도로도 쓸 수 있다. Spotify, Randora, Rd.io 등이 다른 접근 방법이 있음을 알려주고 있다.
  4. 이것이 내 생각인지 Daring Fireball 같은 곳에서 읽은 것인지는 정확하게 기억나지 않지만, Apple이 잘하고 있는 제품과 서비스는 Steve Jobs가 사용하는 (또는 신경을 쓰는) 것 들이고, 그가 사용하지 않거나 신경을 쓰지 않는 것은 좋지 못하다. (때론 나쁜 수준) Jobs는 Keynote를 사용하는데 이 프로그램은 매우 좋다. 반대로 난 Jobs가 iCals를 이용해서 약속을 잡는 것을 해본적이 없다고 단언할 수 있는데, 그만큼 이 프로그램은 별로다. 클라우드 앱과 소셜 앱이 이 글의 최상위에 있는 것도 이유가 있다. 난 Jobs가 이런 것들에 대해서 신경을 쓰고 있다고 생각하지 않는다. 그가 신경을 써도, 열정은 없을 것이다. 그것들은 그에게 주요한 것이 아니라서, 그는 그것들에 대해서 어떻게 해야될 지, 그러한 문제를 어떻게 해결할지를 모르는 것 같다.
그리고 실제로는 전혀 약점이 아닌 Apple의 약점도 몇 개 있다.
  1. 가격. 많은 사람들은 여전히 Apple 제품의 가격이 비싸다고, 때로는 가격에 거품이 있다고 생각한다. 하지만 아직 아무도 경쟁할 만한 성능의 태블릿을 500달러 이하로 만들어내지 못한다. 만약 Apple을 가격으로 공략한다면, 거기에는 잠재적 함정이 숨어있다: Apple은 터무니없을 정도로 이익률이 높고 현금을 많이 보유하고 있다; 만약 그들의 사업 영역 보호를 위해 가격으로 경쟁을 해야할 필요가 있다고 생각이 들면, 경쟁자들이 사업을 포기할 때까지 오랫동안 그리고 낮은 가격 수준을 유지할 수 있다.
  2. 개방성과 비밀성. 경쟁자들은 Apple의 각본에 따라, 당신에게 경쟁령있는 이점을 주는 것들에 대해서는 공개하고, 다른 것에 대해서는 이야기하지 않는다. 개방이 항상 좋은 것은 아니다.

댓글을 달아 주세요

IT/Computing | Posted by 철규님(최규철) 2011.05.03 21:48

[번역] How to Be a Successful Software Engineer

권정혁/구루(@xguru)님의 "구루의 기술 뉴스"에서 좋은 글이 소개되어 번역합니다.
잘못 번역된 내용이 “당연히” 있을 테니 원문을 꼭 참고해서 읽으세요. 번역 오류나 개선, 오타에 대한 피드백은 언제나 환영하고 감사드립니다. ^^


성공적인 소프트웨어 엔지니어가 되는 법
How to Be a Successful Software Engineer
Written by Daniel Huckstep on 16 NOV 2010
Translated by Gyucheol Choi on 03 MAY 2011
원문 보기
당신의 업무에 있어서 최고가 된다는 것에 대해서 정답은 없다. 어떤 사람은 재능을 타고나기도 하고, 다른 사람은 단지 그 일이 좋아서, 그 일을 더 잘하기 위해 자신의 시간을 기꺼이 투자하기도 한다.

당신의 현재 상태가 어떻든 상관없이, 항상 발전의 여지는 있다. 나는 내가 하고 있는 일-굉장한 소프트웨어를 개발하는 것-을 더 잘하기 위한 방법에 있어서 나를 도와줬던 것들에 대해서 이야기하려고 한다. 현실에서는 "소프트웨어 엔지니어"라는 단어를 당신의 업무 분야에 맞게 바꾼다면 대부분의 사항들이 여전히 유효할 것이다.

변명(?) : 큰 시스템 안에서 본다면, 나를 (아직은) '성공했다'라고 하진 않을지도 모른다. 하지만 나는 내 방식대로 잘 해가고 있다고 생각한다. 프로그래밍을 한지는 겨우 7년이 됐고 학교를 졸업한지도 2년이 지났지만, 나는 내 자신에 대한 확신이 있다. 나를 도와줬던 이러한 것들이 지금의 내가 있게 해줬고, 내 분야에 있어서 더 앞으로 더 높은 곳으로 나아갈 수 있도록 지금도 도와주고 있다.

다음의 내용들은 특별한 순서없이 나열한 것들이다...
배움을 멈추지 마라

학교를 더 이상 다니지 않는다고 해서 배움 또한 멈춘다는 것은 아니다. 꾸준히 배워야 한다. 새로운 기술이 나오고, 새롭게 생각하는 방법이 자리잡고 있으며, 새로운 문제들이 해결을 기다리고 있다. 발전없이 정체되거나 새로운 문제를 낡은 사고 방식으로 해결할 수는 없다. 때로는 그 방법이 통할수도 있고, 때로는 그것이 최선의 방법인 채로 남기도 하다. 하지만 많은 경우에 당신은 새로운 분야를 탐구해야 하고 진정으로 뛰어난 해결책을 찾기 위해 다른 관점에서 문제를 해결해야 한다.

배우는 방법에는 여러가지가 있다.
읽기
블로그, 잡지, 전문 출판물이나 저널, 책, 코드, 도식, 실험, 연구 등 그 무엇이든. 적절히 읽을 수 있을만큼 많이 읽어라. 또한 한두가지 형태로 제한해서도 안된다. 블로그만 읽어서도 안된다. ACM 간행물(소프트웨어 엔지니어링 분야라면)이나 당신이 일하는 분야의 전문 출판물을 구독하가. 실제 책 또한 읽어야 한다. 많은 소설이 읽혀지고 있고 블로그와 온라인 간행물이 넘쳐나고 있지만, 비소설 종이책은 그만큼의 인기는 없다. 당신의 분야에서 하나의 책을 골라서, 종이책(또는 킨들 eBook1)을 구매하라. 그리고 읽어라.
컨퍼런스
가능하다면 컨퍼런스에 참석하라. 때로는 이것이 매우 큰 일이고 비행기를 타고가서 호텔을 잡는 데 많은 돈이 들기도 하지만, 충분히 가치 있는 일이다. 나는 비록 아직 소프트웨어 관련 컨퍼런스에 가보지는 않았지만, 트위터나 슬라이드, 비디오, 또는 단지 참석한 사람들만 보고 판단해도 충분히 가치 있는 일이라고 말할 수 있다. 나는 슬라이드나 비디오 등을 확인하면서 많은 것을 배우는데, 실제로 참석한다면 더 많은 것을 배울 수(그리고 더 큰 재미를 얻을 수) 있다는 것은 추분히 납득할만 할 것이다.
전문 개발 세미나
전문 개발 세미나는 당신의 커리어를 향상시키고 업무를 더 잘할 수 있게 도와주기 위한 것이다. 개인적으로는 세미나들이 하루나 이틀 정도였지만, 몇 주가 되기도 하고 많은 돈이 들기도 한다. 당신의 고용주가 도움을 줄 수 있는지 확인해보라. 왜냐하면 결국에는 그것은 그들에게도 이익이 되기 때문이다.
다른 사람으로부터 배워라
몇몇 주요 내용으로 분류해봤다.
비평을 듣고 피드백을 줘라.
누군가가 당신의 코드, 디자인, 솔루션 등 무엇이든지에 관해서 언급한다면, 그것들을 듣는 것은 당신에게 가장 흥미로운 일일 것이다. 그들이 말한대로 해야된다는 것을 의미하는 것이 아니라 최소한의 그들이 말하는 것을 들어보고 무엇을 말하고자 하는지를 알아내야 한다는 것이다. 그들은 문제나 당신의 솔류션을 전혀 다른 시각에서 보기 대문에 그들의 생각이 전적으로 옳을때도 있다. 그들은 나름의 관점을 가지고 있고, 다른 것들에 대해서 생각하고 당신이 보지 못한 문제를 찾아낼 수도 있다.
유사한 문제에 솔루션을 시험해 보라.
새로운 소스 컨트롤 시스템을 만들기로 결정했다고 해보자. 아마 이것을 하려는 납득할 만한 이유는 많을 것이다. 하지만 기존의 소프트웨어가 그 문제를 해결하기 위해서 어떻데 동작하는지를 테스트 해보지 않는 것은 멍청한 짓이다. git, mercirial, svn에 대해서 알아보라. merge conflict, repository 제공, 그리고 이러한 것들을 빠르게 동작하게 하는 것에 있어서 기존의 프로그래미 어떻게 지원하는지 살펴보라. 기존의 솔루션을 테스트하는 것으로부터 많은 것을 배울 수 있다.
가르쳐라

인용구를 찾을 수가 없는데, 다른 사람에게 어떤 것을 가르칠 수 있기 전까지는 그것을 제대로 이해한 것이 이나라는 것과 유사한 말이다. 그러므로 가르쳐보라!

당신이 어떤 것을 매우 좋아한다면 다른 사람이 그것을 배울 수 있게 도와줘라. 당신이 가진 지식을 전달해서 다른 사람이 문제를 해결하고 새로운 문제에 새로운 기술을 적용하는 것을 도와줘라. 가르치는 것은 user group, meetup, 컨퍼런스 등에서 의견을 내놓는 형태일 수도 있고, codelesson과 같은 사이트에서 정식 클래스를 운영하는 형태일 수도 있으며, (Github에서 제공하는 것과 같은) 협업 트레이닝을 하는 형태, 심지어는 당신이 작성한 코드의 일부를 협업자와 같이 리뷰하는 형태일 수도 있다.

어떤 형태를 택하든, 거기서 벗어나서 가르쳐라.
일을 사랑하고 관심이 가는 것에 대한 일을 해라
이 두 가지는 연관된 것이다. 세금 계산 소프트웨어를 싫어한다면 Intuit에서 일하면 안된다. 꽤나 간단하다. "근데 내 관심 분야에는 좋은 소프트웨어 회사가 없는걸요!"라고 말할 지도 모르겠다.

이직하라

당신의 일을 좋아하지 않는 다면, 즐길 수 있는 일을 찾을 수 있는 곳으로 이직하는 것을 배재하면 안된다. 일하러 갈 수가 없고, 하고 있는 일을 즐길 수 없다면, 당신의 하루는 너무나 우울할 것이고, 때문에 당신의 당신에게 주어진 일에 아무런 동기도 가질 수 없을 것이다.

이것을 고려해봐라: 당신이 MIPS 어셈블리 프로그래밍을 싫어하고 집에서 하려고 하지 않는다면, 매일 일하러 가고 거기서 일을 하는 것이 왜 납득이 될까?

당신이 좋아하는 것을 하라. 그리고 당신이 하는 것을 좋아하라. 이유가 없다.
일관성을 유지하라
당신이 행동하고 자신을 나타내는데 있어서 일관성은 중요한 것이라고 생각한다. 이것은 당신의 옷차림부터(Steave Jobs는 복장 일관성 종결자다) 코딩, 작문 스타일까지 많은 것을 포함한다.

예를 들면, 나의 아바타랑 약력은 어디에나 똑같다고 확실히 말할 수 있다. 내가 가입한 어떤 사이트든 만화처럼 그려진 내 사진을 볼 수 있을 것이고 내가 (글 쓸때 기준으로) "소프트웨어 엔지니어, 캐나다 앨버타 에드먼턴"이라고 적혀있는 것을 확인할 수 있을 것이다. 아미 지역을 적는 칸이 따로 있었으면 지역명을 적지는 않았을 것이지만, 어쨌든 기록해놓았다.

작문 스타일, 옷차림, 약력, 태도 그리고 연락처 등이 일관성을 유지하도록 신경써야 하는 모든 것 들이다. 연락을 위해서 이메일을 알려줬다면 그 이메일을 계속 사용해야 한다. 온라인 상에서 꾸준히 멋진 사람이었다면, 갑자기 불쑥 튀어나와 이상한 사람이 되어서는 안된다.
일관성을 유지하라. 사람들이 당신이 누군지를 기억하는데 도움이 될 것이다.
항상 컨택 가능한 상태를 유지하라
상자에 갇혀서 사는 것은 형편없는 짓이다. 당신의 경력에서 더 높은 위치로 가고싶다면(이것이 직위 상승을 의미하는 것은 아니다) 당신의 분야에서 다른 사람들과 소통하기를 원할 것이다. 명함에 이메일 주소나 전화번호를 기재하라. 웹콜을 위해서는 Skype를 사용하라. 이메일 공개를 원하지 않는다면 Wlfoo의 연락처폼을 이용하라. 왜 안하는가? Gmail과 그것이 제공하는 스팸 필터링 기능을 이용해라!

항상 컨택 가능한 상태인 것만으로도 당신은 자신을 가르치게도 할 수도 있고("저기요, 이거 어떻게 하신건가요?") 취업에 대한 기회를 얻을 수도 있도, 평론을 할 수도 있다. 우리가 언급한 모든 것들이 다 좋은 것들이다.
커뮤니티에서 활동하라

이 사람은 Why the Lucky Stiff이다. 그는 정말 멋쟁이다. 그는 루비 커뮤니티를 위해 아주 많은 일을 했는데 때문에 그가 인터넷에서 사라졌을 때 사람들은 그가 무엇을 하다가 그만뒀는지를 찾아내고 그가 참여했던 것들을 유지하는 일을 인계받기 위해 그들이 하던 일 조차 멈출 정도였다.

만약 그가 그냥 집에 머무르면서 그 자신을 위한 것들만 했다면, 멋쟁이까지 되지는 않았을 것이다.

멋진 코드를 가지고 있다면 사람들에게 보여줘라. 당신의 업무 분야에서 어떤 멋진 일을 했다면 다른 사람들에게 그것을 보여주고 어떻게 만들어냈는지를 가르쳐줘라.
재미로 일(코딩)을 연습하라
집에서는 코딩을 하지 않는다면, 잘못된 것이다. 시.간.이.없.어.요 따위는 헛소리는 하지마라. 시간은 있다. 단지 당신이 제대로 관리를 못할 뿐이다. Scott Hanselman은 두 아이가 있지만 여전히 프로그래밍을 한다. 당신이 하는 프로그래밍이 회사에서 하는 것이 전부이고, 정말 집에 와서는 프로그래밍을 하고 싶지 않다면, "일을 사랑하고 관심이 가는 것에 대한 일을 해라"라는 섹션을 참고해라.

이는 프로그래밍을 넘어서도 적용된다. 전기 엔지니어이면서 기타를 연주한다면 기타 엠프를 만들어라. 목수라면 아이들을 위해 투박한 스윙 세트를 만들어줘라.

집에서 하고 싶은 것을 하기만 하면 된다. 당신이 하고 싶은 것이 일로 하고 있는 것이라면, The Eagle과 같은 것을 만들고 쉬어라.
끝을 맺어라
Joel Spolsky가 한 말이다. Fog Creek Software의 채용 공고를 본 적이 있다면, 그들은 단지 두 가지 사항만을 고려한다는 것을 알 것이다: 영리함 그리고 일을 끝내는 능력. 만약 이 두 가지 조건을 만족시킨다면, 당신이 python/django 개발자이고, 그 회사에서는 Wasabi 기반 어플리케이션 분야에서 일할 사람을 필요로 한다고 하더라도 전혀 문제가 되지 않는다. 꽤나 빠르게 그들의 업무를 이애하고 따라 잡을 수 있을 것이다. 마치 다른 목공예점에 가는 것과 같다. "지난 번엔 가죽 손잡이가 달린 붉은색 망치를 사용하셨던 것 알고 있어요. 하지만 여기는 배드민턴 스타일 손잡이가 달린 푸른색 망치 밖에 없네요."라고 말하는 것처럼. 언어는 기본적으로 도구일 뿐이다. 그리고 당신이 머리가 좋다면 그로 인해 혼란스러울 일은 없을 것이다. 도구는 전혀 문제가 되지 않는다.
정리를 잘 하라

할일 목록을 사용하거나, 나아가서 GTD(Get Things Done) Pholosophy를 사용하라. 나는 GTD를 사용하려고 시도도 해보았고, 지금도 그런 것의 일부를 활용하고 있기도하지만, 난 내가 해야 할 일이나 어느 시점에 하고 싶은 일을 잊어버리지 않기 위해 그 일들을 Remember The Milk에 저장하고 있다. 이것은 일들을 당신의 머리에서 빼내서 항상 생각할 필요가 없는 곳으로 옮겨준다. 나는 내가 작업하고 있는 특정 소프트웨어 프로젝트의 특정 사안에 대한 관리를 위해 bug tracker를 사용하기도 한다.
손을 떼라
어떤 일을 끝까지 해내고 싶어하는 것을 이해하지만, 그것이 할 필요나 끝낼 가치가 없는 경우도 있다. 나는 Gravatar 처음 나왔을 때 Rails3 예제 프로그램으로 Gravatar와 똑같은 것을 만들고 싶었었다. 확정된 것은 아니었지만, 그냥 내가 괜찮겠다라고 생각했던 것이었다. 하지만 Rails3가 퇴출되면서, 다른 일로 샐 수 밖에 없었다. 그리고 이제는 더더욱 하기가 어려워졌다. 그 어플리케이션에 시간을 보낸 나는 시간을 낭비한 꼴이었고, 한동안은 Rails3에 대해서 생각도 하지 않았고, 내 블로그는 이미 '조롱거리3'이었다. 어떤 일이 당신의 할일 목록에 오랫동안 있다면(아마 갑자기 생각난 일일 것이다) 그것을 하는 대신에 그 일이 그 목록에 계속 있을 필요가 있는지를 생각해보라.

이는 당신이 벌써 시작했지만 흐지부지되고 있는 것에도 적용된다. 더 이상 흥미롭지 않거나 의미가 있는 것이 아니라면, 그 일을 접고 다른 신선하고 멋진 일을 하라.
비동기적이 되어라
조금 이상한 소리지만, 일단 이야기 하려고 한다.

todo list나 RSS 피드를 실질적으로 활용해라. 이메일과 같이 이것들인 비동기 시스템이다. 이베일을 보내고, 피드를 구독하고, 또 toto 아이템을 적어라. 그리곤 더 이상 너무 많이 신경쓰지 마라. 당연히, 다음날 이메일을 확인하거나, 침대에 가기 전에 피드를 읽으면 된다. 새로운 내용을 위해 웹사이트를 계속 확인하거나 Skype에 텍스트로 "John is typing..."을 치기 시작하면서 자리에 앉지 않아도 된다. 당신이 그것들을 처리할 시간을 지정할 수 있다. 생각이 날때 쓰고, 시간이 남들때 처리를 하면 된다. 머리에서 더 많이 뽑아내서 다른 시스템에 넣을 수록 좋다. 이를 통해 당신은 손에 주어진 일에만 집중할 수 있게 된다. 나중에 이메일을 처리하고 피드를 읽을 수 있는 시간이 있을때, 그때 그것에 집중하면 된다.

컴퓨터 관련 분야에서는 더 적용할 수 있는 것들이지만, 나에게는 정말 도움이 되었기 때문에 적어보았다.
Kindle을 사라

진심으로. 이 기기는 정말 멋지다. 읽기에는 너무 좋고, 다른 문서를 킨들로 보내서 읽기 쉽게 하기 위해 (전문 저널 스타일 형태의 PDF 폼으로 매우 멋지게) 변환할 수 있다. 베터리는 정말 오래 가고, Amazon의 책 모음도 훌륭하다. 책을 많이 읽는 다면 킨들이 필요하다. 단지 139달러이다.
Google Docs를 이용하라

모든 PDF 소백서, eBook, PDF 메뉴얼 등 내가 인터넷에서 (읽기용으로 또는 참고용으로) 찾은 모든 것은 Google Docs에 저장되어 있다. Google Docs는 훌륭한 오피스 툴 셋으로 모든 시스템에서 동일하게 동작하기 때문에 "아, Mac에 저장해놨는데 지금은 Windows를 사용하고 있네"와 같은 헛소리 신경 쓸 필요가 없다. 그냥 동작한다. 파일들은 Google의 서버에 안전하게 저장되어 있고(나는 이것이 매우 좋다고 생각하지만, Google의 시스템에 어떤 것을 저장한다는 것에 대해서는 생각이 다를 수도 있다), 완벽히 검색이 가능하다. 오피스 관련으로만 제한된 것도 아니다. 나는 PDF, 중요한 압축 파일, 그리고 정말 안전하게 저장되고 쉽게 접근할 수 있을 필요가 있는 모든 것들을 저장한다.
붐!
이제 끝! 이것들이 비밀의 전부이다. 물론 사실 이것이 비밀은 아니다. 하지만 나는 이점 들이 내가 소프트웨어 분야에서 좋은 성과를 낼 수 있도록 도와줬다고 생각한다. 아마도 이것들은 당신 또한 도와줄 수 있을 것이다.

댓글을 달아 주세요