|
2009년 10월 27일
2009년 10월 06일
2009년 09월 10일
하루가 지났지만. 포스팅.
1945년 9월 9일 Hopper는 하버드의 Mark II 컴퓨터의 내부에서 벌레(bug)가 컴퓨터 오작동을 일으키고 있다는 것을 발견하였고 이후로 기계나 소프트웨어에 에러나 논리적인 오류를 버그(bug)라고 부르고 있다. ![]() 버그가 만들어지는 이유는 대체로 사람이 원인이다. 어떤 프로그램을 작성함에 있어서 사람이 간과한 사실이나 혹은 예상하지 못한 동작에 의해서 만들어진다. 하지만 이는 사람이 아무리 애를 써도 해결할 수 없는 문제인데 그 이유는 소프트웨어의 크기는 아무리 간단한 프로그램이라도 방대한 양의 설계가 필요하고 수많은 요소들이 영향을 미치고 있기 때문이다. 때문에 버그를 찾아내는(디버그하는) 프로그램은 존재하지 않는다. 왜냐면 디버그를 위해서 검사해야할 요소들이 너무나 많기 때문이다. 마치 바둑을 두는 프로그램에 한계가 있는 것과 마찬가지로 일정 정도의 복잡도를 지닌 버그만을 찾을 수 있을 뿐이다. 앞으로도 버그는 문제가 될 것이다. 소프트웨어를 만드는 사람들은 버그를 줄이기 위해 코드(설계도)를 쓰는 스타일에 신경을 쓴다. 그리고 실수 할 가능성이 높은 습관을 고치는 일까지 한다. 개발의 순서나 개발 방법도 버그를 줄이기 위해 혹은 버그를 빠르게 고치기 위해서 바꾸기도 한다. 그 뿐 아니라 프로그램을 설계하는 설계 언어마저도 실제 설계와는 큰 관련이 없지만 버그를 찾아내는데 유용한 요소를 넣고 있다. 이렇게 버그를 고치기 위해서 노력하지만 버그는 끊임없이 생겨난다. 과연 버그를 완전히 해결할 수 있을까? 그렇지 않다. 이 주제에 어울리는지 모르겠지만 유명한 문제로 정지 문제(Halting problem)가 있다. 정지 문제는 "어떤 프로그램(계산)에게 입력값을 주면 그 프로그램이 계산을 계속할지 아니면 멈추게 될지 판단하라" 라는 단순한 의문이다. 즉 어떤 프로그램에 무한히 실행하게 될 버그가 존재하고 있는지 알 수 있을지를 판단할 수 있게 만든다. 하지만 이 문제는 이미 판단할 수 없다고 증명이 되어있다. 간단히 살펴보면, 어떤 프로그램 F가 다른 프로그램 A에게 입력으로 S를 넣을 경우 멈추는 것을 알아낼 수 있다고 한다고 가정한다. 그런 프로그램이 존재한다면 F를 다른 프로그램 G에 넣어보자. 프로그램 G는 입력으로 어떤 프로그램 X를 받아서 실행을 F의 결과에 의해 결정한다. 1. 그 프로그램이 멈추는 것을 F를 통해 알아낸다면 영원히 계산을 한다. 2. 그 프로그램이 멈추지 않고 계산을 한다는 것을 F를 통해 알아낸다면 계산을 멈춘다. 이렇게 G를 구성했다. 프로그램 G에 프로그램 G를 입력하면 모순이 발생한다. 1. 만약 G가 멈춘다면 F는 멈춘다는 결과를 내므로 G는 영원히 계산한다. 2. 만약 G가 멈추지 않는다면 F는 멈추지 않는다는 결과를 내므로 G는 멈춘다. 따라서 어떤 프로그램이 영원히 계산할지 계산하지 않을지 결정하는 프로그램은 논리적으로 존재하지 않는다. 앞으로 버그를 찾는 노력은 계속될 것이다. 오래전부터 프로그램을 설계하는 시간보다 버그를 고치는 시간이 더 길어졌다. 지금은 소프트웨어의 크기가 방대해지면서 버그가 없는 것을 보장할 수 없게 되었다. 이제는 거의 모든 소프트웨어가 배포 후에 버그를 고쳐나가고 있다. 버그는 논리적으로 반드시 찾아낼 수 있다는 것을 보장할 수 없지만 사람의 손에 의해 소프트웨어 버그를 찾는 것을 돕는 프로그램이 많이 나오고 있으며 이제 간단한 버그는 프로그램이 찾아서 도와줄 수 있다. 더 읽을거리: [한글 위키: 소프트웨어 버그] [한글 위키: 정지 문제] [텀즈: 버그] [정지 문제] 2009년 08월 21일
2009년 08월 20일
어제 어딜 가기 위해 시외버스를 타고 출발을 기다리는데 외국인이 탔습니다. 왠지 미쿡인은 아닌 듯 싶었는데,
그렇게 가다가 목적지인 수원에 도착하여 인터체인지를 지나는데 그 외국인이 엄청나게 당황하더군요. 그리고 두리번거리는데 아무도 상대를 안해주는겁니다. 그래서 처다봤더니 "수원 아르개러리" 라고 말하더군요. 그런데 전 어떻게 영어로 말이 나오지 않아서 현 위치인 "신갈" 이라고만 말했는데 외국인은 눈알만 굴리면서 심각한 표정으로 주위를 둘러보더니 말을 잃더군요. -_-; 수원아트갤러리가 아닌가 혼자 생각했는데 지금 찾아보니 그런 곳을 없네요. 그래서 말인데, 어떻게 하면 영어를 잘 할 수 있을까요? ... 뭐 결론은 반복이고 공부겠지만 그냥 혹시 잘하시는 분들이 계시면 자신은 어떻게 배웠다! 하는게 궁금해서 그렇습니다. 전 영어 공부를 지금까지 안했습니다. 하하 -_-; 따로 해야할 이유를 못찾겠더군요. 어제 하나 생겼지만요. 아 하나 더 있구나. 저도 취업은 해야합니다. -_- 2009년 08월 20일
군에서 읽었던 것만큼 찡하지 않더군요.
살짝 실망했지만 끝까지 다시 읽었습니다. 감수성은 떨어졌지만 이번에는 스토리를 요약하려고 읽었기 때문에 자세히 따지면서 읽다보니 막 읽었을 때와는 다른 느낌이 있더군요. 단어, 사건이 지닌 의미와 어간에 집중하니깐 느낀 것이 많았습니다. # 열어보기 (주의: 스포일링, 까발리기, 네타바레, 미리니름) 다음에 다시 이 책을 들게 되도 재미있겠죠? 헤세가 좋다면서 읽은건 데미안밖에 없군요. 부끄럽습니다. 2009년 07월 31일
주소 : 되는 포트
irc.hanirc.org : 6667, 6669 자주 다운 purple.hanirc.org : 6667 지금 이 서버만 버티는 중인듯 minhee.hanirc.org : 6667 7kr.hanirc.org : 8080 sosi.hanirc.org : 6667 kr.hanirc.org : 6664 holywar.hanirc.org : 6667 miyu.hanirc.org : 6667 이쪽은 단군넷. hanirc가 다 무너지면 최후의 보루 -_- main.dankun.net : 6667 접속 안되면 바꿔가면서 시도해보면 됩니다. purple.hanirc.org 가 잘 되는듯. PS_아마 사라진 서버가 다수 있을 것으로 예상되는데. 귀찮아서 확인 안해봅니다. -_- 2009년 07월 30일
근 몇 달간 입병이 없는 날이 없네요.
한쪽이 나을 쯤 되면 다른 쪽에 생기고 계속 이렇네요. 특히 혀에 생긴 구내염이 아픈데 알보칠에 연고에 별별 약을 다 발라보는군요. 아무래도 이가 날카로워서 그런게 아닐까 생각이 듭니다. 뾰족한 방법 없을까요? 이거 무슨 병의 전초라거나 한걸까요? -_- 2009년 06월 21일
써보니깐 좋아요. 그래서 추천드리는거에요.
(마치 모 TV홈쇼핑 광고 같은 느낌이 드는 추천이지만) 아무튼 좋은 유틸리티 프로그램 하나 소개합니다. 뭐 아실 분은 이미 다 아시겠지만. 이어지는 내용 2009년 06월 17일
역시 DM17이 재밌음. 결국 난 영원한 초보라는 것... -_-; PS_본격 시험기간에 더 잘 되는 포스팅 |
ABOUT
카테고리
이글루 파인더
메모장
[ Book review List ] [ Crackpot List ] 기획 포스트 [공각기동대TV_SAC(1기) 약간의 감상과 스토리 요약] [장르문학을 읽는 이유] [컴퓨터로 곱셈을 해보자.] [온라인 게임의 추억.] [방 정리(폭파) 완료.] [Link Book] [Mixing Space, season 3] [Mixing Space, season 2] [Mixing Space, season 1] HanIRC chan: #egloos #카카오 #카탄 #SFwar #돈교 #바나나교 #skeptic ![]()
라이프로그
최근 등록된 덧글
물론 불가능합니다. ㅋ
by 시노조스 at 10/28 220볼트에서 사용가능한가요? by 혜란 at 10/28 버그의 유래는 오래전 금성 과학만화 .. by 피쉬 at 10/20 '호르메시스'인지 뭔지 하는, '아무리.. by 로크네스 at 10/08 말뿐인 시장위 -_- by 시노조스 at 10/07 시장위 빨리 다시 발족시켜야지 by 필립호빵 at 10/07 ㅠㅠ by 시노조스 at 10/06 -말없이 눈물을 훔친다 by 혜란 at 10/06 나방이 bug의 출발이었군요... by 漁夫 at 09/10 모듈별로 테스트했을때 이상이 없었는데.. by 엘레시엘 at 09/10 |