공대를 졸업한 당신. 학교에 다닐 때는 목이 다 늘어진 흰 셔츠와 물빠진 청바지만 입고 다니며, 인사라고는 밥먹었냐와 숙제했냐 밖에 모르던 당신.

사용자 삽입 이미지사용자 삽입 이미지

사회 생활을 몇 년 하며, 이제는 공돌이 물이 빠졌겠지 라고 생각하겠지만... 과연?

몇가지 테스트로 간단히 점검해보자.

1) 다음 단어의 의미는?

probability
equation
evaluate
frequency
function

생각도 안하고 바로 답 보려는 행동도 공돌이스러울 수 있으니 잠시만 생각해 보고 답을 보자. ㅎㅎ

혹시 생각한 답이 아래라면 당신은 공돌이. (마우스를 드래그 해 보세요)
확율
방정식
값을 구하다
주파수
함수

일반인들은 다음과 같이 생각한다는게 문제. ㅎㅎ

probability : 가능성, 개연성
equation : 평형 상태
evaluate : 평가하다
frequency : 빈도
function : 기능

억울하다면, 한 문제 더!

2) "정의" 가 영어로 뭘까요?

(드래그 해 보세요) definition 이라고 생각한 당신은 역시 공돌이.

문돌이들은 justice 라고 생각한단다.

마지막으로

3) open의 반댓말은 무엇일까? short라고 답했다면 당신은 구제 불능!

트랙백 주소 :: http://www.epapyrus.com/blog/jeong/trackback/31

댓글을 달아 주세요

  1. 공돌이 2008/09/21 01:37  댓글주소  수정/삭제  댓글쓰기

    ㅋㅋㅋ 재밌습니다.

  2. 공돌이2 2008/10/14 10:25  댓글주소  수정/삭제  댓글쓰기

    보기좋게 당했군요... 정말 허를 찔린기분입니다-ㅅ-

  3. Leo Kim 2008/10/26 19:10  댓글주소  수정/삭제  댓글쓰기

    공돌 내공이 부족해서인가 3번에는 걸리지 않았군요.
    우리 공돌이들도 꾸준히 인문학적 소양을 길러야 겠습니다.

  4. 모던보이 2008/10/29 14:39  댓글주소  수정/삭제  댓글쓰기

    3번은 전자공학 전공에만 해당되겠네요 ㅎ
    1, 2번 걸린 것 만으로도 충분히 당신은 공돌이...

PDF와 HTML의 비교에 대해 궁금해 하시는 분들을 꽤 자주 봅니다.

기술적으로 보면 PDF와 HTML은 비교 대상이 될만한 유사성이 별로 없습니다만, 컨텐트의 컨테이너라는 점에서 그리고 플랫폼 독립적이라는 점 등에서 서로가 비교 대상이 될 수도 있습니다.

PDF 문서는 대부분 인쇄를 염두에 두거나, 원본 문서를 있는 그대로 전달하기 위한 용도로 사용되어 왔습니다.

그렇다면 인터넷, 특히 웹 환경에서의 문서 포맷으로 PDF 문서는 어떤 장점과 단점을 가지고 있을까요? 이러한 의문을 현재 웹환경의 표준 문서 기술 언어인 HTML과의 비교를 통해 풀어보겠습니다.


일단 간단히 둘을 비교한다면,


    PDF는 장치나 운영체제에 관계없이 어떠한 환경에서도 똑같은 모습으로 보여지고 출력될 수 있습니다.


    HTML은 화면상의 보기와 사용자와의 인터페이스를 위하여 설계되었습니다. 화면상에서 읽기에 최적화 되어 있지만, 브라우저에 따라서 보이는 모습이 달라질 수 있고 또한 출력이 상대적으로 어렵습니다.

이제 좀더 자세히 알아 보겠습니다.


1. 비용

    PDF: 매우 저렴한 비용에 제작될 수 있습니다. 원고를 일반적으로 사용하는 워드프로세서 또는 오피스류 소프트웨어를 사용할 수 있기 때문입니다.

    HTML: 사용자 인터페이스와 상호작용, 화면 보기에 신경을 쓰는 만큼 비용이 증가합니다. 하이퍼링크, 썸네일, 이미지 등은 꽤 지식과 시간을 요합니다.


