블로그 이미지
progh2
지루한 것에서 벗어나 재미난 것 속으로 풍덩~☆

calendar

1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

Notice

Recent Post

Recent Comment

Archive

왠지 Fly to the moon이 연상된다..

네.. 드디어 모으기 시작했습니다. (..) 애니판 십이국기를 보고 반한 저는 매일 컴퓨터류의 책만 보다가 질려 무언가 문화의 향기를 느끼고 싶어서 사게 되었습니다. 마침 Tv에서 연금술사, 11분 등에 대해서 작가 인터뷰가 나오고 있었는데.. 왠지모르기 이 책이 떠오르는 것입니다. 그래서 주문했습니다.
원래는(..) 은하전기(성계시리즈..)를 구매하려고 했는데, 아쉽게도 절판이라고 모닝365에서 뜨더군요. 그래서 일단 팔고있는 십이국기를 1500원 할인 + 마일리지 500원 해서 질러버렸습니다. 아마도 한달에 1권 내지 2권을 구매하지 않을까 합니다. 하하하.. -- 과연 번역상태가 어떨지.. 애니판만 보고 반해서 주문한거라 제가 만족할지 어떨지는 잘 모르겠습니다만.. 곧 알 수 있겠죠. ^^ 두근두근합니다~

서평도 꽤 좋군요 :D 책 제본에 대해서는 불만이 있는듯 하지만..
아무렴 어떻습니까? 책은 내용입니다 내용!
http://www.morning365.com/book/book_detail.asp?class_number=1&object_number=2010000048995
posted by progh2
오늘 새벽에... 셔터문 모두 개방하고 지하철 역무실에서 잠시 쉬면서 과서버 상태를 보았습니다. 그런데 이런! 스카시 하드의 첫번째 파티션 용량이 Full 난 것이 아닌가!!!!!

그래서 마구마구 뒤져보니.. 왠일인지 제가 연구용으로 받았던 여러 패키지 파일의 소스파일 용량이 800메가에 이르고 있었습니다. -_- 황당... 컴파일 하기 전 소스파일 용량이 이렇게 크단 말인가!! 어쨌든 그거 외 이거저거 제거하면서 정리했는데...

...했는데.........

On_ 좌절

용량이 줄지 않는다!!! 수백메가를 지웠는데 왜 그대로냐!!!

그래서 일단.. 근무해야하니까 냅두고 퇴근 후 집에와서 다시 열삽질에 들어갔습니다. 이런저런 시도를 해보다가 내린 결론.

하드의 파일들을 풀 검색해서 큰 용량의 파일들을 찾아내보자!

그래서 이런저런 시도끝에 아래의 스크립트를 만들었습니다.
용량대별로 정렬해서 출력해주는 명령
[CODE]du -ah > disk.txt grep -e ^[0-9][0-9.]*G disk.txt | sort -r | more grep -e ^[0-9][0-9][0-9][0-9.]*M disk.txt | sort -r | more grep -e ^[0-9][0-9].[0-9]*M disk.txt | sort -r | more grep -e ^[0-9][0-9]M disk.txt | sort -r | more rm ./disk.txt[/CODE]
이런 명령도 할 수 있게 되었습니다.
(15메가 이상 파일들을 모두 찾아라)
[CODE]find / -size +150000K [/CODE]

그런데도 불구하고 해당 파티션에 있는 폴더들은 모두 깨끗했고, 문제점을 발견할 수 없었습니다. 그때 문득 떠오른 생각이 있었으니..

로그..나 정보 업데이트가 풀(FULL)나면 해당 업데이터 프로그램에 이상이 생기면서 그 용량 표시가 실제와는 다르게 출력될 지도 모른다.

곧바로 Reboot......................... 한동안 웹페이지가 안떠서 초긴장 상태 유지.. 승완선배님께 전화걸어서 확인해서 켜달라고 전화했는데 전화를 안받으시고.. 피말리는 상태가 지속.....되다가, 몇 분 후에 짠~ 하고 나타나는 과홈페이지!

네, 모든 상황 종료~

ALL GREEN~


이상, 피말렸던 오늘의 삽질이었습니다~ 하하하 (아~ 이 해방감~)
posted by progh2
오늘 어찌어찌해서 윤도현의 러브레터를 보러 갔다. 이모와 이종사촌이 초대장을 2장 구해서.. 시간되는 어머니와 내가 가게 되었다.

어머니와 나는 지하철을 타고 여의도에서 내려 여의도공원을 지나 KBS 신관으로 가서.. 이모와 이종사촌 지현이와 만난 후 초대장에 번호 스탬프를 찍었다. 오는 순서대로 찍는데, 왠걸.. 399 , 400 번.
1 장의 초대장으로 2명까지 올 수 있으니까... 에..

