레이블이 utility인 게시물을 표시합니다. 모든 게시물 표시
레이블이 utility인 게시물을 표시합니다. 모든 게시물 표시

2006년 10월 25일 수요일

XCALC - RPN Calculator



Windows에서 사용할 수 있는 무료 RPN(Reverse Polish Notation) 계산기입니다. RPN은 stack을 적극적으로 활용하는 방식으로 수식을 읽어가는 순서대로 입력할 수 있다는 장점이 있습니다.

예를 들어서 3 + 4 * 5 라는 식을 계산하고자 한다면, 일반 계산기에서는 연산자 우선 순위를 따져서 계산기를 사용하는 사람이 4, *, 5, +, 3, = 의 순으로 눌러야 합니다. (물론 메모리 기능을 사용하면 입력 순서를 바꾸지 않고도 어느 정도까지는 계산이 가능합니다만, 사실 이 메모리 기능이 RPN의 특징을 일부 도입한 것이 아닌가 생각됩니다.)

이 수식을 RPN 계산기에서 처리하고자 한다면, 3, Enter, 4, Enter, 5, *, + 의 순으로 입력합니다. '3에다 4와 5를 곱한 값을 더한다'라는 문장과 입력하는 순서가 일치하죠. 재미있지 않나요?

위 RPN 방식의 계산 순서에 대해 부연하자면, Enter는 register(입력 값 및 계산 결과가 표시되는 필드라고 생각하시면 편리합니다.)에 입력된 값을 stack에 push 하는 명령입니다. 그리고, +- 같은 연산자를 입력하게 되면 register의 값과 stack에서 pop한 값으로 연산한 뒤 다시 register에 쓰게 됩니다. 연산할 때 stack에서 pop한 값이 left operand가 되고 register의 값이 right operand가 됩니다.

이미 일반 계산기에 익숙한 상태에서 처음에는 RPN 방식이 조금 어렵게 느껴질 수도 있지만, 익숙해지면 정말 편리하고 강력하다는 것을 알게 됩니다.

XCALC의 공식 홈페이지는 다음과 같습니다.

LINK: http://www.tordivel.no/xcalc/

XCALC의 외관은 썩 이쁜 편이 아닙니다. 하지만, RPN 방식을 지원하는 계산기로서 웬만한 계산기들이 갖추고 있는 기능들은 모두 갖춘 작고 강력한 계산기입니다. 평소 쓸만한 RPN 계산기를 찾고 있었던 분이라면 XCALC를 권해 드리고 싶네요.

2006년 5월 15일 월요일

X-Chat 2 for Windows (SilvereX Build)


Windows 플랫폼에서 IRC(Internet Relay Chat) client로 가장 유명한 것은 아마도 mIRC일 겁니다. 그렇지만, shareware이기 때문에 별도로 비용을 들여 구입하지 않으면 회사에서 사용할 수 없습니다. 그래서 간단하게 사용할 수 있는 Windows용 IRC client를 찾다가 발견한 것이 바로 X-Chat입니다.

X-ChatGPL 라이센스 하에 소스가 공개된 무료 소프트웨어이지만, 어느 순간 Windows용 공식build만 shareware가 되어버렸더군요. 그래서 직접 소스를 가져다 비공식적으로 만든 여러 가지의 무료 Windows binary build가 생겨나게 되었습니다. 그 중 오늘 소개해드리는 것은 SilvereX의 build입니다.

다른 build에 비해서 비교적 가장 많은 기능들을 포함하고 있고, 소스 업데이트에 따른 binary 업데이트도 매우 빠릅니다. GTK에 기반한 GUI라서 *nix나 Windows에서 큰 차이 없이 동일한 인터페이스로 사용이 가능한데, 설치 프로그램 내에 이미 필요한 GTK library를 포함하고 있기 때문에 별도로 Windows용 GTK를 설치할 필요가 없습니다. 물론, mIRC에 비해서 약간 무거운 감은 있지만, 대신 예쁩니다. ;-)

SilvereX Build를 받을 수 있는 곳은 다음과 같습니다.

LINK: http://www.silverex.org

X-Chat의 공식 홈페이지는 다음과 같습니다.

LINK: http://xchat.org

(스크린샷은 SilvereX Build 홈페이지로부터 가져온 것입니다.)

2006년 5월 2일 화요일

Emu48 - HP38/39/40/48/49 Emulator

수학이나 공학 혹은 과학과 아주 담 쌓고 살았던 게 아니라면 학교 다닐 때 전자 계산기 하나 쯤은 사용해보셨을 겁니다. 물론 그 계산기의 성능을 극대로 끌어올려서 사용하신 분들은 얼마 안될테지만, 그래도 계산기를 손에 들고 있을 때의 왠지 모를 그 뿌듯함이란...


(PC에서 Emu48로 HP-49 계산기 구동한 모습)
PDA 상에서 사용할 수 있는 공학용 계산기를 찾다가 우연히 발견하게 된 것인데, HP에서 만든 계산기의 ROM을 emulating 해주는 프로그램이 있더군요. Emu48이라는 놈인데, 이 emulator는 PC뿐만 아니라, PDA용으로도 이식이 되어 있어서 잘하면 비싼 공학용 계산기를 PDA나 PC에서 거저 사용할 수도 있을 것이란 생각이 들었습니다. 그리하여 또 다시 인터넷을 이리저리 헤집고 다녀서 몇 가지 ROM 파일을 구할 수 있었는데, 그 ROM 파일들은 HP에서 공개한 것이라고 하더군요.

