본문 바로가기

UNIX_LINUX_C_C++

오픈소스 기능별 정리

http://cafe.naver.com/q69/105032



1 win32기반의 gcc관련 툴 #




  • Cygwin - Win32에서 GNU 관련 개발툴과 유틸리티를 사용할 수 있게 만들어주는 cygwin에 대한 내용.
  • MinGW - gcc로 win32 어플리케이션을 만들수 있게 해주는 공식 배포본.
  • unxutils 이야기 - Karl M. Syring이란 사람이 관리하는 오픈소스 프로젝트입니다. UNIX나 리눅스에서 흔히 사용하는 명령들을 윈도우즈로 옮겨놓았습니다. 인스톨러 형태의 배포본도 있네요.
  • GNU patch 간략사용법 - 웹에서 퍼왔습니다. patch 화일 만들기 및 적용방법 요약.




2 openoffice #






3 인스톨러 제작툴 #




  • [http]NSIS 2 - Winamp로 유명한 널 소프트에서 만든 인스톨러 저작툴입니다. 약간 쓰기 어렵지만, 공개라는 점과 스크립팅 시스템이 거의 상용수준이라는 점이 장점이죠.

    • [http]http://hmne.sourceforge.net/ - 전용 에디터입니다. 간단한 인스톨 스크립트를 만들어주는 위저드 기능 포함. 물론 공개. 델파이로 만들었네요.




4 FTP 관련 #






5 문서 저작툴 #




  • Tex - 유명한 조판 언어 tex에 대한 자료.




6 그래프 문서 저작툴 #




  • Graphviz - AT&T사에서 만든 dot이라는 알고리즘을 구현한 그래프 시각화 툴입니다. 간단히 말하면 '순서도'나 '구조도'를 생성해주는 툴이죠.

  • [http]http://www.ideagraph.net - 아이디어를 visual 맵으로 저장해주는 툴. 자바로 제작.
  • Dia 이야기 - visio 공개판이라 할 수 있는 툴. 그래프 기반의 문서작성 툴. GTK+로 제작.
  • [http]http://www.gnuplot.info/ - 꽤 오래된 그래프 드로잉 툴. 원래 과학계산용 공식 그래프를 그려주는 툴인데, 간단한 높이필드나 경로체크용 그래프, 산포도등의 용도로 사용해도 좋습니다. 설치도 쉽고 사용하기도 편리합니다.




6.1 프로젝트 일정관리 #




  • [http]http://ganttproject.sourceforge.net - gantt 차트 저작툴. visio외 다른 툴보다도 훨씬 좋고 심플하다. java 1.4이상 요구. 현재 한글깨지는거 해결된 상태




7 프로그래밍 Helper 툴 #




  • doxygen 이야기 - Doxygen에 대한 내용을 다룹니다. 메뉴얼 번역 및 설치법등등.
  • CVS - 버전 관리 및 프로젝트 소스 관리시스템인 CVS에 대한 내용입니다.

    • [http]http://subversion.tigris.org/ - subversion이라는 CVS를 개선한 버전관리 시스템입니다. 아파치 서버를 기반 서버로 사용하는 것과 파이선을 이용하는 것이 특징입니다. 아무래도 cvsnt보다는 무거운듯... 대규모 프로젝트에는 괜찮을 거 같다는 생각이 듭니다. tortoisesvn이라는 tortoisecvs 클론이 개발되고 있네요. :)

  • [http]http://webcpp.sourceforge.net/ - 여러가지 언어의 프로그램소스를 syntex highlight처리된 html화일로 바꿔주는 프로그램.
  • autoconf 이야기 - makefile을 자동으로 생성해주는 gnu 툴.
  • jam 이야기 - perforce사에서 만든 make 대체 툴. C++작업에 유용. boost 라이브러리에 채용.




8 콜백 관리 #




  • 콜백 시스템으로는 크게 시그널-슬롯방식과 메세징 방식이 사용되고 있는데, 주로 GUI라이브러리의 처리에 이용되고 있습니다. MS 윈도우즈는 전통적으로 메세징을 선호하고 있지만, GTK와 Qt와 같은 공개진영과 관련된 곳에서는 시그널-슬롯방식이 많이 사용되는 것 같습니다. 양쪽다 장단점이 있긴하지만... 시그널-슬롯 방식은 국내에는 잘 알려져있지 않을 것 같네요.
  • [http]http://libsigc.sourceforge.net - libsigc++ 이라는 GTK++에 채용된 C++ typesafe 콜백 라이브러리입니다. 보통 boost::signals와 비교되지만... boost의 것은 jam이라는 비make기반의 빌드툴을 사용해야만해서 좀 거부감이....:)

    • sigcpp이야기 - libsigc++에 관한 내용을 정리해둔 것입니다.