on_ 400 * 2 = 800 최소 400 ~ 800 명이 우리 앞에 있다는 것!

내참.. 6시에 왔는데도 이정도니... -_- "대략 순위권"에 들으려면 대체 몇시에 와야 하는걸까... 아무튼 7시 정도 되니 번호순서대로 서게 해서 입장시켰다.

...입장하기까지 내내 Tv서 보면 될 것을 가지고 이렇게 날도 덥고 빗방울도 내릴랑말랑하는데 여기서 1시간 가까이 기다려야 하는지에 대해서 불만이었다. 마음같아서는 집에가서 그냥 자고싶어~~

어쨌든, 방송 녹화는 시작되었고.. 세븐, 이승철 외 몇명(..이름이 생각 안나!)이 나와서 노래부르고 이야기하고 그랬다.

노래는. .대단하다고 느꼈다. 라이브로 이정도니.. 정말 실력있는 사람들이 나오는구나.. 하는걸 느꼈다. 그런데 이야기는 대부분 신곡을 발표해서 앨범 사달라다는거나, 곡이야기나, 신변잡담이 대부분이어서 좀 지겨웠다. (..뭐, 이계열이 이런 이야기밖에 할 게 없긴 하겠지만서도..)

특히 눈에 튄(!) 사람은 역시 김제동(재동인가?)과 이승철.. 김제동은 윤도현을 말로 마구 갈구며(You Win!) 이야기하는게 참 대단했다. 마지막을 장식한 이승철도 비슷한 급이었고.. 특히 이승철의 20년 가수생활의 노련함은 극을 달했는데, 스태프들도 윤도현도 그에 맞춰서 움직일 수 밖에 없게 말을 잘했다. 관중들도 일어나게 할 정도니까. 가창실력이나 이런건 말할 것도 없고.. 20년이나 잘나가는게 그냥 잘나가는게 아닌가보다.

뭐.. 얼떨결에 가고.. 그다지 이런쪽을 좋아하는 사람은 아닌지라 남들만큼 흥분하거나 텐션업하지는 않았지만.. 재미있었다. Tv에 잘릴만한 이야기가 특히 많이 재미있었는데.. -_- 이런게 잘려나가니 Tv의 방송이 비교적 덜 재미있나보다. 3시간 녹화해서 1시간여 정도를 방송하니까... 흠..

아. 그리고 김제동은 쟁반노래방인가? -_- 7번째 시도하고 실패한 상태서 와서 진행하고 갔다. 대단한 스케쥴링! 그의 인기는 괜히 나오는 것이 아닌 것 같다. 정말, 눈물겨운 노력의 노력...
posted by progh2
자, 자~ 지하철 공익 상식 시리즈 그 첫번째!

...네, 제 생활을 알려기 위해서 쓰는 글입니다. 워낙 물어보시는 분들이 많으셔서.. ( 정말? 이냐고 되물어보지 마세요 -_-+ on_ 좌절합니다)

아무튼, 보통 한 역에 3개의 '반'이 있습니다. 뭐, 1조, 2조, 3조 할 때의 그런 개념으로 생각하시면 됩니다. 그래서 이 각각의 반을 갑반, 을반, 병반으로 부릅니다. (저는 병반입니다.)
한 반은 대개 3 ~ 6 명으로 이루어지는데, 제가 있는 곳은 현재 5명씩으로 이루어져있습니다. 즉, 공익이 총 15명 있는 것이지요.

그래서 이들이 어떻게 근무하냐 하면, 3개의 반 중 2개는 야간반, 1개는 주간반이 됩니다. 그래서 주간반은 그 주에 매일 아침 9시에 나와서 저녁 6시까지 근무합니다. 야간반은 2개가 되는데, 하루씩 돌아가며 근무하게 됩니다. 야간반은 저녁 6시부터 근무시작, 다음날 아침 9시까지 근무합니다. 즉, 역에서 날을 지새우는 것이죠. 뭐.. 몇몇 특수한 역을 제외하곤 대개 조금 잠을 잘 수 있습니다. 한 3~4시간 정도지만서도.. (물론 잠을 안자는 '당직'이 꼭 1명씩 있습니다.)

쉽게 예를 들어봅시다. ( 아, 친절한 설명~ )

갑, 병반이 야간반이고 을반이 주간반이라고 합시다. 그럼 갑반이 월요일 저녁근무를 시작한다면 그 다음날 아침 9시에 근무를 끝내고 집에 가서 쉽니다. 이 날이 '비번'인 날이지요. 대신 그날 저녁에는 병반이 나와서 근무를 하고.. 따라서 갑반은 월, 수, 금에 출근을, 병반은 화, 목, 토에 출근을 하는 것입니다. 이런식으로 각 반이 야간, 주간 바뀌면서 근무를 하게됩니다. 즉, 야간2주하면 주간1주하고.. 공평하게 말이지요.