2. 파일 구조

    PDF: 모든 요소가 단일 파일 내부에 저장되며, 대체로 워드 등과 같은 파일 보다 크기가 작습니다.

    HTML: 텍스트와 이미지, 멀티미디어 요소가 분리된 파일로 존재 합니다. 대체로 하나의  페이지는 10-20여개의 파일로 이루어 집니다.


3. 화면 보기

    PDF: 원고와 완전히 동일한 모습을 보여주며, 3200% 까지의 확대가 가능합니다.

    HTML: 보여지는 모습은 브라우저, 화면 해상도, 브라우저 세팅 등과 같은 요소에 의해 달라질 수 있습니다.


4. 인터랙티브 요소

    PDF: 가능하기는 하나 꽤 어렵고 시간이 걸리는 작업이 됩니다.

    HTML: 이미지 뿐만 아니라, 오디오, 비디오 클립, 폼에 이르기 까지 다양한 요소를 그리 어렵지 않게 사용할 수 있습니다.


5. 출력 품질

    PDF: 원본과 완전히 동일합니다.

    HTML: 화면 보기의 경우와 비슷하게 많은 요소에 의해 달라 질 수 있으며, 대체로 화면이 잘리거나, 마진이 틀려지는 등의 트러블이 종종 발생합니다.


6. 수식 사용

    PDF: 원본에서 표현된 것과 완전히 동일하게 표현합니다.

    HTML: 수식을 직접적으로 지원하지 않습니다. 따라서 별도의 이미지 파일로 수식을 표현해야 하는 등의 번거로움이 있습니다.


지금 까지의 사실을 바탕으로 두 포맷 간의 장단점을 비교해 보겠습니다.


[장점]

    PDF: 쉽게 만들 수 있고, 원본과 동일한 화면/출력 품질을 유지합니다.

    HTML: 인터랙티브 요소를 쉽게 만들 수 있고, 오디오/비디오 클립 등과 같은 데이터를 쉽게 포함할 수 있습니다. (최신 PDF 스펙은 HTML 만큼은 아니지만 멀티미디어 요소를 포함할 수 있습니다.)


[단점]

    PDF: 인터랙티브 요소의 추가가 쉽지 않습니다.

    HTML: 단일 페이지를 구성하는 파일의 개수가 많아 제작과 관리가 힘들며,  여러 플랫폼에서 일관적인 모양을 유지하기가 힘들고 출력이 어렵습니다.

TAG HTML, PDF, 비교

트랙백 주소 :: http://www.epapyrus.com/blog/jeong/trackback/30

댓글을 달아 주세요

최근 서점에 갔다가 놀라게 된 일이 있었다. 직업이 직업인지라 컴퓨터 관련 서적들을 습관처럼 훑어 보게 되는데, 버전 관리 시스템(이하 SCM)에 대한 책들이 꽤 많이 나와 있는 것이다.


놀란 이유는 두 가지다. 하나는 왜 SCM 사용법이 책으로 나와야 하는 것이고, 다른 하나는 왜 요즘에 저런 책이 나오는가 하는 것이다. 아, 그랬던 것이다. 책을 몇 권 뒤져보니 지금까지도 버전 관리 없이 살아온 개발팀이 많았던 것이다.


여기서, 버전 관리의 중요성을 논하고 싶지는 않다. 그 보다는 널리 사용되는 두 종류의 SCM, 마이크로소프트 SourceSafe와 오픈 소스 프로젝트인 CVS에 대한 담론을 해보려고 한다.


SourceSafe(이하 SS)는 어떤 파일에 대해 작업을 하기 위해 체크아웃이라는 절차가 필요하다. 체크아웃을 통해 내가 이 파일을 수정할 예정이니 다른 사람들은 손대지 말라는 선언을 하는 것이다. 수정이 끝나면 체크인을 해서 중앙 저장소에 기록을 하게 되고, 이제 모든 사람들이 이 수정을 자신의 로컬로 가져올 수 있게 된다.


이 방식의 가장 큰 특징은 하나의 파일을 동시에 한 사람만 수정할 수 있다는 것이다. 즉 main.c 파일을 김군이 수정하고 있으면, 이양은 김군이 수정을 마칠 때까지 수정할 수 없다는 것이다. 여러 사람이 작업할 때, 생길 수 있는 충돌을 원천 봉쇄하는 것이다.


