미투데이 초대권

오랜만의 포스팅입니다. :)

바쁜 하루하루를 보내다 보니 글이 정말 뜸해졌군요.

썰렁한 블로그를 살짝 깨워볼까 싶어 미투데이 초대권을 배포(?) 하겠습니다.

초대권을 갖고 있으면서도 게을러서 여기저기 퍼뜨리지 못했더니 반성하라는 의미인지 왕창 초대권이 생기는 바람에...


그동안 미투데이에 관심이 있으셨지만 초대권이 없으셨던분들은 http://myid.net 에서 아이디를 만드시고 이 글에 비밀글로

1. myid 아이디
2. myid 가입시 적었던 이메일
3. 미투데이를 알게된 경로

를 적어주시면 매일 꼬박꼬박 초대권을 보내드리겠습니다. :)

(흑 웬지 무슨 판촉행사같아요.)
by 정목 | 2007/04/16 07:35 | 트랙백 | 덧글(23)

Apache + Mongrel 에서 X-Sendfile로 파일전송 최적화하기

저희 전산 동아리 PAIM에서 만든 프로젝트 중 현재 가장 많은 학우들이 애용하고 있는 프로젝트는 단연 강의록 사이트입니다. 교수님들께서 의대 수업의 특성상 PPT를 수업 프리젠테이션으로 많이 사용하시다 보니 다들 강의록 PPT에 필기를 하고 뽑아보고 나눠보고 돌려보죠. PPT파일의 크기는 적게는 1MB미만에서 크게는 100MB에 이르기까지 다양합니다만, 거의 100여명의 학생들이 동시에 50~100MB의 파일을 다운로드 받는 때에는 서버가 버티질 못하더라구요. 하긴 39만원짜리 PC서버에서 무얼 더 바라겠냐마는, 뭔가 근본적인 문제가 있는게 아닌가 의심되었습니다. 아니나 다를까 강의록 사이트 총 책임자인 호종이가 레일스의 send_file의 문제점을 파악했습니다. 메모리에 파일을 다 올리지 않고 조각내서 전송하겠다고 다짐한 send_file이건만 파일이 전송될 때 마다 메모리를 뭉텅 뭉텅 소모하는 것이지요.

Mongrel 제작자인 Zed의 이야기에 따르면 send_file의 구현이 OS 마다 다르다 보니 Mongrel 1.0 부터는 안정성의 문제로 send_file를 지원하지 않기로 했답니다. 어쩐지 Mongrel을 업그레이드 하기 전에는 적어도 서버가 죽는 일은 없었는데 말이죠.
사실 지금에 와서 생각해보면 레일스의 send_file의 문제라기보다는 Apache + Mongrel 조합에서 생겨날 수 밖에 없는 필연적인 문제였습니다. 아무리 Mongrel이 send_file 해준다고 하더라도 결국 client는 Apache를 통해서 파일을 전송 받기 때문에 Mongrel이 찔끔 찔끔 파일을 보내줘봤자 그걸 잠시 보관해야할 Apache를 위해서라도 메모리는 소모되는 것이지요. 게다가 proxy_balancer로 여러 Mongrel을 띄웠다면 매번 서로 다른 Mongrel이 파일을 찔끔찔끔 직접 읽고 있으니 서버가 감당하지 못한 거지요.

Lighttpd에는 X-Sendfile이라는 개념이 도입되었습니다. 웹 프로그램이 파일을 읽어서 웹 서버에 보내는 것이 아니라 웹 프로그램은 파일 위치만 헤더(Header)로 알려주고 웹 서버가 send_file처럼 전송해야할 파일을 직접 전송해주는 것이지요. 이걸 Apache에서도 가능하게 하는 모듈이 mod_xsendfile입니다.

이어지는 내용
by 정목 | 2007/03/20 23:36 | Ruby & Rails | 트랙백 | 덧글(7)

단순한 인터페이스의 아름다움