언듯보면 주간근무가 더 나을 것 같아 보이는데... 실은 야간근무가
덜 피곤하고 공부라든가 자기 시간을 더 가질 수 있습니다. 그리고 병원이라든가 하는 곳도 갈 수 있고.. 실제 야간근무에서의 승강장 근무시간이라든가 하는 시간이 더 적거든요. 그리고 밥값도 적게드는 편이고.. (이틀에 1끼 - 저녁 - 만 사먹으면 되니까.)

이번주도 전 야간근무입니다. ^^ 공익복이 도착했다고 하는데 어떨지 모르겠네요. 대개 크다던데.. 이제까지는 선배님들의 남는 옷이나 비번인 분들의 옷을 입고 근무했거든요. 구두도 나오는데 이건 몇 개월 후에 나온다는군요.

아무튼, 오늘의 지하철공익 상식, 이해하셨죠? ^^
posted by progh2
집에 있는 컴퓨터들 정비 및 정리를 해보았습니다.
동생 컴퓨터, 아버지 컴퓨터 재설치도 좀 하고..
거의 하루죙일 삽질만 하며 고생하다 마무리 졌습니다. @_@;

제가쓰는 컴퓨터:
집에서는 가장 나은 성능을 지닌 부품을 가지고 있습니다. 다만 그래픽카드의 확충이 시급합니다. 왜냐하면 이 내장그래픽카드 세비지녀석은 여러 문제가 있어서 기본메모리를 잡아먹는 것 외에 시스템속도저하에 한몫 하고 있기 때문입니다. 또한 지원못하는 기능이 많아서 게임은 물론 데비안 케노픽스 cd조차도 화면을 잡지 못하는 윈도우용 그래픽카드입니다. 동영상재생 기능은 좋다고는 하지만 여러모로 불만덩어리입니다. 메인보드 내장 사운드카드도 있었는데 죽이고 9000원짜리 사운드카드를 사서 쓰고있습니다. 이전 사운드카드는 잡음현상이 너무 심했습니다. 파워는 시소닉250으로 청소를하니 많이 조용해졌습니다.(약1개여월 전) cpu가 셀러론계열이라 컴파일에 약한게 흠이긴 하지만 아무튼 저한테는 쓸만한 정도의 시스템임에는 분명합니다.
스펙:
CPU 유형 Intel Celeron 4A, 2000 MHz (5 x 400)
마더보드명 Acorp 4PM266AM(N) (3 PCI, 1 AGP, 4 DIMM, Audio, Video)
마더보드 칩셋 VIA VT8751A Apollo P4M266A
시스템메모리 480 MB (PC2700 DDR SDRAM)
↑ 원래 512인데 내장그래픽카드가 32를 먹었음. 냠냠

BIOS 유형 Award (03/28/03)

디스플레이
비디오 카드 S3 Graphics ProSavageDDR (32 MB)
3D 가속기 S3 SuperSavageDDR
모니터 Samtron 76E/77E (HVATA02906)

멀티미디어
오디오 어댑터 C-Media CMI8738/C3DX Audio Device
오디오 어댑터 MPU-401-compatible

저장장치
플로피 드라이브 플로피 디스크
디스크 드라이브 ST380021A (80 GB, 7200 RPM, Ultra-ATA/100)
CD/DVD 드라이브 HL-DT-ST CD-RW GCE-8320B (32x/10x/40x CD-RW)

넷트웍
주 MAC 주소 00-08-75-01-02-B7
넷트웍 어댑터 Realtek RTL8139/810x Family Fast Ethernet NIC

내 동생 컴퓨터:집에서 두번째 성능의 컴퓨터로 제가 이전에 썼던 시스템인만큼 그럭저럭 쓸만한 시스템입니다. 아버지가 캐드를 쓰셔서 원래 있던 부두를 빼고 i740 @_@ 을 넣었습니다. 음.. 어쨌든 인터넷 등의 사무기능에는 아무 영향이 없습니다. 특별히 3D 게임등을 안하는 동생에게는 꽤 과분하다고 생각하는데 동생 생각은 과연.. ^^:; 오늘 이 시스템에 있던 XP를 밀어버리고 윈2000 프로로 다시설치했습니다. 이상하게 아버지컴에 있던 FDD가 이상하게 인식이 안되서 그것의 설치는 포기하고.. CD-ROM만 옮겨 달았습니다. 확실히 P3-500에 램256에서 윈2000은 날라다니는군요. 후후. 아버지컴도 빨리 이정도로 업글해야할텐데... (먼산..) 랜카드를 남아돌던 8139로 교체하려고 했는데, 이녀석이 망가진 녀석인지 어떤 8139 드라이버를 설치해도 작동이 윈2000에서는 안되더군요. -_- xp에서도 강제로 8139C+로 해서 잡아서 연결시켰는데.. 이것가지고 수시간 삽질하다 8029로 돌려놓았습니다. 흑.. 반딱반딱 잘 작동하는 새제품 쓰고싶어라...
스펙:
CPU 유형 Intel Pentium III, 500 MHz (5 x 100)
마더보드명 Abit BH6 1.1 (2 ISA, 5 PCI, 1 AGP, 3 DIMM)
마더보드 칩셋 Intel 82440BX
시스템메모리 256 MB (PC133 SDRAM)
BIOS 유형 Award Modular (10/29/99)

