달력

122019  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

올챙이는 오픈소스로 성장하는 DB관리도구입니다.

토드, 오렌지, SQLGate 등의 쟁쟁한 선배들이 있지만, 웹브라우저에서 다양한 종류의 DB를 관리할 수 있는 올챙이처럼 깜찍한 도구입니다. 언제 개구리가 될지는 저도 잘 모르겠습니다. ^^;


처음 다운로드 받아서 설치해보고 살짝 멘붕이 왔습니다만, Youtube에 올려놓은 동영상 매뉴얼들을 보고 감 잡았습니다.

다운로드: https://code.google.com/p/tadpole-for-db-tools/downloads/list

시작하기: http://youtu.be/ECCS4a_NB_o


1. 매니저 로그인으로 시작하면 됩니다. 

2. 신규가입의 이메일로는 메일이 보내지지 않습니다.



아프리카 방송에서 올챙이를 잘 키워보려 합니다.




Posted by 케누 kenu허광남

댓글을 달아 주세요

  1. 정존  댓글주소 수정/삭제 댓글쓰기 2013.11.12 21:21 신고

    잘 보고 갑니다.^^

다음 커뮤니케이션의 초청으로 제주대에서 발표한 자료입니다.

파일 첨부합니다.


20120518_다음제주_내가 경험한 오픈소스.zip





Posted by 케누 kenu허광남

댓글을 달아 주세요

세상에는 두 종류의 사람 얘기하면서 Hello World를 아는 개발자와 모르는 일반인으로 구분하고는 했습니다. 유사한 경우가 소스라고 했을 때 소스 코드가 먼저 떠오르면 개발자고 토마토 소스처럼 요리용 소스가 생각나면 일반인으로 구분할 수도 있을 것 같습니다.


오픈 소스에 관한 글이 하나 떠서 소개합니다.
http://www.ibm.com/developerworks/kr/opensource/newto/index.html

오픈소스를 가져다가 활용하기 때문에 요즘 프로그래밍 기술에 가속도가 붙어있습니다. 예전처럼 코드를 꽁꽁 숨기려는 노력보다는 바벨탑을 쌓아가듯이 코드를 공유하는 문화가 개발자들 사이에서 유행처럼 번지고 있습니다.

좋은 의도에서 소스를 오픈했는데, 아무리 비용이 들지 않는다 하여도 가져다 쓰는 예의와 법이 있습니다. 그것에 대해서 잘 얘기해주고 있는 글입니다.

Posted by 케누 kenu허광남

댓글을 달아 주세요

daysago 0.31

java 2009. 3. 19. 18:37
재미있는 경험을 했습니다. http://code.google.com/p/daysago 라는 간단한 프로젝트를 오래 전에 열었는데 처음으로 다른 사람의 피드백을 받았습니다. 고맙게도 버그있는 코드의 수정본까지 받았습니다. 해당 코드를 패치하고 테스트케이스를 돌려보니 다른 부분에서 영향을 받는 것을 확인하고, 로직을 다시 수정해서 회귀테스트를 잘 통과했습니다. 테스트 코드가 있다는 것이 든든하게 느껴지더군요. 물론 아주 작은 코드입니다.

버그는 몇 개월 전에 발견했지만 누군가 보고 관심을 두고 있다는 것이 버그를 패치하게 된 큰 동기였습니다. 자극을 주신 분께 감사드립니다.

Posted by 케누 kenu허광남

댓글을 달아 주세요

  1. tsday  댓글주소 수정/삭제 댓글쓰기 2009.03.20 17:00 신고

    저희 프로젝트에도 그런 분이 계셨으면~!!!^-^

  2. okgosu  댓글주소 수정/삭제 댓글쓰기 2009.03.21 01:12 신고

    오옷...오픈소스 프로젝트가 그래서 좋은 듯...
    부럽네...

    with okgosu

  3. lovedev  댓글주소 수정/삭제 댓글쓰기 2009.03.24 09:59

    형..잘 지내죠?
    복오싶어요 :)

