정보기술2007. 9. 17. 10:37
오픈 소스 프로젝트의 환상

 sourceforge 등의 오픈 소스 프로젝트를 보자면, 여러 가지 분류 기준으로 프로젝트를 볼 수 있을 것이다.
물론, 네트워크, 시큐러티 등의 쟝르로도 볼 수 있겠지만, 그 외에도 필자는 프로젝트의 기간과 함께
동시 개발 인력 수를 보곤 한다. 많은 사람들이 동시에 접근하면서 수정 가능할 수 있는 것이
오픈 소스 프로젝트 같지만 실상은 그렇지 않다. 대부분 소수(또는 극소수)의 의사 결정자들에 의해서
진행이 되는 것이 다반사이다. 즉, 오픈은 오픈이지만 그것은 사용 권한에 대한 오픈이지, 개발 참여에
대한 오픈은 아니라는 것이다.

국내 기업과  오픈 소스 프로젝트의 관계

까놓고 얘기해서, 국내 기업에서 오픈 소스 프로젝트란, 돈없는 기업 또는 예산을 절약하기 위해서
오픈 소스 프로젝트를 도입하겠다는 의미 이외에는 없다. (거짓이라면 그 회사 사장님의 글을 트랙백으로 올려
주시길...) 잘 키운 오픈 프로젝트 하나가 열 상용 프로젝트 안 부러워 지는 것이 실리콘의 대세이거늘
국내에서는 열매의 단맛에 현혹되어서 그것에만 끌려 가고 있는 것도 현실이다. 이런 점의 문제는
국산 오픈 프로젝트의 희소성 때문에 개발 참여 인원의 질적, 양적 향상 자체가 불가능하다는 점이다.
아울러 국내 SI 빅 3 등에 의한 독과점은 차제하고서라도, 소프트웨어의 발전은 오픈 프로젝트에 기반한다는
진리 아닌 진리를 외면하고서는 계속 미국에 끌려 가면서 비싼 로열티를 물수 밖에 없게 되리라는 것이다.
(오픈 프로젝트에 대한 착각으로 그것이 공짜(?)이기에 사용한다. 하지만 LGPL 라이센스 등의
법적 적용이 국내에도 퍼지게 된다면 공짜 아닌 공짜가 될 것이다. 그리고, 모든 오픈 프로젝트가
영구히 오픈 프로젝트로 존재한다는 보장이 없으며, 아울러 계속 지원된다는 보장도 없기 때문이다.)
거기에 국내에 많이 퍼진 임베디드 개발업체들 중 다수의 중소기업들은 오픈 프로젝트를 사용하고 있는데
그 자체가 LGPL 3 등에 걸리는 내용이기에 법적 소송이 걸린다면 괴로운 일이 될 것이다.

국내 대학과 오픈 프로젝트

소수의 명문대를 제외하고는 국내 공대의 목표는 하나이다. 취업!!
현재 추세는 대부분 공무원 취업이 일순위 일것이며, 그 다음은
어떻게든 이름있는(?) 대기업에 취업하는 것을 지상 과제로 여기고 있다.
취업을 최종 목표로 하는 대학이 많은 것은 일단 대학과 고교 졸업생 비율이 80%를 넘은지
오래 되었기 때문이다. (현재 대학에 안 가는 이유는 돈이 없거나, 가기 싫은 것 중 하나이다.)
대학의 가치가 결국 대기업 취업의 머릿수로 산정되는 것이 현실이기에,
오픈 소스 프로젝트를 대학 위주에서 운영하기란 하늘의 별까기(?)의 일이 되고 있다.
(이점은 명문대도 마찬가지이다. 아니라면 귀 대학이 운영하는 오픈 프로젝트 열가지를 트랙백으로
걸어 보시라.)

먹어야 살지만...

물론 상용 프로젝트가 소프트웨어의 꽃이기는 하다. 하지만 식물의 모든 부위가 꽃이면서 열매이기만
할 수는 없지 않겠는가?!?! 잎도 필요하며 뿌리도 필요하다. 그리고 또한 그런 성숙을 위해서는
기업과 대학의 연계도 필요하다. (솔직히 이 이야기는 지겹도록 듣기에 필자도 지겹다.)
반응형
Posted by Jay Two
정보기술2007. 9. 14. 13:56