(Pocket PC에서 Emu48로 HP-49 계산기 구동한 모습)
PC에서 가장 간편하게 사용할 수 있는 패키지는 아래 홈페이지에서 받으실 수 있습니다. (페이지를 보시면 긴 설명과 함께 여러가지 링크들이 나오는데, 다 무시하고 아래쪽에 있는 Download 링크만 누르면 원하는 것을 얻으실 수 있습니다.

LINK: http://www.educalc.net/881486.page

이 패키지 안에는 Emu48과 필요한 몇 가지 ROM 파일(HP 38G, HP 48G, HP 39G, HP 49G), 기본 설정 등이 함께 들어 있습니다. 그리고, 이 패키지에 포함된 Emu48은 조금 옛날 버전인데, 사용 상에는 별 지장이 없지만 왠지 최신 버전으로 교체하고 싶다는 욕구가 마구 솟구친다거나 PDA용 Emu48을 간절히 원한다면 Emu48 공식 홈페이지로 가서 최신 버전을 받으시면 됩니다.

LINK: http://hp.giesselink.com/emu48.htm

자, 그럼 HP에서 만든 공학용 계산기를 PDA와 내 PC 속으로 가져와 봅시다. 얼마나 유용하게 사용될지는 미지수지만서도.. ㅡㅡ^

2006년 3월 13일 월요일

EmEditor 5 Freeware Edition


완벽한 다국어 편집 지원을 가장 큰 장점으로 꼽을 수 있는 빠르고 강력한 기능의 editor가 있습니다. 바로 EmEditor인데요, 이미 알고 계신 분들이 많을 것이지만 다시 한 번 이렇게 소개해 드리는 이유는 5.0 버전 발표와 함께 freeware edition이 출시되었다는 기쁜 소식을 알려드리기 위함입니다.

EmEditor는 프로그래머들을 위한 대부분의 editor들이 일반적으로 지원하는 기능을 고스란히 지원하고 있습니다. 여기에 덧붙여서 다양한 plug-in 지원, 강력한 macro 지원, 완벽한 다국어 편집 지원 등을 특장점으로 가지고 있고, 5.0 버전에 와서는 아무리 많은 파일을 열어도 점유하는 메모리는 8MB 남짓한 정도로 유지되는 뛰어난 자원 관리 능력까지 겸비하게 되었습니다,

지금 소개해드리는 freeware edition은 macro와 plug-in 등의 기능이 제한되지만, license 비용이 별도로 필요하지 않은 형태로 출시된 제품입니다. 생략된 기능들이 좀 아쉽기는 하지만, 다국어 편집을 완벽하게 지원하고 Windows의 Notepad를 대체할 수 있을 정도로 가벼우면서도 강력한 기능을 자랑하는 editor는 좀처럼 찾기 쉽지 않습니다.

Freeware edition 5.0 버전에서는 정규표현식을 사용한 치환이 안되는 문제가 보고 되어 있습니다만, 조만간 수정될 것으로 기대합니다. 5.01 beta 1 이후 버전에서 이 문제는 수정되었습니다.

EmEditor Free 6.00.4 버전의 다운로드 페이지입니다.
LINK: http://www.emeditor.com/modules/download2/rewrite/tc_5.html

EmEditor의 공식 홈페이지는 다음과 같습니다.
LINK: http://www.emeditor.com

소개글이 두서 없고 빈약해서 이 editor의 장점을 제대로 전달하지 못하고 있는 것이 안타깝네요. 더욱 자세한 내용은 공식 홈페이지를 참고 해주세요.

2005년 12월 28일 수요일

PSPad - freeware text and code editor


이미 많은 사용자 층을 확보하고 있는 PSPad가 이번에 기능을 대폭 강화해서 새로 4.5.0 버전을 발표했네요. PSPad는 개발자를 위한 에디터로서 손색이 전혀 없을 만큼 다양한 기능을 제공하고 있는데 그 중에서도 굵직한 것을 몇 개 들어보면 다음과 같습니다.

- Project 단위 파일 관리 지원
- FTP 연동
- Macro 지원
- Syntax Highlighting
- HEX Edit 지원
- Unicode, UTF-8 완벽지원
- 다국어 인터페이스 지원(한글도 지원됨)

제 경험 상 이 editor에서 가장 마음에 드는 부분은 다국어 편집 시 글꼴 깨짐없이 완벽하게 UTF-8, Unicode 인코딩을 지원해준다는 점입니다. (이전 4.3.x 버전까지만 해도 글꼴 깨짐 현상이 있었는데, 4.5.0 버전에 와서 수정이 된 모양입니다.)

AcroEditDesyEdit 같은 국내 개발자에 의한 freeware 편집기들도 나무랄 데 없이 좋은 데 Unicode 혹은 UTF-8 파일을 열었을 때 한국어가 아닌 서유럽어 문자들에서 글꼴 깨짐 현상이 나타나더군요. 어떻게 보면 그다지 심각한 문제가 아닐 수도 있겠지만, 다국어 환경에서 작업을 하는 사람들에게는 꽤 치명적인 문제일 수 있죠. ^^;

다음은 PSPad의 공식 홈페이지입니다.

http://www.pspad.com

이 PSPad는 이러한 막강한 기능을 제공하면서도 free로 배포됩니다.

2005년 12월 20일 화요일

FileZilla



요즘은 P2P의 발달로 FTP를 쓰는 빈도가 예전보다는 많이 줄어든 것 같네요. 그렇지만, FTP는 여전히 안정적인 파일 전송의 수단으로 자리매김 하고 있습니다. 그래서 그런지 많은 FTP Server 및 Client 제품들이 계속 버전을 올려가고 있고, 또 새로운 제품들도 심심찮게 출시되고 있죠.

이 중에서 FileZilla는 open source project로 개발되고 있는 FTP Server & Client 프로그램입니다. 꼭 필요한 기능들만 갖추고 편리한 사용자 인터페이스로 무장한 터라 군더더기가 없고 사용이 간편합니다. 또한 전송되는 파일의 보안을 위해 SSL과 SFTP도 함께 지원해주고 있습니다. Freeware로서 SSL/SFTP를 지원하고 Server 프로그램까지 함께 제공하는 경우는 매우 드문 일일 겁니다.

다음은 FileZilla 공식 홈페이지입니다.

http://filezilla.sourceforge.net

FileZilla는 다국어 인터페이스를 지원하고 있으며 당연히 한글 인터페이스도 포함되어 있습니다. :-) 요즘 흔히들 많이 사용하고 있는 알FTP 대신 FileZilla를 사용해보시는 것은 어떨까요? FileZilla는 개인은 물론 기업 및 공공단체, 교육기관 그 어디에서도 무료입니다.

