Feeds:
Posts
Comments

Archive for the ‘Uncategorized’ Category

December 19, 2007 – 10:55 pm by zenguy – This post was 440 times read.

소규모 조직일 경우. 특히나 각자의 업무가 다방면에 다양한 능력을 요구할때 철저한 관리가 되지 않으며 중구난방식으로 흐지부지되는 경우가 발생한다. 그리하여 나름의 체계적이고 손쉬운 계속적인 유지보수를 위하여 나름의 방법을 정리하여 본다.

문서관리

일반적으로 MS Office, Mediawiki 두가지를 사용하며, 이따금씩 Google Docs, Springnote를 사용하곤 한다. 허나, 이는 문서가 분산화되어 정작 필요로 하는 자료를 찾는 번거로움은 물론, 계속적인 유지보수를 요구하는 경우, 상당한 불편함을 갖게 된다. 그리하여, 외부 공개문서의 경우는 MS Office군으로 통합적으로 작성하되, Pdf Export 시켜, Plaform에 상관없이 문서 확인이 가능토록 한다. 또한, 사적인 문서와 내부 문서의 경우는 내부 Wiki를 이용하여, 통합적으로 문서 관리 및 생성을 할 수 있도록 한다. 허나, Spreadsheet, Presentation 문서의 경우는 파일명_버전.확장자 형식으로 문서를 유지보수하며, 해당 데스크탑은 Google Desktop을 통하여 일괄적으로 문서를 통합 검색할 수 있도록 한다.

Google Dekstop의 경우 외부PC에서도 검색 결과를 확인할 수 있도록 설정하여 사용하며, 참으로 편리한다.

소스관리

Issue Tracking System은 Mantis 혹은 Trac을 통하여 해결하려 한다. 프로젝트 참여자들의 보다 편리한 문서관리를 위하여, wiki를 활용하려 하지만, Trac은 Mediawiki에 비해 상대적으로 강력하지 못함과, Mantis+Dokuwiki의 경우 유지보수의 귀차니즘으로 인하여, 아마도 Trac + Mediawiki로 각각의 용도의 충실하여 활용하지 않을까 한다.

요 몇일동안의 소스의 통합관리와 요구사항의 해결상황은 인지할 수 없는 현 상황에서 개별 단독 서버 구축을 통하여 통합적으로 소스, 문서 관리가 절실히 필요로 함을 느끼었다. 또한, 계속적인 업무 활동을 위해서라도, 이번주내에는 통합적으로 인가된 사용자만이 접근 가능한 폐쇄적 Extranet 구축을 하여야 할것 이다. 기반 솔루션의 경우에는 오픈소스를 적극 활용하여 해보자.

의사소통

내외부적으로 많은 의사소통이 이루어짐으로서, 보통 PC에 메신저를 4~5개를 항시 띄어놓고 있으며, 각각의 대화 기록은 PC에 저장하여 일괄적으로 유지보수가 이루어지고 있다. 물론, Google Talk의 경우에는 Gmail 연동으로 채팅기록의 유지보수가 사실상 필요 없으나, 나머지 항목에 대해서, 자동적으로 백업서버에 Sync 시킬 수 있는 소프트웨어를 찾아보아야 할것이다. 둘러보니, 몇몇 괜찮은 프로그램들이 있으나, 상용버전이라는거.. 흠

실상 실시간으로 어떤 대화를 나눌 필요는 없을것 같다. 아무래도, 실시간으로 대화를 나누는 시간을 줄이고, Email 교환을 통하여 보다 정리된 의견사항을 교환하여야 하겠다.

일반 게시판 혹은 포럼을 잠시동안 운영하였지만, 운영자인 나 조차도 익숙치 않음은 물론이거니와 일분 일초를 다투는 심리적으로 급박한 상황에서 답변을 기다리기 위해 시간을 보내는게 익숙치는 않다. 좀더 효율적인 운영 방안을 위하여, Email을 통하여 체계적인 의사소통과 wiki를 통한 모든 기록의 DB화.

흐음..

결국에 답은 Mantis 혹은 Trac. Moniwiki 혹은 Mediawiki. 오래전 프로젝트에서 사용되었던 ERP, CMS 솔루션을 개량해볼까도 했지만, 이 또한 시간낭비. 우선 요즘 유행하는 Trac + Mediawiki에 마음이 쏠리긴 하지만… 나름 목적도 좋은 방향이지만, 글쎄… 팀원들 교육을 해야 한다는 큰 문제점이 있다.