디스플레이
비디오 카드 Terminator 2x/i (8 MB)
3D 가속기 Intel i740
모니터 Samsung SAMTRON 50(M)E

멀티미디어
오디오 어댑터 Yamaha DS-XG Audio CODEC

저장장치
디스크 드라이브 IBM-DJNA-371350 (13 GB, 7200 RPM, Ultra-ATA/66)
CD/DVD 드라이브 HL-DT-ST CD-ROM GCR-8521B (52x CD-ROM)
↑ 아버지컴에서 이전

넷트웍
주 MAC 주소 00-00-21-2C-1C-1A
넷트웍 어댑터 Realtek RTL8029(AS) PCI Ethernet Adapter

아버지 컴퓨터:
현재 가장 낮은 스펙을 가진 시스템입니다. 가장 요원한 것은 역시 cpu 업그레이드와 메모리... 메모리도 PC100인 바람에 시스템이 더 느리게 작동합니다. 하드는 10기가로 XBOX에 있는 녀석을 사서 달았습니다. 윈2000을 쓰고 있는데, 아무래도 윈98로 재설치해야겠습니다. 전체적으로 너무 느려요 @_@ 파일탐색기조차 한참만에 뜨니.. 그럼에도 요즘 P3 슬롯형 중고가 비싸서(3만원대 -_-;) 업글은 염두도 못내고 있습니다. 누군가 듀론800 + 메인보드를 4만원에 내놓았을 때 사서 업글할 수 있었으면 좋았을 것을.. 꺼이꺼이.. 아버지께 죄송스러울 뿐입니다. (..그래도 인터넷 강좌는 볼만합니다.. 흠흠..) 윈도우98로 일단 설치해봤는데 무척 빠르게 작동하는 것이 인상적이었으나 (버뜨) 제 컴퓨터의 공유폴더 및 공유 네트워크 프린터를 사용할 수 없어서 다시 복구했습니다. -_- 이것때문에 수시간 삽질한걸 생각하면.. (으으..) 그냥 p3-500 급 cpu 사서 박아놓는 편이 훨씬 속편할 것 같습니다. 하지만 대체 공익 월급이 얼마라고 그런 짓을.. 흑흑..

스펙:
마더보드
CPU 유형 Intel Pentium II, 233 MHz (3.5 x 67)
마더보드명 SY-6BE+
마더보드 칩셋 Intel 82440BX/ZX
시스템메모리 128 MB (PC100 SDRAM)
BIOS 유형 Award Modular (01/19/99)

디스플레이
비디오 카드 3dfx Interactive, Inc. Voodoo3 (16 MB)
3D 가속기 3Dfx Voodoo3
모니터 LGIBM 1771FT

멀티미디어
오디오 어댑터 ESS ES1868 AudioDrive

저장장치
플로피 드라이브 플로피 디스크
↑ 어떤 사정상 제거..
디스크 드라이브 ST310014A
CD/DVD 드라이브 HL-DT-ST CD-ROM GCR-8521B (52x CD-ROM)
↑ 동생 컴으로 옮김.

넷트웍
주 MAC 주소 00-00-10-00-09-19
넷트웍 어댑터 Realtek RTL8139(A) PCI Fast Ethernet Adapter
posted by progh2
오늘은 지인들에게 별 것 없는 이 블로그를 소개하고 다녔다.
음.. 어찌보면 "나 살아있어요 ㅠ_ㅠ" 하고 외치고 다닌
셈이기도 하지만..



.. 저 살아있거든요? ㅠoㅠ (절실하다)



흠흠....리눅스프로그래밍 책을 꺼내서 보기 시작했다.
터보C정복 공부도 같이 하지만 원체 보기만 하니 재미가 있어야지!
그래서 뭔가 만들면서 공부하면 좋지 않을까해서 벌렸는데..

..음.. 배시셀은 대단하다.
( c공부가 배시쉘공부로 흘러가버렸다. 쿨럭!)