2005년 12월 15일 목요일

StarUML

StarUML Main Window
Plastic을 만들었던 Plastic Software에서 Rational Rose와 같은 상용 모델링 툴을 대체할 목적으로 야심차게 출발한 Open Source Project가 있습니다.

StarUML이라는 것인데, 제가 직접 사용해보니까 기존의 Plastic과 매우 유사합니다. 아마도 package software가 큰 수익을 창출하기 힘들기 때문에 open source로 전환해버린 것이 아닌가 생각됩니다. 그렇게 해서 software 개발 부담을 줄이는 대신 UML 교육과 컨설팅 등으로 수익 모델을 전환하려는 것이겠지요. 물론 전적으로 제 개인적인 생각입니다. :-)

공식 홈페이지는 다음과 같습니다.
관심이 있으신 분들은 한 번 방문해보세요.

http://www.staruml.com

현재 5.0 beta 2 버전이 출시되어 있고, roadmap에 따르면 연말 즈음엔 5.0 정식 버전을 발표할 거라고 합니다. 무거운 Rational Rose를 대신해서 무료의 가벼운 UML 툴을 원하신다면 강력 추천입니다. UML 공부를 시작하려는 분들에게도 적당하지 않을까 싶네요.

2005년 8월 5일 금요일

NASA World Wind



우리가 살고 있는 이 땅덩어리를 한 눈에 쉽게 볼 수 있는 방법이 있습니다. World Wind라는 프로그램이 바로 그 도구인데요...

World Wind는 미항공우주국(NASA) 에서 개발 배포하는 프로그램으로, 인공위성에서 관측된 자료를 토대로 지구 상 어느 곳이라도 관찰해볼 수 있도록, 막강한 3D 엔진으로 무장하고 엄청난 데이터를 온라인으로 제공하고 있습니다. 단순히 지형 사진만 볼 수 있는 것이 아니라, 특정 년도에 발생한 대형 화재, 지진, 해일 등의 정보도 조회해볼 수 있으며 기후나 계절에 따른 변화도 에니메이션 형태로 볼 수 있습니다.

학습용 또는 연구 자료용으로 활용할 수 있을 만큼 방대한 데이터를 제공하고 있고, 또한 지속적으로 update 되고 있기 때문에 매우 유용할 것이라 생각되네요. 관심이 있으신 분은 아래의 URL에서 다운로드 해보시기 바랍니다.

LINK: http://worldwind.arc.nasa.gov/

아름다운 지구의 모습을 내 마음대로 콕콕 집어서 볼 수 있는 기회는 그리 흔하지 않습니다. ;-)

2005년 6월 2일 목요일

7-Zip 4.20 정식 버전 발표


7- Zip은 뛰어난 압축률을 자랑하는 Open Source 압축 유틸리티입니다. GNU LGPL에 따라 자유롭게 배포/사용이 가능하죠. 꽤 오래 전부터 눈여겨 봐오던 프로그램이었는데, 이번에 드디어 4.x 대의 정식 버전이 발표되었네요.

LINK: http://www.7-zip.org

국 내에서는 개인이나 기업 할 것 없이 알집 사용자들이 주를 이루고 있을 것이라 생각되는데, 저의 경우는 알집에서 이리 저리 실망한 것이 많아서 결국 WinRAR을 정식으로 구매해서 사용하고 있습니다. 압축 효율도 높고 무엇보다도 참 안정적이라는 점이 마음에 드는 좋은 압축 프로그램입니다. 장인 정신이 느껴진다고나 할까요. 후후...

그런데, 이런 좋은 점들을 하나 둘씩 닮아가면서 꾸준히 발전해나가고 있는 것이 바로 7-Zip입니다. LZMA라는 독자적인 압축 알고리즘을 지원하는데, 수치상으론 RAR보다 더 높은 압축률을 보여줍니다. 물론 ZIP 압축은 기본 지원이죠. 거기다 다양한 압축 형식에 대한 해제도 지원하고 있구요.

7-Zip에서 보이는 한 가지 특이한 점은 바로 분할 압축 지원 방식인데, 엄밀히 말하면 이것은 압축된 결과물을 단순히 일정 크기로 자르는 것뿐이라 '압축 후 분할'이란 표현이 더 맞을 것 같네요.

무료로 사용할 수 있는 좋은 압축 프로그램을 찾고 계신 분들께 7-Zip을 한 번 사용해보시라고 권해드립니다.

2005년 5월 26일 목요일

Google Desktop Search 한글판 정식 버전


Google Desktop Search 한글판
의 정식 버전이 최근 출시된 모양이네요. 전 그 동안 계속 베타 버전을 사용하고 있었는데 그 성능이나 기능들에 대해서 꽤 만족하고 있었습니다. 그러던 중 오늘 우연히 Blogspot에 대한 기사를 검색하다가 Desktop Search 페이지로 연결이 되어 들어갔는데 그 동안 보이던 베타 딱지가 똑 떨어져 있지 뭡니까. 후후...

이번 정식 버전에서는 아쉬웠던 두 가지를 보강하고 많은 버그를 수정했다고 합니다. 추가된 두 가지 기능은 HWP 파일 인덱싱, MSN 메신저 채팅 내용 인덱싱입니다. 딱 좋죠!!

지금 Google Desktop Search 페이지를 보면 "검색의 한계까지 버렸습니다."란 문구가 떡 하니 걸려 있습니다. 정말 이 말처럼 검색의 한계를 초월할 수 있는 세계 최고의 검색 엔진이 되었으면 하네요.

2005년 1월 8일 토요일

ArgoUML - Open Source UML Tool


ArgoUML Screenshot Posted by Hello

ArgoUML은 그 이름에서도 짐작하실 수 있듯이 UML 도구입니다. 더군다나 Open Source Project로 만들어지고 있는 매우 바람직(?)한 도구이죠. ^^;