참여자들의 적극적인 참여가 없다며, 아무리 좋은 도구를 가져다 논들 말짱.. 황이다. ㅠ_ㅠ

그간의 업무 프로세스는 나의 배려라고 생각해준 팀원들께 감사하며, 앞으로는 철저히 나의 의견과 방향대로 따라줄것을 강력히 요청하였더니, 한번에 먹혔다. 흠… 처음부터 이렇게 하였다면, 이번일처럼… 서로 이해관계가 얽히는 불상사는 없었을터..

ps. P2P 를 통하여, 1주일간 약 50gb의 eBook을 모았다. 평생 죽을때까지 다 볼 수도 없는 양이지만, Google Desktop의 친절한 검색 결과는 필요에 따른 다양한 함수, 혹은 문서를 찾아주니…. 추후 버리는 PC가 있다면 이를 활용하여, 내부적으로 활용해도 좋을 듯 싶다. 이미 특정 업체에서는 특정 PC에 Google Desktop을 설치하여 각자의 업무를 서로 공유한다 하는데, 하긴 옵션 많은 엉뚱한 소프트웨어보다는 그리 하는게 더 편리할 듯.ps2. WSAD, RAD등을 활용하려 지인들께 여러 요청을 보내었고, 받은 답변은… 배보다 배꼽이 크다. 물론 비용적인 측면에서도 천문학적인 금액이 소요되는 점도 있으나, 글쎄… Commit 한번을 위해, 적개는 3~5단계 많게는 수십단계의 절차를 거치는 것은 내 스타일이 아니다. 보다 단순하고 깊이있는 관리 시스템…. ㅠ_ㅠ

ps3. 기획작업에 있어서 내 의도를 개발자에게 전달함에 있어서, 각 국가별로 상당히 상이한 모습을 보인다. 한국의 경우 일반적으로 MS Office군을 사용하여 PPT, Excel, Word문서로 하지만, 이는 상당히 비효율적이다 못해. 생산성은 최악을 달리는 경우를 보인다. 이를 해결 하기 위한 방안으로 다양한 방안을 찾고 있으나, 역시.. Agile 방법론이 가장 적절한듯 싶기도 하고… 도구보다는 생각. 철학이 업무의 생산성을 극대화 시킬 수 있는 최상의 방안인건가…. ㅡ_ㅡ

ps4. 웹표준 준수를 위한 이야기를 상당히 오랫동안 하였다. 도데체 “왜”라는 질문을 계속적으로 날려대는 상대방을 향해.. 이 한마디로 다들 고개를 떨구게 만들었다. 전.. Lynx 혹은 W3M으로.. 웹서핑해요… -_-; 농담이었지만…. 페이지를 통으로 Ajax… 음 표현하기도 힘들고… 논할 가치도 없다. SEO를 떠나서 이건 모든 사용자 PC 성능을 현시대의 가장 최신형 PC라 착각한 개발자가 아니면 불가능하다. 그래도 다행이다. Flex가 아니니… (이전 ****에서는 통으로 Flex… ㅋㄷ)

ps5. 피곤하다. 잠은 안온다. 왜일까…. 쓸쓸하군.. 쩝

Advertisements

Read Full Post »

한글 VIM

VIM에서 한글을 잘 사용하려면 한글이 가능하도록 새로
컴파일을 해야합니다. 왜냐하면 대부분의 배포판에는 한글
기능을 죽여놨기 때문입니다.
http://www.vim.org/ 에 가서 최신 vim을 다운 받고
기존 vim을 없애고, 압축을 풀고 그 디렉토리에 들어간
뒤에 다음과 같이 컴파일하세요

# ./configure –enable-multibyte –enable-hangulinput –enable-fontset
# make
# make install

gvim에서도 한글이 잘되게 하려면
~/.gvimrc파일을 만들어 그 파일에 다음을 입력하여 넣습니다.

set
guifontset=-misc-fixed-medium-r-normal–14-130-75-75-c-70-iso8859-1,-baekmuk-gulimbdf-medium-r-normal–14-140-75-75-m-140-ksc5601.1987-0

Powered by ScribeFire.

Read Full Post »

PCLinuxOS

요즘 뜨는 배포판인 PCLinuxOS를 사용하고 있는데.

