본문 바로가기

자바

Extreme Programming에 조금씩 가까이 가기 최근 프로젝트가 빠듯한 편은 아니라 여유가 있습니다. 다만 저 같은 경우는 해당날짜에 끝내야될 일이 있어서 일과중에는 꽤 바쁘게 자바 소스를 돌리고 있습니다. 저번주 말부터 진득하게 일과시간 프로그래밍을 하면서 몇가지 느낀바가 있었습니다. 예전에 제가 환상을 가졌던 Extreme Programming에 비교하여 한번 그 생각을 정리해 봤습니다. 주 48시간 근무? 제가 Extreme Programming(이하 XP)에 환상을 가진 이유는 XP 규칙중에 주 48시간 근무를 지켜라~ 라는 규칙이 있기 때문이었어요. 아름다운 규칙입니다. XP에서는 이 규칙을 통해 ‘진정한 생산성’ 이 무엇인지 알려주고 있습니다. 야근이 일상화 된 곳에서는 크게 바쁘지 않는 이상 어차피 야근할 것 일과시간에는 예를들면 인터넷 .. 더보기
프로젝트 수행시 이해관계자의 활발한 참여가 중요한 이유 모처럼 프로젝트 수행하는 사이트(=고객사)로 파견나갔습니다. 중요한 일로 갔기 때문에 잘해야겠다는 생각이 들고 이제 시작이지만 일도 무난하게 진행되고 있습니다. 무엇보다 업무 압박(=야근) 없이 여유있게 일할수 있어서 좋습니다. 제가 프로그래머로 업을 삼겠다고 다짐 했을때는 게임하듯 프로그램 로직만 짜면 되는줄 알았답니다. 그래서 프로그래머로 재미있게 평생 일해야지~ 라고 아름다운 상상을 했었어요. 그런데 현장에 나가보니 프로그램 역량 못지 않게 직장 동료, 고객 담당자를 대하는 능력, 한마디로 사람과의 의사소통/커뮤니케이션 능력이 너무도 중요하다는 것을 깨달았습니다. 저는 고객등의 프로젝트 관련 당사자들과 커뮤니케이션을 어려워했고 아직도 어려워 합니다. 그래도 이명박의 버벅거리는 3류 정치, 꽉막힌 의.. 더보기
객체-관계 맵핑 사고의 고수를 꿈꾸다. 블로그를 대함에 있어 머리와 손이 따로 움직이는 느낌입니다. 갈수록 블로그의 활용 가치가 높아져서 열심히 써야겠다는 마음은 드는데 글쓰기는 안하고 초저녁에 잠만 자고 있습니다. 블로그의 활용 가치중에 요즘 느끼는 것은 블로그를 배움의 도구로 쓸수 있다는 것입니다. 예를 들어 ‘객체 지향’은 이런것이다~ 라고 뜬구름 잡듯 어렴풋이 인식하고 있는 지식을 명쾌하게~ 글로 써서 독자에게 설명할 수 있을 정도까지 쓰려면, 그야말로 머리를 꽝꽝~ 벽에 부딪쳐 가며 사고력 부족의 한계를 이겨내야만 쓸 수 있습니다. 그래서 글쓰기로 프로그래밍 역량이든 교양능력이든 많이 향상시킬수 있다는 것을 느끼고 있습니다. 최근에 산고의 고통 끝에 배움의 기쁨을 얻기 위해 쓴 글중에 객체지향 글쓰기 (글쓰기 프로그래밍이 가능할까?).. 더보기
Apache Jmeter를 활용한 부하테스트 오늘은 부하테스트에 관한 짧은 글 입니다. 보통 글을 쓸 때 특히 설명문 같은 글을 쓸 때는 그 주제에 대해 많이 알아야 쓸 수 있을 것입니다. 그런데 오늘 같은 주제는 저도 잘 모르는 분야~라 오히려 혹시 이 글을 봐주시는 고수분께 제가 물어보는 형식의 글이 될지도 모르겠습니다. 부하테스트란 서비스 작동될 서버에 일정량의 트래픽을 일부러 발생시켜 서버가 다운되지 않고 정상 작동되는지 여부를 테스트 하는 것이라고 정의해 보았습니다. 저는 최근에 서버에서 작동되는 몇 가지 프레임워크를 동료들과 함께 개발한 다음 부하테스트를 해야 했던 일이 있었습니다. 그런데 저는 부하테스트에 관하여 항상 가지던 의문이 있었습니다. 부하를 어떻게 발생시킬 것인가~ 그리고 부하 테스트가 성공적으로 완수되었다는 판단 기준은 무.. 더보기
데이터 추상화에 대한 IBM developerWorks의 좋은 기사 저는 수차례 프로그래밍 관련 글에서 세상을 객체로 분석할 때 추상화를 잘할 수 있다면 유지보수와 확장성에 대한 장점을 얻을 수 있다고 써왔습니다. 제가 예전에 썼던 글 추상화의 고수가 되자. (생각의 탄생) 에서는 추상화를 1. 복잡한 현상과 불필요한 변수 뒤에 숨겨진 2. 사물의 본질을 핵심적으로 나타낼 수 있는 3. 하나의 속성을 찾는다.라고 정의 했습니다. 그리고 최근 제가 쓴 칼럼 에서는 객체지향스럽게 짠다는 의미를 '대상 요소를 잘 추상화 하여 자유로운 확장을 지향하고 유지보수 편리하게 활용한다는 의미'라고 썼습니다. 여기 프로그래밍의 고수 김승권님이 IBM developerWorks에 기고한 데이터 추상화 칼럼이 최근에 올라왔습니다. 추상 데이터에 대한 정의와 현실세계를 모델링한 예를 들고 있.. 더보기
팀원에게 객제지향 개발을 유도하기 (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) 우리회사 팀원들은 각 분야에 일가를 이룬 분들입니다. 특히 금융 전산 분야에서 우리의 능력은 탁월하죠. 다만 오래전부터 경력쌓던 분이라 그런지 절자지향적인 개발에 익숙하고 객체지향 개발은 다소 멀게 느끼시는 그런 모습이 있었습니다. 잠깐, 내가 생각하는 절차지향, 객체지향 프로그래밍 절차지향은, 모든 프로그래밍을 처리, 분기, 반복으로 처리할수 있다는 관점에서 절차적으로 처리하는 방식 객체지향은, 세상의 모든 요소를 객체와 객체간의 관계로 추상화하여, 추상화시 얻을 수 있는 확장성과 유지보수 편리함을 지향하는 개발 방법론 예전에 우리 회사 솔루션 개발에 객체지향 솔루션을 가져다 쓰면서 동료들이 몇가지 의문을 제기한 부분이 있었는데요. 그 의문들은 대부분 원론적인 질문들이라 제가 제대로 답변을 못한 부분이.. 더보기
사람을 위한 자동화, 코드 자동화 관련 이클립스 플러그인 (IBM developerWorks) 예전 몇번의 글로 제가 개발자를 편하게 하는 기술, 나를 행복하게 하는 기술, 정확하게 말해 JUnit, Ant, SVN 등의 여러 자동화 툴을 이용하여 개발자는 프로그래밍만 집중하고 나머지 테스트, 배포, 소스관리, 개발자간 의사소통등의 여러 잡다한 노가다성 일은 자동화 하는 기술에 관심이 있다고 쓴적이 있습니다. 최근에 이런 자동화 기술과 관련된 좋은 세미나가 있었습니다. kenu님 등과 함께 자바 진영에 유명하신 박재성님과 KSUG이 주최한 세미니가 있었어요. 그런데 제가 부상당한 부위(엉덩이 근육통 이라는 엉뚱한 부상입니다.) 가 있어서 가지 못했습니다. 무료로 제가 원하는 바를 골고루 습득할 수 있는 절호의 기회였는데 놓쳐서 땅을 치고 아쉬워하며 서점으로 달려갔습니다. 그래서 서점에서 열이아빠님.. 더보기
TCP/IP 책 3종 세트를 읽고 (네트워크 프로그래밍) > 어거지 네트워크 전쟁 스토리 "이지스 서버가 가동됐다. 이지스 시스템은 대용량의 멀티 세션 공격도 방어할 수 있기 때문에 ‘제우스의 방패’ 라는 이름이 붙여졌다고 한다. 최첨단 이지스 시스템은 현재 여러 진영에서 개발되었다. 리눅스 진영의 멀티쓰레드 이지스 시스템, 윈도우 진영의 멀티쓰레드 이지스 시스템이 있고 자바 진영의 NIO 이지스 시스템이 있다. 자바진영의 NIO 이지스 시스템은 고난이도 성능 구현에는 리눅스, 윈도우 진영에 뒤지지만 조작하기가 쉽고 어느 함선이든 탑재하기 쉬운 장점이 있다. 우리 이지스 서버는 리눅스 진영의 아무 함선(서버)이나 개조하여, 자바 진영의 NIO 이지스 시스템을 탑재하고 최근에 가동됐다. 이지스 서버의 IP정보를 획득한 TCP/IP 세션편대가 이진수 상공을 어지럽.. 더보기
자바 NIO 네트워크 프로그래밍 공부 “반전을 조심해야 한다. 겪어보면 기분이 착잡하면서 쓴 약이 되는 반전이 있다. 어제까지만 해도 ‘이 정도면 이 분야 잘아는 것 아닌가~’ 라는 생각을 가지고 있었는데 ‘기초도 모르는구나~’ 라는 착잡한 반전을 경험했다. 어느정도 안다고 생각한 분야의 프로그램에 에러가 발생했는데 하루종일 매달려도 잡히지가 않았다. 그 분야에 정통한 아는 형에게 전화했는데 형이 조언해줘도 내가 못 알아들으니깐 형이 참다가 한마디 던진다. ‘너 기초도 몰라서 얘기가 안 된다. 책좀 읽고 다시 물어봐~!’ 형다운 충고였는데 틀린말이 아니었다. 내가 해결해야될 에러는 까마득한 바다속에 빠진 소중한 물건과 같은데, 까마득한 바다속 길은 깜깜하여 알 수가 없었다. 그래도 해결해야 되니 방법을 찾아보자” 지금 문제가 터진 분야가 ‘.. 더보기
에러 잡는 마음가짐 > 들어가기전 잡담 어제는 친한 친구와 약속이 있었고, 오늘도 친구와 약속이 있었는데 모두 취소가 되었습니다. 허탈한 마음을 뒤로하고 투표를 하고 서점에 갔다가 집에 왔습니다. 이쯤 되면 시간도 남고 제가 한방 포스팅이라고 부르는 블로깅을 할 수도 있었는데 블로깅도 리듬을 타는 것 같습니다. 이제 회사일 바빠져서 블로깅 천천히 하겠다고 쓴 글이 무안하게 얼마전에는 글을 많이 쓴다 싶더니만 이번주는 글쓰기에 손이 가질 않았습니다. 머릿속에 떠오르는 글감중 최근 경험담이 담긴 간단한 글을 쓰면서 다시 닻을 올리고 항해(=블로깅)를 해야겠습니다. > 본문 에러는 잡힌다. 짧은 경력이지만 내가 아는 에러는 완전히 죽진 않더라도, 잡히지 않은 적은 없었다. 그러나 에러를 잡는 과정은 잃어버린 지갑을 찾는 것처럼 .. 더보기
개발자와 프로그래밍의 가치을 높여주는 JUnit 오늘은 정장을 입었습니다. 자유롭게 입다가 정장을 입었더니 불편합니다. 정장이란 옷 자체는 비싼 만큼 기능적으로 불편하진 않을 텐대 마음이 불편한가 봅니다. 그러나 정장을 입었더니 말과 행동이 조심스러워 지면서 나도 모르게 어른스럽게 행동하는 것 같습니다. 그리고 정장을 입으니 인물이 달라보인다(?) 라는 '이것은 칭찬한것도~ 안한것도 아녀~' 식의 덕담도 들었습니다. 정장을 입으면 마음이 불편하여 왠지 입기는 싫지만, 일단 입으면 나를 품위있게 바꿔 나의 가치를 높여주는 효과를 가지고 있습니다. 제가 좋아하는.. 사실은 좋아하려고 노력하는 JUnit가 정장과 같은 효과를 가지고 있습니다. JUnit란 단위 테스트를 도와주는 자바 테스트 프레임워크 입니다. 자세히 설명하면 우리는 보통 프로그램을 개발할 .. 더보기
Grails 마스터하기 (IBM developerWorks) 여러분이 투덜이 프로그래머라면 자주 투덜거리실 말 중에 하나가 ‘이놈의 프로그래밍 세상은 새로 배울게 쏟아져 나온단 말야.. 공부할게 너무 많아’ 일 것입니다. 저도 특히 그랬습니다. 이것 좀 알았다 싶으면 저게 나와서 새로 배워야 된다고 압박을 줍니다. 그러나 요즈음에는 바꿔 생각해서 ‘우리(프로그래머)의 고민을 해결해줄 신기술이 등장했다. 그래서 나의(프로그래머의) 고민을 해결해줄 신기술을 언능 익히자~’ 라는 긍정적인 생각을 가지게 되었습니다. 신기술이 왜 탄생되는가 곰곰히 생각해보니 '기존 기술의 불편함을 개선하기 위해 탄생되는 것' 이라는 당연한 진리를 생각하게 되었습니다. 그래서 내가 불편했던 것을 해소해주는 신기술이라 생각하고 부단히 익히기로 하였습니다..만 귀차니즘은 항상 작동되고 있습니다.. 더보기
Apache MINA(미나)로 프로토콜 로직 만든 후기 오늘은 프로그래밍 얘기입니다. 블로그를 운영하신다면 자신이 쓴 모든 글들이 사랑스럽겠지만 두고두고 써먹히는 글이 특히 예쁠것입니다. 두고두고 써먹히는 글이라면 검색엔진 유입글을 예로 들 수 있습니다. 계속 검색엔진 상단에 걸려 내 블로그에 유입되는 글들은 기특한 글 들입니다. 제 블로그에도 두고 두고 유입되는 기특한 글이 있는데요. 일단 검색 유입어를 말씀드리면 검색어가 아래와 같습니다. 미나 MINA 산골 MINA 글로 그림 MINA Apache MINA 미나? MINA? 왠 여자 이름..산골이와 미나와 어떤 관계야? 미나가 산골소녀인가? 이런 의문을 가질 수도 있겠지만.. 사실 저 검색어의 실체는 Apache MINA라는 이름을 가진 자바 NIO 기반 네트워크 프레임워크 오픈소스 입니다. 특이한 것은.. 더보기
자동 빌드 툴 개미의 체질 개선(Ant 리팩토링) 신입사원 시절에 조금이라도 좋다는 자바 기술이 있으면 이것저것 맛을 봤던 기억이 떠올랐습니다. 문제는 대형 할인 매장 시식 코너의 좁쌀만한 음식 먹은 것처럼 맛을 봤다는 것이 문제였습니다. 그래도 당시 유독 나에게 와 닿은 자바기술이 있었으니 바로 ‘리팩토링’ 이라는 객체지향 프로그래밍 기법이었습니다. > 리팩토링(Refactoring) ‘리팩토링’을 내 나름대로 정리하면 ‘구현된 기능은 그대로인 상태에서 내부 소스를 이해하기 쉽게, 객체지향스럽게 개선한다.’ 로 이해하고 있습니다. 요즘 널리 쓰이는 개발자 격언으로 ‘훌륭한 개발자는 남이 알아보기 쉬운 프로그램을 짠다.’ 라는 비슷한 격언이 널리 쓰이고 있습니다. 리팩토링은 개발자의 소중한 미덕인 ‘남이 봐도 이해하기 쉬운 코드 만들기’를 도와 주면서,.. 더보기
사람(개발자)을 위한 자동화 기술에 눈을 뜨다. 블로그에 종종 쓰긴 했지만 현업에서 평범한 자바 개발자에게 요구하는 일은 단순 노가다 작업이 많습니다. 하나의 샘플 업무가 완성되면 나머지 화면을 반복하여 찍어내는 작업~이 SI에서는 많습니다. 친구가 최근에 초대형 금융 SI 프로젝트에 설계부터 참여하게 됐습니다. 친구는 큰 프로젝트에서 많이 배울 것 같다며 기분 좋아했습니다. 저도 “네가 만약 그 프로젝트를 성공적으로 완수 한다면 지금의 너와 그때의 너는 하늘과 땅 차이가 될 것이다.” 며 용기를 북돋아 줬습니다. 그런데 친구가 요즘 하는 말이 초대형 프로젝트는 무엇인가 틀릴 줄 알았는데 역시 단순 노가다 작업인 것 같다며 푸념합니다. 저는 친구가 이해됐습니다. (그래도 친구는 프로 개발자이기 때문에 주어진 임무는 성실히 완수 할 것이고 저도 그렇게 .. 더보기
객체지향 토론3 (이슈정리와 용두사미) 제가 주말 늘어지게 쉴 때는 포스팅 제대로 해보겠습니다만, 평일 날 늦게까지 일하고 나면, 또는 일찍 퇴근하더라도 졸립고 하여 포스팅 하기가 어려워집니다. 어렵더라도 쪼개서 조금씩이라도 자주 포스팅 하는 습관을 가져야겠습니다. 객체지향 토론 연재글을 시작하면서 시작하게된 동기가 스프링이라는 자바 프레임워크로 개발한 프로젝트(팍스)에 그냥 일반적인 방식으로 개발한 소스(탱고)를 붙이는 과정이 있었는데요. 이때 당사자간의 객체지향에 대한 토론 내용이 박진감이 넘쳐서 글로 쓰면 어떨까 싶어서 쓰기 시작했었습니다. 그런데 사실은..사실은.. 몇 주가 지난 지금에 오니 그때의 대화 내용을 거의 잊어버리게 되었습니다. 그리고 곰곰히 생각해보니 저야 뭐 객체지향스럽게 프로그램 짜는게 맞다고 생각하여 제 쪽에 유리하게.. 더보기
자바 개발자들이 한자리에 모였다. (JCO 컨퍼런스 후기) + 한국 자바 개발자 컨퍼런스(JCO) 에 참가하다. 저는 자바 개발자로 새로운 자바 기술의 흐름과 관련 커뮤니티 행사에 관심이 있습니다. 마침 JCO(한국자바개발자협의회)에서 주최하는 제9회 한국 자바 개발자 컨퍼런스는 자바 관련 컨퍼런스/세미나중 가장 큰 규모로 열리는 행사였기에 이번에 참가하게 되었습니다. 잠깐, 자바란 무엇인가? 어떤 H/W, 어떤 O/S에서도 같은 코드로 실행 가능해야 한다. 라는 개념으로 탄생한 객체 지향 언어로 특히 기업 환경(Enterprise 환경)에 크게 성공하여 공공, 금융, 기업 전산화에 널리 쓰이고 있다. JCO(Java Community Org), 자바 개발자 역량 향상, 업무 환경 개선등의 자바 개발자를 위해 탄생한 비영리 협의회 한국 자바 개발자 컨퍼런스, J.. 더보기
JCO 제9회 한국 자바 개발자 컨퍼런스 소개 + JCO 제9회 한국 자바 개발자 컨퍼런스 소개 + 덧붙임1 과거 저는 독서 리뷰와 더불어 IT 세미나 후기도 종종 썼습니다. 능동적인 참여와 글쓰기가 요구되는 세미나 후기는 저에게 유익하였고, 구독자에게도 유익한 글감 이었습니다. JCO 컨퍼런스는 자바 진영 최대의 컨퍼런스로 2004년 신입사원때 참여하고 이번이 처음인데요. 오랜만에 친구와 회사동료들과 가서 기술 습득과 블로깅에 유익한 세미나 참여하고, 후기도 올릴 예정이니 기대해 주시고요. 이 소개 포스팅을 올리고 트랙백 걸면 각종 경품도 준다니 많은 응모 바랍니다. (생각해보니 경품 경쟁자네요~ ^ ^) + 덧붙임2 사실은 어제 야심찬 포스팅을 준비중이었는데 잠깐 누웠다가 계속 잠들었습니다. (제가 이럴 경우가 많습니다. ^ ^) 이 이벤트 포스.. 더보기
산골 블로그, 개발자에 대하여 쓰다. 새해를 맞이하여 복잡한 생각을 깔끔하게 정리하는 글쓰기의 본질로 돌아가 내가 좋아하고, 관심갖는 태그에 대한 생각을 깔끔하게 정리한 다음 새해 즐겁게 블로그를 시작하자고 다짐하였다. 그런데 아직 바쁘지도 않은데도 잘 써지지는 않고, 그래도 지금 졸린눈을 비벼가며 개발자에 대하여 생각나는대로 쓰고 새해 즐겁게 개발자 생활 하려고 한다. + 개발자와 프로그래머 어느 책에서 보니 개발자의 정의를 간단한 설계부터 코딩까지 주도적으로 프로젝트를 진행하는 긍정적인 위치로 정의를 내렸다. 그래서 나도 개발자란 단어를 좋아했는데, 작년부터 ‘IT개발자의 사직서’ 등의 개발자가 고생하는 글들이 많이 올라오면서 개발자 하면 맨날 야근에 각종 노가다 고생을 하는 안 좋은 인식으로 변해가는 것 같다. 그런데 프로그래머도 개발.. 더보기
대한민국 IT프로젝트 교훈 보고서 + 대한민국 IT프로젝트 교훈 보고서를 여는 글 “나는 가끔 인터넷에 올라오는 IT개발자의 열악한 현장 고백에 동감하면서도 2007년은 여유 있게 일하다 보니 열악함을 피부로 체감하지 못하고 있었다. 그러나 얼마전 피부를 뚫고 뼛속 깊숙이 건강과 열정을 해치는 전형적인 대한민국 IT프로젝트를 경험하게 되었다. 경험하면서 예전에도 느꼈지만 훌륭한 개인이나 훌륭한 생각을 가진 회사가 지금의 우리나라 IT프로젝트 환경을 바꾸는 것은 거의 불가능 하다는 것을 다시 한번 절감하게 되었다. 당시 일했던 사람과 회사들도 분리해서 보면 한분 한분 좋은 사람들이고 좋은 회사였다. 그러나 프로젝트 환경을 구성하는 우리나라 고유의 시스템과 문화를 들여다 보면, 갑을병정 하도급, 터무니 없이 짧은 일정, 저 예산 프로젝트, .. 더보기
한국스프링사용자모임5회(KSUG) 참가 후기 (웹플로우(WebFlow), 보안(Acegi)) 스프링 프레임워크(Spring Framework)란 개발자와 프로젝트를 위한 자바 전 분야를 아우르는 다목적 프레임워크고, 한국 스프링(Spring Framework) 사용자 모임(KSUG)은 스타 개발자 이일민님과 안영회님과 백기선님등의 애자일 스터디 모임에서 자발적으로 만든 커뮤니티 입니다. 이 커뮤니티 에서는 6주에 한번씩 스프링(Spring Framework)에 대하여 강도 높은 라이브 코딩 위주의 강좌가 진행되고 있습니다. 저는 2회 모임때부터 5회 모임때까지 꾸준히 참석하고 있는데 이유는 백만원 이상 되는 정규 교육 과정과 비슷한 수준 높은 강좌를 저렴하게 들을 수 있고, 무엇보다 프로그래밍 자체를 사랑하는 열정 넘치는 개발자를 만날 수 있기 때문입니다. 한국 스프링(Spring Framewo.. 더보기
오픈소스 컨퍼런스 2007 참가 후기 (위키노믹스의 원조 오픈소스) ‘어느날 깨어보니 나는 천재가 아니었다.’ 최근 내 블로그에 종종 써먹었던 단어들입니다. 이 사실을 깨닫고 허탈하니 기분이 좋지 않아서, 천재를 이기는 특별한 방법이 없을까~ 라는 엉뚱한 고민을 한 적이 있었습니다. 그 때 읽었던 ‘위키노믹스’ 란 책은 나에게 다가온 구원의 메시지가 담긴 성서였습니다. 위키노믹스를 보면 ‘하나의 엘리트 집단이 만드는 특정 결과물보다, 수많은 평범한 사람들이 공동 작업한 결과물이 훨씬 뛰어나다’ 라고 역설하면서 관련 사례들을 이야기 합니다. (예로 기성언론보다 다음블로거뉴스나 올블로그 같은 블로그 메타사이트가 더 훌륭한 미디어 기능을 수행할 것이다.) 그 중 특히 뿌듯했던 것이 위키노믹스의 출발점 이자 성공적인 모델이 개발자들의 ‘오픈소스 환경’ 라는 것입니다. 엘리트 메.. 더보기
한국스프링사용자모임4회(KSUG) 참가 후기 (AOP) + AOP(Aspect Oriented Programming) 아무리 읽어봐도 모르겠다. 횡단 관심사니, 종단 관심사니, 포인트 컷이니, 어드바이스니 한글이고 영어고 대부분 단어들이 울렁거릴 정도로 복잡다단하고, 한글문서는 영어보다 이해하기 힘든 특유의 번역체라 AOP에 대하여 도저히 다가갈 수 없었습니다. 그래서 최근 우리회사에 스프링프레임워크(Spring Framework) 도입을 의논할 때도 AOP 도입은 당연히 빼자는 의견이었습니다. AOP같은 IT기술은 분명히 개발자 편하라고 등장한 기술일 것인데, 개발자에게는 공부할 거리만 산더미처럼 던져주고 개발자가 겨우 익혔다 하더라도, 그 쓸모가 별로일 것 이라는 부정적인 생각이 들었습니다. 그래서 이번 4회 세미나 주제가 AOP라는 얘기에 참석을 망설였.. 더보기
진화하는 아파치 미나(Apache MINA) 위키 강좌 이 강좌의 저작권은 mckdh.net에게 있고 아래 저작자표시-비영리-변경금지 의 Creative Commons License 약관을 따라야 합니다. 이 강좌는 위키로 제작되어 문서의 추가, 수정, 삭제가 용이하기 때문에 지속적으로 문서가 진화될 예정입니다. 저의 개인적인 분석이기 때문에 내용이 틀릴수도 있는데, 그럼에도 올리는 이유는 아파치 미나(Apache MINA) 관련 자바 개발자들과 교류하기 위해서 입니다. Contents 1 아파치 미나(Apache MINA) 이해하기 1.1 아파치 미나(Apache MINA) 전체 구성도 1.2 아파치 미나(Apache MINA) 활용 규칙 1.3 아파치 미나(Apache MINA) 참고 예제 설명 1.4 아파치 미나(Apache MINA) 중요 사이트 1... 더보기
한국스프링사용자모임3회(KSUG) 참가 후기 (자리잡은 커뮤니티) 스프링(Spring Framework)과 아파치 미나(Apache MINA)로 통신서버를 개발할수 있다고 말한지 몇주가 지났다. 팀장님은 개발이 실패할경우 예비로 개발할 C기반 통신서버로 대체하겠다고 하셨다. 나는 팀장으로써 감수해야할 막중한 책임감에 고개를 끄덕였다. 발달된 자바 기술의 혜택을 우리회사도 누릴수 있을지는 나에게 달려 있는 것처럼 보였다. 스프링(Spring Framework) IoC기능을 적용하였다. 무작정 적용하고 보니, 인터페이스를 구현한 구상 클래스를 결정하기 위해 별도의 클라이언트 로직을 만들 필요 없이 스프링(Spring Framework) XML로 구상 클래스를 주입하면 간단하게 해결된다는 것은 그야말로 스프링(Spring Framework)의 간결함 만큼 명확하게 와닿았으며.. 더보기