우선, UML이 뭔지 짚고 넘어가야겠네요. 물론 대부분은 다 알고 계시겠지만 그래도 확인하는 차원에서 텀즈의 내용을 빌어 간략히 소개하도록 하겠습니다.

UML 이란 소프트웨어 개발 과정에서 산출되는 산출물들을 명시, 개발, 문서화하기 위한 모델링 언어이다. UML은 Rational 사의 Grady Booch, James Rumbaugh에 의해 1994년 10월에 처음 개발에 착수되었다. 이후 1995년 10월에 Unified Method 0.8의 명칭으로 OOPSLA '95에서 발표되었으며, 이후 Ivar Jacobson이 UML 개발에 함께 협력하면서 1996년에 버전 0.9를 발표하였고, 1997년 11월에는 UML 1.1 이 OMG에 의해 표준으로 채택되었다.

UML 은 모델링 언어일뿐 메쏘드(또는 방법론)는 아니다. 메쏘드는 프로세스에 대한 정의와 각각의 업무들에 대한 지침과, 업무들 간의 순서들을 명시해야 하는 반면, 모델링 언어는 표기법(또는 다이어그램)들만을 제시하는 것이다. 따라서 UML은 소프트웨어 개발에 사용하기 위한 여러 다이어그램들을 정의하고 있으며, 또 다이어그램들의 의미들에 대해 정의하고 있다.

UML은 여러가지 다이어그램들을 제시함으로써 소프트웨어 개발과정의 산출물들을 비주얼하게 제공하고, 개발자들과 고객 또는 개발자들 간의 의사소통을 원활하게 할 수 있도록 하고 있다. UML은 시스템을 모델링 할 수 있는 다양한 도구들을 제공하기 때문에, 도메인을 모델링하기가 훨씬 용이할 뿐만 아니라 모델링한 결과를 쉽게 파악할 수 있게 된다. 또한 산업계 표준으로 채택되었기 때문에 UML을 적용한 시스템은 신뢰성 있는 시스템으로 평가받을 수 있다. -- 텀즈


UML을 통해 분석 및 개발에서 발생하는 산출물을 정리하는 것을 도와주는 도구는 여러 가지가 있습니다. 가장 대표적으로 알려져 있는 것이 Rational(현재는 IBM에 합병됐음)사의 'Rose'죠. 국내에선 'Plastic'이란 좋은 프로그램도 있습니다. 제 개인적으론 'MagicDraw UML'이 가장 맘에 들더군요. 단, 모두 고가의 상용 프로그램들이죠.

ArgoUML 은 Java로 개발되고 있어서 다양한 platform에서 무리 없이 잘 실행될 수 있을 뿐만 아니라 이 프로그램을 사용하기 위해 별도의 대가를 지불하지 않아도 된다는 장점도 가지고 있습니다.(물론 개발자들의 노고를 위해 기부하시는 것은 자유입니다. ^^) 고가의 상용 프로그램들에 비해서 조금 부족한 부분이 있을 수도 있지만, UML 그 자체를 표현하는 것은 매우 충실하게 구현이 되었습니다. 현재 진행 중인 프로젝트에 UML을 도입하고 있거나 혹은 앞으로 있을 프로젝트에 도입할 계획이 있으시다면 ArgoUML을 한 번 사용해보시라고 권해드리고 싶네요.

다음은 ArgoUML의 공식 홈페이지입니다.

http://argouml.tigris.org/

2005년 1월 6일 목요일

UTCk3 - PC 시각 동기화 및 세계 시간 보이기


UTCk3 Screenshot Posted by Hello

인터넷으로 time server를 통해서 PC의 시각을 자동으로 맞춰 주는 프로그램입니다. 이 프로그램은 한국표준과학연구원의 시간주파수 연구실에서 제작 배포하는 것으로 누구나 무료로 사용할 수 있습니다. 트레이 프로그램과 화면보호기의 두 가지 형식으로 사용할 수 있고, 세계 시간을 열람하고 바탕화면에 띄워 놓을 수 있는 기능도 제공합니다. 해외출장을 자주 다니거나 혹은 해외에 있는 사람들과 함께 일할 때 매우 유용하게 쓰일 수 있을 겁니다.

[*] 시간주파수 연구실 한국표준과학연구원의 홈페이지입니다.

http://kriss.re.kr/time/
http://www.kriss.re.kr

[*] UTCk3 다운로드 페이지

http://kriss.re.kr/time/PC7.html
http://www.kriss.re.kr/2006/public/standard/standards06_a.htm

로그인 할 때마다 자동으로 시작되도록 단축아이콘을 시작프로그램 아래에 만들어두면 편리합니다.

2004년 7월 18일 일요일

Skype - P2P 인터넷 전화


P2P 기술은 이제 네트웍이란 말이 있는 곳이면 어디든 따라 다니는 보편적인 말이 되어버렸을 정도로 많이 사용되고 있는데, 이 Skype라는 인터넷 전화 프로그램 역시도 그 중의 하나입니다. 물론 인터넷 전화 프로그램은 많이 있습니다. 그것이 단독 프로그램 형식이든 혹은 메신저 프로그램의 플러그인 형식이든 말이죠.

하 지만, Skype는 그런 기존의 인터넷 전화 프로그램들과 차별화되는 특징을 가지고 있어 또 다른 형태로 사용자들의 관심을 끌 수 있을지도 모르겠습니다. 자세한 특징들이야 Skype 공식 홈페이지를 방문하시면 알 수 있을 것이고, 간단히 주요 특징만 열거해보면,
  • 일반 전화보다 음질이 더 뛰어나다.
  • 거의 대부분의 방화벽 환경에서 별다른 추가 설정없이 그냥 사용할 수 있다.
  • Linux, PDA 등과 같은 다중 플랫폼을 지원한다.
저 도 간단히 한 번 사용해봤는데, 확실히 음질은 일반 전화보다 뛰어난 것 같았습니다. 인터페이스도 그만하면 단순하면서도 깔끔한 편이구요. 특히, 방화벽의 유무에 상관없이 음성 통화가 잘 되는 점은 참 마음에 들었습니다. 해외 출장 나갈 때 헤드셋 하나만 잘 챙기면 인터넷 환경이 있는 한 굳이 비싼 국제 전화 요금을 부담할 필요가 없겠네요.