인터넷 서핑 과 워드작업, 동영상감상을 주 용도로 사용하는 저에게는 불편함을 별로 모르게 하는 배포판이더군요

distrowatch.com 에서 1등이 그냥 되는건 아닌가 봅니다.

 

처음에 한글설정하느라 삽질좀 했지만 알고보면 별거 아닌지라

재 삽질 방지차원에서 간략한 한글설정을 올려드립니다.

 

cdimage는 www.pclinuxos.com에서 다운받으시고

설치는 Live CD이므로 알아서 잘~~


○ 설정

1. 우선 패키지가 구 버전이므로

apt-get update

apt-get dist-upgrade -y

를 해서 전체적인 업그레이드를 진행(느리므로 인내심이 필요함!)


2. 한글설치

시냅틱 관리자를 실행하여

scim scim-hangul scim-qtimm kde-i18n-ko mozilla-firefox-ko openoffice.org-l10n-ko fonts-ttf-korean

를 설치해주고


3. 한글설정

PCLlinuxOS Control Center 을 실행시키고

Select the language and the country or region of the system 을 클릭

korea 선택후 Next

밑에 Input method에서 SCIM+(DEFAULT) Next 후 재 로그인하면 한글 사용가능

 

아주 간단합니다.

Powered by ScribeFire.

Read Full Post »

IEs4Linux

You have to enable universe packages first. It is also recommended that you use the official winehq ubuntu package:

1) Open a terminal

2) Open /etc/apt/sources.list

 sudo gedit /etc/apt/sources.list

3) Uncomment (or add) following lines:

 deb http://us.archive.ubuntu.com/ubuntu edgy universe

4) Add this line:

 deb http://wine.budgetdedicated.com/apt edgy main

5) Close gedit. Update and install wine and cabextract:

 wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get install wine cabextract

6) Download IEs 4 Linux and install

 wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar zxvf ies4linux-latest.tar.gz
cd ies4linux-*
./ies4linux

Note for Dapper users: if you use ubuntu dapper, replace edgy with dapper on lines above.
Note for Feisty users (7.04): if you use ubuntu Feisty, replace edgy with feisty in the lines above.
Also replace gedit with kedit if running Kubuntu instead of Ubuntu.

For “Fiesty” K/Ubuntu Users (and 64-bit “Fiesty):

Powered by ScribeFire.

Read Full Post »

Firefox Hacks

One
Incredibly annoying thing with Firefox in almost every Linux distro I
have tried except Linux Mint, is the default setting for the
backspace-button. Why it isn’t “back” as default is beyond me, but
there is a hack, and while we are at it, lets make a list. Lets call
it, hmmm………….
“Top-three-Firefox-hacks-I-cant-comprehend-mozilla-didn’t-make-default”
There, let the list… BEGIN!

  • Minimize Hack

    The
    first hack that I have here is the popular Firefox Minimize Hack that
    almost everybody know about. The purpose of this hack tries to keep
    Firefox from eating up your physical RAM and instead puts the burden on
    your hard drive, or at least that is the general reason behind it. To
    implement this hack, perform the following steps.

    1. With Firefox up and running, type about:config and hit enter.
    2. Right click on the new page and select New -> Boolean.
    3. In the pop-up window, type in “config.trim_on_minimize” without quotes and hit enter.
    4. In the next pop-up window, select True and hit enter.
    5. Restart your browser

  • Network Hack

    This next group of hacks all relate to the network.http group in
    about:config. Basically these various options open up your network
    connection to Firefox, permitting it to access information online as
    quickly as your connection will permit you. To implement these hacks,
    perform the following steps.

    1. With Firefox up and running, type about:config and hit enter.
    2a. Find the entry called “network.http.pipelining” and set it to “true”.
    2b. Find the entry called “network.http.proxy.pipelining” and set it to “true”.
    2c.
    Find the entry called “network.http.pipelining.maxrequests” and set it
    to 16-32, but beware, if set too high you may risk banning yourself
    from various servers by being mistaken for a DoS attack.
    3. Restart your browser.

  • Back Hack

    (he
    he, it rhymes…)The final point in this list is the hack which makes
    the backbutton take you back to the previous page, to resurrect the
    backspace button, perform the following steps.

    1. With Firefox up and running, type about:config and hit enter.
    2. Find the entry called "browser.backspace_action"
    and change it's value to 0 (zero)
    3. Restart your browser.

