2012년 6월 27일 수요일

커피로 지구정복!


부천 역곡북부역 앞 사거리에서 역을 등지고 조금 올라가다보면 우측 길모퉁이에 "커피로 지구정복" 이라는 정말 작은 테이크아웃 찻집이 있다. 사실 거기에 커피숍? (찻집이란 표현이 맞겠네.)이 있는 줄은 처음 알았는데, 후덥지근한 날씨에 그렇게 조그만 점포에 좀 지쳐보이는 청년이 말쑥히 차려입고 앉아있는 모습이 그 장소의 첫인상이라 할 수 있겠다.

지난 일요일, 첫째를 데리고 지나가다 저 장소를 발견하고는 아이스아메리카노 한잔을 주문했다. 점원인지 사장인지 모를 젊은이(아마도 사장이 아닐까?)는 주섬주섬 테이크아웃 컵에 얼음을 담고, 샷을 내리더니, 무쟈게 큰 생수통을 들고는 아이스아메리카노 한잔을 완성해주었다. 왠지 좀 웃기기도 하고, 안스럽기도 하고 (날도 후덥지근한데.. 저 좁은 공간에서 뜨거운 기계를 돌리고 있는게..) 장해보이기도 한다. (사진은 내가 쑥스러워 점원의 시선이 닿지 않는 사각에서 몰래 찍었다.)

집에 와서 마누라에게 새로운 장소에 대해 이야기해주니.. 이미 알고 있단다. 그러고는 회사동료들이 좀 이상한 사람이 하는 커피숍이라서 잘 안간다는 부연설명까지 해주었다. 화가 났다. 그저 더운 날씨에 성실히 커피숍을 운영했을 젊은이한테.. 이상한 사람이라니.. 열심히 일하는 사람한테 그런 말하면 못쓰는거라 핀잔을 주었다.

커피맛이야.. 인상적이지 못했지만 2000원이란 저렴한 가격에 시원한 아메리카노면 나쁘지 않은 것 같다. (게다가 손님에게 뽑기를 시켜서 이벤트도 해준다. 참고로 그 덕에 500원 깎아서 마실 수 있었다. ㅎㅎ) 첫인상에 너무 많은 것을 느낀 것일런지도 모르겠지만, 획일적이기만한 우리나라 커피숍들에 좀 신선한 느낌을 주는 가게였던 것 같다. 다음에가면.. 프라프치노도 한번 마셔봐야겠다. 도대체 어떻게 만들어주는걸까? 궁금하다.

2012년 6월 20일 수요일

'경험'은 모든 경우에서 반드시 논리가 될 수 있는 것은 아니다.

현재 진행중인 프로젝트에서 좀 이해하기 힘든 코딩표준이 나왔다. (현재 프로젝트에서는 Java(Spring)와 Flex(Swiz)로 개발을 진행 중이다.) 어떤 표준인고 하니, 모든 VO 클래스에서 기본생성자를 만들고, 모든 멤버를 리터럴이나, 혹은 문자열 등으로 초기화하라는 표준이었다. 예전에도 프로젝트 내에서 비슷한 이야기를 들었었고, 그 의견을 내었던 분이 프로젝트 내에서 꽤 큰 힘을 가지고 좌지우지 하시는 분이라서 정중히 메일로 내 의견을 밝혔던 기억이 있었다. 그리고, '표준'관점에서 어거지로 기본생성자를 만들어 코딩을 해왔다.

하지만, 개발기간 막바지에 와서 다시 그 이야기를 꺼낸 것이다. (이제 그 이야기를 꺼낸 분을 '그 분'이라 호칭하겠음) 오늘도 사실, 그 분과 그 이야기를 나와 직접 나눈 것은 아니고 일하다 바람결에 들려오는 어처구니가 없는 이야기에 점점 집중, 흥분을 한 나머지 끼어들고 말았다.