최근에는 유선 전화망 사업자 연동한 서비스를 유료로 제공하고 있네요. 꽤 저렴한 가격으로 국제 전화를 걸 수 있습니다. - 2005.01.08 -

Skype의 공식 홈페이지는 다음과 같습니다.

http://www.skype.com/

한국어 페이지도 별도로 제공됩니다.

http://www.skype.com/home.ko.html

2004년 1월 20일 화요일

indiftpd - 파일 하나짜리 오픈 소스 FTP Server

P2P 방식의 발달로 단지 끌어다 놓기만 하면 파일을 전송할 수 있는 이런 편리한 시대가 도래했지만, FTP는 그 나름의 가치를 가지고 자신의 이름 값(이름이 File Transfer Protocol)을 톡톡히 하며 굳건히 자리를 지키고 있습니다. 깊이 들어가서 엄밀히 따지면 P2P 파일 전송과 FTP는 그 용도나 방식에 차이가 좀 있기 때문에 이 둘을 비교한다는 것이 어쩌면 잘못된 것일 수도 있겠네요. ^^; 아무튼...

각설하고, 저처럼 FTP를 특별히 좋아하는 FTP mania들을 위한 깜찍한 도구를 하나 소개해드릴려구 합니다. 이름이 indiftpd인데, 달랑 파일 하나로만 이루어져 있는 FTP Server입니다. 거기다 오픈 소스이죠. 왠지 빈약해보이는 것 같지만, 이래봬도 FTP Server로서 갖추어야할 기본은 거의 다 갖추고 있습니다. Console에서 바로 실행을 하는 방식이며, 모든 설정은 옵션으로 줄 수 있습니다. 실행하는 간단한 예를 들어보면 다음과 같습니다.

c:\> indiftpd -p5021 -e -Uftp -P1234 -Hc:\tmp

위와 같이 실행을 하면, 5021번 포트로 ftp라는 사용자가 1234라는 패스워드를 사용해서 접속을 할 수 있도록 하는 FTP Daemon이 됩니다. 이때 FTP의 홈디렉터리는 c:\tmp가 되는 것이구요. -e 옵션은 explicit SSL을 지원하도록 지시하는 것입니다. 그리고, 위 예는 Windows의 경우를 들었지만 Unix 계열에서도 얼마든지 사용할 수 있습니다.

영구적으로 FTP Server를 운영할 것이 아닌 경우나 FTP Server를 운영할 만한 상황 또는 권한이 안 되는 경우에 임시로 파일을 전송해주기 위한 수단으로 이 indiftpd는 상당히 유용합니다. SSL까지 지원을 해주기 때문에 안전한 접속 및 파일 전송이 가능하다는 것도 큰 장점입니다. 특수한 상황에서 적지 않은 수의 파일을 어떻게 전송해 줄 수 있을지 고민이 된다면 이 indiftpd를 사용해 보세요.(FTP는 오직 파일을 전송하기 위해 존재하는 프로토콜입니다.) 구관이 명관이죠. 후훗...

Source Forge의 indiftpd 프로젝트 페이지입니다.
Link: http://sourceforge.net/projects/indiftpd/

P.S. 개인적인 목적으로 무료로 쓸 수 있는 FTP client 중에선 SmartFTP가 꽤 괜찮습니다.

2004년 1월 11일 일요일

PopTray - 오픈 소스 메일 알림이

앞에 메일 관련 보안에 대한 내용의 글을 실었더랬습니다. (메일과 보안 참고) 이와 관련해서 유용하게 사용할 수 있는 응용프로그램을 소개해드리겠습니다. 서버가 SSL-POP 또는 SSL-IMAP을 지원한다는 가정 하에서 이러한 프로토콜을 사용해 안전하게 메일 체크를 할 수 있는 프로그램입니다. PopTray라는 놈인데, Source Forge에 등록되어 있는 오픈 소스 프로젝트입니다. 최근에 버전이 3.x대로 올라가면서 플러그인을 지원하게 되었는데, 기본적으로 제공되는 플러그인 중에 SSL-POPSSL-IMAP을 지원하는 것이 있습니다. 그외에 Hotmail을 지원하는 플러그인도 있더군요.

단순히 SSL을 지원한다는 것만으로 이 프로그램은 가치가 있겠지만, 기능이나 인터페이스 측면에서도 타 메일 체크 프로그램과 비교해서 절대로 떨어지지 않습니다. 공식 홈페이지의 내용을 잠깐 빌리자면,
    주 기능:
  • 무제한 계정 지원
  • 트레이 아이콘에 직접 메시지 개수를 표시(계정별로 번갈아 표시)
  • 빠른 미리보기
  • 메시지를 다운로드 하지 않고도 서버에서 바로 삭제 가능
  • 자신만의 규칙으로 메일을 확인하고 처리할 수 있는 방법 제공:
    • 각기 다른 사운드 재생
    • 서버에서 삭제
    • 특정 외부 EXE 파일 실행
    • 스팸으로 마크
    • 기타 ...
  • 거의 모든 기능에 대해 핫키/마우스 버튼/실행 옵션 등을 설정할 수 있음
  • 플러그인 지원:
    • 프로토콜 플러그인 (예. IMAP4, POP3SSL, Hotmail, 기타.)
    • 알림 플러그인 (예. 키보드의 scroll-lock 깜빡이기)
  • 화이트/블랙 리스트를 통한 스팸 관리
  • 다중 알림 (사운드 재생, 팝업, 기타)
  • 30개 이상의 언어로 번역(한국어 포함)
  • 완전한 설치 / 제거
  • 기타 등등 더 많은 기능들 ...
  • 그리고 무엇보다도 이 모든 것이 무료이며 오픈 소스라는 점!
공식 홈페이지는 다음과 같습니다.

http://www.poptray.org