Powered by ScribeFire.

Read Full Post »

오픈 소스 모음

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://www.atstake.com/research/ – @Stake라는 회사인데 네트워크 전문 연구소를 소유하고 있음. 위 툴은 hobbit와 chris라는 이 회사 연구원이 개발.
    • [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.htmlCal3D. 공개 오픈소스 캐릭터 에니메이션 라이브러리.
  • freeimage 이야기 – C 기반의 이미지 라이브러리입니다. 처음 개발자가 개발을 그만두었지만 현재도 개발이 진행중인 라이브러리.
  • SQLiteSQL92 표준을 따르면서 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.orgExNihilo라는 오픈소스 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 화일 공유 # [http]http://bitconjurer.org/BitTorrent/index.html – bittorrent라고 하는 잘 알려진 P2P 화일공유 시스템.

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 그래픽 화일 제어 #

32 웹 에디터 #

  • [http]http://www.fckeditor.net/ – 웹상에서 간단한 문서에디팅을 예쁘게 지원하는 프로그램. IE, 모질라 계열 모두 지원. 오픈소스. 꽤 좋다. )

33 웹 서버 #

  • [http]http://www.lighttpd.net/ – 아파치보다 빠르다는 벤치마크 결과를 게시하고 있네요. php가능. UNIX계열 only.
  • [http]http://dmr.ath.cx/net/darkhttpd/ – 단일쓰레드기반에 HTTP 1.1을 지원하는 웹서버 데몬. UNIX계열 운영체계에서 사용가능하다. CGI지원안함. 오픈소스. BSD 라이센스.
  • [http]http://www.yhttpd.org – 이식가능하고 가벼운 오픈소스 웹서버. ychat이라는 채팅서버도 같이 개발중.

34 irc 서버 #

35 time서버 동기화 클라이언트 #

  • [http]http://nettime.sourceforge.net/ – 공개 win32 time 서버 클라이언트. 간단히 말해 PC 시간을 자동으로 정확하게 맞춰준다. 우리나라는 한국표준과학연구원 타임서버 time.kriss.re.kr 로 설정하는 것이 좋다.

36 webcam #

37 괜찮은 공개프로그램(오픈소스아님) #

  • [http]http://www.teamcti.com/trayit/trayit.htm – 모든 프로그램을 tray로 집어넣어주는 win32용 프로그램. 프로그램 여러개 띄워놓고 사용하는 사람들에게 꽤 쓸만한 툴.
  • [http]http://free-backup-software.net/ – justzipit이라는 압축 툴 제공. 알집도 좋지만, 가볍고 쓰기좋은 점에서는 이것도 좋은 듯. 속도도 빠르다.
  • [http]http://www.freedownloadmanager.org/ – flashget과 같은 공개 다중 다운로드관리자. 여러화일을 다중쓰레드로 빨리 다운받을때 유용하죠. 팝업광고도 안뜨는 아주 괜찮은 툴입니다. )
  • [http]http://openproject.nazzim.net/ – 국산 캡쳐 프로그램. 심플하고 있을건 다있다.

38 괜찮은 상용프로그램 #

38.1 sshd 서버 #

1 플래시 #

2 블로그 프로그램 #

3 쇼핑몰 #

4 게임서비스 #

5 공개 게임 #

6 카운터스트라이크 관련 #

  • [http]http://podbot.nuclearbox.com/ – 카운터 스트라이크 bot 운용 패치 시스템. 사람끼리밖에 대전을 못하는 카스에 AI가 꽤 괜찮은 bot을 띄워주는 아주아주 초추천 실행화일. 게다가 공개! 카스 플레이어들은 꼭 해보시길…
  • [http]http://narics.net – 카운터 스트라이크 MOD 포털. 괜찮은 MOD 다수 보유.

7 유틸리티 #

8 opengl #

9 호스팅 #

  • https://i1.wp.com/hosting.cafe24.com/img/title.gif
  • [http]cafe24호스팅 : 매월 1만1천원에 2기가 HDD 500M Mysql지원. 서브도메인 지원. 월 500원 초저가 호스팅도 하고 있음.

10 한글 프로그래밍 및 IME #

11 3D 랜더링 툴 #

12 홈페이지 #

13 충돌검사 관련 #

14 P2P #

15#

16 gamasutra #

17 개인출판 #

18 기타 미정리 목록 #

Read Full Post »

Enterprise Business Integration: A Bi-Directional Approach

by Clyde Laakso, Frank Kowalkowski

Published: January 1, 2004

 

Published in TDAN.com January 2004

Enterprise Integration Today

The integration environment is volatile with many tools, vendors,
approaches and concepts bombarding us daily. The emerging ‘alphabet
soup’ of concepts and methods relating to integration in the enterprise
is causing considerable confusion. EAI, EBI, EII, EDI ELI and others
are bandied about as solutions to all our problems. In reality they
represent different areas of focus for the integration effort that
often overlap. Further, they tend to be focused on a particular tool
vendor solution, service provider, business issue or direction of
interest. How can we bring order to the proliferation of tools, ideas
and concepts of integration in this type of environment?

Enterprise business integration is much more than any one approach
or collection of approaches to integration concerns. Applying the most
appropriate approach or solution demands a systematic way of looking at
integration opportunities and responses.

 

There are many integration issues an enterprise faces today. Most of us can relate to the few that are listed below:

  • Data is scattered among a number of databases, data warehouses and datamarts.
  • Rewrite of applications is costly and time consuming.
  • Changes in strategy and direction of the enterprise come at an increasing pace.
  • Changes are enterprise wide and not limited to a single product, operating unit or location.
  • Management is faced with multiple choices of investment in integration.
  • Integration
    options are increasingly expensive with large investments needed in
    infrastructure, processes, applications, and data management.

Bi–Directional Integration

There is an orderly way we can look at the integration landscape to
help sort out the approaches and solutions. Integration has been
addressed from two directions in the enterprise often each unaware of
the other. One direction is driven by the business strategy and
strategy execution such as a merger, acquisition, consolidation,
expansion etc. The other is driven by operational needs and is
technology driven such as data access, application interfaces, process
renovation and others. Not coordinating the two directions can be
costly for an enterprise in terms of time and money. It is like a rail
track starting at each end of a country and not meeting in the middle.

We call the business driven/technology driven pairing a
‘bi-directional’ view of business integration. It takes into account
the two major directions of integration and attempts to organize them
into a simple framework with a set of layers to help determine the
situation and approach most appropriate for your enterprise. The
diagram below shows the layers of integration and the two directions.
We have observed five basic layers going from purely technology
oriented to purely business oriented. Both of these are going on at the
same time in the enterprise. The motives for each direction are
different:

  1. Business Driven – Outward focused as
    a response to the business environment. This is usually a business need
    looking for an enablement technology.
  2. Technology Driven – Inward focused as a response to operational pressures. Often a solution looking for a business justification.

The business oriented top layer may have very little to do with
technology. This level is featured by strategic business actions such
as merger, acquisition, consolidation etc. It is the result of the
response an enterprise makes to the forces in the economy, market,
industry and government. This approach is effectiveness driven, that
is, it answers the question ‘are we delivering the right products to
the marketplace?’ Integrating a business is not the same as integrating
technologies but some of the principles are common to all layers of
integration.

 

The Layers of Integration

Business Integration – The key effort
here is the restructuring of the enterprise from a business
perspective. The use of technology is of secondary consideration. The
concern is about integrating processes, locations, product lines,
infrastructure, intellectual property, markets, production and delivery
operations, catalogues and so on. These are all ‘pure’ business things
and only impact IT when there is a need for integration of
infrastructure such as used in the delivery of financial data. The
techniques used involve enterprise analysis and do not involve IT based
methodologies.

Partner Integration – This layer
addresses linkage to enterprise partners including suppliers,
customers, investors, analysts, interested parties, potential customers
and employees. While it may seem strange that an employee would be
considered a partner it is reality that employees have both an internal
and external view of their enterprise particularly when it involves
remote access such as for sales or technical support. Architecture and
requirements are critical to this layer with an understanding of the
goals and objectives of the stakeholders. IT enablement begins to take
on importance at this layer as the means of delivering data, knowledge
and information. At this layer, IT methodologies are blended with
enterprise analysis approaches to get a linkage between the business
view and the technology enablement.

Content Integration – Content
integration pulls together intellectual property from many sources and
displays the results to interested parties. In some cases they are
power users inside the enterprise and in other cases they are external
users that are looking for support information such as catalogues,
product sheets, maintenance data, parts and replacement information,
service manuals, operations manuals and other bounded knowledge
domains. New types of requirements articulation and tools are needed
here. Methods to identify the knowledge requirements (e.g. essential
knowledge identification) are needed with the capability to convert
them to delivered functionality for users.

Application Integration – The intent
of application integration is to provide access to functionality across
multiple applications or processing data across several applications.
There are a number of integration strategies for applications depending
on the scope and reach of the requirements. The concepts of scope and reach are important
to integration.

If the scope includes only two applications then pair-wise integration
is used. If the scope is three or more applications then a strategy of
logic, data and functionality encapsulation come into play. If the
scope of the integration is within a small area of the enterprise such
as a single operating unit or location, then there is high likelihood
of success. If the scope is across many operating units then other
factors will impact the effort such as company politics, conflicting
business objectives, competitive technology strategies, executive
incentives and many more that have little to do with integration. Reach
is a very different idea. It relates to the architecture of the
enterprise, both business and IT architectures. If the impact of the
integration effort changes the business or IT architecture dramatically
then the reach risk is very high and there is a likelihood of failure.
If the reach risk is low, that is, the architecture will not change
much, then the likelihood of success is high. Clearly an alignment
approach is needed to determine if the scope and reach will place the
enterprise at risk in its integration efforts.

Data Integration – This is the core
integration approach in many enterprises today. Managing data well and
achieving data integration go together. The need to manage data
carefully varies among types of enterprises. Data purveyors (firms that
sell data about consumer purchases, how many people watching television
programs, who sees which kind of movies and so on) have a very high
need for quality metadata, efficient data management, and consistent
quality of data. Hence they do considerable data cleanup, completion
and management. Manufacturing firms on the other hand have a mixed and
moderate need for data management. Banks and insurance companies have a
low need though they submit that the need is high. There is
considerable pressure today due to integration in the layers above the
data layer that is forcing better data management.

Often companies use application integration as the justification
for data integration and as the source of requirements for the data
integration. This is a risky strategy as the application may be subject
to considerable duress when the enterprise acquires a package or a
business integration need overrides the application impact. This could
remove the driver for data integration. The data integration need
should be driven by a business requirement not an application
requirement.

While data integration is the core of most integration efforts and
strategies, there are several key issues that need to be considered
before investing in a large data integration effort:

  • Metadata is not well managed and has varying degree of importance depending on the particular industry.
  • Business need may vary from industry to industry, market to market and strategy to strategy.
  • Logical data integration may be sufficient and a viable alternative instead of physical integration.
  • Data quality may not be consistent with the integration need.
  • Action is not always warranted by business need.

 

 

The table on the right summarizes the forces in the enterprise that
drive the need for integration at each layer. For each layer there is a
suite of technology and IT enablement architectures that must be taken
into account. This often causes confusion when enterprises look at
their integration needs and ultimately realize that these layers are
nested and that the ability to do application integration will depend
to a large extent on the ability to do data integration. Content
integration requires skills in application and data integration as well
as many new skills related to management, use and deployment of
knowledge.

Layers and Integration Approaches

Each of the layers has a primary or predominant approach with
several secondary or supporting methods of integration that may be
called into play.

  • Business integration – the primary
    integration approach is Enterprise Business Integration. Secondary and
    supporting approaches are Knowledge, Information and Application
    Integration.
  • Partner Integration – the primary
    integration approach is Enterprise Information Integration for linking
    to partners, investors and others external to the business. A secondary
    form is Knowledge and Data integration particularly the use of data hub
    concepts and portals for delivery of knowledge, information, and data
    interchange.
  • Content Integration – the primary
    integration approach is Enterprise Knowledge Integration with secondary
    supporting approaches of data integration and application integration.
  • Application Integration – the primary
    integration approach is the interoperability of applications. Secondary
    supporting integration approaches deal with data integration.
    Encapsulation tools provide access to functionality and data via
    standardized services that can also be used as web services.
  • Data Integration – This is the core
    integration approach in many enterprises today. There is no primary or
    secondary approach in this case since it is basic. What we have instead
    is technology enablement and a variety of data integration
    architectures depending on the enterprise need. The key feature of data
    integration is the use of ETL tools, (extract transform and load)
    coupled with brokers for routing the result of the extraction. Further
    enablement may come from conversion to XML formats for greater
    interoperability.

Integration Alignment

The layers of integration need at least some coarse alignment so
they do not conflict with each other for resources. In fact the
alignment should amplify the benefits derived from the integration
efforts at each layer. Earlier we mentioned and described the two
components of analyzing risk of integration efforts, scope and reach.
Just to refresh:

Scope – The degree to which
integration is needed on or across layers to achieve the goals of the
enterprise. Is it the whole enterprise, all applications every piece of
data or is it a small subset of these?

Reach – The degree to which the
structure/architecture must be changed to achieve integration. Will the
architecture change radically or very little?

These allow for a range of problems that an enterprise can encounter:

  • Over Ambitious Projects – If the
    integration effort in the enterprise has a large scope and reach then
    integration may be beyond the ability of the enterprise to accomplish.
  • Unrealized Potential – If the
    integration is tightly controlled by cost or is managed by another
    limiting factor then the scope may be too small or the reach too tight
    and the integration goal may not be achieved.

So, if the risk were plotted on a grid you would have a data point
for each type of integration. The scope and reach data points for each
layer define a pattern of enterprise integration. If the pattern shows
conflicting strategies across the layers then one layer will act as an
impediment to another.

The goal is to achieve a balanced solution across layers. If the
enterprise has considerable funds to expend on the effort then all the
data points should be aligned and moved as a group for success. If the
enterprise has some cost containment issues then the path should go
from business integration to the data integration to maximize the
business value.

The direction and number of layers of integration interest is
important. If the direction is from technology to business then the
focus starts with efficiency and the alignment with the layer above
should be close. If the direction starts from the business layers then
the alignment to the next layer down is close. If there are multiple
layers of integration of interest then the need for alignment is more
important since the integration architecture and strategy will
determine if the layers work together.

Here is an additional note on integration layers and their
alignment. When mapping the data points to a grid keep in mind that the
cluster shape will help determine the integration strategies. Alignment
does not always mean the assessment grid has matching data points. The
points may suggest complementary strategies for integration to be
successful. The strategy for the whole set of integration layers
requires balancing factors such as funding, skill, time and commitment
for success.

Conclusions

Reducing the volatility of the integration environment leads to
predictable results of the integration efforts. Understanding where the
enterprise is positioned with respect to its integration situation
contributes to removing the uncertainty that it faces in attaining the
structure needed for success. To accomplish this reduction in
uncertainty, several key steps are needed:

  • Identify the layer of integration of most interest.
    Particularly note whether the integration is business, technology or
    both driven.
  • Assess the scope and reach of your effort at each
    layer. Each layer forms a data point on an integration grid. An
    excessive scope on several layers requires considerable investment in
    money and management energy.
  • Make sure the efforts align and do not conflict. Align
    in the direction of the drivers. If the integration is technology
    driven the least likely alignment is with the highest layer.
  • Approach each layer and the suite of layers in a
    systematic manner. A simple and basic integration methodology is
    required that identifies the integration ‘As Is’ situation, articulates
    the patterns, strategies, principles and finally states the ‘To Be’
    result of the integration effort.
  • Select the discipline and technology enablement
    appropriate for each layer. Generally one for each layer. Avoid
    complicated solutions where approaches cover more than one layer. These
    require careful thought to prevent large amounts of maintenance.
  • Integration governance requires careful attention to
    collaboration and political relationships to prevent ‘push back’ from
    executives.

Organizations must strive to develop an aligned integration
strategy that makes sense across each of the layers, taking into
account risk and project funding. It is only then that the enterprise
can be assured of the best likelihood of success in applying technology
based approaches and solutions.

References

Integration grid adapted from “The Power of Strategic Integration”, by Burgelman and Doz, Sloan Management Review, Spring 2001.

Go to Current Issue | Go to Issue Archive

Clyde Laakso

Clyde is President of Lake, Vesta, and Bright Consulting Group, Inc., a
professional services firm established in 1998 specializing in
management reporting and data warehousing. He has over 20 years
experience in management and technical roles.

Frank Kowalkowski

Frank is President of Knowledge Consultants Inc., a professional
services firm founded in 1984. He has 30 years of management consulting
and industry experience in manufacturing, distribution, insurance and
financial services and the public sector. He is the author of a 1996
book on Enterprise Analysis (Prentice – Hall) and over fifty papers.

Powered by ScribeFire.

Read Full Post »

Older Posts »