병특을 하면서 한번도 실감해보지 못한 것이 하나 있다. 바로 내가 학교로 돌아간다면? 다시 학생이 된다면 나는 무엇을 하고 있을까 라는 생각이다. 병특이라는 시간에 쫓겨, 직장인도 아닌 것이 군인도 아닌 것이, 뭔가 애매한 대우를 받으며 지내왔지만 나는 보다 구체적인 나의 정체성을 찾고 싶었다. 여유를 가지고 싶었고, 개인 시간을 가지고 싶었다.
하지만 사회라는 곳은 그리 만만치 않았다. "짤리면 군대다" 라는 생각에 회사에서 닥치는대로 사람들에게 잘보였다. 하루가 다르게 팀장이 내게 하는 얘기는 "사장이 그러더라. '쟤는 대체 뭐하는 놈이야? 하는게 뭐야?' 라고 말이다." 라고 하였다. 그때는 내가 반항심이 참 많아서 그럴까.. 물론 겉으로 내색은 안했지만 업무도 잘 주지 않으면서 내게 뭐하는 놈이냐니. 참 빈정도 많이 상했을 뿐더러, 나의 존재에 대한 정말 큰 회의심이 있었다. 내가 잘하고 있을까? 나는 뭐하는 놈일까..
그래서 계속 나의 정체성을 찾기 위해 노력했다. 물론 프로그래머로 병특을 간 것은 개발력을 썩히기 싫어서가 가장 컸는데, 막상 병특을 오고 나니 내가 하고싶은 웹을 하면서도 기술이 워낙 낙후된 것만 배우다 보니 개인적으로 회의감이 많이 들었다. 아니 회의감보다 더 심한 것은 내가 무엇을 배워야 할지 혼동된다는 것이었다. 사실 솔직히 말하면 내가 게임 사업을 추진할 당시 개발자로써 나름 잘 나가던 친구 한놈에 대한 열등감이 가장 컸는데, 그 친구에 비해 프로그래머를 꿈꾸던 나는 뭐하는 놈일까.. 라는 생각이 컸다.
뭐 지금이야 자바와 특히 오픈 프레임워크를 주축으로 해서 나 자신의 정체성을 잘 성립했고 앞으로 내가 공부해야 할 방향이나 향우 어떤 일을 하고있을지에 대한 고민도 수없이 많이 해봤다. 풀어져 있는 나 자신을 잡기 위해 매일같이 관리하는 로드맵도 정말 많은 시간을 들여 만들었고, 직업들에 대해서도 수 없이 생각했다.
그러다 지난 2월 1일, 나는 드디어 복학을 신청했다. 복학이라.. 26살 늦은 나이에 2학년으로 들어가는 것을 의미하는 이 복학, 지금 학교에 있는 같은 학년의 학생들은 나보다 5살이나 어리다. 많이 어린 친구들 사이에서 나는 어떤 존재가 될 것인가? 글쎄.. 그들과 제대로 어울리지는 못할 뿐더러, 아마 나는 대학 생활이라는 것보다는 나 자신의 인생에 보다 더 충실해야겠지.
그렇게 복학신청을 하고 나니 21살부터 26살까지, 내가 그동안 사회에서 지내왔던 일련의 기억들이 머리속을 스쳐간다. 처음 게임사업을 진행할 때부터 회사가 이사갔을때, 그리고 인사총무팀으로 발령났을 때, 프로젝트가 망했을때, 병특회사에 합격했을때, 지금회사로 이직 성공했을때. 많은 성공과 실패가 있었지만 그래도 다양한 경험을 하면서 나는 누군가는 5~10년 후에나 생각할 수 있는 일을 보다 빨리 예측할 수 있던 것이다.
그래서 복학을 한다. 복학을 하고, 내가 바라보는 학교의 커리큘럼은 전반적인 내 인생에 있어서 이게 과연 필요한 것인가를 한번 더 돌이켜보게 만든다. 어떤 기술을 배우고 어떤 사회적인 능력을 키울 것인가, 내게 필요한 것이 무엇인지를 알기 때문에 나는 그 부분만 보충해 나가면 된다. 내가 들어온 많은 친구들은 자신들이 왜 이 학과에서 이 과목을 배우는지를 잘 알지 못한다. 그저 "교수가 학점을 잘 줘서" 가 전부인 것 같다.
인생에는 두 갈래의 길이 있다고 생각한다. 하나는 남들 다 하는 일반적인 길, 하나는 아무나 시도하지 않는 도전적인 길.
고등학교때 쓴 일기의 한 부분이 생각난다. "나는 남들과는 다른 길을 항상 추구한다." 이미 중학교때에도 남들 다 진학시험 준비할 때 나는 컴퓨터를 공부하고, 컴퓨터로 대학갈 생각을 한 자체가 다른 방향인 것 같다. 하물며 대학에 진학하자마자 게임개발과 투자를 통한 본격적 사업을 해보고 싶던 것고 마찬가지이고. 지금도 남들 다 졸업하고 취직할 때 나는 다시 학교로 들어간다는 것도 다른 길로 들어간 것이다.
하지만 현실은 언제나 "이상" 만을 허락해주지 않는다. 이상속에 빠져사는 사람은 그저 허황된 몽상가일 뿐이다. 나는 최소한 병특에 오기 전까지는 정말 크나큰 몽상가였다. 하루하루 허구속에 빠져살다가 22살이 되어 진행하던 프로젝트가 접히게 되자 느끼게 되었다. 인생은 단지 열정만으로 되지 않는다는 사실을.
중요한 것은 내가 얼마나 노력했느냐는 것이다. 그리고 그 노력이 올바른 방향으로 흘러들어가야 한다. 그래서 앞으로의 나의 삶은 분명 내가 설계한 대로 올바른 방향으로 들어갈 것이라고 생각한다. 그렇기에 늦은 나이에 복학하는 것도 두렵지 않다. 늦었다는 생각보다는 안정적인 발판을 마련했다는 생각이 더더욱 강하다!
이제 3월 2일, 병특도 끝나고 복학을 하게 된다. 이런 날이 오는구나.. 내가 그 동안 투자한 시간, 남들과 다르게 걸어온 시간이 헛되지 않도록 노력할 수 있도록 해야겠다.
요즘 회사에서 이 레드마인을 세팅하는 데에 푹 빠져있다.
레드마인 설치는 one click 설치가 있어서 상당히 쉬운데
나는 주로 레드마인에서 위키를 사용할 예정인데, 위키가 Textile문법으로 되어 있어서
이게 데이터를 형식화 하는데, 즉 마크업 하는데에는 도움이 될지 모르겠지만
나처럼 문서를 웹으로 취합하고자 하는 사람에게는 좀 별로인 듯 싶다.
github의 이 redmine_ckeditor 라는 오픈소스를 발견하게 되었고...
위의 그림처럼 성공했다~~!
설치는 간단하다. 위쪽에 ZIP 버튼으로 내려받은 후, 압축풀고 redmine 설치 폴더에 vendor\plugin 폴더에 넣는다. 그리고 폴더명을 redmine_ckeditor 로 바꾼 후 redmine 재시작.
이후에 Administration > Settings > General > Text formatting 에 보면 redmine_ckeditor 가 추가된걸 볼 수 있다.
선택하고 저장하면!!! 드뎌 위지윅으로 사용이 가능하다... ^^ 참고로 Administration > Plugin 에 가면 이것저것 위지윅 에디터에서 사용할 것 추가도 가능하다.
단 주의점은, 기존에 Textile 로 만들어 둔 문법은 인식이 안되므로 주의할것.. 그러니깐 위지윅으로 되면서 <span>테그가 추가되고, 기존의 Textile 문법은 인식이 안되는 듯 하다. 그리고 CKeditor 로 저장하면 또한 Textile 에서 인식이 안되고.. (물론 [[]] 등의 문법은 동일한듯 ^^;)
실무에서 웹 프로그래머로 활동한지 올해로 7년차를 맞이하였다. 그동안의 개발자로써 삶을 돌이켜보면 정말로 다양한 경험을 한 것 같다. 물론 병역특례다, 사업이다.. 이것저것 원하든 원치않든 나는 내 삶을 지속적으로 내가 원하는 방향으로 맞춰갔고, 그러한 수 없는 고찰속에서 나는 우선은 내가 하고싶은 삶보다는 내가 잘할 수 있는 삶으로 방향을 맞추기로 하였고 3년간의 병특 생활 속에서 빡센 개발과 함께 나는 어느정도 웹 프로그래머로써의 실력을 다질 수 있었다.
사실 삶이란 것이 언제나 완벽할 수는 없다. 나 역시 마찬가지로, 이 블로그에서 수없이 언급했지만 난 처음에는 그저 인터넷이 좋았고, html과 자바스크립트를 통한 웹 디자인이 좋았는데 학창 시절에는 "웹 디자이너" 라는 자체는 좋은 학업으로 이어지기가 힘들었다. 홈페이지 경진대회는 몇차례 수상을 했지만 학생인 당시 신분으로써 내가 컴퓨터와 대학 진학을 목표로 하기 위해서는 프로그래밍을 해야했다. 그러다 보니 초등학교 때부터 "정보올림피아드" 라는것과 인연을 맺게 되었다. (2010/06/30 - 컴퓨터, 그리고 정보올림피아드의 추억)
뭐 과거 회상은 아주 많이 해봤기 때문에.. 여튼 줏대가 없는지는 몰라도 디자이너도 포기했고, 20살부터 시작한 닷넷 프로그래밍도 병특을 시작하고 1년만에 완전히 자바 프로그래밍으로 돌아섰다. 항상 내가 추구했던 것은 "방향성" 이었는데, 솔직히 나는 프로그래밍에 있어 다양한 라이브러리를 사용한 경험은 있었는데 그러고 나니 내 정체성에 큰 혼란이 빚어졌다. 웹만 좋아하던 내가 GW베이직이니, C,C++이니, 닷넷이니 Direct X니..
솔직히 13살 때부터 10년간은 억지반으로 이런 언어들과 라이브러리를 접했던 것 같다. 그러다 23살때 병특을 시작하고 나서 순전히 웹의 바닥부터 기초를 쌓겠다고 생각하고 들어간 병특의 세계, 첫 회사인 에이전시도 하고 별별 웹 관련 일을 다하던 회사에서 나는 웹과 관련된 정말 다양한 경험을 하게 되었다. 물론 회사 대우에 불만을 품고 이직하긴 했지만 그곳에서 배운 다양한 경험들은 아직도 꽤나 유용하게 사용하고 있다.
슈퍼 웹 개발자.
뭐 이러저러한 경험은 재쳐두고.. 어쨋든 앞으로 한달 정도 후면 대학교로 돌아가게 된다. 기대반, 걱정반인 이 학생 생활에서 나는 어떤 경험에 중점을 두고 나의 3년을 보내야할까? 우선 3년 후, 현실적인 기반에선 나는 취직을 해야한다. 남들보다 한 2년 정도 늦었겠지만, 늦은 만큼 나는 보다 더 확실한 결정을 해야한다. 병특을 처음 시작했을 때 나는 내 진로에 대해 고민하다가 "IT 컨설턴트" 라는 진로를 희망하였는데, 지금의 내 희망 진로는 "슈퍼웹개발자" 이다. 보다 더 구체적으로 말하면 "어떠한 아이디어던 빠르게 프로토타입을 생산할 수 있는 웹 개발자" 왜 이런 진로를 결정하게 되었냐면 나는 일단 웹과 관련되서는 어떠한 기술이라도 정말로 흥미가 깊고, 이러한 기술들을 요리조리 활용해서 서비스를 기획하는 것을 좋아한다. 그리고 지금까지의 내 경험은 디자인과 개발을 중점적으로 키워왔다. 그렇기에 기획,디자인,프로그래밍 의 모든 요소를 섭렵하려고 하는 것이다.
뭐 그래 의도는 좋다. 그래도 자만하지는 않는다. 그동안 개발하면서 느꼈는데 내가 아무리 실력이 좋고 경력이 좋던간에 기술은 정말로 빠르게 발전하고 있다. 발빠르게 기술을 접하지 않으면 기회를 잃어버리는 것이고, 그 만큼 경쟁력도 약해진다. 물론 웹에서도 필요한 기초적인 기술이 있지만 그것들은 어느정도 삽질의 선에서 마무리할 수 있다. 결국 나는 아무것도 모르던 풋내기 시절에는 상당히 자기만족에 빠져 "자만" 하고 있었다면, 어느정도 알고 난 지금 입장에서는 정말로 "겸손" 해야겠다는 생각이 간절하다.
해방
중견기업으로 전직하고 나서 나는 사실 뼈대부터 새로 만들어 나가야 하는 새로운 개발은 거의 해본적이 없다. 그저 기존의 회사 내 프레임워크를 사용해(결국 copy-and-paste지만..) 뼈대만 붙히고 몇몇 수정을 입히는 식이었지. 그야말로 정적인 일들. 재미는 없지만 고정적인 일들. 그런 일들에서 나는 한달 후에 해방된다. 해방이라는 의미를 붙힌 까닭은 아무리 정적인 일이지만 "회사" 라는 곳에 내가 존재하는 일일 8~9시간은 회사에만 투자해야 하는 시간이기 때문이다. 새로운 기술을 배우고 싶어도 회사의 방향과 맞지 않으면 포기할 수 밖에 없다.
이렇게 나만의 "해방"을 앞두고 있다보니 새로운 시각도 눈에 틔인다. 특히 신기술에 대한 배움의 욕망. 내 개인적인 기술의 트랜드는 2009년에는 닷넷과 자바, 2010년에는 플랙스와 RIA, 2011년에는 html5와 모바일 UX 이런 식으로 발전해왔다. 그리고 지금, html5한국 사용자모임을 운영하면서 느낀 것은 하이브리드 앱 개발을 하고싶다는 것이다. 사실 2009년 말에 나는 아이폰 앱 개발을 하고 싶었으나 당시에는 너무나도 수요가 폭발적으로 증가하는 추세였고, 아마 내가 병특이 끝날 쯔음 하면 앱 개발자의 거품이 점점 가라앉을 것이다 라는 생각에 앱 개발을 포기하였다. 그리고 지금, 내게 "하이브리드 앱" 개발이라는 새로운 배움의 물꼬가 트였다.
하이브리드 앱과 웹 서비스
하이브리드 앱이라.. 2010년 나는 모 은행의 아이폰 앱의 수정을 맡은 적이 있다. 당시 나는 앱 개발을 해본 적도 없는데 어떻게 하지? 라고 생각했는데 실은 껍데기만 앱이고 속은 웹이었다. 웹 화면에 CSS만 잘 바꿔서 앱처럼 보이게 만든 것이지.. 그때 "기능성 앱이 아닌 정보제공성 앱은 이런식으로 만드는 것이 공수가 훨씬 적게 들 것이다" 라는 생각이 들었고, 뭐 지금도 대세가 되고 있지만 앱 개발에 있어서 하이브리드 앱은 Cross Platform을 실현할 수 있는 좋은 수단이 될 것이란 생각이 들었다.
언젠가는 웹의 기능도 앱을 따라잡을 것이다. 그날이 점차 머지 않을 것이다. 아마 앞으로의 트랜드는 그렇지 않을까.. 아이폰과 안드로이드를 추격하기 위한 후발OS나 플랫폼들의 경쟁과 아이폰과 안드로이드의 WebKit의 폭발적인 발전.. 이에 따른 HTML5와 자바스크립트 엔진의 폭발적 증가. 비단 웹 브라우저 뿐만 아니라 하이브리드 앱에서까지. 어차피 WebKit같은걸 사용할것이기 때문에..
사실 좀 하이브리드 앱 개발은 일반 앱 개발자들이 보기에는 싸보일(?) 수도 있다. 그들 눈에는 html이나 자바스크립트가 언어로도 안보이겠지만 내가 간단히 본 해외의 프로그래밍 시장에서는 이미 자바스크립트는 엄청난 대세이다. 이미 뭐 기술도 Three.js phonegap sencha touch jquery mobile등등.. 수 없이 나오고 있는게 iOS의 프레임워크도 아니오, 안드로이드의 프레임워크도 아니오, 웹을 기반으로 한 자바스크립트 모듈이다.
영어의 중요성
난 솔직히 영어를 잘 못한다. 그저 읽고 한 절반 이상만 해독될 뿐이지, 기초적인 문법도 약하고 어휘력도 부족하다. 근데 영어는 그냥 중요성만 생각하고 있었지, 실질적인 영어 공부로써의 투자는 해본 적이 적다. 기껏해야 주말마다 다니는 영국문화원 어학원이 다인 듯 하다.
그런데 내가 영어의 중요성을 심각하게 인식하게 된 것은 html5 사용자 모임을 만들면서부터이다. html5 관련 자료가 국내에는 사실 많이 부족하기 때문에 해외의 자료들을 스크랩 하기 시작했는데 이게 생각보다 사람들의 관심이 컸다. 그래서 html5korea.co.kr 을 만들었는데 그곳에서 나는 번역을 시작했다. 해외 사이트를 뒤져보니 html5 관련 강좌도 많고 정보도 많다. 그런데 막상 번역을 해보니깐 정말 문장이.. 이게 문자만 한글이지, 도통 말이 되지 않는다.
이러한 상황이 내게 시사한 것은 영어를 통한 정보 파급력은 무시할 수 없다는 것과 기술을 익히고 트랜드보다 앞서기 위해서는 결국 필요한 것이 영어라는 것이다. 개인적인 욕심으로 나는 향후 미국의 IT기업에서 일해보고 싶은 생각이 있는데 영어가 안되면 이 꿈은 단 1%도 실행 불가능하다. 마찬가지로, 영어를 못하면 html5korea에서 html5에 관심있는 사람들에게 정보를 공유하겠다는 내 생각도 터무니없는 것에 불과하다.
Conclusion
이로써 학생개발자로 돌아가기 앞서 나의 정체성 확립은 끝이 났다. 결국 하이브리드 앱과 영어, 그리고 학업이다. 사실 따지고 보면 이만큼 심플한 것이 어디있겠는가.. 내가 좋아하는 개발을 하면서 용돈벌이도 하고, 좋아하는 프로그래밍 공부가 결국 학업과 연결되고. 하기싫은 영어지만 어쨋든 하고 나면 내가 습득하는 트랜드에 있어서 큰 도움이 되고 말이다. 문제는 말뿐만이 아닌 실천이 되야 한다. 여태껏 해온 나의 망상을 버리고, 이제는 학생 개발자로써 보다 내가 하고 싶은 것에 대한 공부와 연구에 집중하고 나아갈 수 있기를 바래본다.
새로운 2012년이다. 2011년 말에는 솔직히 내가 정신이 멍하고 무언가 붕 떠있는 기분에 새해라는 기분을 제대로 만끽하지 못했고, 이번주에는 내내 감기로 고생했는데, 이제야 나는 조금 감기도 가라앉고 하여 새해를 제대로 만끽하는 것 같다.
Morgan Weistling - Sleep Sarah
2011년을 돌이켜 보면 나름대로 많이 성공적인 나날들이었다. 뭐 이전 포스트에서도 언급했지만 여러모로 성취한 것이 많다. 하지만 한편으로는 내게 아직 부족한 부분을 많이 발견할 수 있었고, 작은 부족함 하나라도 만족하지 못하는 나 자신을 보니 내가 어째 이리 "완벽주의자" 적인 성향이 되었는지 고민하게 되었다.
계획한 부분에서 일그러짐이 내게 가져오는 것은 크나큰 자멸감이다. 왜 나는 이러한 자멸감 속에 나를 가두려고 하는가? 가장 간단한 예로는 내가 언제부터인지는 몰라도 약간의 과음만으로 전날 기억이 잘 안나고 여러 헛소리를 하는 경향이 생기기 시작했다. 속된 말로 필름이 끊긴다고 하는데, 그게 아주 "자주" 있는다. 가볍게 한잔 하러 간 자리에서 나는 나도 모르게 내 앞의 잔에 자작으로 잔을 채우고 먹는다. 예전처럼 혼자 흡연하며 술을 먹는 습관, 자기 전에 술을 먹는다던가 하는 습관은 없앤지 오래되었지만 나는 술을 먹기 위해 누군가를 찾는다. 그와 분위기를 즐기는 것도 아니고, 그러한 사람이 근처에 있다는 자체로도 그 순간 나는 내가 채워둔 술의 제약사항에서 나를 풀며 음주를 시작한다.
그래, 술 먹는 자체는 좋다. 하지만 최근들어 술에 있어서 극도로 안좋아진 내 몸상태를 보니 역시나 과거 20대 초반에 거의 한주에 네다섯 차례씩 술을 먹던 것이 몸에 안좋은 영향을 끼친 모양이다. 그때야 과음하고 필름끊기고 그런 것을 그저 즐겼다 하지만 지금은 그런것들이 문제라고 인식하는 것이다. 왜?
작년 6월 쯤에 나는 포스팅을 통해 "아이젝트 로드맵" 과 "체크리스트" 속에서 살아가도록 나 자신을 바꾼적이 있다. 그리고 그 뒤로 나는 거의 매일같이 나의 전반적인 삶의 목표에 기준하여 100년, 10년, 1년, 1개월, 1주, 하루를 계획한다. 솔직히 내가 하고 싶은 것들을 쭉 리스트화 하고 100년 계획에 묻어버리니 사실 계획을 따로 세울 필요도 없다. 예전처럼 아주 큰 마음가짐이 필요하지도 않다. 내가 하고싶으니깐 지금 하기싫어도 해야한다는 생각이 든다.
간단히 내 아이젝트 로드맵 일간 체크리스트를 공개하면 아래와 같다.
(2011년 8월 아이젝트 데일리 체크리스트)
(2011년 9월 아이젝트 데일리 체크리스트)
뭐 어찌보면 비슷해 보일 수도 있지만, 위 8월의 체크리스트를 보면 2,3주차가 기록되지 않았고 특히 1주차를 보면 거의 빨간색 투성이다. 물론 9월도 중간중간 빈 부분이 보이긴 하지만 8월에 비하면 상당히 양호한 편이다. 그럼 이것을 보면 어떤 것을 알 수 있는지, 그것은 딱 봐도 8월에 내가 마음가짐을 바로하지 못했고 내가 계획한 삶 속에서 살지 못했다는 것을 정확히 나타내는 것이다.
그리고 나는 이 체크리스트를 기록하기 위해 하루에 거의 한 시간을 소비한다. 물론 이 체크리스트 뿐만 아니라 다른 행동도 수반되긴 하지만, 특히 조용한 새벽 시간을 활용하기 위해 4~5시 쯤에 기상을 한다. 그리고 숙면을 위해 전날 10시 전후로 취침에 들어간다. 결국 8월의 저 공백 기간은 내가 10시에 취침하지 못했거나 일찍 일어나지 못했다는 것이다.
2012년, 나는 보다 내 삶을 분석적으로 활용하기 위해 각각의 체크리스트들을 퍼센테이지로 변경하고 평가 측정 방식도 변경할 예정이다. 정말 어찌 보면 너무 삶을 시스템화 하는 것 같지만, 이런 것이 자기관리라고 생각하며, 실질적인 내가 바라는 목표와 이를 위한 자기측정방식에 대한 투자는 수십권의 자기관리 책을 읽는 것보다 훨신 낫다고 생각한다.
사실 아직도 2012년이라는 사실이 믿기지 않는다. 작년에야 내가 나이가 이제 20대가 꺾이고 기존에 내가 잘못된 부분이 많아서 이를 바로잡기 위한 큰 마음가짐이 필요했지만 올해 내 나이 26살은 그저 숫자에 불과하다. 단지 올해부터는 여타 년도와는 다르게 학교로 돌아가게 된다. 학교라.. 수없이 많이 언급했지만 나는 20살부터 회사를 다니기 시작해서 올해로 7년차를 맞이하는 "직딩" 이다. 이와 더불어 군휴학을 포함해 휴학도 5년째 진행중이다.
이제 학교에 가면 내가 만나게 되는 친구들은 나보다 한참 어린 친구들이다. 그리고 나는 학교에 적응하기 위해, 그리고 그들과 함께 "배움"을 받게 된다. 친했던 동기들이나 선후배들은 모두 직장인이 되고, 나 혼자 있는 학교. 하지만 남들보다 늦다고 별로 그들이 부럽지도 않다. 이미 사회와 실무를 앞서 오랫동안 경험한 나로써는 사실 이제 별로 회사에 가고싶지 않다. 사회라는 곳은 사실 일이 전부가 아니라 대인관계에 의한 사회의 구성이 압도적으로 높은 비중을 차지한다. 그러니 사실 "일"이라는 것은 적당히 해도 처세만 잘하면 살아남을 수 있다.
난 그런 우리나라의 사회 구조가 사실 마음에 안든다. 나도 지금까지 회사를 다니면서 수 없이 내가 하고싶은 것을 만들기 위해서 노력해 봤지만 뜻대로 되지 않도록 방해한 요인 중 가장 큰 요인은 대인관계이다. 퇴근하며 보게 되는 직장상사의 눈치, 신입사원+병특이라면 당연히 해야 하는 허드렛일, 거기에 불합당한 일들(속된말로 xx셔틀), 회사 내에서 나만의 시간에 공부하게 되면 좋지 않게 보는 윗사람들의 시선이라던가. 빠질 수 없는 술자리, 과음에 의한 목표의 흐트러짐 등.. 게다가 회사에는 방학도 없다. 연차만 8할 이상 근무하면 15일이 생길 뿐. 재충전의 시간을 가지기 위해서 이직이나 휴직을 택해야 하는데 이 또한 "눈치"때문에 쉽지 않다.
난 그래 이런 "처세"나 대인관계를 신경쓰는 자체는 좋아하긴 한다. 하지만 이런것 때문에 내가 더 높게 나아갈 수 있는 실력을 막아서는 것이 사실 가장 마음에 들지 않는다. 나 뿐만 아니라 회사에서 보면 분명 "가능성"이 보이는 사람들이 많이 있는데 그저 사회에서, 비싼 밥이나 술한잔 더 얻어먹기 위해서 처세관리를 하는 모습은.. 그리고 그러다 보면 또 사회생활의 "꼼수"를 알게 되니 적당히 하면 적당히 자리는 유지할 수 있다는 것을 알게된다.
그래서 어떤 발전이 있겠는가? 지금까지 다닌 4개의 회사, 처음 두 개의 회사는 내가 정말 다니고 싶어서 다녔다고 쳐도 후자의 2개 회사는 뭐 병특때문에 다니긴 했지만 그곳에서 나는 나 자신이 나태해지는 것을 목격하였다. 한 두번 사람들에게 좀 빡쎄게 일을 도와주거나 나의 지식을 나눠주면 이러한 "도움"이 결국 처세가 되어버리고 나는 또한 그들을 "백"으로 사용하고 근태도 대충대충, 일도 대충대충.. 말 그대로 사회에 찌드는 행동인것이 아닐까.
여튼 이제는 사회에서 탈출(?)하게 되니 내 능력에 집중해서 본격적으로 아이젝트 로드맵 대로 행할 수 있도록 해야겠다. 삶은 안정보다는 얼마나 내 능력을 십분 발휘하는가가 중요하다. 그런 의미에서, 3월부터 갖게 되는 "학생"이라는 것이 내게 얼마나 큰 영향력을 끼칠지는 모르겠지만 이러한 자유를 통해 누구도 하지 못한 큰 업적을 이룰 것이다.
언젠가는 나도 안정보다는 열정과 능력이 우선되는 회사를 만들 수 있겠지.. 그 전까지는 내 능력을 최대한 끌어당기자.
그러한 생각을 하게 되는, 그런 2012년 1월 7일인 것 같다. 오랜만에 온 광화문 근처, 영국문화원 근처의 날씨는 꽤나 춥지만, 그래도 난 이렇게 내 블로그에 또 하나의 LOG를 남긴다는 자체가 너무 즐겁고, 막힘없이 글을 쓸 수 있다는 자체가 꽤나 좋구나. 그래, 한동안 나태해졌던 나도 다시 돌아올 수 있으면 좋겠다.
2006.01 대학 입학 성공과 모 사장님 아래서 고교 친구들과 게임개발을 목표로 벤처 동아리의 시작
2006.02 중대 컴공과 대학 이전 생활 : 오티에서 '차력쇼' 로 유명
2006.03 대학 새내기 시절, 회사(벤처)와 학교를 오고 가며 시간관리와 사람관계에 대한 고민.
2006.04 벤처 사업 1차 PT와 Windows CE 개발, 그리고 Direct 10과 비스타, 미니 노트북, 와이브로에 대한 발전 가능성 예감, 대학 첫 시험기간
2006.05 모(母)회사 인트라넷 유지/보수와 게임 프로그래밍(Direct X 9) 공부
2006.06 CI 제작과 함께 게임 개발 팀 본격 시작. 회사서 IT연구소 팀장으로 발령.
2006.07 학교 방학, 처음 시작한 친구들과 잦은 술자리와 고찰. 그리고 월드컵
2006.08 약 5년간의 기숙 생활에 대한 고찰. 그리고 dx공부
2006.09 팀원, 3개 공모전 참가 의지 밝힘. 게임 개발 시작과 느낀 디자이너의 이기적임.
2006.10 친구의 추천으로 09월에 개발한 게임을 사업화할 방안 논의.
2006.11 3개 대회 종료. 그리고 팀웍에 대한 아쉬움.
2006.12 팀원들과 "제대로" 게임 만들자는 취지로 밤새워 사업 계획서 작성, 신규 프로젝트 사업계획서 PT
[2007년, 21살]
더보기
2007.01 신규 프로젝트 진행과 "클라이언트" "2D디자이너" "기획자" 구인 작업. MS Office Groove 시스템 등 팀 시스템 구축 작업
2007.02 생각보다 어려운 구인에 좌절. 된다는 생각만으로는 뭐든지 쉽게 이뤄질 것 같다는 생각에 대한 핀잔.
2007.03 휴학 결정과 프로그래머 친구의 개인 사정으로 팀 이탈,슬픔. 그리고 첫 신입사원
2007.04 MBA공부와 PM으로 발령(PM은 경력도 중요하지만 사람을 다루는 것이 중요하다는 것에 있어서 자신감.) 남은 두명의 친구들도 각 팀의 팀장. 직원 2명 추가 구인.
2007.05 3시간 수면법 실행. 게임 개발에 대한 온갖 자료 스크랩. 팀원 8명
2007.06 07,08 프로젝트 로드맵 작성. 08,09 게임 상용화 계획 작성. 팀원 13명. 개발 진척도 30%
2007.07 팀원 모두 충원과 동시에 게임 개발 계속. 탄탄한 PM이 되기 위한 자기계발 관련 공부.
2007.08 독서 몰입. 스케줄 예정대로 진행
2007.09 평소 술자리에서 문제 제기를 많이 하던 그래픽 디자이너 한분 퇴사(첫 퇴사). 이후 본 상황에 대한 모회사 임원분(법인독립 후 사장님)의 전 직원에 대한 면담. 이후 팀 시스템 재정비와 신규직원 구인
2007.10 4월 입사한 신입 프로그래머 1인 업무와 커뮤니케이션에 대한 부담으로 퇴사. 그래픽 디자이너와 프로그래머 새로 구인. 09월 면담을 통하여 기획팀과 그래픽 팀이 문제가 있다고 도출됨. 팀원 재정비와 기획 구체화에 몰입. 팀을 바로잡기 위한 10단계 Plan계획
2007.11 기획팀 팀장 교체와 그래픽 팀의 문제 발생(팀장에 대한 불신과 내분)으로 그래픽 팀장 새로 구인. 이 과정에서 가장 친한 친구 하나와 오랜 트러블 발생.
2007.12 기획팀 총 4차례 PT 진행, 그래픽팀도 자체적으로 지향하는 컨셉 방향에 대해 PT 1차 진행. 기존 God Game에서 MMORPG 개발로 방향 전환.
[2008년, 22살]
더보기
2008.01 회사 법인 독립과 회사 가산동으로 이사. but 인사총무팀으로 발령.
2008.02 07년 11월에 구인한 기획팀 팀장이 말도 안되는 소리를 하고 기획을 이끌었다는 사실 판명. 기획 팀장 교체와 그래픽 팀장이 자신과 팀원들의 생각이 맞지 않는다 하여 퇴사.
2008.03 PM에서 팀장으로 내려간 것에 대한 심한 갈등과 조금의 안정화. 다만, 개발을 하지 않다 보니 회사 프로젝트에 대한 애정이 식게 됨.(내가 시작한 프로젝트인것을 모르고!!) 나와 12년을 같이 살아온 우리집 "다롱이"의 죽음에 슬퍼함..
2008.04 회사에서는 계속 팀원 구함.. 전 직원 다시 15명까지 증가.. 나는 그저 묵묵히 인사총무 업무.. 정산, 총무, 근태관리.. 조금은 나태해져서 학교 친구들과 놀고.. 놀러다니고.. 회사에 올인했던 07년과는 달리 조금씩 나태해짐.(개인 사생활의 시간이 많아짐)
2008.05 120키로였던 몸무게, 70키로대로 다이어트 성공. 인사총무에 지친 나머지, 회사에 "마케팅" 에 대해 담당하겠다고 자처하고 스케줄 제작, 웹 2.0과 온라인게임의 접목에 대해 연구. 07.11월 트러블 겪은 친구 군대 입대로 퇴사.
2008.06 07년 PM을 시작하며 손 뗏던 프로그래밍을 조금씩 시작. 군대에 대한 고찰, 팀장급 회의에서 회사에 무턱대고 복리후생을 요구하는 그래픽 팀 사람들에 대해 엄청난 실망. 30대의 사람들이 할 소리인가..
2008.07 꽃남 1,2기, 하루히의 우울 등 회사 분위기가 좋지 않아 이를 잊기 위해 이런 영화나 드라마에만 신경씀..
2008.08 모든것을 잊고 새로 시작하기 위한 가족들과 여행. "우xx" "김xx" 라는 그래픽팀 장급들의 denied에 욕만 나옴. 팀원 25명
2008.09 9월 5일, 사장님의 "프로젝트 종결" 과 전직원 해고 명령. 집에서 고시원으로 독립. 그리고 시작된 방황의 1개월.. 사장님이 신규 프로젝트를 할 생각인 듯 해서 나와 몇명 직원은 남겨둠.. 2년간 동거동락했던 몇몇 직원들과 내 친구 plumberry 와의 헤어짐.. 슬프다..
2008.10 사장님과 이야기를 통해 "병역특례" 를 가기 위해 회사서 오전근무만 하는 것으로 이야기. 디자인패턴, STL, asp, ajax, c#, java 등에 대해 다시금 공부, 자격증 획득
2008.11 포트폴리오 준비, 지속적인 프로그래밍 공부
2008.12 군문제를 해결하라는 아버지와 대화를 통해 3월까지 병역특례를 못가면 군대를 가기로 합의. 웹 2.0 관련 대회 참가.
[2009년, 23살]
더보기
2009.01 대회 준비와 진정한 나의 사람과 사랑, 이력서와 자기소개서, 면접 준비
2009.02 처음으로 본 병역특례 면접에서 합격하게 됨.. (여지껏 내가 면접을 봐 왔지만..) 03월에 신규 입사하기로 합의.
2009.03 병역특례 입사. 그러나, 회사에서는 수습 2개월 요구. 그래도 지푸라기라도 잡는 심정으로 열심히 회사 업무 적응. 초반 PHP와 ASP작업.
2009.04 회사서 처음으로 교차 업무. 영업팀의 업무 1주일간 하다가 나의 부재에 공백을 느낀 팀장이 다시 호출함.
2009.05 처음으로 자바-웹 프로젝트에 참여. 모 공공기관 거래 사이트. 거의 매일 야근하며 자바에 대해롭게 공부. 새로 입사한 디자이너 3주만에 퇴사.
2009.06 5월달에 이어서 계속 자바 작업 중반까지 작업. 6월말 회사의 대주주인 모 대기업에서 사이트 구축 문의. 마침 팀장이 아퍼서 내가 대신 회의에 참석, 컨셉 회의 잡음.
2009.07 한달 내내 ASP로 구조화된 사이트를 제작하느라고 고생했던 나날들
2009.08 모 대기업에 처음으로 3주간 파견 작업. 7월달에 작업한 내용을 가지고 안정화에 돌입. 그리고 여자친구의 미국행.
2009.09 8월에 작업한 내용의 문서화 및 처음 참여한 자바 프로젝트의 인수 인계 받음. 혼자서 유지보수. 여러 어려움이 따름. 집에서 간단히 근력 운동 시작. 추석, 나의 진로에 대한 깊은 성찰 끝에 결심.
2009.10 디자이너 총 3명. 회사 규모 조금씩 넓혀감. 바뀐 분위기속에 드디어 7시 이전 퇴근이 눈치가 안보이게 됨. 자바 프로젝트의 인수 인계 이후 드디어 고정적 업무가 생기게 됨. 자투리 시간을 생각하다가 영어 공부를 시작, 굿모닝 팝스.
2009.11 JAVA에 대한 전반적인 기술 습득. 블로그 지인들을 통한 "신기술"에 대한 욕망 넓혀감. 생에 첫 성형수술(팔성형)로 인해 운동 중단.
2009.12 11월 막판에 떨어진 .NET 작업에 의아해 하다가 결국 .NET과 자바의 병행으로 가게 됨. 처음 아이폰을 구매한 후 아이폰 개발에 욕심이 생김. 막바지 여자친구의 한국 방문.
[2010년, 24살]
2010년 1월~8월 더보기
2010.01 두번째 대회 준비와 플랙스 프로그래밍, 아이폰 구매로 인한 아이폰 개발 공부(실제적으론 책만 샀음) 회사에서는 닷넷 작업의 마무리.
2010.02 훈련소 입소 이전 먼저 전역한 친구들에 대한 부러움과 여지껏 내가 뭐하고 살았는가에 대한 심한 고민&방황. 그리고 훈련소 입소.
2010.03 생애 첫 훈련소 생활. 운좋게 그곳에서 만난 같은 IT병특 친구들과의 깊은 대화. 현재 나의 대우에 대한 불만과 전직에 대한 생각.
2010.04 훈련소 퇴소 이후 심한 감기로 인한 고생. 미래에 대한 고민과 연봉 재계약에 대한 기대, 그리고 연봉을 챙겨준다는 팀장과 부장을 보며 내가 필요한 존재라는 생각을 하게 됨.
2010.05 병특 1주년. 여자친구의 한국 귀국. 회사 직원들과 대화를 하며, 중견기업 병특 친구들을 만나며 지금 있는 회사가 막장이라는 생각을 하게 되었고, 특히 아무 말 없이 통보식으로 연봉을 올려준 회사에 깊은 실망을 하게 됨. 그리고 전직에 대한 고민
2010.06 회사에서 기존 유지보수 업무가 아닌 회사의 틀이 되는 업무를 맏게 됨. 팀장이 제안사업으로 빠지게 되어 그 팀장이 하던 업무를 맏게 됨. 하기 싫던 php업무를 맏음.
2010.07 전직 결심과 회사에 통보.
2010.08 회사에 전직 의사를 밝히고 그야말로 엄청난 과정을 통해 회사와 싸움. 인수인계는 철저히 했으나 한편으론 착했던 팀장에게 미안해함. 하지만 그가 나를 챙겨주지 못했으므로.. 8월 한달은 힘이 있는 사람에게 잘보인다는 생각에
거의 매일같이 술로 밤을 지새움. 그리고 전직 성공
(길고도 길었던 비동의 전직의 과정)
7월 6일 옮길 회사 최종 합격통보 및 채용동의서 받음
7월 8일 현재 팀 팀장에게 전직 의사 통보 : 일단 알겠다. 차주에 다시 얘기하자.
7월 14일 현재 부서 부장에세 전직 의사 통보 : 잡으려고는 하나 보내주겠다고 얘기.
그뒤 법무팀 대리나 뭐 기타 많은 사람들로부터 많은 얘기를 듣고 있었음. 보통 다들 잡으려고 함.
7월 20일 인사팀 부서 부장이 나를 잡으려고 연봉 200%니 5시까지 근무니 휴가 30일이니 이런 얘기를 함. 난 됬다고 함.
7월 21일 팀장에게 채용동의서와 전직 신청서 줌.
7월 26일 에서야 인사팀 부장에게 전직 신청서 감.
여기까지는 모두가 잘 보내주겠다고 했음.
7월 27일 원래 8/4~8/6 예정되 있던 휴가 반납. 8/4와 8/5 반납
7월 28일 인사팀 부장에게 서류를 병무청에 내 달라고 했더니 갑자기 사유서를 내겠다고 함. 내가 비동의냐 물으니 비동의 하겠다고 함.
7월 29일 인사팀 부장이 비동의로 처리해도 금방 끝날 것이라고 함. 현재 회사는 사장이 잘 몰라서 비동의로 처리하는 것이지, 그 이후에 추가 사유서는 넣지 않겠다고 함.
그 뒤로 계속 인사팀과 다른 사람들과 동의 처리 해달라고 계속 요청했으나 사장이 반대한다고 안해줌.
8월 2일 더 이상 기다릴 수 없어서 병무청에 직접 비동의 처리해 달라고 했음.
8월 3일 병무청에서는 비동의 처리 하면 2~3개월은 생각해야 한다고 함. 회사랑 상담하니 자기들도 빨리 처리하길 바라므로 사유서를 마지막으로 병무청에서 알아서 판결내리기를 원함.
8월 4일 회사에서 낸 사유서에 대한 나의 사유서를 병무청에 제출.
8월 5일 내가 낸 사유서에서 현 팀의 팀장이 다 잘되고 있다는 것을 언급하자 팀장의 진술서를 요청함.
8월 6일 팀장의 사유서 병무청에 제출함.
8월 9일 병무청에서 회사의 최종 사유서를 요청할 것이라고 함. 시간이 너무 지체되어 옮길 회사에 현재 상황을 말하니 1달은 못기달려 주며 최대한 빨리 올 수 있도록 하라고 함.
8월 10일 오후에 병무청에서 회사에 최종 사유서를 요청하는 공문을 FAX와 우편으로 보냄. 내용은 현재 나의 진술과 팀장의 진술이 내가 전직해도 문제 없을꺼라 주장하므로 이에 대한 사유서가 있으면 내고 8/12 까지 없으면 병무청에서 처리하기로 한다고 함. 이에 따라 회사에서는 현재 아무런 할 말 없다고 약속대로 이야기 했으며 병무청에서는 내일까지 회사에서 응답이 없으면 병무청 프로세스 따르기로 함.
8월 15일 병무청에서 회사에 최종의견 있는지 통보함.
8월 17일 회사에 최종 의견이 없으므로 병무청 내부에서 처리하겠다 함.
8월 19일 전직 완료 문자 받음.
더보기
2010.09 새로운 회사에서의 근무와 적응. 증권사 1주일 상주와 왠지모르게 생긴 여유에 대한 편안함. 그리고 HTML5에 대한 관심. 여자친구 취업준비로 인한 도움.
2010.10 새로운 회사에서 모 프로젝트에 투입되었는데 빡쎈 일정에 한달 내내 야근과 주말근무를 밥먹듯이 함. 무엇보다 주말 근무가 가장 싫었음.
2010.11 10월에 참여했던 프로젝트가 끝나고 다시 안정적인 삶으로 복귀. 11월 말 M증권사에서의 상주 시작.
2010.12 M증권사에서의 상주가 길어짐. 허나 10시 반정도 출근해서 6시 퇴근을 하게 되어 조금 나태해짐. 2011년 부터 다이어트를 하기로 결심하고 12월에 마음껏 먹고싶은것을 다 먹음. 그리고 즐거운 크리스마스 <3 그리고 타 부서로 인사 발령.
[2011년, 25살]
2011.01 네이버 대회 준비로 인한 플랙스 카탈리스트와 구글 앱 엔진 등의 삽질. 설날 이전까지는 마음이 잘 잡히지 않았으나 설 이후 본격적으로 하루 3시간씩 자며 대회 준비.
2011.02 네이버 대회 준비. 처음에는 미완성 버전으로 제출했으나, NHN측의 배려로 끝까지 최선을 다해보기로 함. 월말에 학생부 "금상" 이라는 좋은 소식과 함께 2000년 이후 11년 만의 대회 입상. 여자친구와 부모님께 나름대로의 인정. 그간 나를 괴롭혀온 카드 모두 해지 및 흑자 생활로 전환.
2011.03 네이버 대회 수상과 처음으로 세미나 자리에서 PT발표 진행.
2011.04 상암동 모 프로젝트에 투입되며 처음으로 Spring Framework를 다루게됨. 걷기 다이어트에 돌입했으나 실패. 페이스북에서 html5 korea 를 만들고 간간히 포스팅 함.
2011.05 html5의 Oreilly 인터넷 강의를 들으며 html5에 대해 관심을 갖게 되고, html5 한국 사용자 모임 홈페이지를 만들기로 결심. html5korea.co.kr 등록
2011.06 아버님과의 또 한차례의 말다툼에서 나의 헛된 자존심에 대해 생각하게 되고, 인생의 목표를 세워 꾸준히 나가야 겠다는 생각을 하게 됨. 이에 "아이젝트 로드맵" 을 만들게 됨. 그리고 영국 문화원 등록
2011.07 cloie의 취업소식과 이제 본격적으로 목표를 이뤄야겠다는 생각에 다이어트와 영어에 돌입. 본격적으로 html5korea.co.kr 에 번역할 글들을 올리기 시작. 첫 토익 성적에 대한 엄청난 실망.
2011.08 어느정도 다이어트 성공(-10kg) 하지만 여러가지 원인에 의한 방황 시작.
2011.09 방황의 연속. 술에 대한 고찰. 패션에 대한 관심 증폭으로 인해 본연의 목적 상실
2011.10 본격적인 토익 공부를 위해 학원 등록. html5korea 번역 계속. 하지만 로드맵에 자꾸 X표가 많아져서 실망하게 됨. cloie와의 천일, 그리고 내가 존경하던 스티브 잡스의 사망..
2011.11 html5 에 대해 본격적으로 투자하게 되고, 번역도 계속. 사이트에 대한 방향을 잡음. 그리고 인생 100년 계획을 세움.
2011.12 계속된 html5 번역과 소집해제 100일이 깨지게 됨. 동시에 향후 복학 이후에 대한 생각과 삼성 맴버십에 지원.
2011년은 뭔가 여타 년도와는 다르게 내게 많은 것을 가져다 준 것 같다. 연 초에 이룬 것부터 하여 5월부터 아이젝트 로드맵을 설계하고 이에 따라 내가 이루고 싶은 것들을 차근 차근 이뤄나가는 그런 재미가 있었다.
하지만 동시에 내가 너무 나 자신을 나만의 로드맵에 가둬 놓은 결과, 자꾸 탈출하려는 욕심이 생겼고 이에 8월부터 10월까지 시작된 방황은 솔직히 너무나도 시간이 아깝다. 뭔가 정리되지 않은 시간이었고, 잡혀지지 않은 로드맵 속에 자꾸 방황만 일삼고 술과 놀기만을 좋아하고 자기관리도 제대로 되지 않고.. 이렇게 후회로운 삶이 또 있으랴.
그래도 연말이 되어 다시금 마음을 다잡고 내 목표를 향해 나아가겠다는 생각을 한 것은 잘한것이다. 눈앞의 것에 눈이 멀어서 미래의 것을 버리겠는가. 당장의 초콜릿의 단맛에 내 살을 다 버리겠는가. 그런 생각보다는 새벽에 커피 한잔에 내 삶을 관리하고 그런 것에 주목하는 것이 중요하겠다.
그리고 요즘에 글을 쓰는 것을 귀찮아 하는 것인지.. 블로그에도 온통 번역한 글 밖에 없고 생각을 정리하려는 행동을 하지 않는다. 귀찮고, 또 이것 저것 생각이 많이 들다 보니 자꾸 이를 정리하려고 하지 않는다. 그저 생각이 드는 대로만 작업을 하려고 한다.
얼마전에 나는 정진호 님의 GTD에 대한 프레젠테이션을 보았다. 여기서는 일을 쉽게 하기 위한 "가공"을 중시하였다. GTD방법론은 물론 나도 예전부터 많이 알고 있던 것이긴 하지만 정작 사용에 있어서는 닥친 업무만 처리하느라 급급하였다.
무언가 일을 정리할 시간을 만들고 나의 미래를 볼 시간을 가지고 있는 것이 중요하다. 지금 이 포스팅을 하는데만 해도 내겐 많은 시간이 소요되었다. 물론 무언가를 하다 보면 분명 예상하지 않은 대로 시간이 흘러가고 조절될 테지만, 최대한 한가지만을 꾸준히 할 수 있도록 최선을 다할 수 있는, 그런 선택과 집중이 확실히 되는 2012년을 보냈으면 한다.
학생이라.. 너무 오래되서 20살 때의 기분은 잘 모르겠다. 나이도 들고, 사회의 물도 먹어봤고..그러면서 자라는 것이고 그러면서 크는 것이다. 후회 없는 한 해를 보낼 수 있도록! 이 포스팅을 통해 화이팅을 외쳐본다 화이팅~!
오랬동안 PC의 프로그램에서만 존재해 왔던 3D가 최근 출시되고 있는 고성능의 GPU가 탑제된 스마트폰에 힘입어 이젠 모바일 화면에서도 3D를 볼 수 있게 되었습니다.
일반적으로 3D는 주로 게임이나 고급 UI에서만 사용되었습니다. 특히 UI에서의 3D는 WPF나 실버라이트에서 컴포넌트에 3D효과를 주기 전까지는 효과적이지 않은 방법이라고 여겨져 왔습니다. 모든 컨트롤을 3D화 하는것은 어려운 일이기 때문입니다.
2009년 3월, CSS 3D Transform 모델의 초안이 발표되었습니다. 여기서 개발자들에게 보다 더 흥미로운 웹 제작을 만들기 위해 DOM 요소들에 3D 원근법(perspective transformations)을 허용하였습니다.
CSS 를 통한 3D Transform의 초안 작업은 CSS 2D Transform 모델에서 이론적으로만 소개된 원근(perspective) , 회전(rotate) , 그리고 3DTransform의 변형 같은 특이한 속성들의 확장입니다. 예전에는 그렇게 쉽게 3D 로 인터페이스를 만들 수 없었지만, CSS 3D 초안 작업에서는 3D로의 진입 장벽을 낮춰왔습니다. 이로써 더 이상 3D 요소들을 만드는 데에 머리 터지는 수학적인 연산을 사용하지 않아도 되게 되었습니다.
주목할 부분은 CSS 3D 는 "개발자"들을 위해 만들어졌습니다. 이 말은 웹 어플리케이션에 초점을 두고 3D 시각효과를 도입하는데 도움을 주기 위해 만들어졌다는 것입니다. 즉 게임같은 전반적인 3D 세상을 위해서 만들어 진 것은 아니라는 것입니다.
브라우저 호환 및 하드웨어 가속
2010년 9월, 사파리와 크롬은 CSS 3D 를 지원하기 시작했습니다. 하지만 이는 단지 지원일 뿐, 3D 랜더링이 가능하다는 것을 의미하지는 않습니다. DOM 요소에 기초한 3D는 매우 많은 연산이 필요하므로 브라우저 제공 업체들은 브라우저가 느려지게 하자니 GPU의 가속을 받는 편이 좋겠다는 결정을 내렸습니다. 참고로 GPU는 아직 모든 플렛폼에 적용되지 않았습니다.
3D 기능 감지
웹 페이지에서 3D 지원이 가능한지를 바로 먼저 확인하지 않는 편이 좋습니다. 개발자들은 modernizr같은 툴을 통해 브라우저의 특징과 능력을 감지하는데 사용합니다만 3D 지원을 감지하는 동안엔 하드웨어 가속을 검출할 수 없으며, 사실 하드웨어 가속 검출이 우리에게는 가장 중요한 키 포인트입니다.
간단한 예제
일단 다른 설명은 제쳐두고 예제를 통해 CSS 3D를 배워보겠습니다. 아래의 <div>와 <iframe>에 회전을 적용해 보도록 하죠.
짠! 이렇게 나왔습니다. 웹페이지 내의 화면과 스크롤바 등 기타 모든 요소가 잘 작동합니다. 하지만 만약 여러분의 브라우저가 3D 를 지원하지 않는다면 위의 iframe은 아무런 변화도 없을 것입니다. 또한 3D를 지원하지만 하드웨어 가속을 받지 못한다면 좀 이상하게 보일 수도 있습니다.
애니메이션
CSS3의 3D 를 사용함으로써 제가 느끼는 가장 좋은 장점은 CSS로 여러 변환 효과를 사용함으로써 애니메이션이 가능하고, 이를 통해 웹 페이지가 예쁘게 보인다는 것입니다. 이러한 애니메이션과 변환은 CSS로 쉽게 정의할 수 있습니다. 3D 적용도 마찬가지이지요.
3D효과에서 애니메이션 기능을 주는 것 또한 쉽습니다. 그냥 단순히 transition을 스타일에 정의하고 transform 효과를 통해 시간 간격을 주고 애니메이션 함수를 적용해주면 됩니다. 그러면 "transform" 효과로 애니메이션이 동작하게 됩니다.
이전 예제를 인라인 스타일로 다시 만들어보겠습니다. 새롭게 만들고 또한 :hover 셀렉터의 특징을 취해보겠습니다. :hover 를 사용하면 변형 효과는 마우스가 엘리먼트에 올라갔을 시작하게 됩니다. 꽤 괜찮은 방법이죠!
정리하며
위에 제가 설명한 내용은 꽤 간단하면서도 강력한 DOM 요소에 작용하는 효과들입니다. CSS 3D 변형을 사용해서 말이죠. 그리고, 앞으로도 제가 설명드릴 더 많은 효과들이 남아있다는 것을 기억해주세요!
알림(Notifications) API는 유저에게 어떠한 이벤트를 통보해 주는 역할을 합니다. 새 메일, 새 트윗 혹은 일정 같은 직접 확인해야 하는 이벤트나 사용자가 간과하지 말고 주목했으면 하는 어떠한 상호작용을 통보해 주는 역할입니다. API에 대한 스펙 초안이 정의되어 있긴 하지만 아직은 표준화 되지 않았습니다.
하지만 아래 몇가지 간단한 예제를 통해 단 몇 분 만에 간단히 알림 API를 체험해 보실 수 있을 것입니다.
1단계 : 우선, 알림 API가 지원되는 여부를 확인해 보세요.
우리는 우선 webkitNotifications이 브라우저에서 지원되는지 확인해 봐야 합니다. webkitNotifications는 API스펙 초안의 한 부분이지만 향후에는 아마 notifications() 함수로 대처될 것이라 생각됩니다.
// 통보기능(Notifications API)지원여부 확인// 'window'는 생략해도 됩니다.if(window.webkitNotifications){
console.log("알림 기능을 지원합니다!");}else{
console.log("해당 브라우저/OS는 아직 알림 API를 지원하지 않습니다."); }
2단계 : 알림 만들기
알림에는 알려질 컨텐츠에 따라 정적 텍스트와 HTML의 두 개의 유형으로 나뉩니다. 만약 여러분의 어플리케이션이 이 두개의 타입을 모두 사용하여 클라이언트에 통보한다면 함수에서 옵션값으로 구분하여 사용 가능할 것입니다.
function createNotificationInstance(options){if(options.notificationType =='simple'){return window.webkitNotifications.createNotification('icon.png','알림 제목','알림 내용...');}elseif(options.notificationType =='html'){return window.webkitNotifications.createHTMLNotification('http://someurl.com');}}
3단계: 사용자가 웹 사이트에서 알림 기능을 허용하도록 합니다.
사용자가 수동으로 웹 사이트에 알림을 표시하는 권한을 주지 않은 경우, 위의 자바스크립트에서 언급한 생성자는 보안 오류가 발생합니다.
예외사항을 다루기 위해서는 try-catch문을 사용하면 되지만, 또한 checkPermission 이라는 함수도 비슷한 기능을 합니다.
웹 어플리케이션에 대해 권한이 허용되지 않은 경우, 위에서 requestPermission 는 사용자에게 아래와 같은 메시지를 나타낼 것입니다.
구글 크롬의 통보 권한 허용 여부 메시지
허나 원치 않는 허용 여부 메시지를 방지하기 위해 requestPermission 는 마우스 클릭이나 키보드 입력 같은 사용자의 액션에 대한 이벤트 핸들러 트리거에서만 작동한다는 것을 명심해야 합니다. (위의 document.querySelector 안에 addEventListener 를 넣은 것처럼) 위의 경우 사용자는 "show_button" 이라는 버튼을 클릭했을 때 알림 기능 허용 여부를 체크하게 됩니다. 물론, show_button을 클릭하지 않으면 requestPermission 는 작동하지 않습니다.
위의 경우, 이 튜토리얼의 주제와는 좀 벗어나지만 아마 코딩을 깔끔하게 하기 위해서 이벤트 리스너 안에 알림시 사용할 이벤트와 액션들을 다 넣어놓은 것 같습니다.
예제
참고 : 알림 권한을 초기화 하기 위해서도 이 버튼을 사용할 수 있습니다.
예제1 : 사용자에게 HTML 알림 보이기
예제2 : back-end 이벤트를 통한 간단한 알림 기능(새 트윗 알림)
아래에 어떤 트위터의 ID를 입력하면 최근 3개의 트윗을 알림받을 수 있습니다.(리트윗이나 트위터 API가 거부한 것은 제외) 그리고 1분 단위로 새 트윗을 체크합니다.
위의 예제를 만들기 위해 JSONP를 이용하여 트윗들을 가져오고 반복문을 통해 3개의 표시될 트윗을 생성합니다.
주의할 것은 스크린과 알림 크기에 따라 표시될 알림에는 제약이 있다는 것입니다. 평균적으로 5개 정도가 이상적인 알림 숫자입니다. 새로운 알림은 큐에 쌓여 대기 리스트에 올라가고, 현재 알림이 끝나면 표시되게 됩니다.
// jsonp 형식으로 트윗 가져오기var script = document.createElement("script");
script.src ='http://twitter.com/statuses/user_timeline/'+ username+'.json?'+'count=3&callback=fetchTweets';
document.body.appendChild(script);function fetchTweets(data){var tweet;var i = data.length;while(i--){
tweet = data[i];if(window.webkitNotifications.checkPermission()==0){
window.webkitNotifications.createNotification(
tweet.user.profile_image_url, tweet.user.name,
tweet.text).show();// note the show()}else{// requestPermission을 호출할 수 없는 경우
console.log('알림 기능을 받기 위해서는 "이 페이지에 알림 기능 허용"을
먼저 클릭해주세요.');return;}}}
트윗 알림은 콜백 함수에서 생성되야 합니다. 이해가 가시나요? 이를 이해하는 것은 매우 중요한데, 만약 유저가 알림 권한을 허용하지 않는다면 우리는 requestPermission()을 통해 유저에게 허용해 달라고 요청해야 합니다. 이 함수는 오로지 사용자에 의해서만 발생될 수 있습니다. 3단계에서 설명한 것을 참조해 보시기 바랍니다.
병특이 85일 앞으로 다가왔다. 여러가지 생각이 교차하는 가운데, 내가 집중할 부분에 집중하려고 일단 뭐든지 간에 개발을 시작했다. 가지고 있는 도메인에 가지고 있는 서버를 연결했는데, 예전에는 도메인과 WAS연결은 생각도 못하고 있었는데 병특 3년동안 난 정말 많은 것을 배웠구나.. 이제 DNS가 두렵지 않고 환경설정이 두렵지 않다. 개발 및 배포를 위한 프로세스, 체계를 모두 익히고 오픈소스들을 어떻게 활용해야 하는지 안다.
혼자서 일인 다역을 하려면 도구가 필요하다. 물론 머리가 좋아서 발빠르게 대처하고 남들보다 빠르게 만드는 것도 중요하겠지만, 최소한 이 IT 세계에서는 도구의 사용에 따라 승패가 결정된다고 본다. 주변에 나름대로 개발 세계에서 인정을 받은 친구들을 보면 둘 중에 하나이다. 컴퓨터의 기본과 역사부터 해서 정말 C언어와 어셈블리의 뼈쏙까지 알고 있으면서 도스 시절 그래픽 라이브러리 없이 어셈으로 그림을 그리던 친구들이 있는가 하면, 나중에서야 프로그래밍의 매력을 느끼고 여기 저기 오픈소스들을 가져다가 자신만의 작품을 만든다.
나는 전자던 후자던 사실 개발을 하는 데에는 방법론적으로는 상관이 없다고 본다. 나 같은 경우는 이 둘의 중간에 있는 것이나 마찬가지다. 정올 경시 출신인 나는 어디 소스 떼다가 붙히는 것과는 전혀 거리가 멀었다. 그렇다고 내가 어셈블리와 깊이 있는 OOP에 대한 이해로 프로그래밍 세계를 자유 자제로 조절하는 것도 아니였지만, 그래도 최소한의 깊이는 어느정도 지식과 실무를 통해 갖추고 있다 생각한다. 또한, 직장생활 6년동안 웹 언어를 접하면서, 특히 3년 전 자바 프로그래밍으로 나의 방향을 정하면서 수 많은 오픈소스 기술들을 접하고, 그러한 오픈 프레임워크를 활용해서 나만의 작품을 만드는데에 사용하고 있다.
잠깐 내 자랑을 해본다. 아니, 사실 누구나 다 가질 수 있는, 사실 별로 쓰잘때기 없는, 예를 들어 인터넷의 "머드초보" 님에 비하면 정말 새발의 피보다도 못한 실력이긴 하다. 하지만 나의 블로깅의 의미는 남에게 정보를 전달하는 것과 동시에 나를 발전시킬 수 있는 생각의 정리이다. 내 능력을 정리해본다.
한 5년 전에는 아파치와 톰켓을 따로 물리는 것도 몰랐고 서블릿 개념도 몰랐다. jar파일은 뭐하는 파일인지도 몰랐고 사실 WAS라는 자체를 몰랐다. 설정은 커녕, 어디 오류 하나라도 나면 거의 1주일은 밤을 샜던 것 같은데 지금은 개발부터 형상관리, 부하 테스트, 배포 등 왠만한 것은 혼자 다 할 수 있다. 자랑은 아니지만 오픈 프레임워크를 쓰는 것도 문제가 아니다. 웹의 front-end와 back-end 를 모두 다루고 C/S간의 TR송수신이 가능하다. 특히 내가 가지고 있는 프레임워크로 back-end의 모든 객체는 DB와 클라이언트와 자동으로 물릴 수 있게 된다. flex를 다루며 blazeDS를 보며 이러한 JNDI와 비슷한 형태는 무조건 중요하다고 생각하고 배웠다.
mysql/mssql/oracle 의 3대 DB를 설계부터 pk/fk 로 엮고 나름대로 cost값과 툴로 튜닝도 가능하다. 어떤 부분에 인덱스가 부족한지, 어떤 DB형태가 과부하를 먹고 있는지. 물론 이러한 DB자체에서 뿐만 아니라 ER을 통해 DB를 Logical로 관리하고 형상화 시킬 수 있다.
client는 내가 가장 부족한 부분 중 하나이지만, jQuery를 통한 페이지의 동적인 처리가 가능하다. 웹 표준 코딩은 html5 스타일로는 가능한데, 사실 표준 코딩보다는 개인적으로 3년전 했던 장차법 시행령에 따른 모 대기업 사이트의 수정을 경험삼아 장차법에 따른 접근성 코딩이 가능하다.
디자인 쪽은 솔직히 플래시 사용은 전무하며 그림 그리는 실력이나 일러스트는 정말 부족하다. 하지만 가장 자신있는 부분은 UI와 레이아웃 디자인. 인터렉티브한 디자인을 위해 Catalyst를 사용하여 장면을 만들고 RIA를 만들기 위한 기초적인 부분이 가능하다.
솔직히 나는 남들 공부할 시점에 이렇게 개발력을 키워 왔다. 물론 아직도 배워야 할 기술이 많지만 깊이를 만들었고 어느 정도 오픈 프레임워크를 다루고 최소한 웹에서 가장 크게 이슈화 되어 다뤄지는 부분들은 다루고 구현할 줄을 알게 되니 사실 두려울 것이 없다.
그렇게 해서 나는 슈퍼 개발자의 길을 걷고 있다. 가장 부족한 것은 아무래도 기획력이겠지만, 어느 정도 컨셉이 잡히면 레이아웃 설계도를 만들고 DB를 설계하고 프로그램을 전체적인 부분에서 부분적인 부분으로 설계해 나가고, 레이아웃과 기획 의도에 따라 디자인을 하여 그 안에 C/S를 추가하여 완성시킨다. 이제 기획,개발,디자인 에 있어서 나 나름대로는 모두 가능하다고 자부할 수 있다.
이러한 능력은 내게 어떤 도움을 줄까? 사실 병특을 하면서 가장 힘든 것은 내가 사업을 진행했다는 사실이다. 3년여 간의 사업을 했던 시간은 내게 큰 도움이 되지 않을 것이라 생각했는데, 물론 개발 범주는 다르지만 개발자와 디자이너들, 기획자들을 다루면서 내가 느낀 것은 그들의 작품을 바라보는 시각이 부족했다는 것이다. 그러한 시각을 위해 내가 키워왔던 것은 아무것도 없다. 게임 개발사에 있으면서 3ds Max를 켜본 적도 없고 Visual Studio로 DX의 엔진을 만들려고 노력해 본 적도 없다. 기획서 정도만 이해하고 최초 나의 취지대로 부합할 수 있도록 하였지만 실질적인 작품이 없었다. 모두가 나름대로 자신들의 분야에서 경력이 있었기에 자신들의 의견을 내비추기 일수였다. 서로 탓만 하다 보니 실질적인 작품은 없다. 모듈화 해서 기다리는 개발자들은 스펙 탓하고 있고 그저 시각화 해서 보여줄 수 밖에 없는 디자이너들만 죽어난다. (정말 생각해 보니 개발팀은 뭐하고 있던 것인지 원.)
지금 와서 나 만의 웹 서버 모듈을 갖추고 있다 보니 위와 같은 생각이 든다. 아, 충분히 이걸로만 해도 편하게 먹고살 수 있을 것 같다. 그러니 우리나라 IT사회가 발전이 크게 없는 것이다. 관료체제, 정치 그런거 아무렴 좋다. 회사에 대한 소속감 없이, 편하게 살겠다는 마음으로는 아무런 발전이 없다. 기술은 끝없이 발전해 나가고 그 속에서 살아가려면 발전하고 공유하고 의논해야 한다.
슈퍼 개발자로써 이런 능력을 갖추면 물론 프로그래밍 적인 면에 치우쳐 있긴 하지만 나의 진로는 이렇게 정해진다. 기획/개발/디자인 분야 중 개발 쪽은 보안해 나가며 기획과 디자인을 이해하기 위한 노력을 해야 한다. 사실 지금의 내 시각으로는 촌스러운 디자인 밖에 나오지 않는다. 게다가 기껏 디자인 해서 잘 나오는 작품들은 이미 다 디자인 되어서 있던 것들이다.
그렇게 갗춘 능력을 가지고 이제 나는 아이디어 구상을 하고 빠르게 프로토타입을 만들 수 있도록 해야 한다. 단지 종이에 끄적이는 것만으로는 아무것도 되지 않는다. 최소한 디자인이 대충이더라도 어느 정도 돌아가는 것을 만들고 평가를 해 봐야 한다. 그렇게 실질적으로 구현된 모습이 보이면 보다 더 많은 아이디어가 뿌리내릴 수 있기 때문이다.
역시 이렇게 블로그를 통해 정리하니 어느정도 가닥이 잡히는 것 같다. 무엇보다 최근의 웹 개발 트랜드는 UX 다. 인터렉티브 하며 역동적이면서 표준화 되고 기능적으로도 충분히 모두의 심정을 잘 고려할 수 있는 그런 개발. 이를 위해서 충분히 나는 최신의 클라이언트적인 기술들을 접해볼 필요가 있을 것 같다.
개발력이란 것은 여러가지를 함축하고 있다. 하지만 그 의미는 하나다. 생각을 현실화 하는 것. 웹 세상에서는 이러한 것이 그 어떤 기술보다 평등하다고 생각한다. 개발력을 키우기 위해, 부단히 노력하는 2012년을 만들어야 겠다는 생각을 해본다.
즐거운 토요일 오후를 만끽하고 있다. 12월의 두번째 주말인 오늘, 여느 날과 다르게 나는 이번주 내내 손에서 떼어놓을 수 없던 이 책을 다 읽기 위해 책상에 앉아 4시간을 이 430 페이지 짜리 책을 읽고 있었다. 바로 고 정주영 현대그룹 명예회장의 자서전, "이 땅에 태어나서" 이다.
정주영 회장 하면 생각나는 것이 나의 어린 시절이다. 초등학교 3학년 때 한참 컴퓨터에 관심이 많던 나를 부모님은 어떤 IT박람회에 데려가 주셨다. 그 곳에서 어떤 부스인지는 모르겠지만(아마 하이닉스 관련된 곳이 아닐까 싶다) 고 정주영 회장의 전신 사진이 있어서 그 곳에서 함께 사진을 찍엇던 것으로 기억한다. 그리고 그때의 세미나에서 우연히 알게 된 각종 URL리스트가 담긴 작은 종이 한장이 나를 인터넷의 세계에 발담그게 만들었다. 이러한 기회와 경영인이신 아버지를 바라보며 반드시 성공적인 CEO가 되겠다는 꿈을 꾼 것으로 기억한다.
여하튼 당시의 정주영 회장과 일본 소프트뱅크의 손정의 회장, 그리고 아버지가 지금의 나의 여러 사회에 대한 생각이나 미래에 대한 계획에 많은 영향을 미친 것 같다. 그 중에서도 정회장의 삶은 기껏해야 "현대그룹의 창시자" 정도로만 알았고, 가끔 아버지가 "정주영 회장은 나이가 들어서도 항상 회사에 누구보다 일찍 출근했고, 매일 자신의 일이 즐거워 미칠 정도였다더라." 라는 말씀만 듣고 살았지, 실제로 이 분을 자세히 알 기회는 없었는데 얼마전부터 나 개인적으로 "위대한 CEO 알아가기" 라는 아이젝트 개인 프로젝트의 일환으로 접하게 되었다.
이 책은 얼마전에 봐 왔던 에릭 슈미트와는 전혀 딴판의 책이다. 정 회장이 직접 지필하였으며, 그의 80년 삶을 정말 두루 둘러보는 계기가 되었다. 소학교를 졸업하고 몇번의 가출 끝에 쌀 배달부로 시작하여 쌀장사, 아도서비스라는 자동차 수리 업체에서부터 자동차 회사, 현대건설을 통해 그가 이룬 국내 성장의 발판, 현대조선을 통한 한국인의 저력을 해외에 알리는 업적, 88올림픽 유치를 통한 어느정도 성장한 한국을 세계에 알리는 계기. 그 과정속에서 그가 국가를 위해 바친 수없이 많은 업적과 자금력. 그러면서도 권력과 돈 보다는 국가의 발전을 위해, 박정희 대통령과 다음 세대에는 가난을 물려주지 말자는 같은 뜻으로 오로지 국가를 위해 헌신하는 그의 모습에서 나는 진정한 기업인, 그리고 국가를 위해 봉사하는 것이란 어떤 것인지를 알았다.
또한 한편으로는 그의 "현대" 가 성장하기 까지 받은 무수한 불이익과 시련들, 자동차 서비스를 시작할 때와 88 올림픽을 유치할 때에 일본에 당한 수치, 세계 최고의 항만건설을 만들기 전에 유럽 여러 국가에 당한 무시, 그리고 5공화국부터 시작된 국가의 권력 속에서 당한 횡포와 그가 빼앗긴 그의 피땀이 얽힌 회사들, 국가의 압박과 세계의 협박 속에서도 그가 이룬 것은 정말 가히 말로 표현할 수가 없다. 왜 그의 삶이 단지 430 페이지에 함축되었는지 조차가 의구심이 들 정도다.
또한 그러면서도 그는 내가 찾아나가던 많은 인생의 답을 제시해 주었다. 몇 가지 그의 철학 속에서 내가 진정 배운 인생의 의미를 기록해 본다.
"진정한 부(富) 란 무엇인가?" 라는 질문에 "나는 자기가 하고 싶은 일을 성취한 사람은 부를 가진 사람이라고 생각한다" 라고 하였다. 내가 고민하던 것은 과연 내가 좋아하는 것에 진정으로 미치고 즐거워 하다 보면 돈을 가질 수 있을까? 라고 생각했는데 사실 돈이 중요한가, 내가 정말로 먹고 살 수 없을 정도의 형편이 아니라면 사실 먹고살 정도만 되어도 돈이 필요한 것은 아니다. 그것은 단지 욕심이다. 사람의 욕심은 욕심을 부르지만, 그러한 욕심이 과연 진정한 부를 위한 욕심인가, 그곳에서 고민했을 때 만약 내가 하고 싶은 일이 부(富)라고 생각이 된다면, 즉 내가 하고 싶은 일을 했을 때 나의 만족이 충족된다면, 그것은 쫓아도 된다는 결론을 내렸다.
그가 근검절약 하라 했을때, 그의 근검절약의 의미는 사실 돈을 아끼라는 것이 아니라 "정직하고, 성실하고, 착하게 살아라" 는 것이다. 아무리 돈이 없어도 이러한 신뢰와 신용만으로 얼마든지 자신의 생애를 확대, 발전시킬 수 있다는 것이다. 개인적으로 나는 착하게 살자는 삶의 의미는 가지고 있고 부지런하자는 생각은 가지고 있지만 종종 욱하거나 게을러지는 경향이 있다. 온갖 핑계와 순간의 실수가 이러한 결과를 부른다. 그리고 나는 끝 없이 후회하곤 한다. 정직과 성실, 착하게 사는 것도 결국 노력이다. 참는 것, 인내하는 것. 하지만 그러한 인내를 위해서 사람에겐 이상이 존재한다. 그는 "앞으로의 10년 후는 지난 10년을 어떻게 살았는가의 결과이다." 라고 말했다. 나의 이상을 위해, 완벽하게 욱하지 않고 완벽하게 게을러지지 않을 수는 없겠지만 죽어라 노력을 해서 값진 신뢰를 얻어야 한다는 것. 그것이 나의 이상을 위하여 다가갈 것이라는 생각을 하였다.
마지막으로 "긍정적인 사고가 행복을 부른다" 는 그의 말. "모든 일은 가능하다고 생각하는 사람만이 해낼 수가 있다." 라고 하였다. 그리고 나의 가슴을 울린 그의 말.
하루하루 발전하지 않은 삶은 의미가 없다. 우리는 발전하기 위해서 사는 것이다.
태어나는 자리나 환경, 조건이 똑같을 수는 없다.
그러나 한 가지 똑같은 것이 있다.
누구의 미래든 당신의 발전을 위해 준비되어 있다는 점이다.
발전을 위해 준비되어 있는 미래를 무의미한 것으로 만드는 건 순전히 자기 자신의 책임이다.
아무리 현재가 힘들고 고생스러워도 생각이 긍정적이면 행복을 느낄 일은 얼마든지 있다.
이 말은 내가 느끼는 감정을 내가 조절한다는 것과도 같다. 사람은 누구나 행복을 원한다. 그리고 행복을 만드는 것은 내가 행복하게 느끼면 되는 것이다. 행복하게 느끼기 위해서는 내가 받아들이는, 삶에서 일어나는 모든 것의 반응을 긍정적으로 만들면 된다. 나 또한 긍정의 힘을 계속해서 추구해 왔지만, 사실 삶을 살아가면서 여러 실패를 맛보고 기회를 잃다 보면 긍정보다는 부정적인 사고가 조금씩 싹트기 마련이다. 그러한 나를 향해 그는 이렇게 대답했다.
부정적이고 비관적인 사고는 자신의 발전을 가로막는 거대한 닫힌 철문이며, 그 철문 안에 스스로를 가둔 사람에게 발전이란 있을 수 없다.
그런 사람은 자신은 물론 주위의 사람들까지 힘들게 만드는 낙오자, 실패자로 아까운 세월을 허비하다가 참 잘못 산 인생으로 한 생애를 마감할 수밖에 없다.
삶에서는 수 많은 책과 사설에서 "긍정하라" 는 말을 많이 한다. 허나 긍정적인 삶을 살기란 쉽지 않다. 그래도 우리가 긍정적인 삶을 살아야 하는 것은 나의 한계를 끌어내기 위한 것이다. 더는 갈 수 없는 낭떠러지라고 생각하더라도 주위를 조금만 둘러 보고 긍정적으로 내 살 길을 찾다 보면 극복할 수 있는 길은 반드시 생긴다는 것이다.
이 책에서 그의 많은 철학은 나를 깨우치게 만들었다. 특히 그가 한번 더 강조한 "책을 많이 읽어라" 라는 말에서 나는 과거 컴퓨터에 빠져서 학업을 소홀이 한 것에 대해 사실 학문적인 후회는 없다. 하지만 책을 많이 읽지 않은 것에 대해서는 후회가 크다. 기본적인 인문 소양은 사람이 살아가는 데에 있어서 가장 기초되는 것인데 나는 지금 더 기술적인 것은 많이 알면서 기초 소양이 부족하여 힘들어 하고 있다.
하지만 그 역시도 소학교 출신이다. 그리고 죽을 때 까지 그는 정말 위대한 업적을 이뤄냈다.
나 또한 그와 같은 대한민국 국민으로써, 나도 우리 역사, 아니 세계 역사에 한 획을 그을 사람이 될 것이라 믿어 의심치 않다.
그러한 생각을 일깨워준 그런, 책을 읽던 지난 한 주간 정말로 행복한 한 주였던 그런 기분이 든다.
감사합니다. 정 회장님. 저는 비록 회장님과 직접적인 관계는 없지만, 당신이 생각하고 이룬 가난을 되물림 받지 않은 다음 세대로써 아무리 정치가 혼란스럽고 나라가 어지러워도 기업인으로써의 삶을 살아갈 수 있도록 제 꿈을 위해 충실히 나아가겠습니다.
솔루션 및 툴 개발을 전문으로 하는 Telerik에서 만든 Kendo UI 가 오늘(11/30) Kendo UI framework를 발표하였습니다. 주요 타겟층을 전문 소프트웨어 개발자들로 하는 Kendo UI는 자바스크립트와 HTML5를 통한 프론트-엔드 개발에 필요한 모든 것을 제공해줍니다.
Kendo UI의 이사인 Todd Anglin씨는 "오늘날 자바스크립트와 HTML5를 활용하여 모바일 앱과 사이트를 만드는 것은 다수의 라이브러리와 각종 플랫폼에서 요구하는 여러 컴포넌트를 직접 모아야 하는 고된 작업입니다. " 라며 "이러한 작업은 솔직히 개인적인 취미 생활의 프로젝트에야 괜찮겠지만, 지원 및 라이센싱에 있어서 위험이 따르며, 유지보수와 업그레이드가 힘들고 또한 배우기도 힘듭니다. 무엇보다 개발하는 시간을 많이 낭비하게 됩니다. Kendo UI는 HTML5와 자바스크립트의 모든 필요한 컴포넌트를 하나의 프레임워크로 묶어서 제공함으로써 이러한 낭비를 해결하였습니다." 라고 언급하였습니다.
Kendo UI는 아래 3가지 특이점으로 묶여있습니다.
Kendo UI Web - 몇 세트의 풍부한 HTML5와 Grid등 자바스크립트 UI 위젯, 거기다 강력한 데이터 소스, 터치-가능(touch-enabled), 드래그 앤드 드롭 등 특별한 몇개의 프레임워크를 활용한 컴포넌트를 담고 있습니다. 또한 꽤나 빠른 자바스크립트 템플릿 엔진이 준비되어 있습니다.
Kendo UI DataViz - 애니메이션이 가능한 차트 등 HTML5를 통해 제공되는 데이터 시각화 위젯을 제공합니다.
Kendo UI Mobile CTP - 최신의 Kendo UI의 미리보기로, HTML5 모바일 앱의 빌드 과정에서 생기는 특별한 문제점을 해결하기 위해 빌드된 위젯입니다.
Kendo UI는 최신의 CSS3과 HTML5 그리고 IE,파폭,크롬,사파리,오페라 그리고 모바일 브라우저에서 지원되는 자바스크립트를 최신 유행하는 jQuery 를 통한 빌드로 제공합니다.
Kendo UI의 특징
HTML5 를 위한 완벽한 컴포넌트 프레임워크
Kendo UI는 최신의, 인터렉티브한 자바스크립트 어플리케이션을 만드는 데에 필요한 모든 것을 제공합니다. 게다가 10가지 이상의 UI 위젯, 그리드,차트, 콤보박스 등을 제공하며 클라이언트-사이드로는 데이터바인딩, 템플릿화, 애니메이션, 그리고 드래그 앤 드롭을 제공합니다. 더이상 이리저리 흩어진 jQuery 플러그인을 찾기 위해 노력하지 마세요. Kendo UI는 전문적인 테스트와 HTML5 툴박스의 테스트를 거쳐 이러한 다양한 jQuery 플러그인을 통합하였습니다.
터치기기&모바일 장비를 위한 준비된 UI
Kendo UI의 터치기기와 모바일장비를 위한 UI는 타 UI는 격이 다릅니다. 모든 Kendo UI의 위젯은 아이패드와 같은 터치 장비를 지원하며, 데스크탑과 모바일 장비에서의 UI를 똑같이 다룰 수 있게 해줍니다. 심지어 드래그-앤-드롭 같은 경우도 터치를 통해 가능하며, 터치와 마우스 입력을 위해 필요한 코드들을 획기적으로 줄일 수 있습니다.
더 이상 자바스크립트가 느리지 않습니다.
Kendo UI는 jQuery UI의 복제본이 아닙니다. 모든 Kendo UI는 자바스크립트의 성능을 최대한 활용하여 제공할 수 있도록 신중하게 고려되었습니다. 경량화를 위해 추가된 템플릿 라이브러리는 jQuery의 템플릿보다 월등히 빠릅니다. 애니메이션의 최적화를 위해 CSS3를 활용하여 하드웨어 가속화*를 사용하였고 더 나은 가상화 UI를 제공하며 Kendo UI는 성능을 저하하는 클라이언트 측의 UI는 포함하지 않았습니다.
*사용 가능한 브라우저에 한해 제공됩니다.
jQuery를 통한 영리한 UI 제작
Kendo UI는 잘 만들어진 jQuery 코어를 사용하여 웹 개발자들에게 쉽게 UI 컨트롤들을 사용할 수 있도록 해줍니다. Kendo UI를 시작하는 것은 아래의 단 3단계만 있으면 됩니다.
웹 개발이 여러분의 취미이던 직업이던 , 여러분은 완벽한 테스트와 다양한 서포트가 가능한 툴을 원할 것입니다. Kendo UI는 지능화된 로봇들에 의해 테스트되고 웹 산업을 이끌어가고 있는 Telerik의 팀의 후원을 받습니다. 질문이 없으면 답도 없습니다. 버그가 없으면 고쳐지지도 않습니다. 어떠한 툴도 저희정도의 최신 HTML5 개발에 대한 믿음을 제공하지는 않을 것입니다.
다양한 브라우저 지원 (예전 버전도 물론 지원합니다.)
단지 HTML5만 가능해지는 것이 브라우저의 발전만이 아닙니다. 브라우저가 발전하면서 여러분은 기존의 브라우저에도 맞는 최적화를 위해 고통을 감수해야 합니다. Kendo UI는 기술들의 조합으로 몇몇의 HTML5의 특징들을 다른 오래된 브라우저에서도 가능하게 합니다. 또한 미세한 조정을 통해 최신 브라우저와의 차이점을 줄여줍니다. Kendo UI는 모든 메이저급 브라우저에서 제공됩니다. 제공되는 브라우저 : 인터넷 익스플로러 7이상, 파이어폭스 3이상, 크롬, 사파리 4이상, 오페라 10이상
웹 속도의 발전과 함께 발전
Kendo UI는 매일같이 발전합니다. 발전이 없는 프로젝트는 미래도 없습니다. 저희의 프레임워크는 저희의 적극적인 로드맵에 따라 빠르게 발전합니다. Kendo UI 프레임워크의 미래 계획은 공적으로 공개되어 투표되거나 저희의 Kendo 뉴스레터의 구독자들에게 아이디어를 받기도 합니다.
테마 빌더
테마 빌더는 강력한 비주얼 툴로, Kendo UI 위젯들의 룩-앤-필을 빠르게 커스터마이징 할 수 있습니다. 단순히 설정 마법사의 클릭만으로 Kendo UI의 위젯들의 스타일을 바꿀 수 있습니다. 만약 여러분의 사이트에 이미 Kendo UI 위젯이 있다면 적은 자바스크립트의 수정만으로 바꿀 수 있습니다. 지금 시도해 보세요!
Spaceport는 클라우드에 기반한 플렛폼으로, 게임 개발자들에게 모든 스마트 폰에서 플레이 할 수 있도록 합니다. 물론 스마트폰 자체의 OS 를 통해 앱을 먼저 만들어야 하지만, 클라우드를 통해 공유되는 플렛폼 중 웹 부분은 HTML5를 통해 작동될 것입니다. 원본 어플리케이션을 함께 동작시키는 것으로, 단지 간단한 스크립트를 추가함으로써 모든 장비에서 동작이 가능하게 합니다.
웹 브라우저가 점차 지원하는 것들이 많아지면서 많은 개발자와 디자이너들이 강력한 웹 어플리케이션을 만들기 위해 HTML5를 시작하고 있습니다. 새로운 인터넷을 향한 혁명은 HTML5를 통해 진행되고 있습니다. 여기서 저는 15개의 꽤나 유용한 HTML5개발에 도움을 주는 개발 가이드와 입문가이드를 추천해 드리고자 합니다.
이 책은 구글의 전 CEO이자 이제 구글의 회장직으로 물러난 에릭 슈미트에 대한 이야기이다.
거두절미하고 책 내용은 얘기 안하겠다만 평가를 좀 해보자. 솔직히 난 왠만하면 좋은 책들만 서평을 좀 쓰는 편인데, 책을 보다가 상당히 놀라서 쓰는 서평이다. 이 책의 한 40% 정도는 구글 얘기고 40% 정도는 스마트폰 및 애플 얘기다. 아니 나는 분명 에릭 슈미트를 알기 위해서 이 책을 구입했는데 왠 산업 얘기가 나올까.. 그가 성장하고 그의 장단점이라던가 그런 얘기는 뭐 썬에서 자바쪽 일하다가 노벨 CEO였다가 구글갔다. 이게 다다...
허참, 책 제목은 "경영의 귀재, 에릭 슈미트" 이렇게 해놓고 총 6장의 챕터중에 1,2챕터 이외의 챕터들은 구글,애플,스마트폰,실리콘벨리 등의 얘기다. 물론 도움이 안되는 내용은 아니지만, 나처럼 뭔가 CEO에 대하여 알고 싶다는 생각으로 이 책을 구입하고, 에릭 슈미트가 어떠한 면에서 어떤 결단이 회사의 방향에 도움이 되었으며.. 이런 식으로 좀 이 사람의 연대기를 다룬 내용이기를 바랬건만, 책의 구성은 뭐 예를들어 구글의 "구글플렉스" 에 대해서 설명할 때 그곳의 음식이 뷔페식인데 이걸 슈미트가 직원들에게 새운 회사 정책이라는 등의 중간중간에 그의 생각을 녹여놓았다.
하지만 개인적으로 이런 방식.. 좋아하는 방식이 아닌지라 좀... 대충봤다.
그리고 내가 가장 충격받은건 이 책에 나와있는 iOS 4의 7가지 핵심기능... 무슨 의도로 이러한 챕터를 끼어넣어놨을까? 난 이게 정말 단지 장수늘리기로밖에 보이지 않는다. 이 챕터를 보는 순간 난 이 책 읽기를 거의 포기했다.
차라리 책 제목을 특정 인물이 아닌 "스마트 구글" 이나 뭐 그렇게 했으면 이해를 한다. 이게 어딜봐서 에릭 슈미트에 대한 내용인가.. 개인적으로 전문 경영인을 꿈꾸며 성공적인 CEO들의 삶을 알고싶었는데, 만약 나와 같은 의도로 이 책을 본다면 비추한다. 차라리 구글과 애플에 관한 수 많은 책들이 나와있으니 그 책들을 보기를 권고한다... 이렇게 사람 이름가지고 낚시하는 책들이 많이 안나왔으면 좋겠다는 마음에서.. 내참 이런 서평은 처음 써보네 ..
많은 남자들이 그러하겠지만, 나 역시 어려서부터 전자기기들에 대한 깊은 흥미로 여지껏 산 컴퓨터와 전자기기가 참으로 많다. PC를 처음 산 것은 국민학교도 가기 전, 중2때 컴팩 Presario, 아이리버 PMP-1000을 첫 PMP로 고1때, 고2때 삼성 NT-181W 노트북, 대학에 와서 UMPC인 삼성 Q1, 맥북 흰둥이, 뭐 핸드폰도 미라지, 아이폰3, 아이폰4, 맥북에어 아이맥 아이패드1,2 등등..
여기에다가 아이폰에 들어간 앱들 하며 PC주변기기들.. (리얼포스나 마제스터치 등) 아주 끝도 없다. 명품 쇼핑에 중독된 사람처럼, 나 또한 전자장비에 중독되었다.
요즘은 그런 것들을 스마트 기기라고 부른다. 최근에는 또 "스마트 워킹 라이프" 라는 책도 나왔다. 이 시대에 수 많은 스마트 기기들과 함께 살면서, 너무 우리는 유행에 민감해 하고 있지 않는가를 고찰해 주는 책일 것 같다.(사실 안읽어 봤다.)
나는 예전에 팀을 이끌 때부터 소프트웨어를 최대한 활용해서 업무처리를 할 수 있는 시스템을 구축하길 바랬었다. 요즘에야 여기 저기에 사내 그룹웨어/CMS시스템이 잘 구축되어 있고 또한 이러한 솔루션들이 찾아보면 상당히 많지만 그때는 사실 내가 경영을 해본 입장도 아니고 하다 어쩌다 보니 Office 2007 엔터프라이즈에 있던 Groove 라는 것을 알게 되었다. 메신저/게시판/파일공유 정도의 기능이 있었지만 내겐 상당히 매혹적이었고, 이를 약 1년여간 조직의 시스템에 적용해 왔다. 프로젝트 관리 역시 MS Project로 관리하고 모든 직원의 문서를 MS군으로 통합하여 자원의 낭비 없이 모든 것들이 중앙 집결 체계로 관리되기 바랬다. 결과는 느려터진 그루브 클라이언트 때문에 협업이 쉽게 되지 않았다. 실질적으로 프로그래머들은 SVN등으로 형상관리하고 디자이너/기획자 들은 단순히 공유폴더를 좋아했기 때문이다. 1년후에 그들의 희망대로 난 그들에게 자유를 맡겼다.
그렇게 뭔가 "정보화"를 통한 관리때문일까, 아니면 프랭클린 플래너 덕분에 나름 성공적(?)인 고3 시절을 보내서일까. 시간관리와 자기관리에 대한 욕심 때문에 모든 것을 정보화 하여 관리하고 싶었다. 처음에는 프랭클린 플래너로 내 삶을 관리하기 시작했는데 아무리 Daily Diary로 365장이 있고 아무리 좋은 재질의 바인더와 속지가 있더라도 사용하지 않으면 정말 무용지물이더라.. 정말로 무용지물이었다. 약 8종의 프랭클린 플래너를 3년간 수십만원 어치를 구매하고 사용했지만 고등학교 시절을 제외하고는 단 한번도 100% 사용해 본 적이 없다. 계속해서 다른 다이어리를 왔다갔다 하기 일쑤였기 때문이다.
그래서 온라인으로 들어섰다. 우선 내가 접하는 모든 것들을 스크랩 하려고 노력했다. 역시나 MS의 원노트를 사용해서 노트별로 스크랩 하였는데 원노트를 쓰게 된 이유는 삼성 Q1을 사용할 당시 원노트를 사용하니 메모하기가 상당히 편했어서 그때의 기억으로 사용했었다. 외장하드에 .onedb 파일만 있으면 어디서든 usb만 꽃으면 공유도 된다. 2008년 말인가, MS의 정책 덕분에 Livespace라는 MS의 온라인 공간에서 Office Web버전으로 원노트 웹도 사용 가능했다.
하지만 그 당시에는 클라우드는 시기상조였다. 일단 속도가 매우 느려서 포기. 그러다가 난 맥으로 넘어가게 되었다. 2006년부터 맥북의 유저이긴 했지만, 2008년 본격적으로 아이맥을 구입하고 맥북 에어, 아이폰 아이패드 등을 사용하면서 크로스 플랫폼의 중요성을 깨닫게 되었다.
그래서 일단 에버노트로 모든 정보를 취합하였다. 내 나름대로 노트북도 여럿 만들고 다양한 플러그인으로 지속적으로 에버노트에 스크랩 하려고 노력했다. 허나 이것도 쉽지 않다. 사실 에버노트 잘 쓰다가 나중에 생각해보니 내가 "테그" 라는 기능이나 위치 기능 등 여러 기능을 모륵 사용했구나.. 그런 생각이 들었다. 실제로 내가 사용하는 기능은 단지 메모 기능에 어섬노트 연동이 다였다.
이렇게 수 없이 삽질을 거치고 나서.. 사실 이건 단적으로 정보화에 대하여 스크랩과 데이터 베이스화에 대해서만 얘기한 것이지, 내가 왜 아이패드를 두대나 샀으며 맥에서 일기를 쓰기 위해 macjournal , chronories , Opus Dominic , Day One 등 이 수 많은 유료 앱을 샀는지에 대한 이유를 설명하자면 한도 끝도 없다.
결론은 그렇다. 스마트하다고, 액정이 크거나 기능이 좋다고, 성능이 빠르다고, 대세라고 다 좋은게 아니다. 내생각엔 그러한 요인중에 최소한 70% 이상은 좀 허구성이 심하다. 아이폰 앱스토어에는 좋은 앱도 많고 비슷한 앱도 많고 정말 수없이 많은 앱들의 세계가 펼쳐져 있다. 그 중에 기본적으로 디폴트인 앱도 있는가 하면 좀 잉여한 앱들도 정말 수 없이 많다.
이런거를 다 비교하고 장단점을 따지고 쓰자니 그냥... 이건 내 결론인데 딱히 바꾸려 하지 말고 기존에 사용하던 것을 최소한 몇년은 사용해 보고 데이터베이스를 축척한 다음에 생각해 보는게 좋을 것 같다. 사실 욕심을 좀 버리면 이 세상에는 정말 좋은 프로그램이 많다. 이것 저것 장단점 따져보고 어디 연동되면 아이폰 연동되면 좋겠고, 드롭박스 되면 다른 어플에서 컨버팅 되면 좋겠고.. 사람의 욕심이야 물론 정말 언제 어디서나 내가 필요한 데이터를 찾고자 하는 바램이야 당연 있겠지만 그럴 시간 있으면 가만히 앉아서 기본 iCal이나 아웃룩 열어서 기록하고 내 하던 일 마저 하는게 좋을 것 같다. 정말 욕심을 밟는 순간 내 욕심의 구덩이 속으로 한없이 끌려가는 욕심의 블랙홀처럼, 스마트하다는 이유에 착각하여 나를 그 속으로 몰아넣는 행동은 없애야 할듯 싶다.
최근 우리나라도 아직은 아주 활발하지는 않지만 html5 라는 기술이 주목을 받으면서 개발자들이 점차 너도 나도 하는 "앱" 에서 조금씩 웹을 바라보는 것 같다. html5라 하면 웹도 그냥 웹이 아니다. "웹앱" 이지.
웹앱이라는 것은 아직은 생소하지만 앱은 앱이다. 아이폰, 안드로이드 앱처럼 이제 웹 기술도 서서히 발전하면서 네이티브 앱(안드로이드, 아이폰 등 특정 플랫폼에서 동작하는 어플리케이션)의 기능들을 따라잡으려고 하고 있다. 이중 가장 활발한 것은 Sencha Touch 나 jQuery Mobile 같은 모바일 UI 부분이다.
그럼 과연 우리가 네이티브 앱을 대처해서 html5로 완전히 방향을 돌리기에는 적합하는가?
글쎄, 내 개인적인 생각이지만 답은 "현재는 아니다." 이다. 왜 센차 터치나 제이쿼리 모바일 등 웹앱의 세계에서 아직까지 UI , UX적인 부분만 발전을 하는지, 그것을 잘 생각해 보면 사실상 웹앱이라 해도 기능적인 부분은 기존의 웹 서비스를 개발하던 것과 별반 다를게 없기 때문이다. 오히려 기존의 네이티브 앱들 보다 서버측과 데이터 베이스 개발에 신경을 더 써야 할 것이다. 결국 일반적인 웹 개발밖에 더 되지 않는다. 앱 개발자들이 웹앱 개발로 돌아선다? 그러면 서버단 개발을 하지 않는 한 그건 단순 퍼블리셔 정도의 의미밖에 되지 않는다.
앱은 앱 자체가 동작하는 기능이 있다. 네이티브 앱의 기능적인 부분을 웹에서 구현하려면, 자바스크립트 기술을 써야 하겠지만 솔직히 말해 자바스크립트는 오픈되어 있기 때문에 보안적인 것을 고려하면 그닥 구미가 땡기지 않는다. 스크립트, 웹 스토리지 정도의 기능을 쓰면 될까? 웹캐시? 그런것들은 단지 앱이 쓸 수 있는 기본적인 데이터를 가지고 있을 수 있는 수단밖에 되지 않는다.
웹이 앱을 지향한다면, 가장 크게 고려해야 할 것이 "오프라인" 일 것이다. 사람들이 왜 웹앱에 크게 관심이 없는가, 그것을 잘 생각해 본다면 개인적인 생각으론 첫째는 느려서(아마도 3G를 통해 서비스 받을 터이니) 둘째는 인터넷이 안되면 안되니깐. 아마 이 두가지가 가장 클 것이다.
그럼 이 한계를 극복하려면 어떻게 해야 하는가? 결국 오프라인인데, 아직 html5는 데이터적인 측면을 제외하고는 뭐 자바스크립트 함수가 확장되었다고 치지만 결국 오픈이다. 아무리 자바스크립트를 인라인으로 짠다고 해도 그것도 당연 소스를 볼 수 있다. Ajax를 통해 서버사이드 통신을 한다고? 그럼 인터넷이 들어가는데, 그럼 오프라인이 아니다. 그런다고 모바일 웹에서 XecureWeb이 돌아갈리도 없고..
결국, 아무리 개발을 열심히 스크립트로 캔버스 써다가 아주 훌륭한 2D든 3D든 뭔가 앱을 만들었다 쳐도 데이터는 다 빼올 수 있다. 웹앱의 해킹 가능성이 가장 높고, 그럼 너도 나도 똑같은 앱을 만들 수 있다.아이폰의 앱이 그렇게 많은 이유가 무엇인가? 제조사의 철저한 소스코드 보안과(물론 탈옥하면 뚫리긴 하지만) 안정적인 앱스토어? 예를들어 아이폰으로는 패킷 스니핑을 할 수 없으니 서버와 통신하는 URL은 알아내기 힘들것이다. 부가적으로 앱스토어 수익과iOS플랫폼의 수요 등등이 있겠지만 개발적인 입장에서는 내가 만든 저작물을 지키는게 가장 우선이다.
즉, 보안, 최소한의 자바스크립트 보안책에 대해서 html5에서 나오지 않는다면 단일 오프라인 앱으로는 사실 서비스하기 힘들다는 것이다. 이 얘기는 즉 아직 "웹앱" 을 만들 시기는 아니라는 것이다. 현재까지는 HTML5로 우리가 바랄 수 있는 것은 "모바일 웹" 혹은 "크로스 웹" 일 것이다. 결국 서버사이드를 껴야 한다. 거기에 사용자를 배려한 UI/UX(예를 들어 finger touch나 애니메이션 기능)를 통해 "컨텐츠" 로 승부를 걸어야 한다.
기존에 웹도 마찬가지이다. 비록 쓸때없이 Active X나 플래시 등 비표준 플러그인이 좀 껴서 지저분해지긴 했어도 HTML5가 이제 이 비표준 플러그인을 꼭 써야하는 부분, 기존까지 RIA(Rich Internet Application)이라 불려온 리치한 부분들을 커버해 줄 것이다.
그래서 생각건데 아직까지는 웹앱으로 가려는 사람들은 웹앱(클라이언트) 측면에서는 서버사이드와의 안정적인 TR송수신, 데이터 싱크 등 그런 부분에 집중하고 그 전에 아주 안정적인 서버를 구축하려는 노력을 먼저 하는 것이 더 낫다고 생각한다. 왜냐면 우선 "웹앱" 으로 간다고 생각하는 사람들은 자신이 가지고 있는 기술은 웹 관련 기술인데 "앱"을 생각하면 아이폰 앱처럼 뭔가 개인 혹은 소규모에서 만든 앱의 성공적인 모습을 떠올릴 것이다. (필자 또한 그렇다.) 그런데 아직 스크립트 보안이 강화가 되지 않았으니 html5는 웹의 크로스 뷰어로써 역할밖에 되지 않는다. 모든 화면에서 최적화되게 보이는 웹이 가장 중요시 되는 것이다.
그런데 서버단까지 해야 하냐? 웹앱은 일반 웹처럼 큰 규모로 만들어야 하는 것도 아니고, 통일된 템플릿 내에서의 정보 제공이 가장 중요하다. 클라이언트로 정보를 전달해 주는 "표준" 만 잘 설계한다면 아주 빠른 개발이 가능하다. 그래서 서버단을 알고 C/S를 빠르게 개발할 수 있는 능력이 필요하다는 것이다.
그리고 좀 더 여건이 된다면 최근 나오는 모바일 UI프레임워크를 접하여 최소한의 UI정도는 만들 수 있도록 하고 modernizr나 미디어 쿼리 등을 배워서 어떤 화면 규격에도 컨텐츠를 보여줄 수 있도록 하는 능력이 필요하다. 뭐 물론 요즘 드림위버 CS 5.5에서는 jQuery Mobile 통합과 미디어 쿼리 제공으로 보다 쉽게 만들 수 있지만, 이런 툴은 지속적으로 나오겠지만 정작 이런 기능들은 생각보다 이해하기 쉽다.
정리해보면 이렇다. 우선 안정적으로 스크립트 보안 혹은 대처 수단이 나오기 전까지 오프라인 저장소 등에 의존하지 않고 당장은 나올 웹앱들은 다 Ajax와 URL을 기반으로 하는 서버와의 통신, 즉 html5가 크로스 브라우저/디바이스 가 가능한 뷰어의 역할을 할 테이니 " 빠른 개발과 안정적인 C/S통신을 위해 서버군과 모바일 UI프레임워크, 크로스 브라우징에 대하여 공부한다. 그리고 향후 스크립트 보안 등이 강구가 되었을때를 대비하여 jquery, prototype등 자바스크립트 라이브러리를 공부한다. "
이렇게 적어놓고 보니 사실 모바일 UI나 크로스 브라우징/디바이스 를 제외하고는 웹 개발을 위한 공부밖에 더는 없다. 결국 html5, 웹앱도 "웹" 아니겠는가. 앞으로 우리의 디바이스는 갈수록 빨라지고 계속적으로 온라인 상태를 유지하게 될 것이다. 보이는 곳이 어떻게 됬던 간에 웹에서 변하지 않는 부분은 컨텐츠를 저장하거나 제공하는 서버군과 데이터 베이스군은 분명 존재한다는 것이다.
결론은, 아직은 HTML5가 네이티브 앱을 따라가려고 열심히 노력중이니 그 전에 웹의 기본에 충실하자. 그리고 슈퍼 웹 개발자가 되자.
물론 중간에 디자이너를 꿈꾸며 웹을 멀리하기도 하고, 입시 프로그래밍(?) 덕분에 C랑 친해지기도 하고..
실제로는 20살부터 웹 SI에 뛰어들기 시작했는데, 올해가 5년차 입니다.
닷넷과 자바를 택하자면 자바를 주로 하고, 오픈 소스를 좋아라 합니다.
뭐 그렇긴 한데..
여튼 저도 웹에 관심이 하도 많아서, 특히 2년 전 RIA에 관해 깊히 빠져들면서
웹 상에서도 이렇게 일반 어플리케이션 처럼 만들 수 있다는 점에 얼마나 기뻤는지 모릅니다 ^^
그때는 닷넷을 하고 있어서, WPF로 만들어진 이쁘장한 Vista계열의 UI가 Silverlight에서도 쓰일 수 있다는 겁니다!
그래서 보다 보니 Adobe에서 플렉스가 있더군요. 이 또한 나름대로 이쁘장한(?) UI를 가지고 웹에서 어플리케이션 처럼 만들 수 있다는 매력에 푹 빠졌었습니다.
그런데 UI만 이쁘장하게 하면 뭐합니까. 뒷단에 로직이 잘 돌아가야죠.
그래서 보면 참 개인적으로 Adobe Flex에 낑겨 맞출 수 있는 오픈 소스 기술들, 특히 BlazeDS에 매료됬었었죠.
따로 XML이나 JSON을 통해 C/S통신을 할 필요도 없고, 설정만 슥삭슥삭 세팅만 잘 해주면 심지어 플랙스 내에 Class랑 DB객체가 맞물리게 되더랍니다... 거 참 신기하네. 마치 JNDI처럼 말이죠.
그렇게 Flex어플을 만들었고, 또한 Adobe Catalyst를 통해 딱히 플래시를 안써도 Animation 및 custom ui를 구현했었습니다.
그런데 문제는 플래시의 속도와 호환성이었습니다. 뭣보다 스마트폰이 이렇게 엄청나게 보급된 시점에서, 특히 아이폰에서 플래시 안되는 것은 치명적이더군요. 제가 아무리 컨텐츠를 잘 만들면 뭐합니까, 폰에서 보이지가 않는걸요..
웹을 통해 접근하는 사람들은 어떤 특정한 PC에 앉아서, 컨텐츠를 탐색하다가 들어오는 것이 대부분입니다. 하지만 요즘 사람들은 스마트폰을 사용해서 인터넷을 검색합니다. 최근에 나온 아이폰 4S의 Siri의 경우, 엄청나게 쉽게 스마트하게 웹의 정보를 찾습니다. 여기에는 심지어 html 페이지 조차 필요하지 않습니다. Text로 된 정보만 있으면 되니깐요.
그런 구조화되면서도, 브라우저에 모두 맞게 돌아갈 수 있는 컨텐츠를 만들어 주는 것이 html5 인 것 같습니다. 사실 html5의 테그들만 봐도 지금까지는 솔직히 canvas나 video, audio, form 테그 외에는 문서를 완전히"구조화"시켜주는 테그가 대부분입니다.
그리고 CSS와 요즘 나오는 자바스크립트 프렘워크를 통해 사이트를 만들어 나갑니다.
사실 개발자에게 html5가 큰 의미가 있을까요? html5가 나와도 저희는 ajax를 만들고 어쨌든간에 back-end단을 만들고 데이터를 표준화된 포멧으로 전달해 줘야 합니다. 그런데 프로그래머가 기존과 다르게 할 일이 있을까요?
글쎄요. 하지만 이제 웹은 점차 2D에서 벗어나려고 하고 있습니다. 아니, 기존 웹들은 2D조차 아니였죠. 글,이미지,동영상 등으로 구성된 문서였죠. 하지만 이제 점차 다이나믹 해지고 있습니다.
이런 상황에서 개발자들은 어떻게 해야 경쟁력을 가질까요?
글쎄요, 저는 일전에 게임개발 업체에 있으면서 그곳에서 게임이 만들어지는 과정을 지켜봤는데, 프로그래밍은 서버/클라이언트 로 나뉘면서 또 서버는 AI니 NPC니 그런 인공지능 서버가 있고 분산처리 프로그래밍 하는 쪽이 있고 클라이언트는 코어가 있고 UI가 있고 툴 개발자 등등.. 뭐 그렇게 세분화 되더랍니다.
아마 웹 프로그래밍 세계도 이렇게 변하지 않을까 싶습니다. 그럼 html5가 가장 직접적으로 영향을 끼치는 부분은 다름아닌 UI개발이 아닐까요.
점점 뭐랄까, 표준화된 UI들, 이쁘장한 UI들이 무료로 배포되고 있습니다. 특히 모바일 부분에서 말이죠. 나름 Sencha Touch니 jQuery Mobile이니 얘들 참 이쁩니다. 이런 식으로 스킨만 입히면 완성되는 프렘워크들이 슉슉 나오고 있지요.
그런 환경 속에서 저희들은 어떻게 해야 할까요. 음..
갠적으로는 개발자는 또한 디자인도 알아야 하고, 퍼블리싱도 알아야 하고 기획도 알아야 하고..
그런 슈퍼 웹 개발자가 되어야 할 것 같다는 느낌이 듭니다.
아무래도 그게 개발자가 경쟁력을 갖출 수 있는 요소가 아닐까..
그런 생각을 해보게 되네요 ^^
주저리주저리 해봤습니다. html5가 도래해도, 딱히 개발자 입장에서 뭐가 달라질 것이 있는가 싶네요. 그 전에, 제 포지션좀 정리좀 해야겠습니다. 포커스 온을 해야 하는가, 두루 알아야 하는가..
개발자들은 계속해서 웹 브라우저에서 가능한 범위를 깨려고 하는 것 같습니다. 최근 새로나온 이 놀라온 WebGL 데모들은 웹에서 가능한 것이 정말 무엇인지를 잘 보여주는 것 같습니다.
첫번째는 three.js 를 사용한 AlteredQualia의 이 인상적인 동적 지형 렌더링 데모입니다. 두번째 데모는 프랑스의 웹 디자인 대행사인 Ultranoir의 Nouvelle Vague 입니다. 이 데모는 개개의 트윗들을 엮어서 3D로 보여줍니다. Mr.doob의 이 데모는 kinect로 캡쳐한 데이터를 three.js를 사용하여 랜더링하여 보여줍니다. 또한 three.js를 사용한 One Millionth Tower 데모는 Canadian National Film 위원회가 만든 다큐멘터리 입니다. 마지막으로 WebView 핵을 사용해서 아이패드 2에서 돌아가게 만든 이것들을 한번 보세요.
다른 소식으로는 구글 데이터 아트 팀이 워크샵 페이지를 런칭하고 그들이 만든 놀라운 데모의 기술들을 공유했다는 소식입니다. 이 페이지는 멋진 dat.GUI를 사용한 튜토리얼들이 있습니다. 한번 확인해 보세요!
지난주 수요일, 어도비사는 더 이상 모바일 플래시를 개발하지 않겠다고 발표했습니다. 이어서 HTML5은 모바일 환경에서의 컨텐츠의 제작 및 배포에 가장 좋은 솔루션이라고 말했습니다. 이는 유동적인 모바일 및 비디오 배급사에 꽤나 중대한 터닝 포인트입니다. 허나 HTML5의 지원이 애플의 제품과 애플의 사용자들에게 큰 영향을 끼칠 지는 아직 미지수입니다.
1. "풀 웹(Full Web)"(RIA)은 애플에게 영향이 크지 않다.
짧은 기간내에 애플의 경쟁사들은 플래시를 지원한 OS의 "풀 웹(Full Web)" 경험(아마 RIA를 말하는 듯)을 자사의 고객을 끌 수 있는 수단으로 활용하기 어려울 것입니다. 모바일 플래시 지원 여부는 고객이 안드로이드,QNX같은 OS를 사용하는 장비의 성능(만족도, 버벅이는 정도 등)을 기준짓는 좋은 잣대였습니다. 하지만 이미 경쟁이 시작되었을 때부터 사실상 진정한 승자는 애플이었습니다. 종종 안드로이드 장비가 애플 플렛폼의 약점을 비교하기도 하였지만 플래시 모바일이 없어짐으로 이러한 비교는 무의미하게 되었습니다.
현존하는 모바일 플래시 버전은 그대로 안드로이드 등의 장비에 남겠지만 어도비는 이를 지원하지 않기로 하였기에 모바일 플래시 만의 생태계에서 오는 매혹적인 장점도 사라지게 되었습니다. 어도비는 HTML5의 우수성을 인정하고 크로스 플랫폼 콘텐츠를 위해 기술지원을 강화할 것입니다.
2. 아이폰,아이패드를 위한 컨텐츠들이 더 많이 생길 것이다.
모바일 플래시가 사라짐에 따라 웹사이트를 운영하는 많은 회사들은 더 이상의 동적인 컨텐츠를 지원할 수 있는 옵션이 HTML5밖에 없습니다. 허나 이는 결국 더 인기있는 장비를 위해 호환 가능한 컨텐츠를 생산해 낼 것입니다. iOS는 모바일 브라우징을 위해 가장 많이 사용된 플랫폼입니다. 더 이상 모바일 RIA를 위해 기다리고 지켜볼 것이 없어질 것입니다. 안드로이드가 모바일 방문을 위해 새로운 기술을 내 놓더라도 HTML5가 결국 컨텐츠 배급의 기술적 수단으로 선택되게 될 것입니다.
어도비가 모바일 장비를 위해 HTML5를 홍보하고 나섰을 때부터 누구도 다른 기술을 가지고 컨텐츠를 만드는 노력은 하지 않았습니다. 사실, 어도비는 주요한 플래시 컨텐츠 개발 업체와 함께 플래시를 발전시키기 위해 노력했을 것입니다. 플래시 미디어 서버 4.5처럼 다루기 쉽고 모바일이든 데스크탑이든 어디서든 유저가 사용 가능한 기술을 말이죠.
3. 미래에는 플래시가 최소화 될 것입니다.
애플은 더 이상 맥(Mac) 시스템에 플래시를 미리 설치해 두지 않습니다. 플래시를 찾아서 설치하는 유저들은 배터리량과 성능에서 부정적이라고 얘기합니다. 허나 풀 버전의 플래시가 다음에 나오더라도 모바일 시스템은 없이 나올 것입니다.
Aral Balkan(OSFlash.org 운영자/ Ariaware CEO)씨가 트위터에서 "모바일 플래시가 없다는 것은 웹 사이트에서도 플래시를 쓰지 말라는 것과 다름이 없다." 고 말한 것처럼 모바일 플랫폼은 점차 유저가 웹 컨텐츠에 접근하는 데에 중요한 통로가 되고 있습니다.
실시간 스트리밍은 애플에게 뺏기고 있는 어도비의 다른 영역입니다. 애플의 HTTP 라이브 스트리밍(HLS)기술이 연결된 텔레비전은 꽤나 인기있을 뿐만 아니라 대부분의 컨텐츠 공급자들에게 기본적인 기술이 되어져 가고 있습니다. 이는 유저가 플래시를 점차 탈피하게 되는 또 하나의 이유입니다. 더 이상 플랫폼에 대해 신경쓰지 않습니다.
간략히 말하면 이 애플을 위한 어도비의 항복 같은 큰 뉴스는 더 이상 "제한된" 버전의 웹을 비난하는 것을 피하기만 하면 안된다는 것을 보여줍니다. 또한 애플의 사용자들을 위해 컨텐츠를 공급한 분들은 iOS 장비에서 잘 동작하는지 확인해 봐야 합니다. 웹 컨텐츠가 더 이상 너무 많은 구멍을 만들어 밑빠진 독에 물붙기 같은 행위가 되어서는 안됩니다.
20살, 한때 나는 소위 "찌질이" 라는 부류의 존재는 아니었지만, 130kg의 거구를 가지고 해골티와 밀리터리 카고바지를 즐겨 입으며 두세번은 탈색한 머리에 온갖 메탈로 도배하고 어케저케 구한 스쿠터를 타고 다니며 날나리를 지향하면서도 내 나름대로의 개성을 살리면서 또한 낭만을 꿈꾸며 그러면서 또 현실속에서 충실히 살아가고자 하는 그런 한 대학생이었다.무수히 많은 이성들이 나를 외면했고 특이한 나를 소수의 친구들만 호감있어 하고 좋아했다. 그러면서도 사업이라는 걸 하고 싶어해서 컴퓨터 오덕후 생활을 계속 연이어 나갔고, 게임이 좋아서, 게임을 즐기는 것도 좋아하고 해서 이걸 가지고 사업하면 왠지 잘만 될 것 같았다.
정말 지금 생각하면 그때는 어떤 개념으로 어떻게 살아왔나 싶다. 미친듯 술담배를 연이어 해대며 그저 하루라도 흥이 없이는 살기가 힘든 것이다. 그 만큼 시간 또한 빨리 흘러가긴 했지만, 지금 생각하면 내 인생에 가장 자유스러웠던 때는 그때가 아닌가 싶다.
그러다 보니 나도 시간이 흐르고 해서 사람이 변했다 해야하나, 몸무게는 50kg가까히 빠졌고 담배는 끊은지 꽤 됬고 술 역시 그때만큼 미친듯 먹을 수는 없다. 그때의 5%만 먹어도 한주동안 너무나도 힘드니깐 말이다. 밤새도록 게임을 즐길수도, 미친듯 쇼핑을 해댈 수도, 마냥 좋아하는 것만 할 수도 없다.
왜?
이 모든게 내 삶의 룰을 내가 정해놓고, 내 삶의 울타리 안에 나를 가둬버렸기 떄문이다. 올해 6월달, 내 고질적인 문제점인 "욱"함을 없애기 위해서 미래를 정하기로 한 것이다. 그렇게 미래의 로드맵을 설계했고, 거기에 따라 나아가려고 지속적인 노력을 퍼붓고 있다.
하지만 실상 내 마음은 그러하지 않는다. 습관은 쉽게 고칠 수 없는 것 같다. 내가 담배라는 것 하나 끊으려고 노력한 것들 생각하면 그렇다. 다이어트 하려고 5년동안 계속 했을때 매번 찾아오는 요요현상 하며, 오토바이를 안타기로 했다가 또 다시 탔을 때, 그리고 다시 팔았을 때 그 자금의 압박이며 그러다 보니 또 내 자금생활에 문제가 생기고, 좌우간 이곳 저곳에서 문제 투성이가 되어버린다. 20살때 그렇게 즐겨왔던 것들, 그것들을 버리려고 하다 보니 자꾸만 반항심이 생기고 자꾸만 이탈하려고만 하는 것이다.
글쎄, 하지만 내가 하고 싶은 진정한 위치로 다다르기 위해서는 이 참기 어려운 과정을 인내해야 한다. 모든 동경 뒤에는 이를 위해 쌓아온 피땀이 존재한다. 이 피땀은 노력이라고 말할 수도 있지만, 이건 결국 인내다. 하고싶은 것을 억제하는 것. 극단적이지만, 눈 앞의 백원에 일억원을 포기하는 것과 다를 것이 없다. 당장의 흥을 위해서 인생을 포기하는 것과 마찬가지니깐.
그런데 또한 그렇게 극단적이고 싶지도 않다. 무념무상, 무소유가 좋은 것은 모든 근심과 걱정 등 안좋은 것들을 잊게 해줘서 좋다. 하지만 평온함, 편안함을 얻기 위해 우리는 사회를 내려 놓고, 흥을 내려놓아야 한다. 솔직히 말해 그러고 살고 싶지는 않다. 나도 흥겨워 하고 싶고, 나도 술먹고 알딸딸 한 기분을 가지고 싶다.
결국 그거다. 물론 담배처럼 몸에 해로운 것은 끊거나 아에 손을 안 대는 것이 좋겠지만, 적당한 자기컨트롤이 감미된다면 충분히 나에게 그것은 동기부여의 것이 될 수도 있다. 만약 지금 내가 정말로 하고 싶은 것이 고기를 먹는 것이거나 술을 먹는 것이라면, 물론 돈이 있으면 다 할 수는 있지만 그 전에! 내게 약속을 해야 한다. 내가 하기 싫지만 미래를 위해 해야 하는 것들 서 너가지를 정하고 그것들을 다 하면 고기나 술을 제공한다. 글을 쓰는 입장에서 고기와 막걸리가 매우 땡기는지금의 나는 이런 식으로 동기부여를 한다면 많은 것들을 이룰 수 있을 것 같다.
눈 앞의 것을 포기한다기 보다는 이를 역으로 동기부여의 수단으로 이용한다면 "xx하면 안되!" 라는 막연한 나 자신에 대한 구속보다는 "xx를 몇번 안하면 yy를 한번 할 수 있게 해주겠다." 이런 식이 훨씬 좋지 않은가? 왜 당근과 채찍이라는 것이 존재하는지 알 것만 같다. 하물며 나에게도 룰이 존재한다면 룰을 행하였을 때, 성취를 냈을 때 나에게 오는 보상이 있어야 하지 않겠는가.
그런식으로, 좋다. 당장 내가 먹고싶은것, 하고싶은것을 내가 이뤄야 하는 것들의 동기 부여의 요소로 만들어버리자!
여러모로 바쁘게 흘러가는 하루 하루인 것 같다. 생각을 정리할 시간도 드물고, 여유라는 것을 구경해 본 지도 오래된 것 같다. 얼마나 시간이 바쁘게 흘러가는지, 1100일 부터 시작한 병역특례도 이제 120일 남짓 남게 되었고, 그간의 거의 1000일 가까운 시간동안 나는 여러가지 사회 활동을 통해 수 없이 많은 것들을 남모르게, 아니 심지어 나 자신도 모르게 배워 오고 앞으로의 나는 어떤 방향으로 흘러나가야 할 지 미래에 대한 로드맵을 정확히 확립할 수 있었다.
일단 웹을 지향하는 프로그래밍, 기획, 디자인을 모두 하고 싶어하는 개발자로써(물론 프로그래머 적인 성향이 가장 크지만) 기술적인 입장에서 웹 쪽은 물론 단순히 php asp jsp 등의 view단의 언어가 있겠지만, 보다 더 실무에서 요하는 것들은 Enterprise 했다. CMS, Groupware, Portal 등의 서비스를 만들기 위해서는 통합적인 개념의 모델이 필요했고, 그런 모델의 의미에서 웹 기술은 두 개의 코어적인 기술로 나뉘었다. 자바와 닷넷이이다.(2009/11/16 - [IZECT DEV LAB/웹 프로그래밍] - 자바는 돈되고, 닷넷은 돈 안된다?)
2008년까지 2년여간을 기초적인 프로그래밍 언어에 중점을 두고 공부했던 나는 2009년에 본격적으로 웹 개발의 길에 뛰어들었다. 운 좋게도 이 두 기술을 모두 대규모 시스템에서 유지보수 할 일이 생겼다. 대다수의 중소 기업의 Maintence 부서가 그렇듯, 나 역시도 모 소기업의 개발 및 유지보수를 모두 전담하였고 혼자서 유지보수 하는 서비스가 약 5개 정도 되었다. 지금까지 수 많은 사이트를 유지보수 및 개발하면서 느꼈는데, 대규모 시스템의 경우는 자바 아니면 닷넷이고 보다 더 웹쪽으로 코어적인 부분이 아닌 일반적인 View를 지향하는 서비스의 경우는 jsp php 정도이다. 게다가 asp같은 언어로 된 사이트도 많은 것이 2000년도 쯤 IT붐이 일어났을 때 개발된 서비스들(특히 사내에서 사용하는 사이트들) 태반이 asp인 것 같다. 아마도 asp로 개발해야 서버도 사고, 윈도우도 사고 해서 원가가 올라가서 매출증대에 도움이 된다고 생각한 것 같다. (당시에는 java의 middle ware 도 많이 없었을 테니..)
말하다 보니 이야기가 많이 새어버렸다. 여튼 자바(Spring기반) 와 닷넷(.net 2.0) 을 사용하는 사이트를 동시에 유지보수 하다 보니 보다 더 많은 오픈 소스를 응용하여 강력한 자동화 기능을 구현할 수 있는 자바의 기능에 나는 엄청나게 매혹되었다. 그리고 2009년 말에 나는 자바로써의 길을 간다고 마음먹을 수 있었다.(2009/11/09 - [IZECT DEV LAB/웹 프로그래밍] - 자바 웹 프로그래밍 책 도착 +_+) 이는 앞으로도 내 인생의 가장 큰 선택이 아닐까 싶다. 자바의 길을 택함으로써 수 많은 오픈소스들을 접하고, 이해하면서 정말 나의 개발자로써의 삶은 얼마나 편해졌는지 모른다. 자만하는 것은 아니지만, 수 개월동안 수 명이서 개발해야 할 대규모 시스템에 대한 모듈을 이젠 내가 사용했던 오픈소스들을 취합해서 혼자서 만들 수 있을 정도의 실력을 쌓았다. (물론 실존하는 오픈소스는 너무나도 많아서 내가 다 할 수 있다고 장담은 못한다.)
어느정도 배웠다 싶은 내게 다시 학생으로 돌아가야 하는 그런 시간이 찾아오고, 나는 웹 개발자로써 내가 웹 세상에 어떤것을 기여할 수 있을까? 라는 생각을 하게 되었다. 사실 프로그래머보다 디자이너를 꿈꿔왔던 나이다. 95년부터 html, java/vb script, dhtml 을 만져왔으니 벌써 16년째 웹 개발에 참여하고 있다. 물론 학생 신분으로 한계도 많았지만 웹을 디자인 할 때, 프로그래밍 할 때, 그리고 사이트를 기획할 때, 무엇보다 백지에 사이트를 그려나갈 때 난 솔직히 희열을 느낀다. 정말 그 시간만큼은 내가 그 일에 미쳐버리는 것 같다. 사이트를 예쁘게 꾸미는 것부터 해서 사이트를 방문하는 사람들에게 어떤 정보를 주고 편의를 주며, 또한 나의 의도대로 유도할 수 있는지에 대해서 말이다.
그래서 나는 웹을 개발함에 있어서 딱히 플밍,디자인,기획,DB,코더 등 세분화 된 개발직군이 아닌 웹 개발을 하는 사람들은 이 모든 것을 두루 가지고 있는다면 보다 더 빠르고 직관적인 개발이 가능할 것이라고 생각하였다. 이런 빠른 협업에서 만들어지는 웹 개발이 가능하다면 같은 시각에서 웹을 사용하는 사용자의 입장을 심도있게 바라볼 수 있게 되어 결론적으로는 웹 세상의 편의적인 발전에 힘을 보탤 것이라는 생각을 하였다.
이런 생각을 정리해가는 와중에 작년 말쯤 html5를 만났다. (2011/05/25 - [분류 전체보기] - HTML5에 미래를 걸다.) html5는 쉬운 코딩과 강화된 자바스크립트 api, 그리고 디자인적 입장에서 그간 수 없이 많이 사용되어 왔던 css의 기능을 강화시킨 css3 등을 통해 표준화 되면서도 진보된 웹 개발을 가능하게 하는 일종의 웹 기능의 표준 프레임워크이다. 또한 무엇보다도 지금같은 스마트폰 시대에 모바일 프레임워크에 집중하여 모바일까지 두루 표준으로 사용할 수 있도록 한 점이 너무나도 마음에 들었다.
그래서 나는 html5와 모바일 프레임워크에 대해 공부하다가 인터넷에서 찾은 정보를 취합할 목적으로 페이스북 커뮤니티인 html5 korea를 만들었다 이어 "html5 한국 사용자 모임" 으로 명칭을 바꾸었다. 단순히 html5자료를 취합할 목적으로 만든 이 커뮤니티가 본 블로그의 위젯으로 추가해 놓아서 그런지는 몰라도 오픈한지 4개월 만에 200명 이상의 "좋아요" 를 받으면서 정말 큰 관심을 받고 있다.
커뮤니티 페이지를 만들면서 동시에 커뮤니티의 홈페이지인 html5korea.co.kr 도메인을 등록, Xpress Engine을 얹혀서 사이트를 만들었다. 사실 처음에는 oreilly 사의 HTML5 Mobile Web Development 라는 인강을 들으면서 내 나름대로 번역하여 놓을 만한 공간이 필요하여 만들어 두었는데, 욕심일까. 이참에 html5와 관계된 외국의 양질의 문서들을 번역하고 이를 토대로 국내의 커뮤니티를 만들어서 운영할 생각으로 나름대로 로고도 만들고 메뉴구상도 하였다.
그러다 보니 html5 에서 내가 기대하고 있는 "모바일 웹" "CSS3" 등의 카테고리를 담고 html5 뿐만 아니라 웹 프로그래머/디자이너/기획자 의 생각을 함께 나누고 접할 수 있는 웹 개발의 전반적인 커뮤니티로 나아가도록 생각하고 있다. 정말 솔직히 의도는 좋은데 아직까지도 어떤 식으로 사이트의 레이아웃을 구상하고 사용자들의 활동을 유도해야 할 지는 아직도 의문이다.
무엇보다 나는 이 커뮤니티에서 "불펌" 을 하지 않는다는 룰(rule)을 세웠다. 그러다 보니 자료가 많이 없다. 아직 대부분의 글이 내가 스스로 외국에서 찾고 번역한 글이다. "창작"은 아니지만, 적어도 불펌은 아니고, 원작자를 표기하고 나 나름대로 "번역"이라는 수고를 가했다. "불펌"이 없는다는 것은 그 만큼 컨텐츠 생산을 위해 노력을 해야 한다는 것이고, 결론적으로는 양질의 컨텐츠 생산에 필수적인 요소라고 생각한다.
하지만 아무리 이렇게 거창한 계획을 세운다 해도 나 또한 실생활에서 사회적 활동에 참여하고 있는 사람으로써 한계가 분명 존재하기 마련이다. 실제로 일이 바쁠 때에는 사이트가 몇주 씩 운영이 안되고 새로운 글 또한 올라오지 못한다. 가입자는 100명이 넘었는데, 아직도 활발한 커뮤니티 운영이 되지 않고 있다.
무엇때문일까? 일단 사이트의 메뉴 자체가 너무 많다. 욕심을 너무 부려서일까, 아직 어떠한 글도 올라오지 않은 게시판이 많다. 나 자신도 html5 관련 사이트들과 awwward같은 디자인 갤러리 등의 RSS를 구독하면서도 몇일 씩 읽지를 못해서 쌓이곤 한다. 하지만 사이트가 유지되기 위해서는 정보가 필요하고, 정보를 양산하기 위해서는 다량의 정보를 접하고, 이를 번역하는 능력과 기술적으로 해독할 수 있는 능력이 필요하다.
그래서일까, 7월부터는 영어의 중요성을 깊히 인식하고 작게나마 TOEIC을 시작하였다. 물론 이러한 문제풀이 방식의 시험이 얼마나 큰 도움이 되는지에 대해 주변에서 우려를 표하고 있지만 생각보다 나의 영어에 대한 기본기를 잡아주는 데에 큰 도움이 되고 있다. 다만 시험 공부때문에 시간을 더욱 더 할애하지 못하여 더욱이나 사이트가 더 운영이 안되고 있다 생각되지만, 그래도 전보다 더 매끄러운 번역을 맛보게 되니 좋은 것 같다.
여튼 올해 내로 내게 주어진 숙제는 보다 효율적인 컨텐츠 양상과 사이트의 구조적인 정리, 그리고 사용자 접근성이다. 여기서 접근성은 "웹표준" 같은 접근성이 아닌 UX적 측면에서의 커뮤니티 이용자들의 편의를 말한다. 굳이 회원 가입을 통한 사이트 운영이 아닌 facebook connect 등의 소셜 로그인 제공, 그리고 메타 데이터를 통한 타 reader에서의 컨텐츠 접근 등이 내게 남은 과제이다.
회사에서는 점차 병특 말년으로 업무적으로도 점차 정리되어가고 있는 추세이다. 물론 이번주는 좀 빡쎈 일정을 보냈지만.. 앞으로 남은 시간을 잘 활용해서 내가 설계한 html5 sharing reader로써의 길을 잘 개척해 나갈 수 있도록 노력해야겠다.
말 그대로이다.
제로보드 최신, 그러니깐 Xpress Engine 1.5 이상에서 쉬운 설치가 안될때..
에러메시지는 아래같은 것들이다. Cannot modify header information
msg_make_directory_failed
(에라이 망할 에러들)
등등.. 한 3시간을 검색해본 결과, 뭐 다들 계정이 잘못됬다고 하는데..
일단 원인 설명하기전에 해결방법은
FTP 주소에 실제 서버 IP넣고
제로보드 설치 경로에 /www/가 포함된 경로(xe라면 /www/xe/) 로 넣기
Passive 모드 활성화
SFTP 사용 안함
혹시 위에 해도 안되면 telnet 들가서 chmod -R 755 www 함 시원하게 때려주자.
이유를 한번 찾아보자.(나의 3시간 삽질)
카페24가 특이한 점이 있을까 해서 IP에 127.0.0.1 넣고 경로에 절대 경로인 /home/hosting_users/[ID]/www/ 넣고 (아 참고로 나는 걍 www 루트에다가 xe설치했다.) 하는데 자꾸 위에 에러가 난다.
안되서 경로에다가 /home/hosting_users/[ID]/www/ 부터해서 home/hosting_users/[ID]/www/ , /hosting_users/[ID]/www/ , hosting_users/[ID]/www/ ... 등등 생각나는 경로는 죄다 입력해봤으나..
뭐 대충 이러한데, 여기서 중요한건 ftp_mkdir 그러니깐 폴더를 만드는데 경로가 대충 뭐 쉬운설치중에 플러그인이 "css3pie"라는 게 있으면 "/addons/css3pie" 이렇게 되서 내 FTP상 루트 경로가(다시 말해 제로보드 설치 경로) "/www/" 이니깐
ftp_mkdir(커넥션,"/www/addons/css3pie");
이렇게 해야지 만들어진다.
실제로 테스트 소스르 만들어봤는데,
<?
$connection = ftp_connect("127.0.0.1", 21); // 커넥션 생성
거두절미하고, 위에꺼 아이피 127.0.0.1 넣으면 ftp_chdir 에서 경고 뱉고, echo ftp_pwd 에서 암것도 안나오고 print_r하면 Array() 밖에 안나온다.
그래서 혹시나 해서 내 도메인에 ping때리니(윈도우의 경우 시작->실행->cmd->ping 도메인) IP가 나와서 그걸 직접 넣으니깐..
된다 ! 이런;; 그러니깐 IP를 실제 자기 계정의 IP에 맞게 넣으라는 것이다.
그리고 중요한 것은 설치된 XE의 FTP 경로인데
난 위에처럼 넣으니깐 되더라. 실제로 소스상에서 (autoinstall.lib.php 356 line) $ftp_path 의 뒤에 ."/" 을 해주기때문에 만약 설치된 XE의 FTP 계정이 "/" 라면 FTP상에서 폴더를 만드는 데에 "/addons/css3pie/" 이런 엄한 시도를 한다.
참고로 ftp_mkdir(커넥션,만들폴더) 에서 [만들폴더] 에 해당하는 부분에 뒤에 슬래쉬 붙어있으면 안맹거진다.
이상.. 휴 겨우 쉬운설치 했다.
추가적으로, 난 1.4.5.7 라는 초 하위버전에서 한 4개월 만에 1.5 로 업글했는데 잘 안되길래
http://code.google.com/p/xe-core/downloads/list
여기 가서 XE.버전.changed.tar 파일만 죄다 받아서 하위버전부터 업로드 했더니.. 잘된다.(물론 이건 진짜 엄청난 노가다이다.)
여기서 중요한점.
최신 업데이트를 빠릿빠릿 하게 빨리빨리 하고 반영할 것.
무엇보다 사이트에 대한 애착을 가지고 잘 관리하는 것이 가장 좋겠다. 나처럼 고생하는 분이 많지 않길 바라며...
여느날과 같이 나는 일기를 쓰기 위해 아침에 공책을 펴고 펜으로 일기를 썼다. 내 일기는 하루의 반성이 거의 다인 것 같다. 물론, 반성하자고 일기를 쓰는 것은 맞는데, 난 좀 내 채찍질이 심하다. 심하다 못해서 나는 자꾸 탈선을 한다. 그러다 보니 계획 외의 행동을 많이 하게 되고, 이런 것들이 내 행동 패턴을 망가뜨린다.
그래서 나는 갑자기 배란다로 나갔다. 새벽 3시40분, 밤만 되면 서울을 밝히는 가로등 조차 잘 보이지 않는다. 그 어두운 공간에서, 방불에 비춘 나의 모습을 보며 속삭인다. "너는 나다. 너는 정말 잘 하고 있는가?" 그 속에 보이는 나는 정말 나였다. 그리고 나는 나랑 대화했다. 나와의 대화 속에서, 평소에 내가 생각하며 나 자신을 채찍질 한 것과는 사뭇 다른 느낌이 들었다. 마치 다른 사람과 대화를 하는 것처럼.
다시 방으로 들어와 거울 속에 나와 대화를 시도했다. 물론, 내가 말 하는 대로 그 대로 거울속의 나 자신은 나를 비춘다. 하지만, 말을 하면서 나의 입 모양 그리고 제스쳐, 이런 것들이 내가 하는 말의 진실성과 심리를 표현해 준다. 말 그대로 나는 내가 잘 아는 것 같다.
그러다 갑자기 캠으로 일기를 쓰고 싶었다. 우연히 맥 앱스토어를 뒤지다가 Video Memoires 라는 앱을 발견했다. 아주 간단한 일기장인데, iSight를 통해 영상 일기를 쓸 수 있는 앱을 발견하고 바로 다운로드 받았다.
맥북 에어 2세대의 카메라는 사실 크게 해상도가 좋지는 않다만, 그래도 녹화를 하는 데에는 지장이 없다. 그래서 한번 나 자신과의 대화를 시도해 봤다.
첫번쨰 나와의 대화에서는 근래 들어 풀어진 나의 마음에 대한 내용이었다. 약 6월 쯤, 나는 내 자신의 미래를 설계하고 정말 굳은 마음으로 2개월을 보낸 것 같다. 하지만, 8월들어 마음은 헤이헤지기 시작했고, 러프한 마음이 10월까지 계속되었다. 그런 나를 반성해 봤다. 어머니께서는 말씀하셨다. 목표가 확실하지 않아서 그렇다고. 예전에 대회에 참가하면서 2개월을 미친듯 하루에 두세시간씩 잠을 자가며 만들었던 때, 그럴 떄의 열정을 내가 하고자 하는 일에 집중할 수 있다면 내가 이루지 못할 것이 뭐가 있겠는가. 하지만, 그러한 긴장 상태를, 일종의 자기 채찍질을 나는 유지하지 못했다. 하물며 하루에 6번씩 체크하자고 했던 나의 로드맵도 몇 개월 사이에 그저 눈으로만 읽고 마음으로 새기지는 않는 그런 건성건성한 자기관리가 계속되었다.
그래서 나는 왜 그러고 있냐고, 나한테 물었다. 물을 때는 좋았다. 내 얼굴이 보이지만, 나는 그저 누군가를 설교하는 느낌이었으니깐. 허나 영상 일기는 내가 이를 다시한번 재생해 보았을 때 그 효과를 들어냈다. 11분 가량 녹화된 이 내가 나에게 말하는 모습이 담긴 영상에서 나는 조금 무섭기도 했고, 나를 너무나도 잘 아는 누군가가 나에게 말하는 것 같은 기분이 연신 들었다. 종이로 쓰는 일기와 똑같이 마지막은 "화이팅" 으로 끝났지만, 종이와 영상의 차이는 너무나도 컸다.
그러고 보니 요 근래들어 시간이 부족하다는 핑계로 새벽녘에 자기반성의 시간을 너무나도 줄이고 있었다. 사실 다른 사람들은 모르겠지만 6월달에 나는 로드맵 체크, 새벽 기도, 명상과 심호흡, 내게 영감을 주는 이미지를 보고, 일기를 쓰고 커피를 타서 먹는다. 이 시간이 대략 1시간 정도 된다. 하루의 1시간은 이렇게 자기관리를 위해 사용하고 있는 편이다. 그러다 보니 아침에 공부할 시간이 너무 적다. 7:40분에는 출근준비를 해야 하니 운동시간 1시간을 제외하면 4시에 일어나니 2시간 반 밖에 없다.
사실 그 시간도 100% 공부를 매진한 적이 없다. 이것 저것 잡생각에 40분은 기본으로 날리는 것 같다. 2시간이나 공부하면 족할까.. 그러면서 나는 그 2시간에 단어암기, 독해, 문법 등.. 엄청나게 많은 양을 집어넣은 것 같다.
그래서 나는 내게 계속 강조했다. "선택과 집중을 좀 해라" 딴짓 안하고 뭔가 목표를 세우면 그거만 할 때까지 일어나지도 않고, 화장실도 안가고 그거만 하면 되는 것이다. 그게 그렇게 어렵긴 하지만, 나 자신이 내게 말하는 것을 보니 참.. 저 사람, 그러니깐 내가 나한테 시키는 건데.. 저 사람은 나를 그렇게 잘 아는데.. 내가 꼼수를 쓰면 그것 조차 아는 사람이 저 사람인데.. 어째 내게 거짓말을 하겠는가. 거짓말을 할 수 없다.
그래서 이렇게 하면 백프로 될 것 같다. 좀 번거롭긴 하지만, 확실히 자기 수행은 끝이 없는 것이니깐.. 전날 내가 쓴 영상 일기를 보면서 요약한다. 내가 무엇을 말했는지. 그리고 다시 오늘의 영상 일기를 녹화하면서 나는 그걸 지켰는지. 정말 나 자신과 대화해 보는 것이다. 정말 세상에서 절대로 속일 수 없는 사람. 나 자신까지 내가 속인다면 과연 내가 삶을 살아가는 데에 의미가 있을까? 부끄러워도, 오그라들어도, 나 자신과 대화하는 것이다.
확실히 이것만큼 좋은 자기 반성 법도 없을 것 같다. 분명 목표와 로드맵은 확실한데, 하루 하루 이를 향한 채찍질이 부족하다면 말이다. 영상 일기, 얼마나 갈 수 있으며 또한 어떤 효과가 있을지.. 확신은 하지만 내심 기대도 하고 있고.. 보다 확고한 의지로 나아갈 수 있는 나 자신을 기대해 본다.
사람은 언제나 성장해 나가고, 나 또한 사람으로써 아직도 부족한 부분이 많고 마찬가지로 성장해 나가고 있다. 지난 5월부터 나는 관리의 중요성을 절실히 깨닫고 이후 나만의 로드맵을 설계해서 하루라도 놓치지 않도록 노력해 가고 있었고, 그 와중에 내가 성취한 것도 있지만 실패한 것도 적지않았다.
인간의 시간은 무한정해 보이지만 사실은 상당히 한정적이다. 과거를 생각해보면, 가끔 생각하지만 중학교 때 컴퓨터를 안하고 공부를 했다면? 고등학교때 공부를 더 했다면? 여러가지 생각이 들지만 이것을 후회할 필요는 없으며, 단지 앞으로 그런 후회할 일을 만들지만 않으면 되는 것이다.
여하튼 시간관리를 하면서 나는 지속적으로 내가 부족한 것이 무엇인지를 검출해 냈다. 술, 군것질, 고기, 게으름, 휴식부족, 사명감 부족 등 여러가지를 도출해 내면서 무엇보다 내가 가진 지식이 부족하다는 생각이 가장 깊게 들었다.
내 가장 큰 단점은 일단 공부를 안한다는 것이다. 공부를 자주 해본 적도 없을 뿐더러, 성격상 생각이 워낙 많아서 이걸 하다보면 갑자기 저게 생각나고, 그러다 보면 나도 모르게 그걸 하고 있다. 예를 들어 공부를 한다 마음먹었는데 10분만에 책상 위에 쓰레기를 버려야지~ 하고 치우다 보면 갑자기 아이폰에 못 넣은 드라마가 생각난다. 그렇게 PC를 켜고 드라마를 받으려고 보면 시작페이지가 네이버다. 네이버에서 갑자기 뉴스가 눈에 띄인다. 뉴스를 보다가 내가 평소 관심있던 주제에 대한 뭔가 좋은 사이트가 있다 한다. 거기를 들어간다. 자료를 읽다 보니 갑자기 "내가 왜 이러고 있지?" 그런 생각이 든다. 하지만 이미 시간은 1시간이나 흘러버렸고, 게다가 그 즉시 바로 공부를 다시 시작하면 괜찮은데 여태 벌려놓은 일들에 대한 "마무리"라는 명목하에 중요한 일들이 의미가 없게 된다.
나 같은 경우는 인터넷을 초등학교 초반부터 사용했기 때문에 인터넷 정보의 매력을 느끼는 동시에 커뮤니티에 중독된 적이 한 두 번이 아니다. 이게 바로 정보의 폐해다. 인터넷이란 공간은 정보도 많지만, 그 만큼 사람들을 유혹하는 내용도 많다. 그렇게 순간적으로 나를 "자극"시키는 것에 "훅" 하다 보니 성격이란 자체가 산만하고, 일 벌리기만 좋아하고 마무리를 짓지 못하는 성격으로 변해버렸다. 그 성격이란 것이 사실 생각해 보면 다 인터넷 때문이다. 하고 싶은 일은 한 천가지 쯤 되는데, 어느 하나를 제대로 성취해 내지 못한다.
나의 생각의 폭주에, 얼마나 답답했으면 이런 것까지 내가 만들었을까. 아이폰의 Awesome Note도 좋고, Evernote 도 좋지만 무엇보다 내 생각은 공부하는 상황이나 무언가에 집중해야 할 때에 발생한다. 생각을 버리는 명상에 대한 연습도 많이 하고 있지만 지금 저러한 것 만큼의 것은 없는 것 같다. 생각이 나면 일단 무조건 메모만 해놓는 것이다. 기록을 해놓는 것만으로도 나중에 내가 진지간히 생각해서 스케줄로 만들 수도 있고, 실제로 전화통화나 기타 메모할 일이 생기면 이를 통해 손쉽게 메모를 할 수 있기 때문이다.
이 메모의 효과는 안그래도 좀 나쁜 내 기억력을 높히는 데에도 한몫 하고 있다. 좌우간 생각나는 것은 닥치는 대로 메모를 하다 보니 그 중에는 내가 하루에도 몇번이나 같은 것을 메모하는 경우도 있는데, 결국 사람의 잡념이란 욕심에서 생겨나는 것이고, 욕심을 억제하지 못해서 계속해서 머리속에 생각이 나는 것이다. 이 말은 무엇이냐, 내 머리속의 생각 중 대부분은 "잡념" 이라는 것이다. 잡념, 나는 이것을 억제하지 못해서 항상 집중력에 혼돈이 오곤 하였다. 정말 강력한 집착이 없지 않으면 나는 딴 길로 새기 마련이다.
여튼 이렇게 하다 보니 조금씩 한 가지에 집중할 수 있는 여력이 생기는 것 같다. 단 10분이라도 한 가지에 집중해서 일을 처리하다 보면, 그리고 그것이 습관이 된다면 나는 분명 더 많은 것들을 할 수 있을 것이다. 선택과 집중, 이를 위해서는 잡념을 버려야 하고, 잡념을 버리기 위해서는 머리속에 생각나는 것들은 나중에 생각할 수 있도록 하는 것이 중요한 것 같다. 무언가 하나를 할 때에는 그 하나에만 올인하는 것! 그것을 위해 최선을 다 하겠다. 못한다는 핑계는 없고, 연습과 노력이 중요한 것이다!
사랑은 기적처럼 아름다운 여정이며 용기 있는 모험이라더라. 나에겐 오늘이 그런 모험을 떠난지 천 일이 되는 날이다.
처음 그녀를 만난 곳은 친한 친구의 추천으로 참여하게 된 모 대회에서 였다. 그 당시 나는 사업 실패와 부모님과의 불화 및 군 문제 등으로 상당히 힘든 시간을 보내고 있었다. 그때 마치 운명같이 다가온 그녀. 사실 개발자가 없어서 참여하게 되었는데 본래는 내 친구가 참여하게 되어 있었다. 하지만 그 친구는 "웹"분야라는 이유로 나를 추천하였고, 그렇게 운명같은 만남이 시작된다.
사실 사랑이라는 감정은 없었다. 단지, 첫 눈에 그녀의 빨간 코트에 나도 모르게 홀렸을 뿐. 하지만, 많은 고백의 과정에서 실패를 경험한 나는 그녀에게 생기는 그런 감정을 억제하려고 정말 미친듯이 애썼다. 나보다 연상인 그녀는 그 당시 내게는 정말 수 많은 조언들과 내 말을 들어주는 그녀에게서 내 인생에 정말 소중한 보석같은 존재를 만났다고 생각했다. 당연히 그렇기 때문에 나는 쉽게 고백할 수도, 좋아하는 감정을 표현하기도 힘들었던 것 같다.
단지 내가 할 수 있는 것은 그 대회에서 좋은 성과를 내는 것이었다. 내 모든 디자인과 개발, 기획에 대한 실력을 발휘하여 그녀에게 출력해서 보여줬다. 사실, 내가 욕심이 났던 것은 그녀에게서의 인정이었다. 나보다 모든 면에서 우위였던 그녀의 인정은 기분이 좋았다. 언제부터일까, 그렇게 우리는 자연스래 가까워 졌고, 버스를 기다리는 달빛을 바라보며 남여간의 인연을 만들어냈다. 성공이었다. 나는 그렇게 드디어 여자친구를 만들었다. 2009년 1월 14일은 그렇게 지나갔다.
그리고 즐거운 연애 과정 속에서 물론 다른커플보다 더 많이 싸우고 사과하고.. 사실 물론 남여간의 관계에 있어서 살아온 배경과 과정이 너무나도 다른데, 그런 불일치 속에서 일치를 찾기 위해서는 힘든 것은 안다. 2009년 8월, 그녀를 미국에 보내기 전까지 나는 배려보다는 욕심이 더 많았다. 내 뜻대로 해줬으면 좋겠고 내가 하는 그대로를 바라다봐주기만을 바라고 있었다. 실제로는 그녀는 나의 열정은 높게 사지만 현실적인 입장에서 공상 속에서만 갇혀 사는 내가 못마땅했었다. (살찌는 것, 술먹는것, 공부를 전혀 안하는 것 등. 나는 이런 것 조차도 응석둥이가 되고자 하였다.)
그렇게 그녀를 미국에 보냈다. 1년. 물론, 매일같이 연락해주는 그녀였지만 실제로 보재 못하고 Going Distance에 나오는 주인공들 처럼 되다 보니 미치겠더라. 그렇게 자주 잡고 다녔던 작고 하얀 손이 잡고싶어도 못잡는다. 회사를 다녀서 해외에 나가지도 못한다. 하아, 상사병이라도 걸린 것일까. 아니면, 내 투정을 모두 받아주던 사람이 없어서일까. 몇개월간 나는 술의 늪에서 헤어나오지 못했다.
몇 개월 전, 나는 그녀에게 하루에 10개씩 그녀가 좋은 이유를 말해주기로 하였다. 한 100개 정도까지 말해 봤는데 사실 그런 "수식어"는 중요하지 않았다. 단지, 그저 마음으로써 그녀가 좋고 아무런 이유도 없이 그녀가 좋다. 싫어할 수 있는 단 한가지의 이유도 존재하지 않는다. 바보같지만, 정말이지 나는 그녀가 진심으로 좋다. 그리고 사랑한다.
지금은 취업준비생을 거쳐 당당히 대기업에서 일하고 있는 그녀. 비록, 신입사원이라 자주 보지는 못하지만 이미 그녀는 내게 추억을 무려 천일이나 나눠주었다. 함께 하는 추억을 먹고 나는 지금 그녀의 예스맨이 되기 위해 열심히다.
나는 가끔 한 노래에 미쳐서 그 노래만 듣는 경우가 많다. 아무리 인생이 짜증나고 괴로워도, 이어폰을 꽃고 그 노래를 듣는 자체만으로도 나는 행복해 지곤 한다. 만약 평생 그러고 싶은 노래가 있다면, 바로 그녀이고 싶은게 솔직한 내 마음이다. 자주 만나지는 못해도, 그녀의 목소리를 듣는 단 1분은 나의 하루를 행복하게 만드는 이상한 힘이 있다. 바보처럼 나는 사랑은 금방 식을꺼라 생각했는데, 그게 아니었다. 서서히 물드는 것이었다.
더 행복하고 싶다. 잃을까봐 두려운 사람이 있다는 것은 행복이란 것일까... 그녀에게 나는 "사랑해" 라는 말은 1000번도 넘게 했지만, 오늘만큼은 이 말을 해주고 싶다. 고맙다고.
기억. 그녀가 내게 준 선물.
재즈
욱하지 않는 방법
남자란 무엇인가.
이상의 늪에서 현실로 이끌어주다.
사진과 추억에 대하여.
글
세계 속의 아이젝트는 얼마나 작은가,
찾지 못한 나의 매력 (ex 볼바람)
81kg의 몸무게(2008년 나는 105kg였다.)
물질보다는 마음. 마음을 어떻게 전달하는가.
기다림의 미학
당근목도리
함께 먹을 수 있는 즐거움. 맛집.
팬더가 되는 방법
자기관리
해커스어학원
유학생을 1년동안 기다리는 방법
어떤 공부를 해야 하는가.
로드맵
진심
사랑을 표현하는 또 다른 방법
귀여운 사진 100장 찍기
훈남화
오늘은 정말 많은 사람들에게 충격을 전해준 소식이 있었다. 바로 애플의 전 CEO 이자 아이폰,아이패드 등 혁신을 주도해 온 IT산업의 신화와도 같은 스티브 잡스의 사망 소식이었다. 처음엔 믿기지 않았지만, 이내 애플 미국 공식 홈페이지에서 그의 사망소식을 확인하였다.
많은 사람들이 그랬겠지만, 잡스는 내게 신과 같은 존재였다. 그의 창의력은 물론, 그가 보여준 개발자로써의 열정, 사업가로써의 열정, 그리고 크리에이티브로써의 열정은 지금 나의 미래를 설계하는 데에 매우 큰 도움이 되었으며 내 인생의 로드맵을 설계하는 데에 많은 도움이 되었다. 그의 PT능력이나 사람들이 원하는 바를 캐치해 내는 능력 등, 그리고 소프트웨어에 생명을 담는 모습 등 무엇 하나도 빠짐 없이 그는 천재적인 크리에이터이자 리더였다.
그를 존경한다. 더 많은 내가 동경하고 있는 사람들이 있지만 IT의 별이었던 그의 사망이 더더욱이나 내 가슴에 깊은 슬픔을 전해준다. 사실 여태까지 IT를 이끄는 혁신적인 인물의 사망 소식을 접하지 못해서일까, 마치 나의 가족을 잃은 것처럼 슬프다.
그의 유산 중 하나인 맥을 사용하면서 내가 정적인 개발자의 시각에서 얼마나 다양하고 유동적이며, 다이나믹하게 생각이 변했는지 모른다. 그는 분명 미래의 우리들의 삶에 비전을 제시했고, 우리들의 삶, IT를 통한 인간의 삶의 진보라는 것을 만들어 냈다. 나 또한 IT에 몸담고 있는 사람으로써, 그의 이러한 정신을 가슴 깊히 새기고 있으며 진정한 IT 업계 사람들의 생각이 이것이라는 것을 안다.
그의 사망은 정말 내게 많은 것을 시사해 주는 것 같다. 이렇게 그의 죽음에 많은 사람들이 슬퍼하고 있다. 열정도 좋지만, 무엇보다 나를 믿고 신뢰하는 사람들에게 건강을 잃어 슬픔을 주는 것은 가슴아픈 행동이라 생각한다.
잡스 아저씨, 당신을 알게 된 지난 10년여간 제게 많은 생각과 진보를 가져다 주셔서 감사합니다. 부디 하늘나라 가셔서 편안히 쉬세요. 저도 당신의 IT에 대한 정신을 제 모든 행동에 쏟겠습니다. 비록 저를 알지는 못하겠지만, 제게 많은 것을 주셔서 감사합니다.
불과 얼마전만 하더라도 더위에 거의 긴팔은 생각지도 못하고, 매일같이 땀으로 적신 몸을 이끌고 이곳 저곳 돌아다닌 것 같은데, 오늘은 비가 내려서 그런지 날씨가 꽤나 추웠다. 괜시리 벨벳 자켓을 입고 갔는데 사실 약간 오버였던 모양이다. 회사를 출근하고 나니 땀이 비오듯 쏟아지는 것은 누구를 탓하겠는가, 아직까지 비대한 몸을 가지고 있는 나를 탓해야지. 그러면서 보니 벌써 2011년도 세달밖에 남지 않았더라.
2011년은 참 내게 많은 기회를 가져다 준 한해였던 것 같다. 공모전 결과라던가, 나의 미래와 로드맵의 정의. 영어에 대한 필요성, 어느정도 체중 감량에도 성공했고 말이다. 물론 이렇게 나를 잡기까지는 수 많은 이전 과정이 있었지만, 그래도 나는 만족한다.
하지만 중요한 것은 사실 안정적인 생활에 접어든다 하여 끝나는 것이 아니다. 나도 어느정도 삶이 상당히 안정화 되고 철저한 자기관리 속에서 살아가고 있을 때, 그러면서 한편으로 일상에서 정말 탈출하고 싶은 생각이 너무 굴뚝같았다. 특히, 나는 다른 사람에 비해 술을 매우 좋아하는데 5년전부터 거의 매일 마셔오던 술을 그렇게 버리기가 너무 힘든 것이다. 그것을 한번에 끊고자 하였으니, 사실 사회를 살아가는 데에 흡연은 건강에 매우 안좋은 것으로 인식되는데 술은 그렇지 않기에 더더욱이나 그런 것 같다.
하지만 이렇게 생각한다. 분명 올바른 길은 있고, 사람답지 못하게 즉 고삐풀린 말인 냥 사는 때는 되도록 빨리 없앨 수록 좋다는 것이다. 즐길 때 즐기는 것은 분명 좋지만, 그 즐기는 것이 언제까지 계속되느냐에 따라서 말이다. 누군들 놀지 못해서 놀지 않고 있겠는가, 사회 속에서 무언가 좋은 기능을 하기 위해서 자기 자신의 지식을 쌓는 것이고 그렇게 지식을 쌓기 위해 노력을 해야 하는 것이다. 즐길 것은 그 이후에 즐겨도 괜찮지 않을까? 물론 욕심이 과하지만 않는다면 말이다.
참 이렇게 병특도 어느새 32개월이나 지나버렸고(정말 긴 시간이다.) 언제 끝나나 노심초사 했던 시간이 조금 보이기 시작한다. 2012년이 가까워 질수록 말이다. 그런데 돌이켜 보면 그 3년간 이루고자 한 것을 나는 단지 나 자신의 사회 속에서 몸무리침을 잡지 못해서 거의 2년을 날려버리고 2년간 지키지 못한 것들은 단 몇 개월 만에 노력과 결실을 맺게 해주고 있다. 결국 이로써 내가 느낄 수 있는 것은 무엇인가. 삶이 안정적이지 않는다면 시간을 놓치게 된다는 것이고, 날려버리는 것이다. 지금 나는 무엇을 해야 하는가? 라고 했을 때 정확한 삶의 목표에 의거해서 현재의 내 목표가 산출되어야만 시간을 나의 것으로 만들 수 있지 않겠는가.
여튼 여러모로 그러하다. 또한 이 병특이 끝나면 나는 5년만에 다시 학교로 돌아가야 한다. 한편으로는 설래이지만 한편으로는 수없이 긴장되곤 한다. "공부"와는 담을 쌓아온 나로써는, 그것도 5년이나 말이다. 그런 내가 공부라는 자체를 할 수 있을것인가란 두려움은 있지만, 사실 재미만 붙히면 재밌게 할 수 있을 것이고 또한 공부로 한정짓지 않고 내가 프로그래밍이나 디자인을 할 때에 즐거움을 느끼는 것처럼만 하면 된다 생각하고 있다. 물론 모든 공부는 필요에 의해서 하는 것이라 사실 이런 걱정은 하지 않지만, 얼마 전 내가 책상에 얼마나 앉아서 공부할 수 있을까를 한번 재 보니 책을 보며 이해해야 하는 공부의 경우 채 20분이 되지 않았다는 점..
그렇게 나는 익숙함이 부족한 것 같다. 그리고 이를 키울 수 있도록 노력해야겠다. 참 이런 결심을 하는 내 모습을 보니 대견스럽긴 하다... 열심히 할 수 있도록, 신을 믿고 내 미래를 믿고 나아가야겠다.
1996년, 당시 막 초등학교 3학년이 되었던 나는 그간 사용해 오던 DOS의 여러 명령어를 뒤적거리다가 우연찮게 내 PC에도 윈도우가 설치되어 있다는 것을 알게 되었다. 586이던 당시 PC에 하드용량이 얼마나 되었는지는 모르겠지만, 이리저리 만지다가 실행한 윈도우에서 나는 이야기라는 프로그램을 알게 되었고, PC통신을 접하고, 최초로 ISP를 통한 인터넷 접속에 성공하였다. 물론 한메일이 시작된 87년에는 내가 태어난 시점이니깐, 아마 나는 그 세대의 대학생,직장인들과 우리 세대 친구들과 그 중간보다 조금 더 빨리 접했다고 할까.
인터넷이라는 세계는 정말이지 신세계라서, 내가 그 어디서도 접할 수 없는 정보를 인터넷을 통해서는 쉽게 접할 수 있었다. 오죽했으면 그 당시 내가 가장 좋아한 책 중 하나는 "인터넷 가이드" 라는 각종 주제별로 URL을 정리해 놓은 책이었다. 당시의 카테고리 방식의 검색 엔진, 심마니나 야후 등의 검색엔진을 좋아했던 이유도 내가 원하는 정보를 "주제"별로 쉽게 알 수 있어서였다.
현실 속 나를 바라보다
그렇게 내가 인터넷을 접한 것이 15년이 넘었다. 인터넷 중독으로 살아가던 그날을 생각하며, 20대가 꺽였던 올 한해는 점차 내가 온라인 속의 삶에서 지속적으로 현실속의 나를 있는 그대로 냉정하게 인식하고 내가 원하고 바라는 것을 채찍질 해 나갈 수 있도록 탈바꿈 하고 있다. 더 이상은 가상현실 속에서 살아가는 아바타가 아니오, 이루지도 못하고 망상만 하고 있는 공상가만은 아니라는 것이다.
공상은 내가 지금 하고 있는 정도의 1/10만 해도 좋다. 공상이라 해도 그것은 나의 소망이오, 이루고자 하는 목표이니 말이다. 솔직히 나의 공상에 불만도 없고, 바꾸고 싶은 생각도 없다. 락커가 되고 싶은 꿈, 멋진 웹 서비스를 만들어 세계적인 기업을 만들고자 하는 꿈, 꿈있는 개개인들의 삶을 바꿔놓고 싶은 꿈 등. 내 안의 수 많은 공상들은 25년간 나는 목적으로써 가꿔 나갔기 때문에 되려 쉽게 세울 수 있는 목표보다는 나 자신이 왜 이를 이루고 싶은지를 뼈속까지 깊게 생각할 수 있다는 것이다.
문제는 현실속이다. 올 초에 나 자신의 외관(Appearance)을 바라보며 최소한 내가 바라는 사회속에서의 내 모습에 대해 냉정하게 생각해 보았다. 살은 쪄져 있고 그다지 가꾸지 않은 모습이 대부분이다. 여지껏 그렇게 살아왔다. 하지만, 이런 모습이 어떻게 공상 속의 내 모습대로 나아갈 것인가? 그런 생각에 나는 다이어트를 하지 않으면 안되었다.
개발력도 마찬가지다. 내가 속했던 회사에서는 내가 능력을 발휘했을지 몰라도, 대외적으로 나의 실력을 객관적으로 판가름하는 척도가 존재하지 않았다. 예를들어 대회나 시험, 자격증 같은 것 말이다. 물론 이런게 무슨 상관인가? 싶겠지만, 모든 것이 객관화를 위해 존재하는 것이 아니겠는가. 사회를 돌아가게 하는 기본 요소 중 하나인 돈도 마찬가지로, 그런 돈이 우리 삶의 품질을 결정하는게 아니던가.
공상 속의 나를 현실로 끌어낼 수 있는가
물론 위에 두 가지는 지금은 작지만 어느정도 성과를 이뤄냈다. 허나 그 과정은 정말로 힘들었다. 무엇보다 재미가 있어야 하고, 끈기가 있어야 한다. 그리고 선택과 집중이 너무나도 필요하다. 예전부터 그래왔지만, 나는 한 가지에 꾸준한 집중을 잘 못하는 성격이 있다. (프로그래밍은 다르겠지만.) 그러다 보니 내가 보다 더 큰 집중을 가지게 하려면 일단 쉽게 만들어야 하고, 재밌게 만들어야 한다.
다이어트를 할 때에는 강한 이미지 트레이닝과 특히 운동을 하며 내가 가장 좋아하는 음악들을 미친듯 들으며, 운동을 쉽게 만들 기 위해서 너무 단 기간에 급격한 효과를 보려 하지 않고 대신 하루에 30분~1시간이라도 꾸준히 했다. 강한 동기부여를 위해서 남성지를 구독해보며 내가 원하는 남성상을 지속적으로 추려 나갔고, 나태라는 것이 어떤 측면에서 유발되는지를 계속 살폈다.
개발 또한 마찬가지이다. 솔직히 내게 미친듯한 개발력을 주는 것은 기술에 대한 이해보다는 프레임워크의 설계와 디자인이다. 거의 혼자서 대부분 개발하는 내게 이 부분은 정말 깊게 창작의 고통에 대해 야기해 주고 있다. 여하튼 올 초에 좋은 성과를 거둔 대회에서는 이를 극복할 수 있었으니 말이다.
내가 세계시장에 경쟁력 있는 서비스를 만드려면 일단 한국어로는 힘들다. 그렇기에 영어를 해야 하고, 영어를 하는 과정에 있어서는 정말 다양한 길이 있다. 이것 역시 일전에 이룬 것들과 마찬가지로 내게 쉽고 재밌게 만들어야 한다. 하지만 이건 어찌 보면 내가 그 동안 그렇게나 안해오던 공부인데, 과연 잘 할 수 있을까? 어차피 꾸준히 해야 하긴 하지만, 어떻게 내 실력을 발전시켜 나가고 평가해 나가야 할까?
그래서 아마 시험이란 것이 존재하나 보다. 토익이나 토플 같은 것 말이다. 그래서 영어를 공부한답시고 토익공부에 영국발음이 즐거워서 따라읽기도 하고 단어도 외우고 독해도 하고 문법 강의도 듣고 받아쓰기도 하고... 하루에 기껏해야 2~3시간 정도밖에 공부를 못하는 내가 뭘 그리 무리해서 한다고 했는지. 방법을 좀 더 깊게 알고 들어갔었어야 했는데 인강을 제대로 듣는데만 1시간 반이 걸리더라. 교재나 강의의 난이도조차 헷갈리고 말이다.
그래도 마냥 좌절할 수는 없다. 보다 더 빠르게 옳은 길을 잡고 나아가는 것이 가장 좋긴 하겠지만 그렇지 못하더라도 끝없이 옳은 길을 찾아 나서면 되는 것이다. 분명한 것은 어제보다는 오늘의 내가 더 낫다는 기분만 들면 되는 것이다. 그게 발전이고, 그게 공상 속의 나를 찾아가는 과정이 아니겠는가?
서로 다른 성공과 행복에 대한 척도
여튼 아직도 갈 길은 멀고도 험하다. 나를 사랑해주는 많은 다양한 사람들이 내게 서로 다른 모습을 기대하고, 바라고 있다. 그러한 혼돈 속에서도 나의 모습을 잡아가는 것이 나를 만드는 과정이다. 사람은 저마다 경험한 바가 다르고, 저마다 생각하고 전파하는 과정이 다른 것이다. 무엇보다 지금 내게 가장 필요한 것, 키워드를 잡고 그것에만 오로지 매진하는 것이 중요하겠다. 그러다 보면 전에는 일주일 내내 미친 듯 하던 운동이 지금은 단 몇분, 몇 번의 운동만으로 유지가 되는 것처럼 몸에 익게 될 것이다.
얼마전부터 즐겨보는 "다이어터"의 한 장면.
출처 : http://cartoon.media.daum.net/webtoon/viewer/13167
익숙함, 나태, 정체기, 새로운 자극
최근 일기를 쓰며 자주 쓰는 말이 바로 "이슈의 상실" 이다. 목표를 세우면 끝장을 볼 생각을 해야 하는데, 그게 잘 안되다 보니 목표의 중간 쯤 가면 마치 내가 다 이룬 것처럼 느끼고 생각하다가 어느새 목표는 원점이 되어 돌아가 있다. 익숙함이라고 할까? 그러다 보니 자만감이 찾아오는 것이다. 이런 것들에는 반드시 새로운 자극, 변화가 필요한데 처음 만큼 강한 의지력이 생기지 않는 것은 왜일까.
하지만 이것 또한 내가 극복해야 할 길이다. 정체기에서 나를 다시 만들 수 있는 그런 길 말이다. 아마 올 해의 마지막으로 내가 자기관리에 있어서 생각하고 방법을 정립해야 할 과제 중 하나가 이것이 아닌가 싶다. 새로운 자극을 어떻게 줄 것인가? 또한 매우 자주 나 자신을 평가하는 행위는 과연 올바른 행동인가? 나태해진 내 모습을 어떻게 잡을 수 있을 것인가 등.
만약에 세상 사람들 모두가 욕심이 없었다면, 우리는 그저 본능대로만 살아갔을 것이고 굳이 우리가 열심히 하지 않아도 살아가는 데 지장이 없었을 것이다. 욕심을 버리기 위해 무소유의 개념과 행복을 정의하려는 시도가 계속되고 있지만, 반대로 욕심을 가지고 학업적, 물질적, 사회적인 업적을 이루기 위해서는 방향과 반성이 필요한 것 같다. 내가 나 자신의 길을 찾아가는 것처럼, 최종적으로는 사람들의 위대한 업적을 위해 그 자신의 삶을 보다 더 잘 잡을 수 있고 반성할 수 있는, 그런 수단을 제공할 수 있는 사람이 되었으면 좋겠다.
오랜만에 글을 쓰는 것 같다. 최근 회사에서는 유지보수 하던 업무가 인수인계중에 있어 업무를 넘겨주다 보니 기존의 단순한 유지보수 시스템에 문제가 생긴다 생각하여 유지보수 시스템에 대해 생각하고, 이에 대하여 시스템을 구축하고 있다.
나는 회사에서 JSP로 만들어진 사이트를 유지보수 한다. 프레임 워크는 오래 전 회사에서 만든 것인데, 나름대로 폴더 구조만 잘 맞춰주면 로그도 잘 남고, DB 풀이나 객체 재사용에 대한 대비, 기본적인 JSP 내에서 사용해야 할 예를들어 자동 문자열 콤마라던가 기타 편리한 기능들은 잘 만들어져 있다.
내가 속한 회사는 사실 웹보다는 Active X 와 TR-transaction을 통한 금융 거래를 주로 하던 업체라 웹에 대해서는 단순히 viewer의 기능만 할 뿐이라 크게 신경쓰지 않았다. 허나, 최근들어 웹을 통한 거래가 많아지자 웹, 특히 WAS단과 DB에 대한 관심도가 높아져서 올 초 웹 전담 유지운영팀이 생기게 되었다.
기존에 웹 개발자들은 소수에 불과하였고, 서로 다른 팀에 있던 사람들이 모이다 보니 사실 유지보수 하는 사이트들도 준구난방, 하지만 사실 원천은 위에서 언급한 프레임워크를 사용한 파생 상품이고, 구조 또한 동일하다. 하지만 사람들이 자기 일을 관리하기에도 벅차기 때문에 아무도 이 프레임워크에 대해 신경쓰지 않았다.
그래서 처음 내가 한 일은 원천 소스를 찾는 일이었다. 다행히도 jdk 1.5로 컴파일된 버전을 찾긴 하였는데, 알고 보니 또 우리가 유지보수 하는 소스는 jdk 1.4로 컴파일 되어 있다. 내참.. 당장 원천 클래스 파일을 수정할 일은 없으므로 원천 소스를 가지고 있는 자체로 만족하고, jdk 1.4버전으로 향후 downgrade하기로 생각하고 일단 패스.
그리고 초창기부터 형상관리가 전혀 되지 않아 백업도 제각기이고 그나마 테스트 서버가 있어 그곳에서 마구잡이로 우선 에디트로 소스 수정을 하고 리얼 서버에 반영한다. 하지만 혼자 작업할 때에는 이게 참 좋겠지만, 문제는 얼마 전 내가 받은 신입 두명이 차례로 받아 작업한 사이트에서 발생한 것이다. 거래량으로 따지면 일순위인데 이 사이트를 신입급 둘이 유지보수 하고 했으니, 다른건 몰라도 소스가 2천줄 이상 되는 것, 자바스크립트 내에 보안도 되지 않은 상황에서 중요한 정보가 노출되는 것, 소스 상에 DB화 되지 않은 데이터가 배열로 박혀 있는 것(-_-;;) 등 아주 심각한 상황이 크게 발생해 있었다.
물론 지금이야 내가 수정해 놓아서 다행이긴 하지만, 또 다시 나는 이 서비스를 다른 분에게 인수인계 해야 하는 시점이 왔고, 그렇게 바로 인수인계 한다면 또 같은 상황이 발생할 것이라는 판단 하에 형상관리 시스템을 구축하기로 했다. 뭐 단순히 SVN만 생각했었는데, 결론적으로는 온갖 삽질 끝에 SVN+HUDSON+ANT 라는 구조를 잡았다.
SVN을 통한 버전관리, HUDSON을 통한 리얼 서버의 WAS에 통합, 그리고 윈도우 배치와 Ant 스크립트를 통한 배포환경을 만들었다. 개발자는 로컬에 환경을 세팅하고 커밋하면 Hudson에서 변경된 파일을 받고 Ant를 통해 자동으로 WAS의 루트에 Different Task를 통해 변경된 파일만 올리게 된다. 이 과정에서 WAS의 루트 중 바뀌는 파일은 Copy Task 이전에 Ant의 Zip Task를 통해 자동 백업하게 된다.
[개발자 로컬 -> 테스트 서버 배포과정]
1. 개발자 Commit -> SVN 저장
2. SVN을 통해 Hudson에서 최신 소스파일 저장
3. WAS 의 Root 중 변경된 파일만 비교하여 백업(Ant의 Different Task 및 Zip Task 사용)
4. 최신 소스파일 -> WAS의 ROOT로 이동(Ant의 Copy Task 이용)
그럼 일단 테스트에서 정상 작동 여부를 확인할 수 있고, 정상 작동시 리얼에 배포 과정을 거치는데 이 역시 사용자의 윈도우 배치파일을 실행함에 따라 아래 절차를 자동으로 수행한다.
[테스트 서버 -> 리얼서버 배포 과정, 리얼 서버는 L4로 구분되어 2대로 정의.]
1. 리얼 기존 파일 temp폴더로 내려받기. 만약 기존에 temp폴더에 내려받은 것이 있다면, 변경된(업로드할) 파일만 내려받기
2. temp폴더와 테스트 서버의 WAS Root를 비교하여 변경된(업로드할) 파일 자동 압축백업(Ant Zip Task)
3. 수정된 파일 -> temp 폴더로 이동(향후 1번 과정을 하면서 중복 다운로드를 하지 않기 위해)
4. 수정된 파일만 -> 리얼 업로드 (1,2번 서버)
약 3일간 고심해서 이렇게 세팅을 해 놓았는데 나름대로 만족하고 있다. 다만, 아직 리얼 이관을 실제로 해보지 못해서 좀 걱정이긴 하지만;; 확실히 자동화 작업은 많은 편의성이 있는가 하면 제대로 세팅해 놓지 않는다면 크나큰 문제가 발생할 것 같다. 그리고 그런 문제를 방지하기 위해서 메뉴얼 작업 역시 필수인 것 같다. 메뉴얼이 단순히 글로만 써놓은 그런 글이 아닌, 이미지를 통한 따라하기 방식으로 설명해 놓은 메뉴얼 말이다.
말이 나온 김에 메뉴얼에 대해 얘기해 보자면, 단순히 유지보수 운영 메뉴얼 같은 것들이 정보성 글들만 쓰인 것이 많은데, 많은 유지보수 업무를 도맡아 하는 사람들은 대부분 신입이다. 그들을 위해 나름 경력이 있는 개발자들은 절대 실수할 염려가 없는 이미지를 통한 따라하기 식의 튜토리얼을 만들면, 그 정도의 상급자들의 배려가 있으면 더 좋지 않을까 하는 아쉬움이 든다.
나야 물론 팀 작업을 위해 이런 자동화를 구축하는 것도 있지만 사실 다 내 개발의 편의를 위해서이다. 솔직히 운영하다 보면 저런 과정에서 쓸때없이 발생하는 문제가 많이 생긴다. "최신 소스 동기화" 작업이 안되있으면 말이다. 급한 오류건에 대해서 보통 일반적으로 리얼에서 작업해서 처리하는 경향이 많은데, 그러다가 자칫 잘모해서 비정상적인 소스가 리얼로 올라가게 된다면? 그야말로 얼마나 큰 문제점이 초래되겠는가? 이는 사용자의 편의가 생명인 웹 서비스에서 사활이 걸린 문제이기도 하다.
여튼 내가 아무리 유지보수만 전담해서 한다 하더라도, 한번의 작업을 참여하더라도 항상 끝 마무리는 제대로 하도록 하는 것이 좋겠다. 뒷사람을 생각하는 배려. 그것이 없다면, 뒷사람들이 얼마나 욕을 할 지는 정말 상상하기도 힘들다. 나 역시도 전에 개발한 사람의 욕을 무지하게 해댔으니 말이다. 배려라는 것이 다른데 있는 것이 아닌, 나의 주위에 나와 함께 하는 사람들에 대한 배려가 진정한 배려라는 사실. 이번 기회에 깊히 깨닫는 것 같다.
웹 개발자인 나는 회사에서 개발보단 주로 현존하는 시스템을 개선하고 유지보수 하는 업무를 담당하고 있다. 물론 신규 개발도 안해본 것은 아니다. 허나 깊이 있는 기술보다는 넓고 다양한 기술들에 욕심이 많고, 또한 개인적으로 "까라면 깐다" 라는 식을 매우 싫어하며 개발할 때는 최소한 이걸 왜 만들어야 하는지를 계속 이해하려고 하다 보니 유지보수라는 자체가 업무를 모르고서야 시스템을 이해할 수 없어서 비즈니스 로직을 쉽게 배울 수 있어서 유지보수를 선호하게 되었다.
대부분의 중소 IT기업이 그렇듯, 우리 회사도 수주를 내려주는 "갑"은 아니다. 일반적으로도 대기업이나 공공기관의 경우 자체 유지보수 팀이 있는가 하면, 타 외주 업체의 솔루션 혹은서버기술 등을 사용하는 웹 사이트를 운영하는 경우에는 외주업체에 맏기곤 한다. 내가 관리하는 사이트 역시 우리 회사의 DB와 TR(전문) 송수신 체계가 우리 회사에 구축되어 있어 이를 사용하기 위해 view단이나 DB-insert , statistic 등을 처리하는 웹페이지를 만들고, 정책상 이러한 서비스들은 우리 회사에서 유지보수 하게 된다.
여튼 내가 운영하는 모 사이트는 거래량이 상당히 커서 비즈니스 적으로 중요하기 때문에, 우리 회사의 컨설턴트가 "갑"이라 불리는 어느 업체에 나가서 5일중 4.5일을 상주하고 업무 요건들을 들으면서 처리한다. 문제는 이렇게 나가서 받는 요건들을 보면 대부분 기존의 시스템에 총체적으로 추가되는 요건이 대부분이고, 사실상 말도 안되는 업무와 스케줄을 가지고 제안하는 경우가 허다하다. 개발자 출신에서 컨설턴트가 되는 경우야 어느정도로 공수가 소요될 것인지 알고 얘기하니깐 보다 더 요건을 개발자와 현업과 잘 조율해서 일을 할당해 줄 것이다.
허나, 내가 본 대부분의 컨설턴트는 영업 출신이다. 그러다 보니 개발적인 것은 전혀 모르고, 사실 알고 싶어하지도 않는다. 마치 자기들이 "갑"인양 개발자들을 부리기 일수이다. 우리도 다 스케줄이 있고 가용 시간이 있는데도 불구하고, 아니 최소한 같은 회사라면 좀 더 신경써 줘야 하는게 정상이 아닌가? 원래 영업을 했다고 그저 업체에 기어들어가서는 요건을 최소한 개발자와 합의도 하지 않고 있는대로 받아가지고는 개발자들한테 까라면 까라는 식으로 주면 개발자는 호구란 말인가.
정말이지 납득할 수가 없다. 시스템을 안정적으로 구축해 놓았는데, 시스템에 대한 충분한 기술적, 업무적 이해가 없이 컨설팅을 한다는 게 말이다. 그게 어찌 컨설턴트인가? 기존의 시스템은 갈수록 산으로 가고, 개발자는 죽어나고. 최악도 이런 최악이 없는 것 같다.
우리나라 사회는 굽신굽신 하는 사람들만 좋아하는 걸까? 양의 탈에 가려진 노동의 현실, 아니 노동의 현실보다도 충분한 시스템적인 고려 없이 촉박한 일정에 시달려 하드코딩으로 덕지덕지 소스가 도배되고, 그렇게 되면 사실 사이트는 잘 돌아가는 것처럼 보여도 그건 일시적인 대책에 불과한데, 그리고 언젠가는 도저히 손을 댈 수 없는 사이트가 될 것이 불보듯 뻔한데.
우리나라는 너무 웹을 쉽게 알고 무시하는 것 같다. 처음에 좀 빡쎄게 사이트를 구축해 놓으면 그저 다른 서비스를 구축하는 데에는 기존에 있던거 그대로 쓰면 된다고, 그러기에 바쁘다. 웹이 무슨 가공식품인가? 업무 프로세스가 같다고 웹도 똑같을까? 수주를 주는 쪽이 원하는 BLS를 충분히 웹에다 잘 녹여놓아야 하는데, 기존에 있다고 껍떼기만 바꾸면 다일까. 내가 다닌 업체들은 대부분 이런 식으로 작업을 해서 약 6~7년 전에 작업해 놓은 프레임워크를 그대로 쓰는 경우가 허다했다. 전혀 발전이 없는 사이트들, 회사 입장에서야 돈을 벌어야 하니깐 빨리빨리 하는 것은 좋지만.. 역효과가 얼마나 큰데, 그걸 그렇게 무시하는건지.
여하튼 참 이렇게 컨설턴트를 대하다 보면 죽겠다는 소리는 엄청나게 해대고, 실질적으로는 개발에 대한 것은 전혀 알려고 하지도 않고, 그저 위에서 치이니깐 계~~속 빨리빨리 그런다. 업무 요건자체가 완전히 서비스를 안드로메다로 보내버리는 요건인데, 그걸 또 빨리빨리랜다. 이러니 개발자들이 일 할 맛이 나겠는가. 아싸리 SI에 그냥 껴서 마일스톤 속의 단위 업무 속에 숨어버리는게 낫지.
그래도 개발자들도 너무 현업의 말에 굽신굽신 하지 않고, 정확한 근거를 들어서 이걸 추가하면 왜 서비스가 산으로 가는지 어필할 줄도 알아야 한다. 결국 그렇게 어필하는 것이 내가 보다 더 SM하는 서비스의 코어와 비즈니스에 대해 이해하는지를 판가름할 수 있을꺼니깐.
사실 인간적인 측면에서는 컨설턴트의 잘못도 아니지.. 좌우간 모든 것들이 우리들의 자신감에서 비롯되는 것이 아닐까 싶다. 경제가 어려우니 회사에서 안짤리려면 굽신굽신 해야 하니깐. 내참 이렇게까지 생각을 할 정도니.. 참 아쉬운 S/W 의 사회다. 언젠간 뜯어고치고 싶은 그런 사회다. 한국이 개발자들의 천국이 되는 날은 언제쯤 올까? 그런날을 그려보며 나만의 노트에 오늘도 열심히 끄적이고 있다. 사람들이 가면을 벗고 나와 진정 자신의 실력으로 승부하는 그런 경쟁적이면서도 정직한 사회를 꿈꾸며..
(정말 컨설턴트들과 전화를 하면서 수화기를 던져버리고 싶은 적이 한두 번이 아니다. 개발자들을 소중한 존재라 생각하고 한번 더 생각하고 함께 윈-윈 할 수 있는, 그런 대화를 이끌어 갔으면 좋겠다.)
아이폰이 유행함과 동시에 애플의 제품인 아이맥, 맥북 등에 대한 사람들의 관심은 날이 갈 수록 높아만 지고 있다. 이미 커피샵을 점령하다 싶이 하고 있는 맥의 사과로고. 그런데 혹시 맥에 붓캠이나 패러럴즈로 윈도우만 돌리고 있는 것은 아닌지? 물론 이는 개인의 자유겠다만, 개인적으로 맥을 5년간 사용하면서(사실 5년은 맥 세계에서는 아주 초보단계가 아닌가 싶다.) 자기개발과 다양한 자료 취합 등, 컴퓨터 본연의 기능을 충실히 수행할 수 있는 어플이 존재하는데, 맥을 단지 뽀다구용으로만 쓴다면, 그 멋진 게러지밴드는 언제 쓸 것이며, 키노트는 언제 써보겠는가.
맥의 가장 큰 특징은 Focus on, 즉 다른 잡다한 것 없이 하나의 기능에 집중할 수 있다는 것이 아닐까 생각한다. 최근에는 라이언의 등장으로 풀 스크린 기능을 제공하고, 맥 앱스토어를 통해 쉽게 어플을 내려받을 수 있게 되어 있어 더더욱이나 맥용 프로그램이 친숙하게 느껴진다. 그런 의미애서 몇년간 내가 맥에서 잘 사용해 오던 몇 가지 프로그램들을 추천하오니, 부디 맥의 프로그램들에 익숙해지고 나아가 맥을 통한 자기 개발에 도움이 되길 바란다. 참고로 대부분 유료니깐 감안하시길..
Evernote - 클라우드 기반 노트 프로그램 - 무료
에버노트(풀스크린)
에버노트(일반)
에버노트는 이미 유명한 클라우드 기반의 노트 동기화 프로그램이다. 에버노트의 장점은 내가 자주 쓰는 아이폰&아이패드 앱인 어섬노트, Mobile RSS 등에서 쉽게 나만의 데이터베이스를 축적할 수 있고, 테그나 URL등의 인식표를 제공함으로써 쉬운 검색이 가능하다. 맥 라이언 출시 이후 풀스크린을 제공하면서 UI도 많이 개선되었는데 아직까지는 어플 자체에 버그(가끔 아래 부분이 깨진다.) 가 있긴 하지만, 자료 수집용으로는 훌륭한 어플이 아닌가 싶다.
맥 어플을 비롯, 윈도우, 아이폰, 안드로이드 등 수 많은 플렛폼 앱이 존재하며, 이미지&오디오&PDF와 월 60MB 의 업로드 용량(물론 전체 용량은 무제한이다.)을 회원에 한해 무료로 제공한다. 필요하다면 연 $45 을 지불하고 프리미엄을 쓰는 것도 좋을 것 같다.
이미 오래전부터 유명세를 타왔던 맥 저널은 글을 쓰는 데에만 집중할 수 있어서 좋고, 노트 프로그램으로썬 꽤나 괜찮은 UI를 지원한다. 특히 풀 스크린 모드에서는 정말 글 쓰는 데에만 집중할 수 밖에 없다. 다만 아직까지 클라우드 기능이 없어서 아이폰 어플이 있긴 한데 Things처럼 Wi-Fi동기화 밖에 안된다. 그래도 뭔가 일기를 쓰기엔 좋은 것 같다. 나는 이 어플로 2006년부터 2년정도 일기를 썼는데, 현재는 에버노트에 옮기고 수기로 일기를 쓰고 있다.
스샷만 봐도 알겠지만, 저게 어플의 모습이다. 풀스크린은 정말 기존의 고전적인 "윈도우" 형 어플의 모습을 완전히 바꿔놓은 듯 하다. 이 어플은 전체화면에서 "은은한" 배경화면 위에 "은은한" 배경음악을 틀어놓고 단지 글만 쓰게 한다. 오로지 글을 쓰기 위해 만들어진 어플. 사실 올 초에 등장한 어플이긴 한데 이미 맥 앱스토어를 통해 많은 사람들이 추천하고 있다. 글쟁이들을 위해 추천한다.
이미 우리삶에 RSS는 너무너무너무나도 익숙한 컨텐츠 구독 방식이다. 구글 리더를 사용하고 있다면, Reeder가 훌륭한 RSS리더 어플이 되어줄 것이다. 일단 디자인이 끝내주게 이쁘고, 자동으로 싱크해주고, 링크복사, 에버노트, 페북보내기, 트윗보내기, Instapaper, Readability, ReadLater, Pinboard, Delicious, Zootool, 메일 링크, Instapaper Mobilizer, Google Mobilizer 등 다양한 공유가 된다. 자체적으로 웹 브라우저 기능도 해서 RSS내에 링크를 따라 들어갈 수 있다. 무엇보다 풀스크린의 지원으로 꽤나 보기좋은 RSS 구독이 가능하다.
아이패드를 쓸 때에는 MindMeister 를 사용하곤 했는데, 웹 클라우드 기반인 마인드 메이스터는 사실 맥용 앱이 없다. 브라우저 자체에서 동작하다 보니 약간 한계가 있는 것 같더라. 물론 아이패드 앱으로는 훌륭했는데, 뭔가 유료계정에만 좋은 기능을 주는 것 같고 제대로 쓰려면 웹에서 월 $4.99를 내고 써야한다. 월정액이라니! 귀찮다.. 아이패드 앱도 "구매"했는데 또 월정액 해야함?
여튼 그런 의미에서 개인적으로 심플한 마인드맵 프로그램 찾다가 이 어플을 찾았다. 첫째는 심플하고 둘째는 마인드맵 자동정렬 기능(메뉴에서 Node -> Reorganized Node) 이 좋고 셋째는 풀스크린 기능(유료)이다. 클라우드 기반은 아니지만 아이폰이랑 Wi-Fi동기화가 되는 점도 좋다. 최근 라이언에 대비한 업그레이드에서는 자동 저장 기능도 제공하고 꽤 쓸만한 마인드맵 프로그램인 것 같다. 유료버전은 풀스크린 기능과 그림첨부 등 몇가지 기능을 더 제공하니 부족하면 구매하는 편을 추천.
새벽을 좋아하는 나는 꼭 아침에 KBS 1라디오의 "동창이 밝았느냐"를 듣지 않으면 하루를 시작하기 힘들다. 이외에도 맥에서는 국내 라디오 어플들이 지원하는게 없어서 듣기가 참 힘들다. (콩이나 미니, 고릴라 죄다 윈도용) 그래서 FStream을 듣기 시작했는데, 국내 어떤 분이 만들어 두신 국내 방송들의 프리셋들 덕분에 국내 방송들을 문제없이 듣고 있다. 아이폰 앱도 존재하는데, 참고로 아이폰에서도 프리셋이 지원되기 때문에 똑같이 국내 방송을 들을 수 있다. (다만 아이폰엔 이미 국내 라디오 방송 앱이 있어서.. ㅎㅎ)
알만한 사람은 다 아는 트윗덱이다. 페북,트윗,포스퀘어,링크드인,구글버즈,마이스페이스 를 한자리에 모아서 타임라인을 보여주고 한번에 다 글을 쓸 수 있게 해주는 앱이다. Notification(통지) 기능이 있어서 사용자가 지정한 단위로 새로운 타임라인의 글을 알려주기도 한다. (다만 내 경우는 이게 넘 혼잡해서 꺼버렸다.) Adobe Air기반 어플이라 윈도우에서도 되고, 아이폰용 어플도 있다. 사실 나는 트위터에 글 쓸때랑 트윗글을 볼 때에만 사용하고(페북은 직접 사이트에서 보는 편) 관심 사용자들을 그룹화해서 그들의 타임라인만 볼 때에 사용한다. 솔직히 트윗같은 경우 사람들을 죄다 볼 필요가 뭐 있는가.
할일 관리의 최고봉 맥 어플이다. GTD(Get Things Do, 5분내로 처리할 수 있는 일을 기준으로 할일을 분류하는 방식)기반의 어플인데 Things를 오랫동안 사용하다가 도저히 클라우드 기능이 병맛이라서 옮겨왔다. 얘는 기본적으로 자체적인 클라우드 저장소(Omni Sync)도 있고, 모바일미 혹은 WebDAV서버에 저장할 수도 있다. 또한 작업 단위로 시작/종료일을 설정하고 중요도 기준, 프로젝트 기준 등으로 다양하게 할일을 표현해 준다. 다만 일단 비싸고($79.99) 신중히 선택해야 할 것은 개인적으로 할일 관리에 대해 오랫동안 고민해 온 입장에서 이런 어플은 안쓰면 정말 무용지물이다. 정말 쓸 자신이 있는! 사람만 사용하길 바란다.. 79달러면 얼마여.. 할일이 별로 없는 사람은 구글 할일 쓰는게 나을지도 모른다.
언제까지 맥으로 플래시 게임만 하고 살텐가. 사실 게임개발에 Direct X가 주로 쓰여서 맥용 플렛폼에서 작동하는 게임이 많지 않아서 그렇지, OpenGL등으로 개발된 게임으로만 가도 상당한 게임이 존재한다. 그런 게임들을 모아서 파는 겜 스토어가 바로 Steam 이다. 스팀은 이미 국내에서도 Left 4 Dead나 Half Life로 유명한 스토어이며, 특히 이 곳에는 맥용 게임 스토어가 있다. 게임이 무료 232개나 있다. 병맛 게임도 있지만 Portal 2 등 훌륭한 게임도 존재한다.
필자는 얼마전에 Valve Complete Pack을 $99.99 에 사버려서 벨브 사의 겜은 다 있다. (참 기쁘기도 하고 슬프기도 하고;;) 여튼 의외로 맥의 하드웨어 수준은 꽤나 괜찮은 편이라서, 게임도 문제없이 잘 돌아가는 것 같다. 참고로 블리자드 사의 모든 게임도 맥에서는 지원하니, 맥 = 겜안돌아감 이라는 편견은 버리시길.... (뭣보다 페러럴즈 돌리고 서든을 돌리는 짓따위는 하지 말자! 차라리 겜방으로!) 개인적으로 아바(A.V.A)의 팬인데, 스팀에서 곧 아바도 서비스 된다 해서 너무 기대중이다.
사실 웹개발을 주로하는 내게 윈도우란 별 필요가 없다. 아니 오히려 요즘 대세인 웹표준이나 html5, RIA기술을 맞추는 데에 있어서 Safari와 크롬 브라우저는 훌륭한 테스트 도구이며 유닉스 기반인 맥을 위해 이미 다양한 서버 기술이 존재하며 다양한 오픈소스 기술이 존재한다. mysql, tomcat, apache, php, ruby 등 플랫폼을 비롯하여 eclipse, netbeans, subversion, git, transmit, sequel Pro, synergy 등등 개발에 도움이 되는 툴 및 기술들도 많이 있다. 비쥬얼 스튜디오를 사용하지 않으면서 난 맥이랑 보다 더 친숙해 진 기분이 든다.
다만 "한국어" 가 많이 없는 게 아쉬울 뿐이다. 허나 맥을 사용하는 우리는 점차 더 글로벌 한 세상에 빠져들 수 있는 장점도 있다. 또한 액티브 엑스 같은 것따위 필요 없다. 최근 국민은행,기업은행,우리은행 등에서 사파리만 되지만(것도 32비트모드.. 많이 귀찮다.) 오픈뱅킹을 지원해서 인뱅도 된다. 웹하드 안되면 어떠리, 토렌트가 있는데. 쇼핑몰 결제 안되는건 좀 아쉽다. 애플스토어처럼 되면 좋은데 말이지..
물론 우리나라의 사회적 "현실"에 맥은 절대 맞지 않는다. 보스에게 키노트 파일 보내드리면 아마 짐싸야 할 지도 모르겠다. 여튼 이러한 다양한 맥용 어플리케이션을 쓰면서, 특히 맥 앱스토어에서 지름질을 많이 해준다면 아마 우리나라 맥 개발자들이 보다 더 양질의 어플을 팍팍 내놓지 않을까. 그러면 폭풍처럼 많은 아이폰 앱 개발자들이 맥용 어플을 개발해 주면 참 맥도 좋아질텐데 ^^ 그런 작은 기대를 하며 글을 마친다.
댓글을 달아 주세요