사람은 단순한 것을 좋아합니다. 배우기 쉽고 간단하고 재미있는 것을 좋아하죠 (그런 면에서 미투데이는 정말 좋아요~)
실수를 하지 않기 위해서는 단순한 것이 "좋은" 정도가 아니라 "필요" 내지는 "완전 소중" 합니다.

제가 요즘 절대로 실수를 하지 않아야하는 것은 딱 두가지가 있습니다. 하나는 환자의 ABO/Rh 혈액형 검사를 위핸 채혈을 하는 것과 다른 하나는 쌍둥이 출산에서 제대혈을 잘 담는 일이지요. 첫번째 것의 중요성은 굳이 자세히 말씀드리지 않아도 좋을 것 같습니다. 저 검체는 잘못 나가서 혹여나 수혈 사고가 발생하면 초대형 대박 사건이기 때문에 꼭 기사화가 되죠. 서울대병원에선 몇가지 방비책을 두고 있는데, 가장 단순하면서도 실용적인 방법이 "채혈자 이름과 환자 이름을 기입하기"입니다.
대형 병원에서의 혈액 검사는 긴급을 요하는 경우가 많고 양이 엄청나기 때문에 진단검사의학과에는 혈액 및 검채 검사가 자동화되어있습니다. 컨베이어 벨트에 혈액 튜브가 즐비하게 줄을 맞추어 자동으로 검사가 되죠. 이런 자동화된 툴을 이용하기 위해선 검체 라벨을 붙이게되는데요, 그냥 스티커를 붙여놓고 다른 환자의 혈액을 담으면 대박 사건의 시발점이 되는 것이죠.
그래서 검체 라벨을 붙이고도 한번 더 확인한다는 의미에서 환자의 이름을 물어보고 스티커에 네임펜으로 씁니다. 그리고 책임을 분명하게 하겠다는 분위기를 환기하기 위해 채혈자의 이름도 쓰게 되어있죠. 이 네임 스티커가 안붙어있으면 ABO/Rh 검사를 하지 않고 도로 병동으로 올려보냅니다. 새로 받아서 다시 보내라고.

어찌보면 구시대적인 냄새를 풍기지만, 정말 단순하면서도 명쾌하죠.


저의 두번째 중요 업무인 제대혈 샘플 담기. 보통 제왕절개 분만을 하면 3가지 샘플이 나옵니다. 제대동맥혈 1cc, 제대정맥혈 50cc, 양수 10cc. 이게 쌍둥이, 세쌍둥이의 경우에는 그 배수로 샘플이 나오겠죠. 샘플을 정리하는동안 새로운 샘플이 나옵니다. 무균상태를 유지하기 위해 주사기엔 아무런 표시도 할 수 없죠. 자칫 잘못 샘플을 정리했다간 신생아의 혈액 검사치가 바뀌어 나오겠죠. 태어난지 하루도 안된 아기에게서 혈액을 뽑을 수도 없고 정말 난처해집니다. 이를 막기 위한 기가막힌 대처방법. 두번째 아기를 위한 샘플 주사기에는 무균 처리된 고무줄을 하나 묶어둡니다. 그러면 수술중인 교수님도 당신께서 지금 제대로된 주사기에 담는 것인지 알 수 있고, 샘플을 정리하는 저도 제대로된 주사기란 걸 알 수 있죠. 하나에 몇 원도 안되는 고무줄 하나가 수술장에선 그 누구보다 중요한 역할을 하는 겁니다.


이렇게 제가 있는 곳에는 "단순함"이 기호를 넘어선 가장 중요한 미덕입니다. 웹에서 "단순함"은 매력 포인트에 '불과'하겠지만 여기선 목숨이 달렸죠. 저는 어떻게든 저의 일과를 "단순하게" 유지해서 실수하는 일이 없도록 하기 위해 부단히 노력합니다. 그러다 보니 "인터페이스"란 참 중요한 것이더군요.


