작도닷넷 블로그
작도닷넷 블로그

컴퓨터

KLDP 10주년 기념 컨퍼런스

06/09/24 11:05(년/월/일 시:분)

지난주에 갔다왔다.
흥미로운 내용만 간추려서 소개한다.

- 고급 디버깅 기법

어떤 대학에도 '디버깅 입문' 같은 과목은 없다. 하지만 실제로 짜보면 코딩하는 시간보다 디버깅하는데 시간이 더 든다. 왜냐? 여러분 프로그램 짜면 잘 돕니까? (웃음) 문제는 코딩 실력이 1~20배 차이난다면, 디버깅 실력은 1~100배 차이난다는 것. 아는 사람은 바로 딱 찍지만, 모르는 사람은 온갖 삽질하고 소설을 다 쓰다가 결국 새로 짠다.

우주 왕복선에 들어가는 소프트웨어는 이런 식이다. 절대로 오류가 있어서는 안되고 우주에서 고칠 수도 없기 때문에, 서로 얼굴도 안 보는 7개의 팀이 각자의 소프트웨어를 짜서 각자의 머신에 올린다. 그리고 특정 상황이 닥치면 7개의 머신이 각자의 프로그램을 내놓고 서로 투표를 한다. 만약 6대가 같고 1대가 틀리다면 1대가 빠지고 나머지 6대끼리 투표를 하는 식으로, 서로의 가장 공통적인 부분을 찾아서 실행하는 것이다.

그렇다면 우주 환경에서의 디버깅은 어떻게 해야 할까? 화성 탐사선 path finder 같은 경우는 어떻게 해야 할까? 화성에서 일으킨 문제를 지구에서 디버깅해야 하는 것이다. 이때 사용하는 방법이 원격 디버깅이다.

패스 파인더는 12시가 되면 모든 프로세스를 shutdown 시키고 지구에서 혹시 펌웨어 다운로드 할게 있는지 찾는다. 만약 있으면 5분 정도 통신하여 플래시에 얌전이 구운 다음 리부팅 시킨다.

실제로 패스 파인더는 리부팅을 무한 반복하는 문제가 생긴 적이 있다. 이걸 지구에서 통신해서 엔지니어가 알아낸 거다. 그래서 밤새서 짜서 다음날 12시에 deploy 시킨 것.

그러니까 여러분도 원격으로 debug할 수 있는 구멍을 backdoor 형식으로 넣어놔야 한다.

- 문학적 프로그래밍 (CWEB)

문학적 프로그래밍은 한 파일 안에서 코딩과 문서화를 동시에 하는 것이다. 그 중에 CWEB은 eMacs에서 gdb(디버깅 툴)과 연동이 가장 잘되기 때문에 많이 쓴다.

하지만 문학적 프로그래밍에 대한 낮은 관심으로, 현재까지 IDE 환경을 제공하는 툴조차 하나도 없다. 앞으로 구현하고자 하는 움직임도 보이지 않는다.

- 오픈소스 커미터, PMC 되기

오픈 소스는 누구에게나 열려있지만, 실제로 코딩을 하기 위해서는 좁은 문을 통과해야 한다. 아파치 등의 유명 프로젝터의 커미터가 되기 위해서는 기존 커미터의 투표로 반대표가 하나도 나오지 않아야 한다.

그 중에서도 PMC(Project Management Committee; 운영 위원회)에서는 로드맵, 릴리즈 등을 결정한다. 여기에 일반 커미터는 투표 권한이 없으며 PMC가 되어야 권한이 생긴다. 이렇게 되려면 말빨, 코드빨이 있어야 된다.

참고로 우리나라에서도 Google SoC(Summer of Code; 대학생들이 여름방학동안 하는 짧은 프로젝트 경연) 비슷한 것이 올 겨울부터 열릴 예정이니 기대하시기 바란다.

그리고 우리나라에도 아파치 같은 오픈소스 개발 모임이 생길 움직임이 보이고 있고, 잘하면 full-time open source developer도 가능할 것으로 보인다. 좋은 소식 기다려보시기 바란다.

http://kldp.org/
리눅스 한글 문서 프로젝트.
현재는 단순한 문서화 작업에 머물러있지 않고, Free/Open source 전반에 걸친 영역으로 확장하는 중이다.

http://xacdo.net/tt/rserver.php?mode=tb&sl=433

  • CN 06/09/25 00:54  덧글 수정/삭제
    eMacs라고 표기하신 특별한 이유가 있으신가요? 저는 처음 보는 형태의 표기법이군요.
    • xacdo 06/09/25 03:18  수정/삭제
      맥 같잖아요 ^^
      (그러고보니 대소문자를 구별해서 그렇게 쓰면 안 뜨는군요 -_-;;)
이름
비밀번호
홈페이지 (없어도 됩니다)

비밀글로 등록
작도닷넷은 당신을 사랑합니다.

[이전 목록]   [1] ... [1895][1896][1897][1898][1899][1900][1901][1902][1903] ... [2298]   [다음 목록]

최근 글

이웃로그 관리자 옛날 작도닷넷 태터툴즈 ©현경우(xacdo) since 2001