본문 바로가기

칼럼

객체-관계 맵핑 사고의 고수를 꿈꾸다. 블로그를 대함에 있어 머리와 손이 따로 움직이는 느낌입니다. 갈수록 블로그의 활용 가치가 높아져서 열심히 써야겠다는 마음은 드는데 글쓰기는 안하고 초저녁에 잠만 자고 있습니다. 블로그의 활용 가치중에 요즘 느끼는 것은 블로그를 배움의 도구로 쓸수 있다는 것입니다. 예를 들어 ‘객체 지향’은 이런것이다~ 라고 뜬구름 잡듯 어렴풋이 인식하고 있는 지식을 명쾌하게~ 글로 써서 독자에게 설명할 수 있을 정도까지 쓰려면, 그야말로 머리를 꽝꽝~ 벽에 부딪쳐 가며 사고력 부족의 한계를 이겨내야만 쓸 수 있습니다. 그래서 글쓰기로 프로그래밍 역량이든 교양능력이든 많이 향상시킬수 있다는 것을 느끼고 있습니다. 최근에 산고의 고통 끝에 배움의 기쁨을 얻기 위해 쓴 글중에 객체지향 글쓰기 (글쓰기 프로그래밍이 가능할까?).. 더보기
팀원에게 객제지향 개발을 유도하기 (3/3) 팀원에게 객제지향 개발을 유도하기 (1/3), 팀원에게 객제지향 개발을 유도하기 (2/3)에 이어서 포스팅 합니다. + 2008년 초 레거시 코드를 스프링 프레임워크 IoC로 이식하며 > 잠깐, 왜 인터페이스와 인터페이스를 상속하는 구현 클래스를 만드는 방식으로 프로그래밍 해야 하는 거죠? 팀원에게 객제지향 개발을 유도하기 (1/3)에 객체지향스럽게 짠다는 의미를 대상 요소를 잘 추상화 하여 추상화의 장점을 잘 살리는 것이라고 했습니다. 인터페이스와 인터페이스를 상속하는 구현 클래스를 만드는 것이야 말로 바로 객체지향 추상화의 기본이 되는 프로그래밍 방식입니다. 그리고 스프링의 IoC(Inversion Of Control)기능이 바로 인터페이스와 인터페이스를 상속하는 구현 클래스 방식의 객체지향 개발을 .. 더보기
팀원에게 객제지향 개발을 유도하기 (2/3) 팀원에게 객제지향 개발을 유도하기 (1/3) 에 이어서 포스팅 합니다. > 왜 JUnit등의 테스팅 프레임워크를 이용하여 테스트 클래스를 만들어야 되는거죠? 보통 버그를 어떻게 잡으시나요. 1. 대충 테스트 하고 '이 정도면 되겠지 아마 에러 안날꺼야~' 라고 낙관하거나 2. 에러나면 그때 처리하자고.. 라고 낙관하거나 3. 그래도 이부분은 에러 없어야 되니 100가지 경우를 몽땅 '수작업'으로 테스트 하는거야.. 대개 이러지 않을까요. 그런데 이런 경우는 생각만 해도 아찔합니다. 보호망 없이 외줄타기 하는것과 같고, 망망대해에서 손으로 물고기 잡는것과 마찬가지이고, 로봇으로 자동 제작하던 공장 제품을 갑자기 수작업으로 제작하는 것과 마찬가지입니다. JUnit은 외줄타기 하는 개발자를 추락으로부터 보호해.. 더보기
팀원에게 객제지향 개발을 유도하기 (1/3) 우리회사 팀원들은 각 분야에 일가를 이룬 분들입니다. 특히 금융 전산 분야에서 우리의 능력은 탁월하죠. 다만 오래전부터 경력쌓던 분이라 그런지 절자지향적인 개발에 익숙하고 객체지향 개발은 다소 멀게 느끼시는 그런 모습이 있었습니다. 잠깐, 내가 생각하는 절차지향, 객체지향 프로그래밍 절차지향은, 모든 프로그래밍을 처리, 분기, 반복으로 처리할수 있다는 관점에서 절차적으로 처리하는 방식 객체지향은, 세상의 모든 요소를 객체와 객체간의 관계로 추상화하여, 추상화시 얻을 수 있는 확장성과 유지보수 편리함을 지향하는 개발 방법론 예전에 우리 회사 솔루션 개발에 객체지향 솔루션을 가져다 쓰면서 동료들이 몇가지 의문을 제기한 부분이 있었는데요. 그 의문들은 대부분 원론적인 질문들이라 제가 제대로 답변을 못한 부분이.. 더보기
개발자와 프로그래밍의 가치을 높여주는 JUnit 오늘은 정장을 입었습니다. 자유롭게 입다가 정장을 입었더니 불편합니다. 정장이란 옷 자체는 비싼 만큼 기능적으로 불편하진 않을 텐대 마음이 불편한가 봅니다. 그러나 정장을 입었더니 말과 행동이 조심스러워 지면서 나도 모르게 어른스럽게 행동하는 것 같습니다. 그리고 정장을 입으니 인물이 달라보인다(?) 라는 '이것은 칭찬한것도~ 안한것도 아녀~' 식의 덕담도 들었습니다. 정장을 입으면 마음이 불편하여 왠지 입기는 싫지만, 일단 입으면 나를 품위있게 바꿔 나의 가치를 높여주는 효과를 가지고 있습니다. 제가 좋아하는.. 사실은 좋아하려고 노력하는 JUnit가 정장과 같은 효과를 가지고 있습니다. JUnit란 단위 테스트를 도와주는 자바 테스트 프레임워크 입니다. 자세히 설명하면 우리는 보통 프로그램을 개발할 .. 더보기
Grails 마스터하기 (IBM developerWorks) 여러분이 투덜이 프로그래머라면 자주 투덜거리실 말 중에 하나가 ‘이놈의 프로그래밍 세상은 새로 배울게 쏟아져 나온단 말야.. 공부할게 너무 많아’ 일 것입니다. 저도 특히 그랬습니다. 이것 좀 알았다 싶으면 저게 나와서 새로 배워야 된다고 압박을 줍니다. 그러나 요즈음에는 바꿔 생각해서 ‘우리(프로그래머)의 고민을 해결해줄 신기술이 등장했다. 그래서 나의(프로그래머의) 고민을 해결해줄 신기술을 언능 익히자~’ 라는 긍정적인 생각을 가지게 되었습니다. 신기술이 왜 탄생되는가 곰곰히 생각해보니 '기존 기술의 불편함을 개선하기 위해 탄생되는 것' 이라는 당연한 진리를 생각하게 되었습니다. 그래서 내가 불편했던 것을 해소해주는 신기술이라 생각하고 부단히 익히기로 하였습니다..만 귀차니즘은 항상 작동되고 있습니다.. 더보기
PHP로 RSS 피드 수집기를 직접 만들어보자. (IBM developerWorks) 블로그 하면 머릿속에 어떤 용어들이 스쳐 지나 가십니까? 블로그를 아는 대부분의 사람들이 RSS란 용어를 얘기할 것입니다. ‘블로그가 RSS를 키웠는가, RSS가 블로그를 키웠는가’ 라는 질문이 생각났습니다. 하나만 선택하라면 대답하기 쉽지 않을 것입니다. 둘다 맞는 말이기 때문입니다. 정보를 구독하는 입장에서의 RSS의 효과는, 하나 하나 원하는 사이트를 방문하지 않고도 자동으로 정보가 갱신될 때마다 RSS 리더기에서 편하게 원하는 정보만을 골라서 구독할 수 있습니다. 정보를 제공하는 입장에서의 RSS효과는, 자신의 정보가 많은 사람들에게 읽힐 수 있는 새롭고 편리한 유통 경로를 제공하여 자신의 정보가 많은 사람들에게 읽힐 수 있게 도와줍니다. 여기까지가 블로그 좀 한다는 분 들이라면 당연히 아는 얘기.. 더보기
블로거 컨퍼런스 후기 (글쓰기의 가능성과 한계) 청나라의 침략에 40여일을 겨우 버티다가 치욕적으로 항복한 병자호란 얘기가 담긴 소설 남한산성을 감명깊게 읽었습니다. 사람사는 세상의 모든 진흙탕~ 요소를 한권의 책에 모두 담아냈기 때문입니다. 남한산성에는 3가지 부류의 사람들이 등장합니다. 하나는, 청나라의 침략에 항복이든 저항이든 어떻하든 해결해보고자 발로 뛰는 ‘실천가’들로 특히 항복을 주장한 최명길은 체면 중시의 양반 관료들에게 모욕을 당하면서 까지 나라를 위해 자신의 체면을 버렸습니다. 다른 하나는, 높은 자리에 가만히 앉아 말과 글로만 청나라를 물리치려고 했던 무능한 관료, 무능한 ‘관찰자’들 입니다. 이들은 말과 글로 청나라를 이겨서 조선의 자존심을 살리자고 ‘에헴~’ 하며 주장합니다. 그러나 그들의 말과 글에는 구체적인 실천 방법이 없었습.. 더보기
사람(개발자)을 위한 자동화 기술에 눈을 뜨다. 블로그에 종종 쓰긴 했지만 현업에서 평범한 자바 개발자에게 요구하는 일은 단순 노가다 작업이 많습니다. 하나의 샘플 업무가 완성되면 나머지 화면을 반복하여 찍어내는 작업~이 SI에서는 많습니다. 친구가 최근에 초대형 금융 SI 프로젝트에 설계부터 참여하게 됐습니다. 친구는 큰 프로젝트에서 많이 배울 것 같다며 기분 좋아했습니다. 저도 “네가 만약 그 프로젝트를 성공적으로 완수 한다면 지금의 너와 그때의 너는 하늘과 땅 차이가 될 것이다.” 며 용기를 북돋아 줬습니다. 그런데 친구가 요즘 하는 말이 초대형 프로젝트는 무엇인가 틀릴 줄 알았는데 역시 단순 노가다 작업인 것 같다며 푸념합니다. 저는 친구가 이해됐습니다. (그래도 친구는 프로 개발자이기 때문에 주어진 임무는 성실히 완수 할 것이고 저도 그렇게 .. 더보기
자바 개발자들이 한자리에 모였다. (JCO 컨퍼런스 후기) + 한국 자바 개발자 컨퍼런스(JCO) 에 참가하다. 저는 자바 개발자로 새로운 자바 기술의 흐름과 관련 커뮤니티 행사에 관심이 있습니다. 마침 JCO(한국자바개발자협의회)에서 주최하는 제9회 한국 자바 개발자 컨퍼런스는 자바 관련 컨퍼런스/세미나중 가장 큰 규모로 열리는 행사였기에 이번에 참가하게 되었습니다. 잠깐, 자바란 무엇인가? 어떤 H/W, 어떤 O/S에서도 같은 코드로 실행 가능해야 한다. 라는 개념으로 탄생한 객체 지향 언어로 특히 기업 환경(Enterprise 환경)에 크게 성공하여 공공, 금융, 기업 전산화에 널리 쓰이고 있다. JCO(Java Community Org), 자바 개발자 역량 향상, 업무 환경 개선등의 자바 개발자를 위해 탄생한 비영리 협의회 한국 자바 개발자 컨퍼런스, J.. 더보기
펀드 폭락, 서민 재테크 어렵습니다. 물가 상승률 따라잡기도 벅찬 은행 이자율을 대신하여 주가가 급 상승하던 작년 봄에 저는 종자돈 500만원을 들고 해외 펀드를 가입하였습니다. 그러나 미국 서브프라임 모기지론 사태에 따른 여파에 따라 제가 가입했던 해외 펀드는 350여만원으로 줄어서 30%에 가까운 손실을 기록하고 있습니다. 그 외 저는 이 펀드 말고도 4개의 펀드에 분산 투자 하고 있었는데 한 군대 빼고는 전부 마이너스를 기록 중입니다. 먹고 살 것을 걱정할 정도로 큰 돈은 아니지만 요즘 하늘을 보며 허탈해 하고 있습니다. 허탈하긴 하지만 제가 겪었던 펀드 가입 등의 재테크 방법과 올해 어두운 주가 전망에 따라서 앞으로 어떻게 해야 될지 정리해야겠다는 생각을 하게 되었습니다. 이미 지나간 일은 어쩔 수 없더라도 앞으로 정신차리고 잘해야 .. 더보기
전지전능한 관찰자의 허황된 힘 “적이 누구인지를 명확히 하라” 내가 두고두고 읽고 있는 ‘전쟁의 기술’이란 책의 첫번째 조언이다. 하필 첫번째 조언부터 삭막하게 ‘적이 누구인지를 명확히 하라’ 일까. 나를 싫어하는 사람이라도 내가 먼저 좋게 대하면 상대방도 마음을 열어줄 것이란 기대는 4살짜리 어린애 같은 어리석은 순진함 이었다. 이런 순진함은 과거 다니던 회사의 싸움에서도 증명되었다. 과거 회사 어른들이 4살짜리 순진함으로 대했던 그들은 가차없이 깊은 상처를 주었다. 그래서 나와 주변 조직을 갉아먹는 ‘적’을 식별하는 능력을 갖추지 못하면 반드시 치명적인 독으로 다가온다는 것을 깊이 새겼다. 나는 ‘적이 누구인지를 명확히 하라’ 를 가슴 깊이 새기고 있다. 이것이 ‘전쟁의 기술’에서 얻은 지혜다. “문장으로 발신한 대신들의 말은 기.. 더보기