9 네트워크 #




  • [http]netcat - TCP/UDP 패킷 분석 Helper 툴. 간이 서버 및 클라이언트 테스트 용도로도 사용가능. 간단한 RPC툴로도 사용가능합니다! 배포본안에 포함된 실행화일에 트로이목마 바이러스가 걸려있습니다! 압축푸시고 실행화일을 지우신 후 새로 컴파일하시는 것이 좋습니다.

    • netcat - readme화일 번역. 자작 mingw용 makefile과 win32용 빌드 실행화일도 있습니다. :)
    • [http]http://farm9.org/Cryptcat/ - netcat에 twofish2 암호화 알고리즘을 붙였네요. 오픈소스. 소스에 twofish2 소스 포함되어있는데 꽤 깔끔합니다.

  • MRTG 이야기 - multi router traffic grapher. 트래픽 및 기타 정보에 대한 통계 그래프를 웹으로 출력해주는 툴. perl로 작성되어있다. 꽤 잘알려진 오픈소스 프로젝트.
  • Ethereal 이야기 - 오픈소스 네트워크 분석기. 일명 스니핑 툴이라고 하는데, 패킷을 가로채서 덤프하는 툴이죠. 보통 상용을 쓰는데, 이것도 꽤 괜찮은 툴입니다. 윈도우즈에서는 GUI가 좀 쓰기 그렇다는 단점은 있군요.
  • STunnel 이야기 - 공개 SSL 프록시 서버 데몬입니다. 간단히 말하면 SSL을 지원하지 않는 서버를 SSL을 지원하도록 하는데 사용합니다.
  • Snort 이야기 - 공개 IDS 툴(외부로부터 해킹과 같은 침입이 발생했을때 진단하고 알려주는 툴)중에서 유명한 것입니다. 버전업되면서 거의 상용수준의 성능을 자랑합니다.
  • [http]fragroute - IDC 테스팅 툴.
  • [http]http://pvpgn.berlios.de/index.php - 블리자드 베틀넷을 공개로 다시 구현한것. 오픈소스. :)




10 압축 #




  • [http]http://www.info-zip.org - 오래전에 개발된 명령행 zip압축해제툴. zip, unzip과 같이 압축/해제를 별도의 프로젝트로 관리중. 비압축 zip화일을 만들수 있다는 특징이 있음. 오픈소스.
  • zlib 이야기 - 유명한 공개 압축라이브러리인 zlib입니다. MS도 자사제품일부에 사용했다고 하죠.
  • [http]http://zziplib.sourceforge.net/ - zZIPlib. zlib를 다소 사용하기 쉽게 정리한 라이브러리. 내장?디렉토리에 따라 화일을 열고 읽을 수 있도록 한것이 특징.

    • mingw에서 컴파일 : 빌드 안됨. mmap 부분에 문제가 있는듯...

  • [http]http://www.eskimo.com/~scottlu/win/ - zlib기반의 실행화일 압축 프로그램. 오픈소스.
  • [http]http://www.oberhumer.com/opensource/lzo/ - upx 개발자가 만든 압축 라이브러리. 무손실, 상당히 빠른 압축해제속도, 압축풀때 메모리를 사용안함. ANSI C 기반인점 등등 장점이 많은 라이브러리.

  • [http]http://upx.sourceforge.net/ "the Ultimate Packer for eXecutables"의 약자. 실행화일을 압축해서 상당히 작은 크기로 만들어주는 오픈소스 툴. 압축률이 상당히 좋다. 소스는 공개되어있지만 상업적으로 이용하려면 원저자와 협의필요.

    • 팁 : msys에서 사용하려면 32비트 DOS버전을 설치해야만 합니다. 다른 것은 다운되더군요.




