개발이란 끊임 없는 선택의 연속이며
개발이란 끊임 없는 선택의 연속이며, 선택 대상이란 현재(현실)와 미래(이상) 사이의 어느 지점이다. 현재는 항상 움직이고 있기 때문에 현재에 너무 가까워서는 안 되고, 마세라티 문제처럼 영원히 오지 않을 수 있기에 미래에 너무 가까워서도 안 된다. 세상에는 3가지 부류의 개발자가 있는데, 현재를 추구하는 사람과, 미래를 추구하는 사람과, 문제를 과거로 보내는 (직업 선택에 실패한) 사람들이 존재한다.
개발이란 끊임 없는 선택의 연속이며, 선택 대상이란 현재(현실)와 미래(이상) 사이의 어느 지점이다. 현재는 항상 움직이고 있기 때문에 현재에 너무 가까워서는 안 되고, 마세라티 문제처럼 영원히 오지 않을 수 있기에 미래에 너무 가까워서도 안 된다. 세상에는 3가지 부류의 개발자가 있는데, 현재를 추구하는 사람과, 미래를 추구하는 사람과, 문제를 과거로 보내는 (직업 선택에 실패한) 사람들이 존재한다.
많은 계획을 세운다. 난 올해 ㅇㅇㅇ를 하겠어. ㅁㅁㅁ를 하겠어. 해가 끝나면, “아.. 올해는 너무 바빠서 아무것도 못 했군” 하면서 후회를 하고, 똑같은 계획을 또 세운다. 해마다 되풀이 된다.
너무 바빠서 아무것도 못 했을 수도 있지만, 어차피 죽기 전까진 영원히 바쁠 것이다. 무언가를 할 수 있을만한 한가한 시간은 살면서 절대로 오지 않는다. 2013년이 시작되고, 지난 40일간 내가 무엇을 했는가? 그 40일을 8번만 하면 2013년이 끝난다. 지난 1년간 자신이 뭘 했나? 그 1년을 50번만 하면 인생이 끝난다.
하루는, 일주일은, 한달은, 1년은, 인생은, 생각보다 짧다. Life is short.
— 이상한 나라의 종텐
사람은 일반적으로 보고, 듣고, 느끼는 것을 중심으로 생각하게 된다. 아는만큼 보인다고 했던가. 딱 아는만큼만 상상할 수 있다. 개발자에만 해당되는 얘기는 아니다. 참~ 좋은데, 뭐라 설명하기 어려운 것들이 많은데, 대다수의 사람들은 듣고 싶어하지 않는다. 자신의 세계를 지키는 데에 급급하고, 새로운 개념을 접하게 되면, 마치 자신의 몸에 바이러스가 침투한 양 물리치려 한다.
이런 사람들의 사고는 상상에 한계가 있다. 곱하기가 되지 못하고, 더하기가 된다. 옆에서 보기엔 참 답답하지만, 반대로, 또 다른 누군가는 날 보면서 참 답답하다고 생각하고 있을지도 모른다.
내 자신은 어떤가? 보고, 듣고, 느끼는 것에 대해서 열려있는 사람인가? 아니면, 방어에 급급한 사람인가. 요 몇년 사이에 난 참 많이 오만해졌던 것 같다. 뭐, 근거 없이 오만한게 또 내 매력이긴 하지만.
— 이상한 나라의 종텐.
요즘 시대에는, 마치 네이버 뉴스 같은, 주변의 기술 관련 정보를 짜집기해서 말하는 사람들이 있다. NoSQL은 블라블라, 빅데이터는 블라블라, 구독하는 다른 블로그에서 읽은걸 자신의 블로그에 뱉어낸다. 물어보지도 않았는데 다른 사람에게 조언을 해주기도 한다. 이런 사람들의 공통점은, A블로그에서 “B가 C보다 좋다”고 하면, B를 찬양하며 돌아다니고, C를 사용하는 다른 사람들을 구박한다. “제가 아는데, B가 C보다 좋아요”라고 말한다. 사람들은 그런가보다 하고 그 사람을 믿는다. 아무도 직접 해본 사람은 없다. 네이버 뉴스와 비슷하다. 읽고, 믿고, 전파한다.
근본적으로, “말만 하는” 사람이 존재하는 이유는 무엇일까? 답은 간단하다. 그게 더 쉽다. 말만 하는게 더 쉽다. 전혀 힘들이지 않고, 자신이 뛰어난 사람처럼 보이게 만들 수 있다.
하지만, 당신이 지금 이 글을 읽고 있는 몇 초 동안에도, 코드를 읽거나, 커밋을 하는 사람들이 있고, 다행히도 모든 사람들이 말만 하진 않기 때문에, 세상은 돌아간다.
— 이상한 나라의 종텐.
지난 몇주간, 까페24에 입주한 가상서버가 UDP 22번 포트 DDoS 공격을 3차례 받았다. 1,2회 공격받았을 당시에는 난 전혀 상황을 모르고 있었는데, 3회째 될 때에 까페24에서 이메일과 전화가 왔다. 까페24의 정책 상, 내가 서버를 빼야 한다는 것이다. 그러면서 내게, “대체 무슨 서비스륻 돌리길래 DDoS 공격을 받나요?”라고 했다. 어이가 없다. 가상서버에서 사용하고 있던 것은 다음 3가지가 전부였다.
DDoS 공격을 받을만한 사이트도 아니고, TCP가 아니고 UDP인 것은 굉장히 이상하지만, 그냥 딱 봐도 ssh로 무차별 공격인 것 같은데, 나 때문에 까페24가 공격을 받았다면서 나가란다. 더 이상 공격을 받는 이런 사이트는 까페24에서 운영할 수가 없다고 한다. 황당해진 내가 물었다. “방화벽에서 해당 포트를 막으면 되지 않나요?” 까페24가 대답했다. “1회, 2회면 그렇게 조치가 가능하지만, 3회 공격 당해서 방침상 더 이상 운영하실 수 없습니다.”. 물론, 모든 TCP, UDP 포트가 차단되어서, 난 더 이상 접속이 불가능한 상황이었다. 그 상태에서, 환불/백업을 해줄테니 무조건 서버를 빼야 한다고 한다. 내겐 뭐 선택권이 없었다. 그래서 사람들이 깡패24 라고 부르나보다. 1회, 2회때 알려줬으면 좋았을 것을, 그 전엔 전혀 연락이 없다가 3회를 채우니 연락을 해준다.
그래서, 이참에 aws 에 free tier를 만들었다. 안 그래도 aws로 옮기고 싶었는데 잘 되었다. Tokyo region을 사용한다. 750시간 무료가 끝나더라도, 나 정도의 사용량으로는 1년에 12만원 가량 내던 까페24의 비즈니스 가상서버호스팅보다 저렴할 것으로 예상된다.
블로그는 이 참에 가입형으로 옮기기로 해서, 여러가지 이유로 텀블러를 선택했다. 텀블러로 옮기면서 삽질을 좀 했다. wordpressToTumblr.php 라는걸로 글을 대충 옮겼는데, 테스트 해보고나서 다시 해보니 글이 더 이상 안올라갔다. 텀블러는 (API 포함) 하루 글 작성이 250개로 제한되어 있으니 참고하시라. 이 제한은 밤 12시에 리셋되는데, 텀블러가 뉴욕 회사가 그런지, 뉴욕 시간 기준이다. 이 도메인(jong10.com)으로 블로그를 2004년부터 하고 있는데, 처음엔 일기 같은 글이 많았고, 한때는 감정을 배설하는 글이 많았고, 지금은 기술 관련 내용만 올리고 있다. 옮기는 김에, 옛날 글들중 좀 이상한 것들이나, 너무 일기같은 글을 다수 지웠다. 기억엔 망각이라는 훌륭한 기능이 있지만, 블로그는 그렇지 못하여, 주기적으로 망각을 적용해줘야 한다. 예전처럼, 레거시 퍼머링크에 redirect를 넣을까 했는데, 이젠 레거시고 뭐고 귀찮고 모르겠다. 구글이 알아서 새로 인덱싱 해주겠지.. 시간이 지나면 다 검색 되리라 본다. wordpressToTumblr.php 스크립트가, 이미지 같은건 제대로 옮기지 못하여, 이미지들은 수동으로 수정할 예정이다. 안 나오는 이미지가 매우 많은데, 기존 글 개수를 160개 정도로 줄여서 옮겼으니, 수작업으로 틈틈히 하면 될 것 같다. 댓글은 일단 disqus를 달긴 했는데, 그냥 댓글이 아예 없어도 상관 없을 것 같다. 블로그 옮기면서, 댓글은 가져오진 못했다. 어쩔 수 없지..
까페24, 생각을 하면 할 수록 화가 나는데, 약관에 써있었을테니 어쩔 수 없다. 깡패24 따위 서비스는 더 이상 쓰지 않는 수 밖에.
— 이상한 나라의 종텐.
Python에서 pip를 이용하여 뭔가 설치할 때에, C/C++쪽 빌드가 필요한 라이브러리들이 종종 있다. *nix 환경이면 적당히 gcc로 큰 문제 없이 빌드도 되고 하지만, 윈도에서는 뭔가 불편한게 한 두가지가 아니다. MinGW를 사용하는 환경이면 여차저차 방법이 있고, VC++이 설치된 경우도 여차저차 방법이 있는데, VC++2010이 설치되어 있는데도 Unable to find vcvarsall.bat 에러를 만나는 경우가 있다.
이는, Windows7 64bit, VC++2010, Python 2.7 조합에서 재현이 되었으며, Python 2.7 에서 여러가지 환경변수를 통해서 VC++의 경로를 찾게 되는데, 2008까지만 지원을 하고 2010은 포함되지 않기 때문이었다. -_-
아래와 같이 VC2008의 환경변수에 VC2010의 경로를 넣어주고, 다시 pip install을 다시 하면 빌드/설치가 잘 된다.
C:\> SET VS90COMNTOOLS=%VS100COMNTOOLS%
C:\> pip install 패키지
애초에, 윈도우에서 파이썬질을 하는 것 자체가 안타깝긴 한데, 사정이 있어서 어쩔 수가 없다.
— 이상한 나라의 종텐
이것은 나의 이야기이다. 다른 사람들도 이런지 잘 모르겠다.
취미용 개발로 괜찮은 무언가를 떠올린다. 이건 금방 만들 수 있을 것 같고, 유용할 것 같다. 이런 저런 기능들을 추가하고, 주변 사람들 몇명과 팀을 만든다. 며칠간 고민하면서 팀 이름을 만들고, 구글 그룹스에 메일링 리스트도 만들고, (좀 더 feel 받으면) 위키도 만든다. git repository도 셋팅하고, 설계도 대충 잡고, “우와! 이걸 하자!” 막 이런다. 사용할 언어, 라이브러리, 프레임웍을 고르는 데에 많은 시간을 소요하고, 머릿 속에는 완전 다 구현된 것 같은 느낌을 받는다.
그리고, 일주일 정도 흐른다. 당연히 진도가 잘 안 나간다. 재미가 없어진다. 쉽게 그만두거나, 또 다른 무언가를 찾는다.
생각해보니, 이건 딱히 개발자에게만 적용되는 패턴도 아닌 것 같다. 영어공부를 하겠다고 다짐하면서 며칠 못 하는 것과 비슷한 것 같기도 하고, 점점 더 급하게 살아가는 현대인의 흔한 패턴인 것 같기도 하다. 꾸준히 무언가를 한다는 것은 결코 쉽지 않다. 나는 매우 자주 이러는 편인데, 이 패턴에서 어떻게 벗어나야 할 지 잘 모르겠다. 여전히, 만들고 싶은 무언가가 떠오르면 신난다. 과거의 교훈에서 배우는 바가 전혀 없고, 아직도 스스로에게 관대하다.
— 이상한 나라의 종텐.
오랫동안 “느린” 2009년형 맥북에어를 사용하다가 장비를 변경하면서, Mac OS X 10.7 Lion 에서 Ubuntu 12.04 LTS 로 스위칭 했다. Vim, VLC, VirtualBox, Dropbox 등은 문제 없이 우분투로 가져올 수 있었지만, 스위칭 하면서 좋아진 점과, 불편해진 점이 있다.
Like도 많고 Dislike도 많지만, Like의 비중이 좀 더 큰 것 같다. 특히, 패키징 시스템과, 컴파일러와, 터미널과, GNU툴 정도. 사실, 딱히 맥 전용 앱을 그다지 쓰지 않는 편이었고, 그동안 맥에 빡친 적이 여러번 있었기 때문에 어렵지 않게 옮길 수 있었던 것 같다. 물론, 마지막 이유 150만원의 비중도 상당하다.
— 가난한 종텐.
최근 한달간 피부로 느낀 교훈 몇가지. 눈으로 보지 못한 것을 믿으면 안 된다. 직접 측정하지 않은것은 신뢰할 수 없다. 데이터는 근거 없는 주장보다 강력하다. 코드를 보지 않고 상상에 의존한 주장과, 그런 주장을 하는 사람을 경계하라. 마지막으로, 모든 것을 의심하라.
— 이상한 나라의 종텐.
나는 일도 취미도 코딩이다. 하지만, 취미 활동을 할 때에는 재밌고 스트레스를 거의 받지 않지만, 일을 할 때는 종종 스트레스를 받는다. 왜 그럴까? “취미는 그만하고 싶으면 그만해도 되지만, 일은 그렇지 않다.” 취미를 하다가, 하기 싫어지면 오늘은 그만하면 된다. 하기 싫을때 하는 경우가 없기 때문에, 취미는 항상 좋은 기억으로 남아있다. 하기 싫어도 해야 한다면 그건 이미 취미의 범주에 속하는게 아니다.
마음대로 할 수 있다는 것. 내 시간에 대한 사용권이 내게 있느냐, 타인에게 있느냐. 지금 내 행동이 내 의지로 이루어지느냐, 타인의 의지로 이루어지느냐. 토요일인 오늘 내가 출근한 것이 내 의지인가, 타인의 의지인가. 그 작은 차이가 우리들의 삶을 지치게 한다. 일을 하기 싫을때 하지 않아도 된다면, 어떤 세상이 될까. 누군가에겐 즐거운 세상일 수도 있고, 누군가에겐 아무 일도 하지 않아서 백수가 되는 세상일 수도 있다. 결론은 없다. 뭐, 그냥 그렇다고.
— 이상한 나라의 종텐