먼저 내가 알고 있는 지식으로는... 클래스 내의 멤버변수는 초기화 하지 않았을 경우에 분명히 기본값으로 셋팅된다. 물론 시점이 있는데, 그건 기본생성자(코드상에서 생략되어있는..)를 호출할 때이다. JVM이 인스턴스를 생성하는 절차에 대해서는 따로 설명할 기회가 된다면부연을 하겠지만, 중요한건 이딴 표준이 필요없다는데 있다. 아니, 필요없다기보다는 현 프로젝트에서 굉장히 쓸때없는 짓이며, 그런 주장을 하는 그 분의 논리가 지극히 개인적인 경험에서 나온, 말하자면 "내가 옛날에 초기화 안해서 엄청 고생한 적이 있었어. 디버그모드(그분이 말씀하시는 개발기간)에서야 스펙대로 돌아가겠지만, 런타임에서는 수동으로 초기화되지 않은 코드가 어떤 문제를 발생시킬지 모른다고!" 이런 논리인 것이다.

그 분은 인스턴스가 생성되고, 멤버가 초기화되는 절차를 아시는지 모르시는지.. 모르셨다면 알고나서 굉장히 놀라실 것이고, 혹여 알고 계신다면.. IT에 통달하셔서 "사람이 만든 JVM 따위.."라며 속으로 콧웃음치고 계실런지도 모르겠다.

여튼 마지막으로 그분의 논리를 좀 더 자세히 이야기하자면 그렇다. "설사 기본값으로 셋팅된다 하더라도 JVM은 믿을 수 없는 놈이므로, 경험상 어떤 오류를 야기할 수 없으니 기본값을 셋팅해서 완벽한 프로그램을 만들자."가 첫번째 논리이고, "개발자들이 인스턴스의 멤버에 접근할 때 마다 null 인지 아닌지를 체크하는 코드를 자꾸 집어넣는데 그럼 생산성의 저하가 일어나는게 아닌가!" 라는게 두번째 논리이다.

흥분상태라 좀 두서없긴 한데.. 내 반론은 이렇다. 첫번째로 "JVM에서 기본값 셋팅하는 절차나,개발자가 직접 생성자에 값을 셋팅해주는거나 절차상 차이가 없으므로, JVM을 못믿는거면 인정한다. 근데 그럴거면 Java 따위 뭣하러 쓰지?" 이고, 두번째로는 "개발자가 널값을 체크하건 말건 그게 비지니스 로직을 위해 반드시 해야하는 부분이라면, 기본값 셋팅하고 나서는 널체크를 안해도 된다는 이야기는 개나 줘버리시고, 문자열이나 리터럴로 기본값 초기화를 안해서 널체크를 해야하는거라면 (일단 스펙따윈 잊자) 그럼 VO 클래스마다 멤버 이름 똑같이 복사해서 빈문자열이나 0 따위를 넣고 있는거랑 필요에 따라 널체크하는거랑 뭐가 더 불필요하게 코딩문자수가 길어질까?" 라는 것이다.

아무튼, 오늘 귀중한 경험을 하나 했다. "내가 해봐서 아는데..."라고 말하는 사람과는 가급적 대화할 생각을 말 것. 특히 나도 해본걸 그 사람도 해봐서 안다고 말하는 사람과는 더더욱... 그건 기본적으로 경험의 차이를 떠나 인격의 문제가 아닐까 하는 심각한 고민이 든다.

덧붙임(1)
이게 이렇게 흥분할 일인가? 하고 이글을 읽으시며 반문하실 수도 있는.. 비전문가나 초고수분들께 한가지 귀뜸해드리고 싶은게 있다. 당신도 누군가에게 "기본이 안되어있는데 무슨!" 이라는 말이나 "나에게 생산성을 논해? 허~ 참.." 이란 말을 듣는다면 나처럼 흥분 안하게 생겼는가? ㅋㅋ