이제 PopTray를 사용해서 안전하고 편리하게 메일을 체크하세요!

2004년 1월 6일 화요일

SciTE - 프로그래머를 위한 작고 강력한 편집기

간편하게 사용할 수 있는 공개 편집기를 찾다가 발견한 것입니다. 홈페이지에서도 'A free source code editor for Win32 and X' 라고 소개되어 있는 것처럼 다중 플랫폼을 지원하고, 각종 소스 코드를 편집하는데 편리한 많은 기능들을 가지고 있으며, 상당히 가볍고 빠릅니다. 눈에 띄는 특징 중 하나는 설정 방식으로, 마치 Java의 properties 파일 형식과 유사한데, 편집기의 거의 모든 부분을 변경할 수 있을 정도로 막강합니다.(막강한 대신 조금 어렵기는 합니다. 하지만, 프로그래머를 위한 편집기이니만큼 그 정도는 감수를...)

[*] 아래는 SciTE의 공식 홈페이지입니다.
http://www.scintilla.org/SciTE.html

[*] 스크린샷입니다.
http://www.scintilla.org/SciTEImage.html

[*] 번역된 언어 파일들입니다.
http://code.google.com/p/scite-files/wiki/Translations

제가 나름대로 어눌한 실력이나마 번역을 해서 제작자에게 메일로 보내두었는데, 등록이 될 때까지는 약간의 시간이 걸린다고 합니다.(제작자가 휴가중이랍니다.) 그래서, 이곳에 따로 직접 제가 번역한 파일을 링크하겠습니다. 필요하신 분들은 많이 많이 받아가세요. ^^

Download: locale.ko_KR.properties

이 파일을 'locale.properties'로 이름을 변경한 다음 SciTE가 있는 디렉터리에 복사해넣으시면 됩니다.

[*] 좀 더 편리한 사용을 위한 설정 파일입니다. (제 기준에서 ㅡㅡ)

Download: SciTEUser.properties

이 설정 파일에서는 나눔고딕코딩 글꼴을 사용하도록 설정하고 있기 때문에 글꼴이 아직 설치되어 있지 않을 경우 아래 주소에서 받아 설치하세요.

LINK: 나눔고딕코딩 글꼴

이 파일을 사용자의 Home 디렉터리에 복사해넣으시면 됩니다. Windows 2000/XP의 경우 일반적으로 'C:\Documents and Settings\<사용자 계정 이름>'이 Home 디렉터리가 됩니다. 가장 확실하게 확인하는 방법은 환경변수 중에서 HOME 또는 HOMEPATH의 값을 확인해보시면 됩니다.

좀 더 나은 프로그래밍 환경이 될 수 있도록... ^^

2003년 8월 13일 수요일

WinMerge v2.0 Released


WinMerge는 UNIX의 diff과 비슷한 역할을 하는 Windows용 GUI 프로그램이면서 동시에 merging 기능까지 함께 갖추고 있는 유용한 프로그램입니다. 좀 더 풀어서 설명을 하자면, WinMerge는 두 텍스트 파일의 내용을 비교해서 서로 같은 부분과 다른 부분, 추가되거나 혹은 누락된 부분들을 알아보기 쉽게 구분지어 보여주고, 이러한 부분들에 대한 적절한 병합 기능을 제공하는 유틸리티란 것이죠.

이 프로그램의 사용 범위는 다양합니다. 예를 들어, Apache Web Server의 새버전이 릴리즈되었는데, 이전에 쓰던 설정 파일과는 달리 새버전의 설정 파일 구조가 일부분이 변했다고 할 때, WinMerge를 사용해서 이 두 파일을 비교해서 변화된 구조의 부분만을 적절히 이전 설정 파일에 적용해준다면 굳이 새버전의 설정 파일을 처음부터 일일이 새로 수정할 필요가 없어지죠. 이 예는 단순하지만, 실제로 흔히 발생할 수 있는 예입니다.

좀 더 복잡하고 유용한 경우를 살펴볼까요?
여러분이 팀단위로 어떤 프로젝트를 진행하고 있다고 가정을 해봅시다. 작업을 진행하다보면 분명히 두 사람 이상이 같은 파일을 편집하게 될 경우가 생깁니다. 이런 경우에는 동일한 파일에 대해 각자 작업한 서로 조금씩 다른 파일이 여러 개 존재하게 될 가능성이 큽니다. 그렇게 될 경우 이 파일들을 비교해가면서 병합할 필요가 생기는데, 이 때 WinMerge 같은 도구가 아주 적절히 제 역할을 하게 되는 거죠. (실제로 위에서 설명한 경우는 CVS를 이용한 팀프로젝트에서 꽤 자주 발생하는 경우이며, 이것을 CVS 용어로 conflict라고 합니다.)

이밖에도 '도구'라는 특성상 사용하기에 따라 그 활용도 상당히 다양합니다. 이렇게 유용한 도구가 Source Forge에 올라 있는 Open Source Project라는 것은 참 멋진 일이죠.

WinMerge의 공식 홈페이지는 다음과 같습니다.

http://winmerge.sourceforge.net/

공식 홈페이지에서 소스는 물론 설치 패키지까지 함께 제공하고 있습니다.

프로그래밍을 하는 사람은 누구나 하나 쯤은 꼭 구비하고 있어야 할 필수공구 같은 프로그램이니 꼭 한 번 사용해보시기 바랍니다.

이 글을 다시 수정하는 시점에서 2.2가 다시 릴리즈 되었습니다.

2003년 8월 9일 토요일

GnuPG + GPGshell for Windows

꽤 오래전부터 이 두 가지에 대한 소개글을 쓰고 싶었습니다. 그렇지만, 역시 제가 워낙에나 놀기 좋아하고 게으른 성격이라 잘 안되더군요. ^^; GnuPG를 사용하면 e-mail이나 중요한 문서를 암호화할 수 있고, 전자 서명을 덧붙여서 내용의 안전성을 보장해 줄 수도 있습니다. 그리고, 이러한 GnuPG를 편리하게 사용할 수 있도록 도와주는 GUI 프로그램으로 GPGshell이란 것도 있죠.