첫 장부터 펼쳤습니다. 아직 섹션 하나만 읽은 상태죠. 그런데 왠걸 좋네요. ^^; 브룩스의 Mythical Man-Month 요약도 스토리 중에 잘 되어 있고, 프로그램 용어나 생리를 잘 모르는 사장님 같은 사람들에게 설명하기 쉽도록 표현된 부분도 많군요.

메일링 리스트, 블로그, 버그 관리 소프트웨어, 소스코드 버전 관리 소프트웨어 등 그들이 활용했던 수 많은 도구에도 불구하고 개발자들끼리 커뮤니케이션을 효율적으로 유지하고 필요한 정보를 효과적으로 공유하는 일은 너무나도 어려웠다.
발췌: 드리밍 인 코드, 스콧 로젠버그, P.34

이 책을 다 읽으면 알겠지만 첫 번째 섹션 마지막 표현이 기대하게 만드네요.

케이퍼가 OSAF라는 회사 이름에도 사용한 오픈소스 개발 방법론은 브룩스 이후에 등장한 개념이었다. 그리고 오픈소스 개발 방법론은 브룩스의 패러독스를 극복해줄 가장 그럴듯한 무기처럼 보였다.
발췌: 드리밍 인 코드, 스콧 로젠버그, P.34

데드라인과 같은 소설이 아닌 경험담이라서 더 와닿을 것 같습니다.

^^; 읽을 책 많은데 우선 순위 좀 바꿔야겠습니다. 고 놈 재밌군요.

Posted by 케누 kenu허광남

댓글을 달아 주세요

  1. 일처리  댓글주소 수정/삭제 댓글쓰기 2009.01.07 23:23

    형님 저도 요즘 그책 읽고 있는데 방법론 나온 부분이 머리에 쏙쏙 들어 오던데요..
    낼 모레 워크샵에서 써먹어야 겠습니다.

  2. bliss  댓글주소 수정/삭제 댓글쓰기 2009.01.08 17:11

    뒤로 갈수록 더욱 흥미진진해질 거라 장담. ^^ 꾸준한(!) 서평 기대할게요. ㅋㅋ

  3. 짱가  댓글주소 수정/삭제 댓글쓰기 2009.01.09 09:30

    이벤트 신청했다가 떨어졌다능...ㅠ.ㅠ..
    그래서 언제 살지 고민하고 있능...ㅠ.ㅠ.

고전적인 자바 클래스의 테스트는 main() 메소드에 값을 찍어보는 코드를 넣어서 콘솔에서 확인합니다. 이클립스에 익숙해진 덕에 JUnit에서 System.out.println() 집어 넣는 것은 초딩같은 습관이라고 생각을 "저만"했었습니다. 하지만, 찍어본다는 것 그리고 그것을 눈으로 확인하는 것은 굉장한 심리적 안정감을 주기는 합니다. 아직 assertEquals() 는 보이지 않는 신뢰가 필요하기 때문이죠.

httpunit의 테스트코드를 보니 재밌는 부분이 있었습니다. 상당히 많은 수의 테스트케이스에 main() 메소드가 있었고, 그 메인메소드는 JUnit을 기반으로 해당 테스트코드를 수행하도록 만들어주는 것이었습니다.


suite() 메소드를 inline 리팩토링하면 junit.textui.TestRunner.run( new TestSuite( EncodingTest.class ));  를 통해서 실행을 합니다. Java Application 으로 실행한 결과는 다음과 같습니다.

..............
Time: 3.813

OK (14 tests)

물론 이 클래스는 JUnit을 통해서도 실행됩니다.

다른 사람의 코드를 읽는 것, 프로그래머 소통의 시작이 아닐까 생각해봅니다.

참고로 HttpUnitTest 클래스의 상속구조입니다. ctrl+T 로 이클립스에서 볼 수 있습니다.


 

Posted by 케누 kenu허광남