11 라이브러리 #




  • [http]http://cal3d.sourceforge.net/index.html - Cal3D. 공개 오픈소스 캐릭터 에니메이션 라이브러리.
  • freeimage 이야기 - C 기반의 이미지 라이브러리입니다. 처음 개발자가 개발을 그만두었지만 현재도 개발이 진행중인 라이브러리.
  • SQLite - SQL92 표준을 따르면서 Metakit의 장점을 모두 가지고 있는 DB 라이브러리.
  • [http]http://www.icculus.org/physfs/ - 퀘이크 WAD화일처럼 화일 한개내에 여러개의 화일을 담아두고 억세스하도록 해주는 라이브러리.
  • Makeheaders 이야기 - C/C++ 소스를 모아 헤더화일을 생성해주는 툴. 대규모 프로젝트를 수행할 때 편리함.
  • LEMON 파서생성기 이야기 - bison이나 yacc과 같은 역할을 하지만 간단하고 상당히 가벼운 파서생성기.
  • OTL - OTL (Oracle/ODBC Template Library) 공식 홈페이지.
  • [http]http://dtemplatelib.sourceforge.net - DTL (Database Template Library) 공식 홈페이지. ODBC 필요.
  • [http]http://www.unixodbc.org/ - unixODBC 공식 홈페이지.
  • [http]http://zeoslib.sourceforge.net/ - ZEOS 라이브러리 공식 홈페이지. 오픈소스 DB 연결에 사용. C빌더/델파이용.
  • [http]http://www.vorbis.com Ogg Vorbis. 오픈소스 사운드 압축화일 포맷 및 그에 따른 지원 라이브러리 프로젝트.

  • [http]http://www.speex.org/ - Ogg와 호환되는 Vorbis 대체용 코덱. vorbis보다 2~4배더 압축효율이 좋다고 한다. 대신 패턴에 따른 손실이 크며 주로 음성코덱용으로 사용.
  • [http]http://www.portaudio.com/ - 다중 플렛폼 오디오 입출력 라이브러리. 오픈소스.
  • [http]http://synedit.sourceforge.net/ - 공개인 syntax highlighting 가능한 메모 VCL 콘트롤.
  • [http]http://libsigc.sourceforge.net/ - signal+slot방식의 콜백시스템을 아주 쉽게 구현하게 해주는 C++기반의 템플릿 라이브러리. qt나 gtk+등등을 써보신 분은 이러한 이벤트 전달방식에 괜찮다는 생각을 하실 수 있을 듯. 현재 버전 2.0 발표.
  • iconv - 각종 로케일 및 코드변환 라이브러리. 예를 들면 UTF-8 -> 조합형 또는 완성형 처리를 실행해주는 라이브러리입니다. GNU 재단에서 관리하네요.
  • curl 이야기 - HTTP, FTP등등의 잘알려진 프로토콜을 사용하여 화일을 송수신할 수 있도록 하는 유명한 라이브러리입니다.
  • [http]http://www.ginac.de/CLN/ - 큰 상수 및 실수 연산 라이브러리. C++로 되어있습니다.
  • [http]http://www.geocities.com/axilmar/libgc/libgc.htm - 어떤 사람이 만든 C++ 개비지 컬렉터. 나름대로 정리한 듯. gc되어야하는 객체를 특정 클래스로부터 상속받아야만 하는 것이 단점.
  • [http]http://conio.sourceforge.net/ - 볼랜드 터보C 스타일의 콘솔 입출력 라이브러리. 간단히 말해 명령 프롬프트상에서 커서이동 및 문자열 색상 변경등을 단순화시킨 것. :)
  • [http]http://softwire.sourceforge.net/ - 실시간 임베딩 x86용 어셈블러 라이브러리. C++로 작성되어있으며 특정 상황에 상당히 유용할거라 생각됩니다.
  • [http]http://www.cs.man.ac.uk/aig/staff/alan/software/ - 2D 폴리곤 clipping 연산 라이브러리. GPL.



11.1 자료구조 #




  • [http]http://users.footprints.net/~kaz/kazlib.html - 몇몇 리스트, 해쉬트리등등을 구현한 C 라이브러리. C++을 사용할 수 없는 경우(STL을 사용할 수 없는 경우) 유용할 거라 생각합니다.




12 보안 및 암호화 #




12.1 라이브러리 #






12.2 PGP #


PGP 참조




13 에디터 #




  • scite - 최강의 초경량, 다기능 텍스트 에디터. 강추입니다!
  • vim 이야기 - vim/cream에 대한 내용입니다.
  • [http]http://www.jedit.org/ - 자바로 만든 오픈소스 플러그인방식의 에디터. 상당히 기능이 다양하며 뭐니뭐니해도 플렛폼 독립적이라는게 장점. 한글인코딩지원 및 문법 하이라이팅을 XML을 통하여 쉽게 고칠수 있다는 점이 장점.
  • [http]http://www.eclipse.org/ - 자바로 만든 통합 IDE. 다소 느리지만 J빌더 수준은 나온다는 소문이...