문자열 관리는 어떤 종류의 컴퓨터 언어든간에 대부분 존재한다.

물론 시간, 날짜, 화폐 등등 의 것들도 대부분 존재하는 것들 중 하나일 것이다.

그런데 이런 문자열 처리 내용을 정리해 보자면 다음과 같다.


  1. 문자열의 설정
  2. 두 문자열 비교하기
  3. 다른 형(type)의 자료형을 문자열로 변환하기
  4. 문자열을 다른 자료형으로 변환하기
  5. 문자열 중에서 임의의 문자(또는 문자열)을 찾기
    1. 문자열 처음부터 찾기
    2. 문자열 맨 뒤부터 찾기
    3. 문자열 중 임의의 위치에서 찾기
  6. 문자열의 길이 얻기
  7. 임의의 문자로 시작하는지의 검사 여부
  8. 임의의 문자로 종료하는지의 검사 여부
  9. 문자열 중 임의의 문자열을 위치(offset), 길이(length)에 따라 추출하기
  10. 문자열 중 임의의 문자(또는 문자열)을 다른 문자(또는 문자열)로 변경하기
    1. 전체 모두 변경하기
    2. 임의의 지정한 영역에서만 변경하기
  11. 영어(English)일 경우, 대문자화, 소문자화

등등…이 있을 것이다.

물론 언어의 특성에 따라서 기능이 더 많거나 적은 경우가 많다.

하지만, 위 정도 기능만을 가지고 있어도 충분히 훌륭한 문자열 관리 기능이라고 할 수 있을 것이다…(아마도-_-;)





반응형
Posted by Jay Two
정보기술2007. 9. 14. 10:10
반응형
Posted by Jay Two
정보기술2007. 9. 12. 17:13

컴퓨터 언어(Computer Language)는 너무나 많습니다.

인간이 사용하는 자연어(natural language)보다도 많습니다. 


다양한 컴퓨터 언어를 학습하는 방법은 두 종류가 있는 듯 합니다.

상향식 접근(bottom-up)과 하향식 접근(top-down)입니다.


상향식 방법은 일반적인 컴퓨터 언어를 배우는 방법입니다.

대부분 처음 컴퓨터 언어를 배울 때는 한 가지 언어(JAVA 등)를 배우게 됩니다.

그리고 그 후에 두번째, 세번째의 언어를 배우게도 되는 방법입니다.

그런 경우 상향식 접근법은 한 가지 언어에 대하여 어느 정도 스킬을 익힌 후

그 언어를 바탕으로 다른 언어의 유사한 처리 부분을 이해하는 것이다.


한국어에 있는 의미가 영어, 일본어에도 유사한 의미가 있다면 

논리적인 분류를 한국어의 기준에 맞추어 나가는 방법입니다. (해 → 日 → Sun)

이 방법은 장점은 과거의 경험을 확장하여 이해할 수 있다는 점입니다.


하지만 언어별 뉘앙스가 미묘하게 다른 경우는 이 방법이 항상 좋지는 않습니다.

하늘(한국어)는 天(중국어)과 유사하게 사용 가능합니다.

하늘나라(한국어)는 天國(중국어)도 유사하게 사용 가능합니다.

하지만 sky(영어)와 heaven(영어)는 다릅니다.

sky에 계신 하느님(God in Sky)이라고 하지는 않습니다. 

오히려 ciel(프랑스어)과 le paradis(프랑스어)에 가깝습니다. 


하향식 접근은 유사한 언어 그룹에 따라서 각 언어들을 바라 보는 것이다.

피터 노빅의 프로그래밍 10년 완성의 글에서 컴퓨터 언어를 분류한 것도 한 사례입니다.

브루스 테이트의 일곱 언어 배우기에서도 언어를 분류하여 그 중 대표언어를 소개합니다.

상위 어군(語郡)의 개념 및 메타 구조를 이해함을 통하여 각 어군의 공통점과 차이점을 배우는 방법입니다.

어군 별로 일통만통(一通萬通)의 학습 접근법이지요.