댓글을 달아 주세요

  1. iolo  댓글주소 수정/삭제 댓글쓰기 2008.11.03 22:33

    대부분의 assertXXX 메소드들은 첫번째 파라메터로 메시지를 줄 수 있지 않나요?
    제 경우엔 unit test 안에서만 System.out과 System.err을 쓴답니다^^;

    • 케누 kenu허광남  댓글주소 수정/삭제 2008.11.04 01:55 신고

      메시지가 성격이 다르죠. 보통은 파라미터에 값을 찍어보니까요.
      하긴 실제 코드에서 System.out , System.err 쓰는 것보다는 테스트코드에서 쓰는 게 훨씬 낫죠.

앞서 오픈소스를 통해서 소스 저장소에 등록되는 디렉토리 구조를 살펴보았습니다. 그리고 프로젝트 소스를 일괄처리하는 build.xml 도 살짝 들여다 보았습니다. 이클립스 툴을 쓰면 다 되는 작업을 왜 Ant 빌드스크립트를 만들어야하는지 질문을 종종 들어봤습니다. 지속적인 통합 빌드 같이 주기적으로 반복되는 작업이나 단계가 복잡한 작업들은 빌드스크립트가 효과적입니다. 클릭클릭하는 일도 지겨울 때가 있거든요. 이클립스 작업의 자동화가 빌드 스크립트라고 생각하시면 될 것입니다.

지난 번 소스 가져오기(import) 이후로 소스의 빌드 경로를 잡아보려고 합니다. 로컬pc에서 컴파일되나 안되나 확인하는 것이죠. 소스가 패키지에 맞게 제자리에 있어야 할 것이고, 참조하는 jar파일의 경로도 함께 지정해줘야 합니다.

일단 이클립스 자바 프로젝트에서 소스 폴더를 추가합니다. 자바소스가 있는 폴더를 소스폴더라고 합니다. *.java 파일과 *.properties 파일들이 위치합니다. httpunit-1.7 아래 src 폴더가 바로 소스폴더입니다. 그리고 httpunit-1.7 아래 test 라는 곳도 소스 폴더로 추가합니다. src 아래 있는 클래스들을 테스트하는 테스트케이스들의 소스 폴더입니다.

자동 빌드가 일어나면서 에러가 무진장 일어납니다. jar 파일 연결이 안되서 그렇습니다.

왼쪽 패키지 익스플로러에서 프로젝트를 선택하고 Properties 창을 엽니다. 컨텍스트 메뉴에서 제일 아래 Properties 메뉴를 선택하면 됩니다. 단축키는 alt+Enter
Java Build Path 항목을 선택하고 Libraries 탭을 클릭합니다.

우측의 Add JARs... 버튼을 클릭해서 httpunit-1.7/jars 폴더의 *.jar 파일들을 선택합니다.

오호, 에러가 줄기는 했는데, 하나 남았네요. fnfe를 클릭해서 해당 소스를 열어보겠습니다. 흠, 겁을 상실했군요. 에~ 뭐 꼭 고친다는 뜻은 아닙니다. ^^;

소스를 살짝 보니 캐릭터셋 문제로 Roger Lindsj 이름 옆에 이상한 문자가 생긴 것 같네요. 그것 때문에 아랫줄 if라인이 주석 줄로 따라 올라온 듯 합니다.

if 앞에서 엔터로 줄바꿔주니 고쳐졌습니다. ^^; 잠시 우쭐~

Problems 탭에 에러는 싹 사라졌군요. Warnings는 살짝 봐주기로 하죠. ^^;

소스 폴더가 추가된 모습입니다.

작업공간은 에러 없는 코드로 관리되는 것이 개발자 심리에 좋다고 생각을 합니다. ^^;
Posted by 케누 kenu허광남

댓글을 달아 주세요

오픈소스 입문하기

2008. 3. 30. 21:11
오픈소스에 대한 얘기는 갈 수록 높아져 가고 있습니다. Freeware, Shareware 등으로 사용되는 애플리케이션과는 달리 소스까지 공개된 프로그램을 오픈소스라고 하지만, 오픈소스 제품은 공짜로서의 의미보다 기술의 공개라는 차원에서 더 가치가 있습니다.

developerWorks에 나온 "오픈 소스 입문"에 대한 글이 입문용으로 가볍게 읽을 만 합니다.