CVS는 훨씬 자유롭다. 아무 파일이나 마음 내키는 대로 수정하면 된다. 그리고 수정이 끝나면 커밋(SS의 체크인과 비슷한 개념)을 하면 된다. 그러면 동시에 여러 사람이 같은 파일을 수정하고 커밋하면 어떻게 되냐고? 이런 상황을 충돌이라고 하는데 그런 경우는 동시에 일어난 수정들을 손으로 해결 하거나, 자동에 맡기면 된다.


위의 두 방식은 예전부터 격렬한 논쟁 거리가 되어 왔었지만, 이 이야기를 또 들고 나온 것은 저 물건들의 정치적, 사회적 특성에 대해 재미있는 것을 발견 했기 때문이다.


SourceSafe의 방식은 안전하다. 절대 혼란이 발생할 수가 없다. 어떠한 작업을 하기 위해서는 SCM이라는 중앙 기관의 허락을 받아야 하고, 이 허락 없이는 작업이 불가능 하기 때문이다. 그야 말로 계몽주의의 전형이다. 누가 어떤 파일을 사용하는지 중앙에서 통제한다. 사회의 혼란을 막기 위해서 모든 것을 통제 하는 시스템. 형식의 아름다움이 느껴지지 않는가?


하지만, CVS는 이 형식을 깨버린다. 작업을 하기 전에 중앙의 승인을 받아야 하는 절차를 무시한다. 그저 아무 때나 작업을 하면 된다. 작업을 하기 위한 중앙 저장소의 허락이 필요 없다. 작업이 끝나면 커밋 만 하면 되는 것이다. 더 이상 관리의 주체는 SCM이 아니라, 개인이 된 것이다. 오바를 해 보자면, 개인과 사회의 해방을 이룩한 것이다.

종종 충돌 과 혼란도 일어난다. 하지만, 구조나 형식을 통해서 이 문제를 해결하지는 않는다. 자유와 해방을 위해서 이러한 혼란을 감수한다.


사회, 문화, 예술에 이어 엔지니어링 세계에서도 포스트모더니티가 나타나고 있다.

(이 글은 2006/04/25일 네이버 블로그에 올렸던 글입니다.)

트랙백 주소 :: http://www.epapyrus.com/blog/jeong/trackback/29

  1. Subject: 버전관리 - 작업영역에 대한 오해

    Tracked from 머샤의 인생과 웃기는 고양이 2008/09/17 11:41  삭제

    이글은 이파피루스 대표이신 모던보이님의 글에 트랙백하기 위해서 씁니다. 이파피루스 대표께서 운영하는 블로그에 "버전관리시스템과 포스트모더니즘"이라는 글이 올라왔습니다. 물론 글의 내용은 본인도 상당히 공감하는 통제와 자유화의 관점에서 느끼는 소견이라 사족을 달고 싶지는 않습니다. (동감한다고 해야 할까요?) 하지만, CVS와 SourceSafe의 비교에서 일반 사용자(버전관리 시스템을 개발하는 사람은 아닌)분들이 조금 헷갈려 하시는 부분이 있어 언급..

댓글을 달아 주세요

  1. clue 2008/09/17 04:29  댓글주소  수정/삭제  댓글쓰기

    CVS가 sourcesafe보다 훨씬 먼저 만들어진 소프트웨어죠. sourcesafe는 그래도 90년대일 텐데.

  2. youlsa 2008/09/17 14:01  댓글주소  수정/삭제  댓글쓰기

    CVS를 거쳐 SVN을 쓰고 있는데요, 별로 생각해보지 않은 내용을 지적하셨네요. 그러고 보니 또 그렇다는 생각이 듭니다. 통제의 틀을 다소 넓힌거라고 볼수도 있겠고요.

  3. clue 2008/09/17 15:39  댓글주소  수정/삭제  댓글쓰기

    sourcesafe가 사용하고 있는 lock-modify-unlock 모델은 CVS 전부터 RCS, SCCS 따위시절부터 오랫동안 쓰던 방식입니다. CVS나 SVN은 이런 전통과는 다르게 working copy를 만들어 merge하는 모델을 택했고 매뉴얼을 보면 lock을 하는 것에 대해 문제점과 불필요함을 논하는 부분이 있죠. sourcesafe는 더 나중에 만들어졌음에도 불구하고 lock을 하는 모델을 택했구요.

  4. 모던보이 2008/09/17 16:47  댓글주소  수정/삭제  댓글쓰기

    CVS와 SourceSafe의 앞뒤는 논점은 아닙니다. Clue님이 말씀하신것 처럼 lock-modify-unlock 모델이 더 오래 됬고, 모던 하다는 이야기 이지요. ㅎㅎ