RG보드라는 것을 만든 곳에 있는 배시쉘 스크립트를 공부하며
익숙해지고 있는데.. 그래도 역시 c로 짜는게 더 뽀대나는 것
같다. 만들려고 하는 것이 관리자용 프로그램이니 보안문제도 좀
걸려있기도 하고..

게다가 하는김에 awk 랑 sed도 약간 맛보기도 봤다.
이녀석들도 물건이다. 익숙해지면 도움이 될 녀석..

오늘의 추천수집글 목록:
시스템 엔지니어 - 컴퓨터를 잘 하기 위해서는 컴퓨터를 꺼 놓아야 한다
http://network.hanbitbook.co.kr/view.php?bi_id=965
알지보드 사이트
http://rgboard.com/ -> 제로보드 대용으로 쓸만할 듯?
invalid-file

rgboard에 있던 쉽고 공부할만한 스크립트.




posted by progh2
기훈이의 야간근무 첫날 이야기.

날은 이틀전인 13일 화요일. 오후 6시에 공익근무 시간이 시작되는고로 5시 40분까지 가야했다. 약 1시간여의 긴 통근시간을 책을 보며 때우고 30분에 도착, 화장실에서 갔다 역무실로 가니 그야말로 35분으로 적당한 시간에 도착하였다. 그곳에서 이태윤선배님, 김민흠 선배님 등 을반 선배님들을 뵙고 내가 속한 병반 선배님들을 처음 뵐 수 있었다. 한 분은 함석규 선배님으로, 나랑 같은 함씨였고 키는 나보다 약간 크시고 보통 체형이며 안경을 썼다. 그리고 다른 한 분은 위성훈 선배님으로, 키는 나보다 약간 작고 살이 좀 찐 체형이셨다. 두분 다 친절하고 좋은 선배님으로, 근무 내내 이것저것들을 잘 알려주시고 잘 대해 주셨다. ^^* ( 태윤선배님曰, 병반이 가장 좋은 가족같은 분위기의 반이라고 하신다. )

첫 근무는 역시 승강장. 5호선에 내려가서 시작하였다. 이 때 주의할 점이 몇 가지 있는데, 5호선 키폰(무선 전화기. 사고 연락이나 방송할 때 사용한다.)중 하나가 망가져서 소리가 울리지 않기 때문에 반드시 388번 키폰을 가져가야 한다. 그리고 이전에 말해주신대로, 역무실로 연락할 때는 205번으로 해야한다. (전화 건 후 좀 기다려야 한다. 약간의 딜레이가 있는듯..) 나는 키폰과 경광봉(..이라고 부르는 것, 맞겠지?), X밴드를 메고 소화스프레이를 오른쪽뒤허리띠에 부착하고 승강장에 내려갔다.

그렇게 2시간즈음 스고있다가 저녁을 먹으러 갔다. ^^* (아싸~) 이때 직원분 한분이랑(..직원분들 이름은 아직 몰라요~) 성훈선배님과 같이 어느 식당에 갔다. 여기서 직원분은 어묵백반, 성훈선배님은 부대찌게, 나는 순두부찌게를 시켰다. 뭐랄까.. 이 지역의 식당음식 특성인지, 아니면 원래 식당에서 나오는 음식들이 이런건지 몰라도 내 입맛보다 짜고 매운편이었다. 내가 좀 순하게 먹긴 하지만서두.. 게다가 뜨거운 것을 잘 못먹는 나로써는 먹는 속도도 좀 떨어져서 느리게 먹게되서 약간 곤란하기도 했다. 어쨌든 먹을 만 했다고 할까? 하지만 이 시각(저녁 8시 이후)에 이렇게 먹다가는 금방 살이찔텐데.. ㅠ_ㅠ 무언가 대책을 세워야... 아무튼 밥값은 4000원이 들었다. (야간조는 아무래도 이틀에 한끼분의 돈을 쓰는만큼 식비가 조금 적게 든다.)

저녁을 먹고 돌아온 나는 몇 가지 지식을 습득하게 되었는데, 그것은 다음과 같다.

이러한 것들을 배운 후 다시 나는 승강장 근무 시작! 근무하다 모니터 보다 다시 근무하기를 반복하니 어느새 막차 시간이 다가왔다. 막차는 1시 반 정도에 있는데, 5호선, 6호선 각각 막차를 봐주어야 한다. 거의 상징적인 의미는 물론, 막차에 대한 안내도 고객님들에게 해주어야 하기 때문에 중요하다고 할 수 있다. 승강장에 취객이 없는지, 큰 쓰레기 등이 선로에 없는지, 취객의 잔해물(..토사물..) 등이 있으면 용역 아주머니께 연락해서 치워야 하고.. 또 그렇게 막차를 받을 때는 부역장님이 내려오셔서 키폰을 인계, 막차라는 방송을 하게된다. 그런 후 막차가 받고 나면 다시한번 승강장을 확인하고 문을 닫게 된다.