요즘처럼 개인정보 유출이 심각한 사회 문제로 대두되고 있고, 또 정보 자체가 지적 재산으로서 그 가치가 급상승하고 있는 시기에 여러분들도 이 두 프로그램을 사용해서 정보화 시대에 뒤쳐지지 않는 사람이 되어 보시는 것은 어떻겠습니까? ^^

1. GnuPG란?

GnuPG(GNU Privacy Guard)는 간단하게 말해서 암호화 도구입니다. GnuPG를 사용해서 여러분들의 중요한 문서나 파일, e-mail 내용 등을 암호화할 수도 있고, 전자 서명 기능을 통해 문서, e-mail 등의 내용에 대한 integrity를 보장할 수도 있습니다.
이러한 GnuPG는 이미 오래전부터 e-mail 및 개인 문서 보안에 사용되어 왔던 PGP(Pretty Good Privacy)를 완벽하게 대체할 수 있을 뿐만 아니라, 특허가 걸려있는 IDEA 알고리즘을 사용하지 않음으로 해서 이용 및 배포에 아무런 제약이 따르지 않는 장점이 있습니다.

GnuPG에 관한 좀 더 상세한 내용은 다음 링크를 참고하시기 바랍니다.
위 링크들은 모두 리눅스 환경에서 GnuPG를 설치하고 사용하는 방법에 대한 내용을 담고 있는 문서들입니다. 그러나, compile 및 설치를 제외한 개론 및 사용법에 관한 내용들은 platform에 상관없이 동일하므로 GnuPG를 이해하시는데 충분한 도움이 될 수 있을 겁니다.

2. Windows용 GnuPG 구하기

GnuPG의 Windows용 바이너리 및 소스는 GnuPG 공식 홈페이지의 다운로드 페이지에서 직접 다운로드 하실 수 있습니다.

http://www.gnupg.org

Windows용으로 미리 compile된 바이너리 패키지는 gnupg-w32cli-x.x.x.zip란 이름으로 되어 있습니다. GnuPG 1.4.1 버전 이후부터는 설치본 형태로 배포가 되기 때문에 gnupg-w32cli-x.x.x.exe 파일을 받으시면 됩니다.

3. Windows에서 GnuPG 설치하기

앞서 언급한 대로, 설치본 형태로 배포되는 파일이 있으므로 더 이상 아래 내용들은 의미가 없습니다. 그냥 설치본 파일을 실행하여 설치하시면 됩니다.

1) 다운로드한 바이너리 패키지 파일을 C:\GnuPG 디렉토리에 풀어놓습니다.
2) C:\GnuPG 디렉토리 아래에 Locale이란 디렉토리를 새로 만들고, 모든 mo 파일을 그 디렉토리로 옮깁니다.
3) gnupg-w32.reg 파일을 더블 클릭해서 registry 설정을 import 합니다.
4) PATH 환경 변수에 C:\GnuPG 디렉토리를 추가해줍니다. (이후 GPGshell을 사용하기 위해서 꼭 해주어야 할 중요한 부분입니다.)

이것으로 GnuPG의 설치는 완료되었습니다. 만약 C:\GnuPG 디렉토리가 아닌 다른 곳에 설치를 하고 싶으시다면 gnupg-w32.reg 파일을 메모장 같은 편집기로 연 후, C:\\GnuPG라고 되어 있는 부분을 모두 설치할 디렉토리 이름으로 대체해주시면 됩니다. 이때 주의하실 것은 경로 구분자를 \\로 해주셔야 한다는 것입니다.

4. GPGshell이란?

GnuPG가 CUI(Console User Interface) 형식으로 만들어져 있어 GUI에 익숙한 Windows 사용자들에게 다소 불편하게 느껴질 수 있는 것이 사실입니다. 이런 이유로 GnuPG에 대한 GUI Frontend 프로그램들이 많이 개발되어 있는데, 그 중 대표적인 것 두 가지가 WinPT와 GPGshell입니다. 이 글에서는 이 중 GPGshell에 대한 간략한 소개만을 하고자 합니다.

5. GPGshell 구하기

GPGshell의 공식 홈페이지는 다음과 같습니다.

GPGshell 공식 홈페이지

6. GPGshell 설치

설치 프로그램 형태로 제공이 되기 때문에 설치에 그다지 어려운 점은 없습니다. 다른 설치 패키지들과 마찬가지로 설치 마법사 인터페이스를 따라가면서 설치를 완료하시면 됩니다.

7. GPGshell 활용

이미 PGP를 사용해보신 분이라면 GPGshell의 인터페이스가 그다지 낯설지는 않을 것입니다. GPGshell은 5 가지 프로그램으로 구성되어 있습니다.
  1. GPGconfig
    GPGshell의 가장 기본적인 설정을 관리하는 도구입니다. GnuPG가 설치된 디렉토리를 설정해줄 수 있습니다.

  2. GPGkeys
    GnuPG의 키 목록을 관리하는데 사용되는 도구입니다. 자신의 비밀키와 공개키, import한 다른 사람들의 공개키가 목록으로 나타나며, 키와 관련된 거의 모든 동작을 마우스 오른쪽 버튼 메뉴를 이용해서 간편하게 처리할 수 있습니다.

  3. GPGtools
    암호화/복호화 및 서명과 같은 실제적인 동작을 처리해주는 도구입니다. 간단한 버튼 몇 개로 이루어진 단순한 인터페이스의 프로그램입니다.

  4. GPGtray
    사실상, GPGshell의 꽃이라고 할 수 있는 도구죠. GnuPG의 좀 더 편리한 사용을 위해서 Clipboard와 현재 활성화된 창에 있는 내용에 대한 암호화/복호화 기능을 제공해주고, GPGkeys와 GPGtools 같은 다른 도구 프로그램의 빠른 launching 메뉴도 제공합니다.

  5. GPGsfx
    자동으로 압축이 풀리면서 암호화된 파일이나 문서를 복호화 해주는 패키지를 제작하는 도구입니다. GPG를 사용하지 않고 있는 사람에게 암호화된 파일이나 문서를 전달할 때 유용합니다. Info-zip을 필요로 합니다.