리눅스용 오픈소스 테니스 게임 하나를 소개하겠습니다.

사용자 삽입 이미지사용자 삽입 이미지

요즘 나오는 상용 게임 기준으로 보면 비주얼이 별로라고 생각하실 수 있지만 두가지 재밌는 점이 있습니다.

1. 테니스 선수 출신 프로그래머가 개발한 오픈 소스 소프트웨어 입니다.

테니스 선수와 프로그래머. 꽤 재밌는 두가지 직업이죠? 실제 테니스에서 사용되는 전술들을 직접 적용할 수 있으며, 인공지능이 꽤 똑똑합니다.

2. OCaml로 작성된 소프트웨어 입니다.

2007년말 기준으로 Flying Flog Consultancy에서 발표한 가장 인기있는 OCaml 프로그램 톱10에 들었던 소프트웨어입니다. 선정 기준은 우분투와 데비안에서 인스톨 된 시트수 기준인 것 같습니다. http://ocamlnews.blogspot.com/2007/12/top-10-most-popular-ocaml-programs.html 

아래 링크에서 자세한 설명과 다운로드를 받을 수 있습니다.
http://freetennis.sourceforge.net/

트랙백 주소 :: http://www.epapyrus.com/blog/jeong/trackback/28

댓글을 달아 주세요

일전에 개발 언어 관련해서 KLDP에 글을 포스팅한 적이 있습니다.
http://kldp.org/node/96655

결국 OCaml로 한 번 가보자는 결론을 내렸고 작은 프로젝트 부터 실험적으로 시작해 보고 있습니다.

그나저나 가장 큰 문제는, OCaml에 대해서 별로 경험 없는 사람들끼리 모여서 프로젝트를 하려니 책이나 자료 부족이 가장 큰 문제네요. 한글 책은 없어 보이고요.

혹시 ML 또는 functional language을 배우고 싶은 분들을 위해 책 한권 소개 하겠습니다.

The Little MLer
Matthias Felleisen and Daniel P. Friedman

 
with a foreword by Robin Milner
and drawings by Duane Bibby

사용자 삽입 이미지

이 책은 어려운 개념을 쉽게 잘 설명한다는 점에서 가장 큰 점수를 주고 싶습니다. 왼쪽과 오른쪽으로 나누어져 질문과 답변의 형식에 약간의 유머가 들어 있어 쉽게 읽을 수 있고요.
특히 함수형 언어에 대해 경험이 없는 프로그래머들에게 ML의 타입 시스템, 표현식, 고차 함수, 람다 캘큘러스 등을 잘 설명해 줍니다. 특히 Imperative language에 익숙한 독자들이 재귀적으로 생각하는 틀을 만들어 주는데 많은 도움을 줍니다.
또 한국 독자들에게는 쉬운 영어로 쓰여져 있다는 점도 큰 메리트이겠군요.

책은 SML을 기본으로 사용하고 있지만, 복잡한 문법이 없고 책 앞부분에서 OCaml의 경우에 대한 언급이 있으므로 별다른 문제는 없습니다.

참, Lisp에 관심이 있는 독자라면 The Littler Schemer도 추천합니다.

트랙백 주소 :: http://www.epapyrus.com/blog/jeong/trackback/27

댓글을 달아 주세요

지구 온난화, 국제 유가 급등, 피크 오일 등 날로 심각해지는 여러 가지 환경 및 에너지 문제에 대해 전세계적으로 관심이 높아지고 있다. 또한 IT 관련 시설 및 장비들이 지구 온난화 문제를 야기하는 주요 원인 중 하나로 지목되면서, 그린IT가 IT 산업의 주요 이슈이자 화두가 되고 있다.