셔터를 닫으면 그날의 일은 일단 끝난 것이다. 이 때 샤워실에서 뜨거운 물로 샤워를 하든, 책을 보든, 잠을자든, 새벽5시 까지의 일은 마음대로이다. 물론 보통 잠을 자는 쪽을 선택하지만 인터넷 고스톱으로 하루를 세는 사람도 꽤 있었다. ^^; 물론 나는 잠을 자는 쪽을 선택한다. (아침형 인간의 페이스를 유지하기위해.. 3시간 정도밖에 못잔다 하더라도.. 쿨럭)

헌데 이날은 내가 처음 병반에 합류하게 된 역사적인 날(?)이므로, 간단한 회식이 있었다. ^^* 부역장님과 직원분 2명, 선배님 2명과 나.. 이렇게 모여서 통닭 한마리(1마리 반이던가?)와 소주 3병, 과자2개를 먹으며 이런저런 이야기를 했다. 이떄 소주를 거의 반병 마셨는데, 내 주량이 이제 이정도인듯 했다. 이걸로 시뻘개져서 힘들어했으니.. (앞으로 내 주량은 반병이다! 흑..) 이런 초심을 한달 뒤까지 이끌고 가달라는 직원분의 말씀이 와닿았다. 후후 ^^ (끝까지 가지고 감주마!)

잠은 침대에서 잤다. 침대도 있고 생각보다 좋은 환경 아닌가? ^^ 침대가 4개밖에 없어서 모두 잠을 잘 수 있는 환경은 아니라 모자랄 경우 난 쇼파라든가 그런 곳에서 자야할 것이지만 뭐 어떤가. 잘 수 있다는 것이 중요하지. (서대문역 등은 직원분들이 공익들을 못자게 한다는데..) 알콜이 들어가서 그런지 울렁거리는 배를 잡고 잤는데, 눈을 감자마자 알람이 울려서 깨보니 새벽5시란다. 거의 "잤다"라는 느낌을 못느낀채로 잤다 깬 것이지만... 뭐 시간상 분명 잔 것은 확실하니까... - .-;; 첫날치고 정말 푹 잔 것이겠지... 란 생각을 하고 화장실에서 씼고, 이빨도 닦고 5시 10분에 석규선배님이랑 셔터를 열려 다녔다.

그렇다. 일어나서 제일먼저 챙겨야 하는 것은 셔터키이다! 셔터를 열면서 또 하나 놀란 것. 벌써 사람들이 셔터 밖에서 기다리고 있다는 것이다. 새벽 5시 10분정도인데! 정말 근면한 사람들이 아닐 수 없다. 셔터를 연 후 첫차를 받으러 승강장에 내려가야 한다. 5호선은 상행선(방화방면) 34분, 6호선은 상행선(봉암방면) 37분에 있다. 이때도 역시 선로에 무언가 장해물들이 없는지, 승강장에 이상한 것이 없는지 확인해둔다. 이렇게 첫차를 받으면 7시 반정도 전까지는 또 자유시간이다. 일단은 모니터 감시이긴 하지만 대개 신문이나 독서, Tv의 뉴스등을 본다. 뭐, 졸린 기운에 제대로 무언가 하길 힘들긴 하지만.. ^^;; 아침공부 등을 해도 나쁘지 않을 듯 하다. 약 1시간여 시간의 단기집중 공부니까..

7시 반이 되면 다시 승강장 근무를 서러 내려간다. 7시 50분 근처에 역장님이 오시기 때문에, 그 전에 내려가서 열심히 하지 않으면 안된다. 또한 이때 출근 러시가 시작되기 때문에, 아무리 한산한 쪽에 속하는 역이라 해도 이때는 정신없이 바뻐게 사람들이 출근을 하게된다. 그나마 푸쉬맨을 하지 않아도 될 정도의 사람수이기에 다행이라 생각하고 있다. ^^; 이 때 차량에 탄 사람들이 신문 등을 문 밖으로 내놓고 봐서 문 닫힐 때 어찌나 조마조마한지.. -_- 좀 아슬아슬한 일들이 많이 일어나는 때이기도 하다. 차량도 거의 1, 2분에 한대가 들어오고 나가기 떄문에 바쁘기도 하고.. 이렇게 정신없이 근무스다보면 8시 50분이란 시간이 다가오고, 난 승강장 근무를 끝내고 환복, 퇴근할 채비를 한다. ^^ 환복 후 무임권을 받아서 개표를 한 후 선배님께 드리고(..라는 것을 배웠다.) 같이 야간반 근무를 한 직원분들과 부역장님과 행복한 퇴근을 하면 야간반 근무가 끝나는 것이다~ ☆