한국어나 일본어는 어군은 다르지만 한자(漢字) 문화권이므로 유사한 면모가 많습니다.

한자를 배우면 중국어를 몰라도 한자 문화권과 구문적 소통이 가능합니다.

유럽 어군들은 중세 라틴어를 배우면 많은 개념들의 공유가 가능합니다.


반응형
Posted by Jay Two
정보기술2007. 9. 12. 13:51
Acrobat 을 통하여 한번에 최대한 관리할 수 있는 pdf 파일 개수는 몇 개나 될까?

정답 : 50개 (50개 이상은 한 번에 보거나 편집할 수 없다...)


반응형
Posted by Jay Two
Python2007. 9. 11. 09:29
py2exe


http://www.py2exe.org/

python 은 기본적으로 인터프리터 구조입니다.
그래서 가끔 바이너리만 배포하고 싶은 경우가 생기기도 하는데 (자바도 가끔 이런 경우가 있죠..)
이때 사용하는 방법 중 하나로 py2exe 를 사용하는 겁니다.
이름 그대로 파이썬 파일을 exe 파일로 만들어 줍니다.
(파이썬 버전에 맞춰서) 싸이트에서 다운 받은 후, 실행하시면 됩니다.
(참고로 전 비스타라서, run as admin 권한으로 설치파일을 실행해 주어야 합니다. UAC 처리는 없네요--;)
그리고 간단한 콘솔 컨버팅 예제가 있습니다. (
http://www.py2exe.org/index.cgi/Tutorial)
hello.py 를 hello.exe 로 변경하는 작업이죠,
물론 wxPython 을 사용하는 경우 등을 위하여 윈도형 컨버팅도 가능합니다.
(그런데 한글 처리 문제가 있으므로,
http://www.python.or.kr/pykug/py2exe 를 참조합시다.
그리고, 역시 오픈 프로젝트 계열이므로 자신이 직접 이거저거 손을 대보고 테스트해보고
구글링 등을 하는 것이 가장 이상적일듯 합니다..)
그.리.고.
이런 컨버팅 라이브러리가 만병 통치약은 아닙니다. 만약 윈도만을 위한 어플리케이션을 위해서라면
역시 윈도 전용 지원 컴파일러와 라이브러리를 사용하시는 것이 가장 이상적일 겁니다.
특히 오픈 계열 프로젝트는 버전업이 매우 느리므로 윈도 SDK 수준의 지원은 힘듭니다.
(즉, 모든 트러블슈팅 해결을 하기는 힘들거라는 겁니다.)
하지만, 파이썬의 멋진 기능을 배포본으로 만들 수 있는 이런 툴을 절대 포기(?)할 수는 없습니다.
마구 써 주도록 합시다.ㅎㅎ

반응형

'Python' 카테고리의 다른 글

Pygoogle-chart  (0) 2011.08.12
[python] system endianness 출력  (0) 2011.05.10
파이썬 임베딩 예제  (0) 2008.06.28
[Python] UDP 서버 예제  (0) 2008.04.16
Python 키 입력 예제  (0) 2007.09.07
Posted by Jay Two
C, C++2007. 9. 8. 20:37
반응형

'C, C++' 카테고리의 다른 글

MultiByteToWideChar() 함수  (0) 2007.12.31
구조체 멤버의 오프셋 얻기  (0) 2007.10.12
32비트 윈도우즈에서의 자료형  (2) 2007.09.04
API함수 IsWindowUnicode  (0) 2007.08.28
2의 n배승의 수인지 알아 보는 예제  (0) 2007.08.13
Posted by Jay Two
Python2007. 9. 7. 13:34

# 키 입력 예제



#
# 짜증나는 일을 처리 하다가 파이썬 튜터리얼을 보면서 다시 마음을 새롭게 하는 중...
# 만화가는 낙서하면서 쉬고, 프로게이머는 PC방 가서 쉬기도 할까??

반응형

'Python' 카테고리의 다른 글

Pygoogle-chart  (0) 2011.08.12
[python] system endianness 출력  (0) 2011.05.10
파이썬 임베딩 예제  (0) 2008.06.28
[Python] UDP 서버 예제  (0) 2008.04.16
py2exe  (0) 2007.09.11
Posted by Jay Two