요즘 하루에 꼭 4~5분의 보호자분들은 분만장에 일단 들어오셔서는 간호사님을 찾습니다. 분만장을 들어오는 입구는 굳게 닫혀있고, 분명히 입구 옆에 호출용 비디오폰이 달려있는데 말이죠. 게다가 분만장 입구 바닥에는 산모들이 오셔야할 분만장 병실로 가는 길과 부인과 질환을 갖고계신 환자분들이 가셔야할 복강경실로 가는 길이 표시가 되어있음에도 꼭 반대로 오시는 분들이 계십니다. 간호사님들은 이런 실수를 하시는 분들을 '가르치시죠'. 아닙니다. 그분들이 잘못한게 아니라 "인터페이스"가 잘못된겁니다. 이런 일이 반복된다면 "왜 환자들은 바보같이 길을 헷갈리는 걸까?"라고 묻는게 아니라 "대체 우리가 뭘 잘못 표시한걸까?"라고 되물어야 합니다.

역시 사람은 필요한 곳에만 집중을 하는가 봅니다. 사이트의 성공을 결정짓는 "웹 인터페이스", 사람의 목숨이 달린 "검체 접수 인터페이스"에는 신경 쓰면서 사람들이 길을 헤매는 이유인 잘못된 인터페이스는 왜 무관심한지..


루비 책 번역과 관련하여 대산님과 출판사를 찾아가는 길에 지하철 갈아타는 길을 잠깐 헤맨 일이 있습니다. "이건 제 잘못이 아니라 인터페이스가 잘못 된거에요"라는 대산님의 한마디가 기억납니다. :)


이렇든 인터페이스는 모든 곳에 존재합니다.
by 정목 | 2007/03/14 22:59 | 병원 일기 | 트랙백 | 덧글(7)

환자의 손을 잡아주기

원래 일요일은 10시부터 근무입니다만, 오전에 불임시술을 받는 분이 있으셔서 8시반까지 병원에 왔습니다.
불임 시술의 단계를 매우매우매우 간략하게 설명하자면, 1) 호르몬 약물로 난소를 자극해서 난자를 많이 만들게 하고 2) 그 난소를 뽑아서 3) 수정관 수정을 하고 4) 다시 자궁에 넣어줍니다. 오늘 오신분은 2번을 하러 오신 분이었죠. 저는 산과 분만장에만 있기 때문에 부인과 시술이나 수술은 잘 모릅니다. 시술 하는 동안 모니터링을 해야한다고 해서 갔었는데, 비품들이 어디있는지도 잘 모르고 모니터도 쓰던거랑 완전 달라서 좀 버벅거렸네요.
환자분께 IV라인을 잡고 혈액 채취를 해야해서 설명을 드리는데, 아 이분 너무 긴장하셨더라구요. 잔뜩 겁을 먹으셔서는 떨고 계시실래 "추우세요?"라고 물어볼 정도.

시술이 시작되었는데, 이게 좀 많이 아픕니다. 그래서 약도 좀 쓰긴 하는데, 너무 예민하신 분이라 시술 내내 괴로워하시더라구요. 저라도 좀 무서울 것 같습니다. 시술 부위를 무균상태로 유지하기 위해서 얼굴 위까지 갑갑하게 방포로 가려놓고 자기들끼리의 언어로 쒤라쒤라~. 아무도 설명해주지 않고 "다 끝났어요~~" 라고 하면서 계속되는 아픈 시술들...

원래 정신이 딴 곳에 팔리면 아픈 것도 잘 모르곤 하죠. 이럴 땐 대화라도 해서 주의를 산만하게 하는게 좋아요. 제가 시술의 과정을 자세히 알았더라면 좀 더 자세히 설명해 드릴 수 있었을 텐데, 하는 아쉬움을 갖고 본과 3학년때 학생 실습때 한번 본 걸 억지로 기억해내서 설명해드렸습니다. 너무 불안해하시길래 '효과가 있을까?' 반신반의하면서 "손 잡아드릴까요?"라고 했죠.