IT 산업이 내뿜는 이산화탄소 배출량은 산업 전체 배출량의 2%에 해당하며, 점점 늘어나고 있는 추세라고 하니 꽤 심각한 문제이다. 참고로 항공 산업의 이산화탄소 배출량이 IT 산업과 비슷한 2% 수준이다. 현실이 이러하다 보니 IDC를 날씨가 추운 극지방으로 옮겨 냉각에 사용되는 에너지를 줄이자는 아이디어까지 나오고 있는 상황이다.

IT 산업 자체가 내뿜는 탄소 배출과 환경 영향 역시 엄청난 수준이지만, 진정한 그린IT는 IT 산업자체의 환경 영향을 줄이는 것뿐만 아니라, 다른 산업에서 발생하는 탄소 배출량도 줄일 수 있는 혁신 기술을 제공할 수 있어야 한다.

그린IT를 구현하는 방법에는 개선과 혁신이라는 두가지 방법이 있다. 예를 들어, 가솔린 엔진 자동차의 연비를 리터당 8Km에서 9Km로 올리는 일은 개선이라 할 수 있고, 하이브리드 기술을 사용하여 연비를 20Km로 올리는 일은 혁신이라 할 수 있겠다. 지속적인 개선 노력도 매우 중요한 일이지만, 환경 문제에 대해서는 이제 혁신이 필요한 타이밍이라 생각한다.

대학시절 프로그래밍 아르바이트를 한 적이 있다. 기계공학과의 모 연구실에서 슈퍼 컴퓨터를 5일 이상 가동해야 했던 대규모 행열 연산 프로그램이었는데, 이 프로그램에서 불필요한 루프를 제거하고 알고리즘을 개선하여 15분만에 답이 나오도록 고친 적이 있다.
또다른 예로, 국제특송업체 UPS는 GPS 기술을 응용한 스케줄링 소프트웨어를 이용하여 택배 트럭의 주행거리를 매달 300만 마일이나 줄였다고 한다.
이와 같이 생각의 관점을 바꾸는 것만으로도 자원과 에너지의 사용을 줄이는 것이 가능하며, 이것이 소프트웨어의 힘이기도 하다. 그런 점에서 이제는 소프트웨어가 에너지 및 환경 혁신에서 핵심적인 역할을 할 것이라고 믿는다.

전자 문서도 그린IT의 혁신적인 방안이 될 수 있다. 종이 없는 사무실은 지겹게 들어왔겠지만, 이제는 전자 문서를 본격적으로 사용할 수 있는 환경과 인프라가 갖추어졌다.
각종 서식을 전자 양식화하고, 전자 서명과 타임 스탬프 기술을 응용하면 각종 종이 서식을 없앨 수 있다. 관공서에서는 민원 서식을 줄여 종이 사용량을 줄이고 관리 비용을 낮출 수 있다.
보험?금융업계 역시 길게는 수십 페이지에 달하는 각종 신청 서류, 계약서들을 전자 서명과 결합해 종이 사용량을 줄일 수 있다. 또한 일반 종이는 전달을 위해 교통 수단을 이용해야 하지만, 전자 문서는 온라인으로 전달이 가능하므로 에너지 효율을 극적으로 올릴 수 있다.

한편으로, 높은 수준의 전자 문서 압축 기술을 이용하면 스토리지의 양을 직접적으로도 줄일 수 있다. 최신 문서 압축 기술을 적용하면 2MB의 문서 파일이 20KB 수준으로 줄어든다. 이를 이용하면 스토리지 사용량을 100분의 1로 줄일 수 있어, 스토리지에 사용되는 전력, 냉방, 관리 비용들을 획기적으로 절감할 수 있다.

이제 환경, 에너지 문제는 더 이상 막연한 미래의 문제가 아니며, 지금 머리를 맞대고 해결책을 찾아 실천해나가야 할 때이다. 그린IT 구현을 위해 모두가 혁신에 나서야 할 때이며, 전자 문서를 통한 혁신은 우리가 가장 손쉽고 빠르게 접근할 수 있는 환경 보호 운동이다.

트랙백 주소 :: http://www.epapyrus.com/blog/jeong/trackback/26

댓글을 달아 주세요