다행히 모두 같은 방향인데다 직원 중 한분이 양청구청역에 사셔서 집까지 가는데 홀로오지 않아서 좋았다. 그분과 이야기하면서 알게 된 것인데, "~~공사"의 봉급이 상당하다는 사실을 알게 되었다. 특히 수자원공사라든가, 여기 도시철도공사의 봉급은 상상을 초월했다. 초봉이 2600 정도이고, 3, 4년 근무한 봉급이 3000을 넘으며 8년 이상하신 분이 4000 정도 받으신다니... 아니 이거 왠만한 대기업을 넘는 수준!!! 그러시면서 이쪽도 한번 생각해보라고 하신다. 음.. 교사 초봉이 1500 을 받을 수 있던가 없던가 확실치 않은데.. 좀 더 고민해봐야 겠다. 직업선택에 봉급이 큰 영향을 끼치는 것은 사실이지만, 이것만으로 정할 수 있는 것만은 아니니까...
posted by progh2
예전에 컴프 수업을 들으면서 번역했던 문서.
하드 정리중에 발견
URL: http://www.merriampark.com/ld.htm

자주쓰이는 3개의 언어로 구현한 Levenshtein Distance

작성자: Michael Gilleland, Merriam Park Software

이 짧은 에세이를 쓰게 된 것은 Levenshtein distance 알고리즘에 대해서
설명하고 또 그것이 각각의 세가지 프로그래밍 언어에서 어떻게 구현되는가를
보이기 위해서입니다.

Levenshtein Distance이란 무엇인가?
데모
알고리즘
세가지 언어로 구현된 소스코드
레퍼런스
다른 언어로 구현

Levenshtein Distance이란 무엇인가?

Levenshtein Distance(이하 LD)는 두 문자열의 비슷한 정도를 측정하기위해 고안되었습니다.
여기서 원문자열을 (s)로, 대상문자열을 (t) 라고 나타낸다고 하겠습니다. distance란 s를
t로 변형시키기 위해 삭제, 추가, 또는 수정이 필요한 횟수를 뜻합니다. 예를든다면,

* s가 "test"이고 t도 "test"라면, LD(s,t) = 0 이 됩니다. 왜냐하면 문자열들이 이미 동일하여 변환이 필요하지 않기 때문입니다.

* s가 "test"이고 t가 "tent"라면, LD(s,t) = 1 이 됩니다. 왜냐하면 s를 t로 만들기 위해서는 "s"를 "n"으로 한번 수정이 필요하기 때문입니다.

Levenshtein distance는 string 간의 차이가 클수록 위대함을 느낄 수 있습니다.

Levenshtein distance는 러시아 과학자인 Vladimir Levenshtein가 1965년에 고안하여 그렇게 이름지어졌습니다.
Levenshtein 이란 단어가 쓰거나 읽기 힘들기 때문에 종종 edit distance라고도 불립니다.

Levenshtein distance 알고리즘은 다음과 같은 분야에 쓰여집니다:

* 철자 검사
* 음성 인식
* DNA 분석
* 표절여부 검사

데모

아래의 간단한 자바 애플릿으로 두 문자열의 Levenshtein distance를 알아보세요.

원래 문자열
대상 문자열


알고리즘

알고리즘 작동 단계
단계 설명
1
s의 문자열 길이를 n에 넣는다.
t의 문자열의 길이를 m에 넣는다.
만약 n = 0 이라면, m 을 리턴하고 종료한다.
만약 m = 0 이라면, n 을 리턴하고 종료한다.
0..m 행과, 0..n 열로 이루어진 행열을 만든다.
2
첫번째 행인 0..n을 초기화 한다.
첫번째 열인 0..m을 초기화 한다.
3
s의 각 문자(i는 1부터 n까지)를 검사한다.
4
t의 각 문자(j는 1부터 m까지)를 검사한다.
5
s[i]와 t[j]가 같다면, 변경하기 위한 비용은 0이 된다.
s[i]와 t[j]가 같지 않다면, 비용은 1이 된다.
6
행열의 셀 d[i,j]에 다음의 것들 중 가장 작은 값을 넣는다.
a. 바로 위의 셀이 더하기 1이 되는 경우: d[i-1, j] + 1
b. 바로 왼쪽 셀이 더하기 일이 되는 경우: d[i,j-1] + 1
c. 대각선으로 연속적인, 바로 왼,위쪽 셀의 비용: d[i-1,j-1] + cost
7
(3, 4, 5, 6) 단계를 반복하여 완료되면, d[n, m]셀에 있는 것이 distance가 된다.