이상으로 GnuPG와 GPGshell에 대한 간략한 소개를 마칠까 합니다. 내용이 많이 부실한 감이 없지 않지만, 실제로 인터넷이란 정보의 보고와 검색엔진이라는 좋은 도구가 있으니 저는 간단히 이런 것이 있다는 소개 정도로만으로도 충분할 거라 믿습니다.

덧붙여, Windows 환경에서 GnuPG + GPGshell 조합 대신 사용할 수 있는 것으로 Gpg4win 이라는 것도 있습니다만, 제 입장에서 볼 때 간단하게 쓰기엔 GnuPG + GPGshell 조합이 더 나은 듯 합니다. 그러나, S/MIME 지원, Explorer 및 Outlook 연동 등과 같은 좀 더 화려하고 향상된 기능을 원하신다면 Gpg4win을 고려해볼 만 합니다.

자, 이제 제 홈페이지 첫 화면에 있는 저의 GnuPG Public Key를 여러분들의 공개키 목록에 import하는 일만 남았습니다. ^^

2003년 8월 8일 금요일

Apache 2.x + OpenSSL + mod_ssl for Win32

얼마 전에 사이트에 SSL을 적용하고 나서, 구성하는 방법에 대한 문서를 작성해두려고 마음을 먹었더랬습니다. 그런데, 정리를 하기 위해 참고가 될만한 자료를 찾던 중에 아주 아주 깔끔하게 정리가 잘 된 페이지를 발견하고 말았습니다.

도움이 되는 좋은 자료를 찾게 되어서 기쁘기도 했지만, 역시나 의욕은 상실 되더군요.. ^^; 이미 있는 자료를 두 번 작성할 필요는 없을테니까요. 에너지 낭비죠. ㅡㅡ;

혹시라도 Windows 환경에서 Apache Server를 운영하면서 SSL을 적용해보고 싶으신 분들은 아래의 주소를 참고해주세요.

http://tud.at/programm/apache-ssl-win32-howto.php3

위 주소의 문서를 보면 크게 네 단계로 작업이 이루어집니다.

첫째, Apache 설치
둘째, OpenSSL 및 mod_ssl 구하기
셋째, 시험 인증서 만들기
마지막, Apache 및 mod_ssl 설정

이 문서에서는 친절하게도 이미 OpenSSL을 적용해서 mod_ssl을 함께 compile해둔 바이너리의 제공 사이트를 알려주고 있습니다. 바로 여기죠.

http://hunter.campbus.com/

이곳에서는 Apache 1.x 버전과 Apache 2.x 버전, 그리고 OpenSSL까지 모두 미리 compile된 바이너리를 제공해주고 있습니다. 바로 받아서 사용하면 되니까 compile하는 수고는 덜 수 있을 것 같네요.

문서에서도 주지시키고 있지만, 다시 한 번 더 실수하기 쉬운 부분을 말씀드리면,

1. mod_ssl을 사용하기 위해서 꼭 필요한 OpenSSL의 두 라이브러리 파일(ssleay32.dll, libeay32.dll)을 꼭 PATH 환경 변수가 설정되어 있는 디렉토리에 넣어주어야 한다는 것
2. Apache를 실행할 때 '-D SSL'이란 인자를 함께 주어야 한다는 것 (음.. 이 부분은 사실 Apache의 conf/ssl.conf 파일내에서 SSL에 관한 설정이 <IfDefine SSL></IfDefine>이라고 하는 조건절로 둘러싸여 있기 때문입니다. 만약 항상 SSL을 on 시켜두실 것이라면 이 조건절 부분을 삭제해버리셔도 무방합니다. 그러면 굳이 '-D SSL' 옵션을 따로 주지 않아도 됩니다.)

그러면, 이제 여러분들께서도 강력한 128 bit의 암호화 사이트 서비스를 하실 수 있게 되었습니다. 후후... 근데, 중요한 기밀도 없는 제 홈페이지에 강력한 암호화 사이트가 왜 필요하냐구요? 글쎄요.. ^^;

2003년 7월 8일 화요일

AstroGrep

UNIX나 Linux를 다뤄 본 분들은 grep이라는 편리한 유틸리티를 잘 아실 겁니다. 파일 내에 포함된 특정 문자열을 검색할 때 매우 유용하게 사용이 되죠. 사실, 파일에만 국한 되는 것은 아니죠. UNIX 계열 OS의 특성상 pipelining이 가능한 모든 스트림에서 grep을 사용할 수 있으니까요. 아무튼 이런 편리한 기능에다, 손쉽게 쓸 수 있도록 GUI를 가미한 유틸리티가 있어서 소개하려고 합니다.


AstroGrep Screenshot Posted by Hello

바로 AstroGrep이라는 놈입니다. 이 유틸리티는 Windows용이며, 엄밀히 말하면 grepfind의 기능을 섞어 놓은 것이라 할 수 있습니다. 스크린샷에서 보시는 것처럼 검색할 폴더의 위치를 지정할 수 있으며, 대상 파일들에 대한 filtering도 지원이 됩니다. (바로 이 부분이 find의 기능이라 할 수 있죠. 진짜 find에 비해서 조금 부족하긴 하지만... ^^; ) 그리고, 검색할 문자열을 지정할 수 있습니다. 물론, grep과 마찬가지로 정규표현식(regular expression)도 사용이 가능하며, 대소문자를 구분할지 말지의 여부도 지정이 가능합니다.

특정 문자열이 포함된 프로그램이나 HTML 소스를 찾고 싶을 때 매우 유용하게 쓰일 수 있겠죠. ^^

다음은 AstroGrep의 공식 홈페이지입니다.

http://astrogrep.sourceforge.net

AstroGrepSource Forge에 등록되어 있는 Open Source 프로젝트입니다. 특별히 관심이 있으신 분들은 그 소스를 분석해보는 것도 좋은 경험이 될 거란 생각이 드네요.