13.1 diff 툴 #




  • [http]http://winmerge.sourceforge.net/ - 상당히 쓸만한 diff 및 merge 프로그램. tortoisecvs와 연동도 가능. 정식보다는 가급적 최신 베타 버전을 받는 것이 좋습니다. 메뉴 한글화됨.



14 기타 툴 #






15 게임 제작 관련 라이브러리 #




  • [http]http://plib.sourceforge.net/ - PLib. 여러가지 이식가능한 게임제작관련된 라이브러리의 모음. 네트워크 라이브러리 참고할만함.
  • [http]http://www.ploksoftware.org - ExNihilo라는 오픈소스 3D 엔진을 제공하고 있음.
  • [http]http://clanlib.org/ clanlib 게임 라이브러리. 출력, 입력, 사운드, 네트워크 통합 지원. 이 라이브러리를 사용한 공개게임들의 품질이 괜찮다.
  • [http]http://alleg.sourceforge.net/ - allegro. DOS시절부터 발전되어온 게임 제작용 라이브러리. 출력만을 지원.
  • [http]http://irrlicht.sourceforge.net/ 우연히 발견한 오픈소스 3D 엔진. 성능 및 기능은 모르겠지만, DX와 GL의 통합 계층부분은 쓸만하다.
  • [http]http://arianne.sourceforge.net/ - 온라인 게임 프레임워크. 자체 서버 프레임워크도 가지고 있음.



16 사운드 #






17 XML #






17.1 XML-RPC #


XML-RPC 참조




18 화일 공유 #






19 그룹웨어 & 스케줄링 #




  • [http]http://www.phprojekt.com/ - php + DB 기반의 오픈소스 그룹웨어. 한글이 잘된다. gantt 차트도 그냥 HTML table로 만든 것이 특이.
  • [http]http://www.k5n.us/webcalendar.php - 간단한 보안기능을 가진 웹 달력. 간이 스케줄러로서 유용. 일부 한글화.
  • [http]http://www.planscalendar.com - 간단한 웹기반 달력시스템. 수정시 암호지정가능. 호스팅 계정에도 설치가 가능하다.




20 마인드매핑 #






21 정규표현식 #






22 파서/스캐너 #




22.1 spirit #




  • [http]http://spirit.sourceforge.net - C++내에 inline방식으로 LL 파서를 내장시켜주는 템플릿 라이브러리. 쓰레드안전기능추가를 위해서는 boost.threads, 정규표현식 파서기능을 쓰려면 boost.regex 필요.



22.2 lex/yacc #






23 악세사리 #




  • [http]http://surf.to/neko/ - 윈도우즈용 neko. 화면뛰어다니는 고양이를 표시해주는 "고루한" 악세사리인데, 소스가 공개되어있다. :)



24 포럼 #




  • minibb 이야기 - ACE 포럼을 만드는데 사용한 포럼툴입니다. 간단하고 고치기쉬운것이 장점.



25 머드 #




  • 좀 고전적이지만 기획적인 측면에서 참조할게 있더군요. 공개이고 괜찮은 사이트 링크합니다.
  • [http]http://www.awemud.net - 텔넷기반의 MUD서버제작 사이트. scriptix라고 하는 자체 스크립트 언어도 개발중이다. 모두 오픈소스 공개.




26 번역 툴 #




  • [http]http://www.poedit.org - poedit. gettext를 실행하려면 po화일을 우선 작성해야하는데 이를 작성하기 쉽게 해주는 프로그램. 한글화 되어있음.
  • [http]http://translation.gnu.or.kr/helping/gettext/ - gettext 번역방법. 간혹 몇몇 공개 어플리케이션은 gettext를 사용하여 국제화를 처리하고 있습니다.




27 텔넷 클라이언트 #




  • [http]http://kldp.net/projects/iputty/ - putty라는 오픈소스 공개 텔넷 클라이언트가 있는데, 이를 한글화한 것입니다. 오른쪽에 있는 다운로드 탭을 선택해서 다운받으면 됩니다.



28 email 알림 #






29 트루타입 저작툴 #






30 벡터기반 그리기도구 #






30.1 스포이드 툴 #






30.2 Hex 에디터 #






31 그래픽 화일 제어 #