덧붙임(2)
덕분에 공부 많이 했다. 혹시 내 지식이 틀렸을까봐 레퍼런스도 많이 찾아봤고, 좋은 글도 발견한 만큼... 감사해야될 부분도 있는것 같다. 마치 MB덕분에 온 국민이 광우병 전문가가 되었듯 말이다.오늘본 레퍼런스 중에 좋은 것은다 영문이었는데, 하나쯤 번역해서 올려보아야겠다.그 분이 같은 이슈로 검색하시다가 내 블로그에 들어오실 수도 있으니... 참고하시라고..

1. Object initialization in Java : http://www.javaworld.com/javaworld/jw-03-1998/jw-03-initialization.html?page=1
(번역물 : http://mosscarpet.blogspot.kr/2012/07/java-1.html)

2. Java Language and Virtual Machine Specification : http://docs.oracle.com/javase/specs/

덧붙임(3)
근데.. FLEX는 안에서 어떻게 돌아가는지 전혀 알고 싶은 마음이 안생기는건 왜 일까?

2012년 6월 16일 토요일

왜 살지?

뛰어노는... 또 크게 우는 우리 아이들을 보고 있노라면, 힘이 들지만 거꾸로 없던 힘도 생기는 것 같다. 마누라도 크게 힘들어하는 모습이지만, 나와 별로 다르지 않을 것 같다. (이렇게 이야기하면 또 내가 뭘 아냔 식으로 쏘아붙이겠지? 크큭...)

그럼 이렇게 내게 힘을 주는 가족들을 보며 내가 살아가는 이유를 찾으면 그 뿐일까? 일은 재미도 없고, 보람도 없고, 이젠 죄책감마저 드는데... 알량한 책임감 때문에 그저내 자리를 보전하기 급급하다면... 그럼 일을 계속하는게 옳은걸까? 아니.. 아니지.. 내 삶의 이유를 가정과 일에서만 찾는게 과연 합당한 것일까?

뭔가 나는 아직 모르고 있다. 사는 것에 대한 이유말이다. 하루하루 '나는 행복한 사람'이라고 되뇌이는... 자위행위를 통해 버틸 수 있는 한계는 어디까지일까?

가족을 사랑하지 않는게 아니라, 곰같은 울 마누라를 사랑하지 않는게 아니라, 일이 하기 싫은게 아니라 그냥 "왜 살지" 라는 스스로의 물음에 다시 스스로 자신있게 대답하고 싶을 뿐이다.

자신있게! 나답게!

2012년 6월 13일 수요일

날적이 = 일기

첫째아이를 어린이집에 보냈다가 배운 말이 바로 '날적이' 이다. 날적이란 매일매일 적는다는 뜻이고, 곧 '일기'라는 한자의 우리말이 된다. (우리말이 먼저고, 한자가 먼저고는 따지지말자. 그냥 날적이 = 일기 란 이야길 하고 있으니까)

얼마먹지 않은 나이지만 점점 기억력이 쇠퇴해가는 것도 있고, 어르신들이 흔히 이야기하듯 시간이 하루가 다르게 빨리 지나가버리는 것도 있으므로, 이야기를 남겨 삶을 기록해두는 것도 나름의 의미가 있을 것 같다. 겉보기와 다르게 소심한 탓에 마누라에게 이 날적이를 적는 것을 들켜버리면 언제고 중단해버릴지도 모를 일이지만, 그래도 예전에 운영하였던 "생각의 뜰" 이란 블로그와는 달리 좀 오래 살아남았으면 한다.

블로그의 제목에 들어있는 '19금'이란 단어는 이 블로그가 어른의 이야기를 담는다는데 그 뜻이 있다. 그러므로, 부디 19세 이하의 미성년자나 혹은 19세이하의 정신연령을 가진 분들께서는 발길을 돌려주시기 바란다. 왜냐하면 주인장이 꼭 19세를 넘어서는 정신연령을 가졌다고는 보기 힘들므로 반드시 어른의 시각에서 주인장의 끄적임을 감상해야 올바른 판단이 가능하기 때문이다. 흐흐...

어쨌든 그럼 오늘의 날적이는 이것으로 끝인가? 블로그를 좀 더 분위기있게 꾸며봐야겠다.