한 마디로 말해서, 오픈 소스는 협업(collaboration)이라고 할 수 있다. 보다 구체적으로 말하면, 소프트웨어 프로젝트에 대한 공개적 협업(public collaboration)이다.

Open Source Initiative 라는 단체가 만들어지고 오픈소스에 대한 라이센스와 가이드를 제시하고 있습니다.

오픈소스 제품이 시장에서 큰 역할을 하는 것을 예를 들면 리눅스, 아파치 웹 서버 등을 예로 들 수 있습니다.

오픈소스로 제품의 수준이 상용과 비길 수 있을 때 듀얼라이센스로 판매도 됩니다. 대표적인 것이 MySQL 같은 것이 되겠죠.


오픈 소스 작업을 위한 몇 가지 도구들이 있습니다.
Source Repository : CVS, SVN 같은 소스 버전관리 저장소입니다.
Mailing LIst : 사용자와 개발자 모두 메일을 통해서 의견 교환을 하는 경우가 많습니다. 종종 게시판이나 포럼도 사용되지만 대세는 메일링 리스트입니다.
Issue Tracker : Bugzilla, Trac, JIRA 와 같이 이슈, 버그 등을 등록해서 처리과정을 확인할 수 있는 시스템입니다.
Documentation Site : 오픈소스의 특성상 상용 제품보다 많이 부족하다고 느껴지는 부분입니다. 잘 나가는 오픈소스의 경우 매뉴얼 페이지가 잘 갱신되고 관리된다고 생각됩니다.


오픈소스 프로젝트를 호스팅하는 사이트들도 많이 있습니다. http://sourceforge.net, http://code.google.com/, http://kldp.net 등을 추천합니다.

제가 오픈해 놓은 소스 프로젝트도 있습니다.
http://code.google.com/p/daysago, http://code.google.com/p/shopgallery, http://code.google.com/p/unicodereader

작은 코드 조각(snippet)이지만 시작이 너무 크면 부담되거든요. ^^
Posted by 케누 kenu허광남

댓글을 달아 주세요

Winter of Code(WoC) 간담회

2007. 11. 14. 23:32
리니지로 유명한 엔씨소프트의 삼성동쪽 건물은 잘 숨어있는 듯 합니다. 두 번째 같은 장소를 가는 것이지만 오늘도 헤매었군요. 포스코 건너편 국민은행 빌딩 15층. 안 잊어먹겠습니다. ㅎㅎ

오픈마루에서 준비하는 WoC 2007 의 준비를 위한 간담회에 다녀왔습니다.

국내 오픈소스의 활성화를 위해서 작년에 이어 두번째로 준비하는 것인데, 이번에는 국내 개발자 커뮤니티의 참여를 확대한다고 해서 저도 참석할 수 있게 되었습니다.

고등학생부터 대학원생까지 참여할 수 있고, 멘토는 기업체나 커뮤니티를 대표해서 1:1로 학생의 프로젝트를 도와줄 수 있는 구조입니다.

오픈마루 권오성님의 진행으로 2시간 정도 진행이 되었고, 다양한 분야의 사람들의 오픈소스와 WoC에 대한 의견을 들을 수 있었습니다.

이후 뒷풀이에서 잠깐 얘기하다가 먼저 나왔습니다.

내년 2월까지 진행되는 것으로 기억하는데, 오픈소스를 잘 이해하는 사람들이 많아졌으면 행사의 기본적인 취지는 살리는 것이 아닌가 생각됩니다.

ps. CN님 만나뵈서 반가웠습니다. 나중에 기회되면 더 많이 얘기할 수 있기를 바랍니다. ^^
Posted by 케누 kenu허광남

댓글을 달아 주세요

폐인이 다 되서 강연을 했습니다.
들어주신 분들께 감사드립니다.
강의 파일은 일전에 블로그에 올렸습니다.
http://okjsp.tistory.com/1165643104

오픈 소스, 하시기 바랍니다.
참여의 기쁨이 있습니다.

Posted by 케누 kenu허광남

댓글을 달아 주세요

  1. 이동국  댓글주소 수정/삭제 댓글쓰기 2007.10.13 20:45

    너무 과음을 하셨던 듯.. ㅋㅋ