예제

이 예제절에서는 원래 문자열이 "GUMBO"이고 대상 문자열이 "GAMBOL"이라 할 때
어떻게 Levenshtein distance가 계산되는지에 대해서 다룬다.

1 과 2 단계

i가 1일 때 3에서 6 단계

i가 2일 때 3에서 6 단계

i가 3일 때 3에서 6 단계

i가 4일 때 3에서 6 단계

i가 5일 때 3에서 6 단계

7단계
행열의 가장 오른쪽 아래에 있는 값이 distance가 된다.(여기서는 2)
이 결과는 "GUMBO"가 "GAMBOL"이 되기 위해서 "U"를 "A"로 바꾸고
"L"을 추가해야한다는, 직관적으로 알 수 있는 결과와 일치합니다.
( 1번의 수정과 1번의 추가 = 2 번의 변경 )

세가지 언어로 구현된 소스코드

프로그래밍 언어들간에 차이에 대해서 토론하는 엔지니어들 사이에서는 종교 전쟁이 일어나기도합니다.
이러한 예로, 전형적인 주장은 JavaWorld article에서 일어난(July 1999) Allen Holub의 주장입니다.:
"예를들자면, 비주얼 베이식은 전혀 객체지향이라고 말할 수 없다. Microsoft Foundation Classes(MFC)
또는 대부분의 다른 마이크로소프트의 테크놀러지는 어느것도 객체지향이라 주장할 수 없다."

Salon에 계제된(Jan. 8, 2001) Simson Garfinkels의 글에서 다른 진영의 반박이 이루어졌습니다.
이 글은 "Java: 느리고, 꼴사납고, 부적절한 언어"라는 제목으로 알려져 있는데, 명료하게
표현하자면 "나는 자바를 증오해"라고 나타낼 수 있습니다.

우리는 이러한 종교 전쟁들 속에서 자연스럽고 조심스런 입장을 취하로 했습니다. 배우기 위한 교재로써,
하나의 프로그래밍 언어에서만 해결할 수 있는 문제라면 대개 다른 언어에서도 마찬가지로 해결할 수
있을 것입니다. 우수한 프로그래머는 완전히 새로운 언어를 배우면서 한다고 하더라도 하나의 언어에서
다른 언어로 비교적 쉽게, 큰 어려움에 당면하지 않고 옮길 수 있습니다. 프로그래밍 언어라는 것은
목적을 이루기 위한 것이지, 그 자체가 목적은 아닌 것입니다.

이러한 중도의 입장에서, 우리는 Levenshtein distance 알고리즘을 아래에 있는 프로그래밍 언어들로
구현하여 소스코드를 보였습니다.

* Java
* C++
* Visual Basic

소스코드들 (블라블라)

참고문헌

Levenshtein distance에 관련된 다릍 토의를 다음 링크들에서 발견하실 수 있습니다.

* http://www.csse.monash.edu.au/~lloyd/tildeAlgDS/Dynamic/Edit.html (Lloyd Allison)
* http://www.cut-the-knot.com/do_you_know/Strings.html (Alex Bogomolny)
* http://www-igm.univ-mlv.fr/~lecroq/seqcomp/node2.html (Thierry Lecroq)

다른 언어로 구현

아래 있는 분들은 그들 각자가 다양한 언어로 Levenshtein Distance 알고리즘을 구현한 것을
여기서 사용할 수 있게 친절히 승낙해 주셨습니다.

* Eli Bendersky 은 펄로 구현해주셨습니다.
* Barbara Boehmer 은 Oracle PL/SQL 로 구현해주셨습니다.
* Rick Bourner Objective-C 로 구현해주셨습니다.
* Joseph Gama 는 TSQL로 Planet Source Code 에 있는 TSQL 함수 패키지의 한 파트로 구현해주셨습니다.
* Anders Sewerin Johansen 는 C++로 제가 만든 것보다 C++의 정신에 가깝게, 더 최적화되고 세련되게 구현해주셨습니다.
* Lasse Johansen 는 C#으로 구현해 주셨습니다.
* Alvaro Jeria Madariaga는 Delphi로 구현해 주셨습니다.
* Lorenzo Seidenari 는 C로 구현해 주셨습니다.
* Steve Southwell는 Progress 4gl로 구현해 주셨습니다.

이 페이지 밖에 있는 다른 구현들:

* Art Taylor의 Emacs Lisp로의구현.
* Magnus Lie Hetland의 Python로의 구현.
* Richard Suchenwirth의 Tcl로의 구현(링크가 깨진 것을 알려주신 Stefan Seidler님 감사합니다).
posted by progh2