본문 바로가기

프로그래밍

사람을 위한 자동화, 코드 자동화 관련 이클립스 플러그인 (IBM developerWorks) 예전 몇번의 글로 제가 개발자를 편하게 하는 기술, 나를 행복하게 하는 기술, 정확하게 말해 JUnit, Ant, SVN 등의 여러 자동화 툴을 이용하여 개발자는 프로그래밍만 집중하고 나머지 테스트, 배포, 소스관리, 개발자간 의사소통등의 여러 잡다한 노가다성 일은 자동화 하는 기술에 관심이 있다고 쓴적이 있습니다. 최근에 이런 자동화 기술과 관련된 좋은 세미나가 있었습니다. kenu님 등과 함께 자바 진영에 유명하신 박재성님과 KSUG이 주최한 세미니가 있었어요. 그런데 제가 부상당한 부위(엉덩이 근육통 이라는 엉뚱한 부상입니다.) 가 있어서 가지 못했습니다. 무료로 제가 원하는 바를 골고루 습득할 수 있는 절호의 기회였는데 놓쳐서 땅을 치고 아쉬워하며 서점으로 달려갔습니다. 그래서 서점에서 열이아빠님.. 더보기
자바 NIO 네트워크 프로그래밍 공부 “반전을 조심해야 한다. 겪어보면 기분이 착잡하면서 쓴 약이 되는 반전이 있다. 어제까지만 해도 ‘이 정도면 이 분야 잘아는 것 아닌가~’ 라는 생각을 가지고 있었는데 ‘기초도 모르는구나~’ 라는 착잡한 반전을 경험했다. 어느정도 안다고 생각한 분야의 프로그램에 에러가 발생했는데 하루종일 매달려도 잡히지가 않았다. 그 분야에 정통한 아는 형에게 전화했는데 형이 조언해줘도 내가 못 알아들으니깐 형이 참다가 한마디 던진다. ‘너 기초도 몰라서 얘기가 안 된다. 책좀 읽고 다시 물어봐~!’ 형다운 충고였는데 틀린말이 아니었다. 내가 해결해야될 에러는 까마득한 바다속에 빠진 소중한 물건과 같은데, 까마득한 바다속 길은 깜깜하여 알 수가 없었다. 그래도 해결해야 되니 방법을 찾아보자” 지금 문제가 터진 분야가 ‘.. 더보기
개발자와 프로그래밍의 가치을 높여주는 JUnit 오늘은 정장을 입었습니다. 자유롭게 입다가 정장을 입었더니 불편합니다. 정장이란 옷 자체는 비싼 만큼 기능적으로 불편하진 않을 텐대 마음이 불편한가 봅니다. 그러나 정장을 입었더니 말과 행동이 조심스러워 지면서 나도 모르게 어른스럽게 행동하는 것 같습니다. 그리고 정장을 입으니 인물이 달라보인다(?) 라는 '이것은 칭찬한것도~ 안한것도 아녀~' 식의 덕담도 들었습니다. 정장을 입으면 마음이 불편하여 왠지 입기는 싫지만, 일단 입으면 나를 품위있게 바꿔 나의 가치를 높여주는 효과를 가지고 있습니다. 제가 좋아하는.. 사실은 좋아하려고 노력하는 JUnit가 정장과 같은 효과를 가지고 있습니다. JUnit란 단위 테스트를 도와주는 자바 테스트 프레임워크 입니다. 자세히 설명하면 우리는 보통 프로그램을 개발할 .. 더보기
Grails 마스터하기 (IBM developerWorks) 여러분이 투덜이 프로그래머라면 자주 투덜거리실 말 중에 하나가 ‘이놈의 프로그래밍 세상은 새로 배울게 쏟아져 나온단 말야.. 공부할게 너무 많아’ 일 것입니다. 저도 특히 그랬습니다. 이것 좀 알았다 싶으면 저게 나와서 새로 배워야 된다고 압박을 줍니다. 그러나 요즈음에는 바꿔 생각해서 ‘우리(프로그래머)의 고민을 해결해줄 신기술이 등장했다. 그래서 나의(프로그래머의) 고민을 해결해줄 신기술을 언능 익히자~’ 라는 긍정적인 생각을 가지게 되었습니다. 신기술이 왜 탄생되는가 곰곰히 생각해보니 '기존 기술의 불편함을 개선하기 위해 탄생되는 것' 이라는 당연한 진리를 생각하게 되었습니다. 그래서 내가 불편했던 것을 해소해주는 신기술이라 생각하고 부단히 익히기로 하였습니다..만 귀차니즘은 항상 작동되고 있습니다.. 더보기
자동 빌드 툴 개미의 체질 개선(Ant 리팩토링) 신입사원 시절에 조금이라도 좋다는 자바 기술이 있으면 이것저것 맛을 봤던 기억이 떠올랐습니다. 문제는 대형 할인 매장 시식 코너의 좁쌀만한 음식 먹은 것처럼 맛을 봤다는 것이 문제였습니다. 그래도 당시 유독 나에게 와 닿은 자바기술이 있었으니 바로 ‘리팩토링’ 이라는 객체지향 프로그래밍 기법이었습니다. > 리팩토링(Refactoring) ‘리팩토링’을 내 나름대로 정리하면 ‘구현된 기능은 그대로인 상태에서 내부 소스를 이해하기 쉽게, 객체지향스럽게 개선한다.’ 로 이해하고 있습니다. 요즘 널리 쓰이는 개발자 격언으로 ‘훌륭한 개발자는 남이 알아보기 쉬운 프로그램을 짠다.’ 라는 비슷한 격언이 널리 쓰이고 있습니다. 리팩토링은 개발자의 소중한 미덕인 ‘남이 봐도 이해하기 쉬운 코드 만들기’를 도와 주면서,.. 더보기
객체지향 토론-1 (팀원간 기술 습득의 가치 공유) 계획대로 안 되는 것이 인생인데 작게는 블로그에도 적용되는 구나~ 라고 느끼는 것이, 최근 글감이 많이 생겨서 한번 제대로 써볼려고 하니 귀찮음과 졸림의 방해 요소를 만나서 계속 쓰고 싶은 글을 못 쓰고 있습니다. 그 중 이번주에 재미있는 글감이 하나 생겼습니다. 바로 동료 직원과 나눈 ‘프로그래밍 기술 관련 얘기’ 였는데요. 나중에 곰곰히 생각해 보니 하나의 ‘객체지향 토론’을 한 것이 되었습니다. 그래서 이 토론 내용을 블로그에 올리면 다시 한번 내용 정리도 되고, 잘 정리될 경우 구독자 읽기에도 유익할 것 같아서 쓸라고 했더니만, 주제의 무게감과 글 길이의 부담 때문에 망설이다가 결국 잠만 자게 되었습니다. 그래서 생각한 복안이 처음에는 연재 형식으로 쪼개서 여러 번 포스팅 하고 연재 글이 잘 완료.. 더보기
추상화의 고수가 되자. (생각의 탄생) 서점의 수많은 책 중에서 저절로 끌리는 책이 있습니다. 생각의 탄생이란 책이 그랬습니다. 비싼 책 이었는데 고민 없이 바로 구입하여 읽었습니다. 생각의 탄생에서 말하는 생각은 쓸데없는 잡념이 아니라, '인간이 원하는 목표를 이루기까지 필요한 생각의 각종 도구'를 얘기하고 있습니다. 생각의 탄생에서 말하는 생각의 도구 약 13가지 분야 중에서도 왠지 끌리는 생각의 도구가 있었습니다. ‘추상화’ 입니다. 추상화의 뜻을 확실히 몰랐지만 무의식적으로 프로그래밍이나 글쓰기에 추상화를 많이 적용하고 있다고 생각했기 때문에 책의 다양한 생각의 도구 중에서도 유독 ‘추상화’ 만이 나에게 다가왔습니다. 추상화를 더욱더 잘 활용하기 위해 모처럼 치열한 글쓰기에 도전합니다. + 내가 무의식적으로 생각했던 추상화의 개념 추상.. 더보기
객체지향 글쓰기 (글쓰기 프로그래밍이 가능할까?) 프로그램 개발자가 가장 싫어하는 일중 하나는 무엇일까? 문서 작성이다. 나도 문서 작성을 밤새 야근 하는 것처럼 싫어한다. 그런데 개발자들이 문서 작성을 싫어하는 결정적인 이유는 아마도 개발자 문서 작성이 노가다성이기 때문일 것이다. 화면 캡춰나 기능에 대한 가이드 라인 설명 문구는 지극히 단순 작업으로 개발자를 지치게 하는 요소 중의 하나이다. 그리고 개발자와 글쓰기라는 단어 자체가 북극과 남극처럼 멀리 떨어진 이미지로 느껴진다. 개발자 중 글쓰기를 좋아하는 사람은 많지 않다. 이유는 아마도 프로그램 개발은 이공계 영역이고 글쓰기는 인문계 영역이라는 극단의 차이가 이 둘은 별개의 사고영역이라 생각하면서 내가 잘하기 힘들고, 내가 싫어하는 영역이라고 처음부터 단정짓는 것이 아닐까 싶다. 그러나 개발자인 .. 더보기
오픈소스 컨퍼런스 2007 참가 후기 (위키노믹스의 원조 오픈소스) ‘어느날 깨어보니 나는 천재가 아니었다.’ 최근 내 블로그에 종종 써먹었던 단어들입니다. 이 사실을 깨닫고 허탈하니 기분이 좋지 않아서, 천재를 이기는 특별한 방법이 없을까~ 라는 엉뚱한 고민을 한 적이 있었습니다. 그 때 읽었던 ‘위키노믹스’ 란 책은 나에게 다가온 구원의 메시지가 담긴 성서였습니다. 위키노믹스를 보면 ‘하나의 엘리트 집단이 만드는 특정 결과물보다, 수많은 평범한 사람들이 공동 작업한 결과물이 훨씬 뛰어나다’ 라고 역설하면서 관련 사례들을 이야기 합니다. (예로 기성언론보다 다음블로거뉴스나 올블로그 같은 블로그 메타사이트가 더 훌륭한 미디어 기능을 수행할 것이다.) 그 중 특히 뿌듯했던 것이 위키노믹스의 출발점 이자 성공적인 모델이 개발자들의 ‘오픈소스 환경’ 라는 것입니다. 엘리트 메.. 더보기