괴로운 시술이 끝나고 회복실로 갔습니다. 환자분께서 한숨 놓인다고 하시면서 걱정했던 것 보단 괜찮았다고 하시더라구요. 그러면서 "손 잡아주셔서 정말 도움이 되었어요. 감사드려요."라는 한마디. 제 작업 컴퓨터가 회복실에 있는 관계로 계속 회복실을 들락날락거렸는데 보호자분께도 제 이야길 하시고, 너무 고마워하시더라구요.


저번주까지만 해도 라인잡고 채혈하고 그런 것들이 아직 미숙하고 시키는대로 하는 것에 급급해서 환자분들에게 "채혈 하러 왔어요~"라고 왕창 피만 뽑아갔는데, 이제는 좀 여유가 생겨서 왜 검사하는지 설명도 해드리고, 간밤에 편안했는지 안부도 묻고 농담도 좀 하고 그럽니다. 그런데 오늘만큼 환자에게 도움이 되었다는 감사의 이야기가 뿌듯한 적은 없었던 것 같네요.

채혈, 라인잡기를 하면서 한마디 건내기, 모니터링 중에 손잡아주기, 대화하기... 생각해보면 정말 사소한 것인데도 환자분들께서 좋아하시는 것 같습니다. 그래도 여유로울 때가 아니면 쉽지가 않죠. 응급 상황에선 정말 정신없거든요. 교수님게서 말씀하신 "실력이 없으면 친절이고 뭐고 아무 소용없어"라는 말이 떠오르는 군요. 얼른 수기들을 능숙하게 할 수 있도록 실력을 쌓고 여유부리면서 친절한 인턴이 되어야겠어요.
by 정목 | 2007/03/11 15:18 | 병원 일기 | 트랙백 | 덧글(9)

산부인과 인턴을 돌고 있습니다.

잠시 짬이 나서 글을 올려봅니다. 인턴 생활이라는 것이 오프때 잠들고 나면 다음날 바로 당직이 시작되는 고로 매우 규칙적인 생활을 하게 됩니다. 몸은 피곤하지만 이것 저것 배우는 재미에 아직은 신기하고 즐겁습니다. :)

블로그는 웬지 긴 글을 써야 될 것 같아서 부담스럽지만, 가끔씩 한 10분정도씩 짬이 날때 마다 http://me2day.net/niceview에 글을 올리는 재미가 솔솔하군요. :)

아직 일이 완전히 익숙하진 않아서 정신 없지만, 좀 여유가 생기면 블로그에도 글 올리고 그럴게요. 쓰고 싶은 글은 많은데 마음의 여유가 없네요. :)

p.s 쓰고보니 마치 미투데이 글 3개를 올린 듯 해요. ㅎㅎ
by 정목 | 2007/03/06 00:11 | 병원 일기 | 트랙백 | 덧글(5)

미투데이!

요즘 미투데이에 푹 빠졌습니다. :)
by 정목 | 2007/02/27 01:39 | 나의 일기 | 트랙백(1) | 덧글(7)

변화에 대한 기대

오늘 서울대병원 전공의 협의회 모임에 다녀왔습니다. (저는 인턴 대표 자격으로 참석했어요~)

저는 병원, 특히 우리병원은 '변화', '혁신' 등의 단어는 어울리지 않다고 생각해왔었습니다.

하지만, 오늘 저는 변화의 최 끝단에 서있는 느낌을 받았습니다.

변화의 의지를 갖고 계신 교수님들을 중심으로 큰 물결을 탈 것 같습니다.

Feedback, Agile, Bottom up, ...

경영 혁신이나 IT 개발팀에서나 들어보았던 제가 동경하는 단어들.

오늘 모임의 느낌은 저런 단어들로 요약되는 자리였습니다.


Agile이란 꼭 IT에만 한정되는 것은 아닌가 봅니다.
by 정목 | 2007/02/22 00:04 | 나의 일기 | 트랙백 | 덧글(0)
<< 이전 페이지 다음 페이지 >>