2012 May 18

Google 한국 블로그

K-Pop 스타를 구글플러스에서 만나보세요!

작성일: 2012년 5월 18일 금요일 

5월 21일 오후 4시(현지시간) 미국 마운틴뷰에서 열리는 MBC 코리안 뮤직웨이브 콘서트에 최고의 한류 톱 가수들이 참가합니다. 미국에서 진행되는 콘서트이지만 유튜브를 통해 생중계 되어 전 세계 팬들이 감상할 수 있는데요, 추가적으로 본 콘서트에 출연하는 K-Pop 스타와의 특별한 시간을 마련했습니다.

콘서트 하루 전날인 20일 미국 서부 표준 시각으로 오후 4시부터 비스트가, 5시부터는 씨스타가 행아웃 온에어(Hangout On Air)로 전 세계 팬들이 볼 수 있는 생방송 인터뷰를 합니다. 유튜브 파워 유저이자 ‘글로벌 한국 문화 전도사’ 사이먼과 마티나(Simon & Martina)가 이번 행아웃 온에어 진행을 맡아 더욱 유쾌한 시간이 될 것 같습니다.

구글플러스 행아웃 온에어로 전세계로 생중계되는 비스트씨스타 인터뷰는 유튜브에서도 볼 수 있습니다. (비스트 공식 유튜브 채널과 씨스타 채널에서 각각 보실 수 있습니다.) 유튜브로 K-Pop 콘서트 라이브도 즐기고, 구글플러스로 비스트와 씨스타와의 라이브 만남도 가져 보시기 바랍니다. 구글플러스의 K-Pop 스타들을 서클에 추가해 실시간으로 소식도 받아보시기 바랍니다.

최근 런칭된 구글플러스 K-Pop 허브 페이지를 통해 K-Pop 한류 스타들과 국내외 팬들과 더욱 자주 만나고 교류하기를 기대합니다.

구글플러스는 세계로 진출하는 K-Pop 스타들을 응원합니다 :) 

작성자: 구글/유튜브 블로그 운영팀

2012 May 18, 06:13 AM

Channy's Blog

페이스북- 해커의 방식으로(Hacker Way)

페이스북이 내일 사상 최대의 IPO를 앞두고 있다.


난 페이스북에 대해 오래전 부터 비판적 견해를 견지 해왔지만,  마크 주커버그가 상장을 위한 투자자들에게 보낸 편지 중 일부에 적힌 내용은 꽤 진지하게 들어볼만한 대목이다. (한국어 번역본)


강한 회사를 만드는 방법의 하나로, 우리는 페이스북을 훌륭한 인재들이 세상에 영향을 끼치고 서로 배울 수 있는 공간으로 만들기 위해 최선을 다하고 있습니다. 우리는 우리만의 고유한 문화와 경영방식을 계발해 왔으며, 우리는 이를 해커웨이 (Hacker Way)라고 부릅니다. (중략) 해커방식은 끊임없는 개선과 이터레이션* 방식을 포함합니다. 해커들은 언제나 더 개선될 수 있고, 완성이란 있을 수 없다고 믿습니다. (잘못된 것이 있으면)꼭 고쳐야 합니다. 종종 '그건 안돼' 혹은 '이정도면 됐잖아' 라고 말하는 사람들 에 맞서서. (중략) 그리고 해킹은 원래 직접 해보는 능동적인 연습입니다. 새로운 아이디어가 (실현)가능한지, 혹은 뭔가 만드는 최선의 방법이 무엇인지 며칠동안 토론하는 대신, 해커들은 차라리 그냥 프로토타입을 만들어 무엇이 잘되는지 확인합니다. 패이스북에서 자주 듣는 해커들의 문구가 있습니다: "코드가 논쟁보다 낫다."


마이크로소프트와 구글 및 아마존에 이어 기술 플랫폼 기업으로 페이스북의 면모를 보여 주는 대목이다. 개발자의 아이디어 구현이 바로 서비스가 되는 생산적인 효과를 얻으려면 내부의 자산이 기술 플랫폼화 되어 있어야 한다.

성공한 플랫폼 기업의 특징은 내부에 단일화된 플랫폼을 만들고 이를 손쉽게 접근하여 구현할 수 있는 인터페이스가 존재한다. 마이크로소프트느 윈도우, 구글은 검색 엔진, 페이스북은 소셜네트웍을 기술플랫폼화 시키는데 성공했다. 너무 많은 단일 서비스를 각자 따로 만드는 노동 집약적 IT 기업은 모멘텀을 계속 만들지 않는 한 쉽게 살아남기 힘들다는 것을 반증한다. 




기업 내부 뿐만 아니라 외부와의 관계에서도 마찬가지이다. 포털 업체를 비롯한 대부분 IT 업체의 사고 방식은 우리가 다 만들어 주는 것만 쓰라는 '서비스주의'가 강한데  반해 외국에서는 가진 것을 밖에 나눠주고 같이 만들어 성공하는 '플랫폼 주의'가 더 활성화되어 있다.

플랫폼주의적 사고는 국내에서 시장 규모와 시장 처리를 하는 효율성 측면에서 항상 반론에 부딪힌다. 플랫폼을 열어두어도 누가 쓰겠나? 누가 만들어주겠나? 차라리 그 시간에 우리가 하고 말지 이런 비판이다. 그러다 보니 우리나라는 대기업의 문어발식 확장에 익숙해지고 비지니스 생태계는 늘 피폐해진다.


다시 페이스북 이야기로 되돌아와서... 이를 밑에서 부터 실행한 것이 바로 해커톤이다. 90년대말 이후 개발자 커뮤니티의 행사였던 포맷을 기업에 성공적으로 차용한 모델이다. (참고: 인사이드페이스북: 해커톤 이야기)

이 방법을 독려하기 위해, 우리는 모든 사람이 자기가 가지고 있는 새로운 아이디어를 만들어볼 수 있는 해커톤(개발자, 디자이너등이 모여 몇일동안 (보통 2-3일정도) 프로토타입 개발을 행사)을 몇 개월마다 갖습니다. 마지막에 모든 팀이 함께 모여 만든 것을 들여다봅니다. 우리의 성공한 프로덕중 많은 것들이 이 해커톤에서 만들어졌습니다. 타임라인, 체팅, 비디오, 모바일 개발 프래임웍 그리고 HipHop컴파일러같은 중요한 인프라가 여기 포함됩니다.

우리의 모든 엔지니어가 확실히 이 방법을 공유하도록, 모든 새로운 엔지니어들은 -코드를 짤 필요가 없는 매니저들도 포함해서- 페이스북 코드베이스와 툴, 그리고 해커방식을 을 배울 수 있는 '부트캠프' 에 참가해야 합니다. 우리 분야에는 엔지니어들을 관리하지만 코드를 직접 짜고싶어하지는 않는 사람들이 많습니다. 하지만 우리가 원하는 사람은 이 부트캠프를 할수있고, 하고싶어하는 사람들입니다.


페이스북의 "좋아요(Like)" 버튼도 사내 해커톤에서 나온 결과물이며, 기업공개(IPO)가 있는 전날 직원들이 이를 기념하기 위해 1박 2일 해커톤을 열고 개발을 하며 하루를 회사에서 보낸다고 한다. 이를 보면 얼마나 해커톤이 페이스북 문화에서 중요한 역할을 하고 있는지 알수 있을 것 같다. 우리 회사도 얼마전 비슷한 행사를 열기도 했다. (Daum人 해커톤: 즐거운 상상의 나래를 펼치다)



물론 페이스북에 대한 거품 논란도 뜨겁다. 사용자는 급격히 느는데 반해 실적은 그다지 가파르지 않고, 미국 3위 광고주인 GM이 페북 광고 효과에 의문을 제기하고 올해 광고 집행을 하지 않기로 결정했을 뿐 아니라 스폰서 광고 자체가 어려운 모바일에서 페이스북 쓰는 비중이 점점 늘고 있기 때문이다.


일반인들도 페이스북이 지속적으로 성공할 것인가`라는 설문 조사에 46%가 `새로운 것이 등장하면 점차 사라질 것`이며 천억달러를 웃도는 기업 가치에 대해선 응답자 50%가 과도하다고 답했다. 게다가 얼마전 1조원의 인스타그램 인수까지 거품 논란은 최정점에 달해 있다.



페이스북이 마크 주커버그라는 1인에 의해 독단적으로 회사가 운영될 수 있는 지배구조도 문제이다. 이사회나 주주의 어떤한 견제가 없이 기업이 장기 생존하기 어렵기 때문이다.


특히나, 최근 들어 페이스북의 국내 성장세가 놀랍다. 소셜웹의 대세가 계속 되고 있는 상황인데다 더 많은 커뮤니케이션이 블로그에서 트위터로 그리고 페이스북으로 옮겨가고 있는 모양세다. 국내 기업들에게도 페이스북이 더 이상 파트너가 아닌 경쟁자로 인식될 수 밖에 없다.


페이스북의 현재 사용자수는 9억명이다. 연말에는 10억명을 돌파할 예정이라니 곧 세계 최고 인구를 가진 온라인 국가가 탄생하는 것이다.  아이러브스쿨과 싸이월드 열풍을 경험한 우리로서는 소셜네트웍이 가진 네트웍 효과와 파급력은 이미 알고 있지만, 전 세계적인 실험이 어떻게 끝날지 궁금하다.


하지만, 페이스북이 가진 Hacker's Way가 잘 유지된다면 구글이나 아마존, 이베이 등 웹 플랫폼을 완성하고 이를 통해 장기간 생존할 수 있는 기업으로 발전해 나갈 가능성이 더 커졌다고 본다. (2006년 당시 페이스북, 제2의 아이러브스쿨 될까?라는 의문으로 시작하여 페이스북(Facebook)의 '가짜' 개방의 면모에도 변화를 준다면 더 좋겠다만...)


저작자 표시 비영리 동일 조건 변경 허락


2012 May 18, 04:52 AM

xkcd.com

Klout

Though please do confirm that it's actually *me* on Klout first, and not one of my friends trying to get me punched. The great thing about this douchebag deadman switch is that I will never dare trigger it.

2012 May 18, 04:00 AM

노바디노바디바쮸

근육으로 그리는 그림, 마음으로 그리는 그림

위대한 위산이라는 영화를 보면 주인공이 어릴 때 잠깐 그림을 그리다가 다 포기하고 어부로 돌아간다. 그러다 느닷없이 스폰서가 붙어서 십년쯤 뒤에 다시 그림을 그리는데 그림 실력이 전혀 줄지 않은 장면이 나온다. 한국 예고나 미대 출신들은 이 장면을 보고 영화에서 뻥을 친다고 생각을 하겠지만, 그건 늬들이 그림을 근육으로 그리기 때문에 발생하는 문제일 뿐. 내가 권옥연과 김환기를 비교했을 때도 말했지만, 마음으로 그리는 그림은 기복이 없으며 수십년이 지나도 그 감각이 퇴화되지 않는다. 하지만 근육으로 그리는 그림은 기복이 존나게 심하며 몇 주만 지나도 감각이 쇠퇴해 버린다.그래서 훌륭한 화가들은 언제나 제자들에게.......

2012 May 18, 03:46 AM

초록불의 잡학다식

아이락스 BT-6460 블루투스 키보드

뉴아이패드에는 기존에 쓰던 애플 블루투스 키보드를 사용하기로 해서, 아이패드1 용으로 블투 키보드를 하나 장만하기로 했다.

아이락스 BT-6460이 평가가 좋은 키보드에 속해서 이것으로 구매했다.

구매 시에 웃겼던 것은 - 인터파크에서는 검정이 디폴트로 되어 있고, 다른 색상을 선택하면 추가금을 내야 하는데, 옥션에서는 흰색이 디폴트로 되어 있고 다른 색을 선택하면 추가금을 내야 했다. 아내가 흰색을 선호하므로 옥션에서 구매했다. (덕분에 옥션 해킹 사태 이후 처음 옥션에서 구매를...)

키감은 나쁘지 않은 편이다. 애플 쪽이 낫긴 하지만 가격 차이가 워낙 크니까 비교의 의미가 없다.
키보드 크기가 애플 것보다도 작다. 손이 큰 사람은 조금 불편할지도 모른다. (나는 별 상관없었지만 어차피 내가 쓸 것도 아니다.)
건전지는 AAA 2개가 들어가는데, 동봉되어 왔다.
건전지가 다 되면 불빛으로 알려준다고 하는데, 이 점은 마음에 든다. 애플은 입력이 버벅되기 시작해야 알 수 있다.
크기가 더 작아서 애플 것보다 더 가벼운 것 같다. (재보진 않았다.)
온오프 스위치가 하단에 따로 있는데, 이렇게 만들어두니까 애플 것처럼 가방 안에서 저절로 눌려서 켜지거나 하는 일은 없을 것 같다. 이 점도 마음에 든다.

애플 키보드에서 지원하는 아이패드 단축키가 작동이 안 되지만 어차피 안 쓰니까 상관없다. (이 단축키는 화면밝기, 음악듣기, 사운드 조정 등을 말한다.)
Del키가 백스페이스키와 똑같이 작동하지만 애플 키보드에 익숙해지면 그러려니 한다.
한자키나 한영키가 안 먹지만 이것도 그러려니... (쳇)

제일 아쉬운 점은, 키 배열이다.

특히 우측 키배열이 마음에 들지 않는다. 애플의 경우 이동키(화살표키)의 크기를 줄여서 귀퉁이에 몰아넣었고, 그 위에 우측 쉬프트키가 시원하게 빠져있다. 내 경우 쉬프트키는 좌측은 거의 사용하지 않고 우측 것만 애용하기 때문에 이런 배치가 아주 마음에 든다. 그런데 아이락스의 경우는 우측 쉬프트키가 일반 키 크기 정도에 그 옆에 위 이동키가 있고 그 다음에는 FN(펑션)키가 있다. 이것은 이동키가 다른 키와 같은 크기를 갖기 때문이다. 애플의 키배열 방식은지금은 웬만한 노트북도 다 따라하고(사실 애플이 먼저 한 건지는 모른다. 내가 본 기억으로는 그렇긴 하지만...) 있는데, 이런 부분에 신경을 써주었다면 정말 좋았을 것이다.

사실 애플도 과거에는 이동키를 일렬로 배열한 키보드를 내놓아서 욕 먹은 일이 있다. 있으나마나한 이동키였다고 할까...




tag :

2012 May 18, 01:58 AM

迪倫齋雜想

1883년 뉴욕 전설의 레스토랑 "델모니코"에 도전해보자! (덧글 포스팅 대행)

안녕하세요. 迪倫입니다. 오늘은 제 글이 아니라 "밥과술"님의 글을 대신 소개합니다. 저는 주로 역사나 영화에 대해 블로그를 하고 있습니다만, 역사란 것도 결국 사람이 먹고 살던 얘기가 아닌가 해서 종종 먹는얘기를 "진지하게" 다루기도 하고 있습니다. 음식 밸리.... 글 전체보기

2012 May 18, 01:27 AM

세라비의 블로그

How To Design A Good API and Why it Matters by Joshua Bloch

2007년 1월 24일 Google TechTalks에서의 Joshua Bloch의 강연입니다.

How To Design A Good API and Why it Matters (Slides)

InfoQ에서 공개되어 있는 Javapolis에서의 2005년 강연도 있습니다만, 내용은 같아 보입니다. Slides로 충분하다고 생각하지만 OOPSLA 2006에 제출하기 위해 만든 요약도 참고하세요.

Joshua Bloch에 대해서는 Effective Java에 관한 글에서 소개한 적이 있지만, 굳이 여기서 다시 언급할 필요도 없다고 생각합니다. Java의 주요 클래스 라이브러리들의 설계를 주도하여, Java의 API 설계 품질의 기준을 한층 끌어올린 그는, API 설계에 관해 전문가라고 해도 충분하다고 생각합니다.

이 강연의 주제는 제목 그대로 좋은 API를 설계하는 방법과 그 중요성에 대한 강연이고, 제가 아는 한 API 설계에 관한 대부분의 중요한 생각들을 담고 있다고 생각합니다. 그 생각들을 전달하는 면에 있어서도 매우 훌륭한 강연이기에 만약 아직 이 강연을 보신 적이 없으신 분들은 시간을 들여 직접 보실 가치가 있으리라고 생각합니다. 이 글에서는 주로 API의 설계 과정에 대한 내용에 대해 제가 현재 시점에서 인상적인 부분들에 대한 의견을 적어봅니다.

If you program, you are an API designer

예전에는 프로그래머들을 API 설계 경험이 있는 프로그래머와 그렇지 않은 프로그래머로 분류할 수 있다고 생각했습니다. API 설계를 하기 전에는 다른 프로그래머가 어떤 도메인에 대해서 어떤 생각을 가지고 있을지, 주어진 API를 사용할 때 얼마나 실수할 수 있을지, 주어진 API가 얼마나 이해하기 쉬울지에 대해서 고민해보지 않았으니까요. 그리고, 그러한 고민들을 통해서 문제들을 해결하는 방법을 깨닫는 과정이 중요하다고 생각했습니다. API 설계를 경험하고나서 제가 느낀 것은 학부 시절에 Automata 수업을 들었을 때의 느낌이었죠.

그런데, Joshua Bloch은 모든 프로그래머는 API 디자이너라고 얘기합니다. 이 말을 듣고 다시 생각해보니, 실제로는 모든 프로그래머는 자신이 만든 코드를 사용할 모든 사용자 – 즉, 최종 사용자 (end-user)이거나 다른 프로그래머들을 고려하지 않으면 안된다는 것을 깨달았습니다. 어쩌면 그만큼 프로그래머에 대한 잣대가 올라갔다는 생각도 듭니다.

Start with Short Spec–1 Page is Ideal

API 설계의 시작 단계에서는 기민성(agility)이 완전성( completeness)보다 중요하다는 이야기입니다. API 설계의 시작 단계에서는 실제로 그 API를 들고 사용자에게 부딪혀보지 않으면 그 API가 요구사항에 적합한지 알 수 없는데, 이해하기도 힘든 복잡한 API 스펙을 가지고는 사용자들이 이해하기도 힘들고, 변경하기도 힘들다는 것입니다. 일반적인 소프트웨어 개발은 기민성을 중요시하면서도 API 설계에 있어서는 기민성과 완전성 사이에서 저울질 하기가 어려운 면이 있었는데, 한 페이지라는 기준은 매우 훌륭한 기준인 것 같습니다. 그리고, 이 한 페이지를 들고 사용자와 부딪혀보는 과정들 (이를테면, Hallway testing) 도 매우 중요하게 여겨집니다.

When in doubt leave it out

API의 어떤 요소 (메서드, 파라미터, …)가 들어가야 할지 말기 고민된다면, 빼버리라는 것입니다. 이미 다른 사람들이 사용하는 API는 없애기 힘들지만, 추가하기는 쉬운 API의 특성에 기인하는 매우 중요한 특성입니다. 요구사항을 다른 부서 등과 조율하는 과정에서 애매모호한 기능 요구사항들이 항상 나타나는데 이에 대한 명확한 결정을 내리는 것이 가장 좋긴 하겠지만, 그렇지 못하는 경우도 흔히 벌어지는 일인 것 같습니다. 이 때, API의 이러한 특성은 요구사항의 결정에서도 중요한 근거가 될 수 있지 않을까 하는 생각이 드네요.

Write to Your API Early and Often

API 설계에서 가장 흔하게 겪고, 또 가장 중요한 문제점으로 드러나는 것은, API를 이용한 구현하는 도중에 특정 기능을 충족할 수 없음을 발견하는 것일겁니다. 기민한 개발 과정으로 볼 수도 있겠지만, API 사용자 입장에서는 부족한 API 설계 상의 문제를 파악하거나 API가 동작하지 않는 문제를 발견하는 것, 그리고 변경된 API를 적용하는 과정들은 매우 힘들고 비용이 많이 들 뿐만 아니라 괴로운 과정입니다. 이러한 문제들의 대부분은 결국 API를 이용해서 구체적인 프로그램을 만들어보는 것 밖에는 방법이 없고, 기본적으로 이 역할을 API 설계자에게 있어야 합니다. TDD를 한번이라도 해보신 분들은 아시겠지만, API를 사용하는 코드를 먼저 써보는 것은 API 설계에 커다란 도움이 됩니다. 그리고 이러한 과정에서 만들어진 API 예제를 사용자에게 제공하는 것은 API를 사용하는 방법을 쉽게 익힐 수 있도록 도와줄 뿐만 아니라 API 사용자들이 잘못된 사용 방법에 빠지지 않도록 도와줍니다. Joshua는 API 설계 시의 API 예제가 API를 사용하는 모든 코드 중에 가장 중요한 코드라고 얘기합니다. 이는 절대 과장이 아니라고 생각합니다. API 예제가 제공되지 않는 API를 직접 개발하거나 사용해본 입장에서 이 부분이 뼈저리게 느껴지는군요.

Document Religiously

API라고 한다면 가장 좋은 문서화가 요구되어야 하는 것은 당연한 것 같습니다. 하지만, 문서가 없는 API를 종종 봅니다. 저도 잘못된 내용의 문서화가 된 API를 쓰거나, 모든 측면의 문서화를 하지 않은 등의 실수들이 떠오릅니다. 문서화에는 정말 ‘Religiously’라는 단어 – 우리말로 굳이 옮긴다면 ‘열광적으로’ 라고 해야할까요 – 를 써야할 정도로 개발자가 그만큼 공을 들이지 않으면 안되는 것 같습니다.

Closing

이 강연은 비록 5년 전의 내용이지만, API의 설계 과정 뿐만 아니라, 일반적인 API 설계 원리, 클래스, 메서드, 익셉션의 설계에 관한 내용들을 담고 있으므로, 현재는 물론 앞으로도 계속 곱씹을 수 있는 내용이라고 생각합니다. 다시금 말씀드리지만, 한번씩은 보시기를 권해드립니다. 가능하다면, 누군가가 자막 번역을 해준다면 좋겠다는 생각이 드는군요.

제게는 API 설계에 대해서 예전에 했던 생각들을 더올리게 되면서 현재 직면하고 있는 문제들에 대해서도 새롭게 많은 고민들을 할 수 있게 해주는 강연이었습니다. 좋은 강연에 대해서 Joshua Bloch에게 감사드립니다.

2012 May 18, 12:45 AM

2012 May 17

Google 한국 블로그

구글플러스에서 K-Pop 스타들을 만나 보세요.

작성일: 2012년 5월 16일 수요일  

구글플러스 모바일 앱 출시*와 더불어 K-Pop 허브 페이지를 오픈 했습니다! 이제 애프터스쿨, 비스트, 씨스타, 인피니트...등 전세계 팬들의 사랑을 받는 K-Pop 스타들을 구글플러스에서 만날 수 있습니다.

오늘 첫 공개한 K-Pop 허브 페이지는 한국어 뿐 아니라 영어와 일본어로도 제공이 되어 국내외 팬들이 K-Pop 정보를 한눈에 볼 수 있도록 했습니다. 또한 여러군데 흩어져있던 K-Pop 그룹들의 활동 내용, 멤버 프로필, 각종 일정 및 이벤트, 팬미팅 일정, 사진과 동영상 그리고 각 멤버들의 개인 페이지들도 한꺼번에 볼 수 있습니다. 좋아하는 그룹이나 그룹 멤버들을 클릭 한번으로 아주 간단히 서클에 추가해 화상 채팅 기능인 행아웃을 통한 팬미팅에도 참석할 수 있고, K-Pop 스타들이 직접 전하는 따끈따끈한 소식을 바로바로 들을 수 있습니다.

지난 4월에는 인피니트가 일본에서 국내 팬들과 구글플러스 행아웃으로 팬미팅을 진행했고, 5월에는 씨스타의 행아웃 온에어 팬미팅이 실시간으로 중계되기도 했습니다. 구글플러스에서는 스타와 팬들과의 특별한 만남이 이루어질뿐 아니라 팬들끼리도 서로 소식을 교류하며 교감을 나눌 수 있습니다. 해외 팬들을 위해 K-Pop 스타의 한국어 포스팅을 영어로 번역해 제공하기도 합니다.

물론(!) K-Pop 허브에서 만나볼 수 있는 스타들은 앞으로 계속 늘어날 것입니다. 많이 기대해주시기 바랍니다.

끝으로, 현재 구글플러스에서 만날 수 있는 K-pop 스타 서클을 공유합니다. 지금 바로 서클에 추가해 구글플러스에서 K-pop 스타와 이야기해 보세요!

 *구글플러스 모바일 앱은 구글 플레이 스토어(구 안드로이드 마켓)과 앱스토어에서 다운받을 수 있습니다.

 작성자: 구글코리아 마케팅 팀장 조상돈 

2012 May 17, 08:43 PM

Charsyam's Blog

[분산캐시] Redis 와 memcache의 flush는 왜 다를까?

Twitter에서 열심히 놀던 중에, 고수님이신 @zerocool_kor 님께서 아래와 같은 트윗을 날리셨습니다.

저는 물론 다 알고 계실분이 왜 이런 질문을 올리실까 하면서 FLUSHDB 라는 명령을 언급했습니다. Redis 에는 FLUSHDB라는 명령이 전체 데이터를 삭제하는 기능을 합니다.

그런데 다음과 같은 내용을 알려주시는 겁니다. 역시나 직접 테스트 다 해보시고 이상한 동작을 문의하신거죠.

그렇습니다. FLUSHDB를 하는 동안 다른 redis의 동작이 대기하는 현상이 있는 것입니다. 사실 이것은 Redis 구조상 아주 당연한 일입니다. 왜냐하면 간단하게 설명하면 Redis 가 싱글 스레드로 동작하기 때문입니다. Memcached도 마찬가지입니다. 다만 Memcached의 경우는 실제로는 멀티 스레드인데, 데이터에 접근하는 부분은 Mutex로 인해서 동기화되어서, Command 파싱까지는 멀티 스레드가 실제 데이터의 읽기 등은 전부 싱글 스레드처럼 동기화되어서 동작하게 됩니다.( 똑똑하신 분들은 이건 실제 싱글 스레드처럼 동작하는 serialization 이 아니라고도 하시지만 전 무식해서 그냥 이렇게 설명합니다.) 그래서 redis, memcached의 경우, 시간을 많이 먹는 단일 작업이 들어가면 전체적으로 성능이 떨어지는 것을 체감하시게 됩니다.

 

그래서 제가 다음과 같은 답변을 드립니다. 실제 싱글 스레드이므로 다른 동작이 블록되는 것이 맞는듯 합니다. 다만 워낙 동작이 달라서, 해당 지연이 눈에 띄지 않는 것이라는 내용입니다.(물론 이건 다시 정리한 표현이니 다르다고 돌은 던지지 마세요.)

Redis에서 약 200만개의 데이터를 임시로 넣어두고, 추가로 200만개를 넣으면서 FLUSHDB 명령을 날리니 약 1.1초 정도의 시간이 걸리고 그 동안에 블록이 되는 것을 볼 수 있었습니다. 시간 자체는 크게 의미를 가지지 마시기 바랍니다. 장비마다 다 틀립니다. 여기서 사용한 코드는 다음과 같습니다.

 


import redis

 

r = redis.StrictRedis( host='127.0.0.1', port=1212 )

for i in xrange(0,4000000):

r.set( str(i), str(i) )

print i

 

그런데 재미있는 것은 같은 싱글 스레드 구조인 memcached 에서는 이런 지연이 없다는 것입니다. 즉, flush_all 이라는 명령을 주면 데이터가 바로 사라집니다. 왜 이런 차이가 있는 것일까요? 무지무지하게 궁금하지 않습니까?(안 궁금하시면 저만 알고 넘어가도록, 퍽퍽퍽!!!)

 

일단 힌트는 고수이신 @zerocool_kor 님이 말씀해주십니다.

네 그렇습니다. Memcached는 flush_all 이 들어온 시점에 데이터를 지우지 않습니다. 나중에 get 을 할 때, 발견하고 지워버리는 거죠. 간단하죠? 믿을 수 없다라는 분들을 위해서 이제 소스로 설명을 드리겠습니다. 먼저 Redis 부터 보시죠. Redis는 2.4.13 버전을 기준으로 합니다.

 

Redis의 db.c 파일의 198 라인에 flushdbCommand 라는 함수가 있습니다. 이 함수를 보시면 그냥 간단히 다음과 같습니다.

 


void flushdbCommand(redisClient *c) {

server.dirty += dictSize(c->db->dict);

signalFlushedDb(c->db->id);

dictEmpty(c->db->dict);

dictEmpty(c->db->expires);

addReply(c,shared.ok);

}

 

간단하죠? 여기서 실제로 dictEmpty 함수에서 삭제가 일어납니다. Redis는 내부적으로 dict 라는 자료구조 형태를 이용하는데, 이건 다음번에 다시 소개를 드리도록 하고 이번에 패스( 왜냐하면 제가 잘 모르니 ㅋㅋㅋ)

 

dictEmpty 함수는 다음과 같습니다. Dict.c 의 584라인에 있습니다.


void dictEmpty(dict *d) {

_dictClear(d,&d->ht[0]);

_dictClear(d,&d->ht[1]);

d->rehashidx = -1;

d->iterators = 0;

}

 

다시 _dictClear 함수를 봅니다. Dict.c의 358 라인에 있습니다. 소스를 보시면 루프를 돌면서 하나씩 제거해가는게 보입니다. 이게 200만개를 지우는 거죠.

 


int _dictClear(dict *d, dictht *ht)

{

unsigned long i;

 

/* Free all the elements */

for (i = 0; i < ht->size && ht->used > 0; i++) {

dictEntry *he, *nextHe;

&nbsp;

if ((he = ht->table[i]) == NULL) continue;

while(he) {

nextHe = he->next;

dictFreeEntryKey(d, he);

dictFreeEntryVal(d, he);

zfree(he);

ht->used--;

he = nextHe;

}

}

/* Free the table and the allocated cache structure */

zfree(ht->table);

/* Re-initialize the table */

_dictReset(ht);

return DICT_OK; /* never fails */

 

간단히 정리하면 다음과 같은 순서로 흘러갑니다.

 

 

이제 memcached 의 소스를 봐야합니다. 뭐 이것은 두 부분을 봐야 하는데요. 먼저 flush_all을 통해서 어떤 동작이 일어나는지 알아보도록 하겠습니다. 이것도 간단합니다. Memcached는 1.4.13 버전을 기준으로 합니다.

 

Memcached.c 의 3290 라인을 살펴봅니다. 이 코드는 static void process_command(conn *c, char *command) 라는 함수 안에 존재합니다. 중요한 부분만 발췌하면, settings.oldest_live 가 셋팅되는 부분만 보면 됩니다. 이게 뭐하는 거냐 하면, flush_all 이 들어온 시간을 기록해둡니다. 아까 @zerocool_kor 님의 멘션을 기억하세요. 기준 시간을 정해놓고 이거 이전께 들어오면 그냥 다 NULL 입니다. 이러는 겁니다. 참 쉽죠잉?

 


time_t exptime = 0;

&nbsp;

set_noreply_maybe(c, tokens, ntokens);

&nbsp;

pthread_mutex_lock(&c->thread->stats.mutex);

c->thread->stats.flush_cmds++;

pthread_mutex_unlock(&c->thread->stats.mutex);

&nbsp;

if(ntokens == (c->noreply ? 3 : 2)) {

settings.oldest_live = current_time - 1;

item_flush_expired();

out_string(c, "OK");

return;

}

&nbsp;

exptime = strtol(tokens[1].value, NULL, 10);

if(errno == ERANGE) {

out_string(c, "CLIENT_ERROR bad command line format");

return;

}

&nbsp;

/*

If exptime is zero realtime() would return zero too, and

realtime(exptime) - 1 would overflow to the max unsigned

value.  So we process exptime == 0 the same way we do when

no delay is given at all.

*/

if (exptime > 0)

settings.oldest_live = realtime(exptime) - 1;

else /* exptime == 0 */

settings.oldest_live = current_time - 1;

item_flush_expired();

out_string(c, "OK");

return;

 

이제 실제로 get 할 때 어떻게 될 것인가를 봐야합니다. 이것 저것 다 빼고나면 실제로 items.c의 483라인의 do_item_get 이라는 함수가 호출됩니다.

 

못 믿기시겠다는 분은 gdb로 디버깅 걸어보시면 됩니다. Gdb 설명은 생략합니다. 다음이 해당 함수의 소스입니다. 참 길죠잉?

 


item *do_item_get(const char *key, const size_t nkey, const uint32_t hv) {

mutex_lock(&cache_lock);

item *it = assoc_find(key, nkey, hv);

if (it != NULL) {

refcount_incr(&it->refcount);

/* Optimization for slab reassignment. prevents popular items from

* jamming in busy wait. Can only do this here to satisfy lock order

* of item_lock, cache_lock, slabs_lock. */

if (slab_rebalance_signal &&

((void *)it >= slab_rebal.slab_start && (void *)it < slab_rebal.slab_end)) {

do_item_unlink_nolock(it, hv);

do_item_remove(it);

it = NULL;

}

}

pthread_mutex_unlock(&cache_lock);

int was_found = 0;

&nbsp;

if (settings.verbose > 2) {

if (it == NULL) {

fprintf(stderr, "> NOT FOUND %s", key);

} else {

fprintf(stderr, "> FOUND KEY %s", ITEM_key(it));

was_found++;

}

}

&nbsp;

if (it != NULL) {

if (settings.oldest_live != 0 && settings.oldest_live <= current_time &&

it->time <= settings.oldest_live) {

do_item_unlink(it, hv);

do_item_remove(it);

it = NULL;

if (was_found) {

fprintf(stderr, " -nuked by flush");

}

} else if (it->exptime != 0 && it->exptime <= current_time) {

do_item_unlink(it, hv);

do_item_remove(it);

it = NULL;

if (was_found) {

fprintf(stderr, " -nuked by expire");

}

} else {

it->it_flags |= ITEM_FETCHED;

DEBUG_REFCNT(it, '+');

}

}

&nbsp;

if (settings.verbose > 2)

fprintf(stderr, "\n");

&nbsp;

return it;

}

 

핵심만 보여달라는 분을 위해서 여기를 보시면 됩니다.

 


if (settings.oldest_live != 0 && settings.oldest_live <= current_time &&

it->time <= settings.oldest_live) {

…

…

}

 

보면 settings.oldest_live 가 current_time(현재시간) 보다 적고, 0이 아니라는 것은 한번 이상 flush_all이 실행되었다는 뜻입니다. 해당 초기값이 0이거든요. 그리고 발견된 item의 시간과 oldest_live를 비교하면, 해당 key가 flush_all 이전인지 이후인지 판단이 가능하겠죠? 그래서 memcached 에서는 실제로 아이템이 지워지는 시간이 거의 없는 것 처럼 느껴지는 겁니다.

 

그러나 뭐든지 장점과 단점이 있는 법!!!, memcached는 실제 키를 찾고 값을 비교하고 expire time이 지난 뒤에 삭제하는 형태이므로, get이 기존보다 조금 느려지게 됩니다. 뭐 그래도 엄청 빠니, 크게 신경을 안 써도 된다는 장점도 있습니다.

 

그럼 우리의 궁금점은 왜 -_-, why, 어째서, how come!!! Redis는 일일이 다 삭제하는 코드를 만든 것일까요? Redis 개발자가 memcached 개발자보다 덜똑똑해서( 물론, memcached 개발자가 괴물인건 분명합니다 1980년 생인데, 무슨 초천재를 보는듯한 T.T 난 뭐했나!!!) 일까요?

 

저는 개인적으로 redis 와 memcached의 구조적인 차이 때문이라고 생각합니다. Memcached 가 캐시 자체에만 집중했다면, 그래서 메모리를 관리하는 구조도 서로 다릅니다. Memcached는 slab 할당과 chunk 구조를 이용합니다. 반대로 Redis는 pub/sub 등의 기능과 key의 변경을 noti 받는 기능이 있습니다. 그래서 실제 flush가 되기 전에 이런 키들에 대해서 키가 삭제된다는 알람을 줘야 합니다. 해당 코드가 아까 살짝 넘어간 signalFlushedDb 라는 함수입니다. 그래서 어느 구조가 더 좋다라고 말할 수 없을 것 같습니다. 그래서 조금이라도 처리속도가 느려지면 안되는 경우에 Redis의 FLUSHDB는 위험할 수도 있습니다.

 

여담으로, Redis는 싱글 스레드다라고 말하면 안믿는 분들이 계십니다. 그럼 백그라운드로 메모리를 백업하는 BGSAVE는 어떻게 만들어진거냐!!! 말도 안된다라는 분들에게 한마디 하자면, BGSAVE는 fork 한 후에 child Process 가 처리해주는 겁니다. 속지마세요. 코드가 궁금하신 분은 rdb.c의 499라인을 보시면 됩니다.

 


charsyamtwitter1twitter2twitter3twitter4twitter5redis_flushdbtwitter6

2012 May 17, 06:52 PM

Google 한국 블로그

시각장애인 엔지니어 라만 박사를 라이브로 만나보세요.


작성일: 2012년 5월 17일 목요일

안녕하세요, 구글코리아 정김경숙입니다.

구글코리아가 매달 진행하고 있는 [인터넷 개방성 포럼] 특강이 “특별한 분”과 또 “특별한 방법”으로 찾아갑니다.

5월 22일(화) 저녁 7시, 시각장애인 엔지니어인 티브이 라만(T.V Raman) 박사님과 함께하는 [인터넷 개방성 포럼]을 구글플러스 행아웃 온에어(실시간 중계)로 진행합니다.

모든 사람을 위한 인터넷(Web for Everyone)”이란 주제로 라만 박사는 모바일 시대의 인터넷 접근성의 필요성과 그 노력들에 대해 강의를 하며, 이 강의는 전국에 있는 모든 사용자분들을 위해 구글 플러스 행아웃 온에어로 실시간 중계가 됩니다.

구글 사무실에 직접 방문해 참여하지 않더라도 집에서, 공원에서, 까페에서, 학교나 사무실 등 어디서나 참여할 수 있습니다. PC로 구글 플러스에 로그인 한 다음 구글 코리아 페이지를 방문하시면 스트림에서 행아웃 온에어 포스팅을 확인하실 수 있습니다.

또한 구글코리아의 구글플러스 행아웃(실시간 화상채팅)에 참여를 원하시는 분은 ilovegkorea@gmail.com으로 이메일을 보내주시기 바랍니다. 행아웃 일반인 참여자를 8분까지 선정해 초청장을 보내드리겠습니다. 또한 구글플러스에 누구나 라만 박사에게 질문을 남겨주시면 강의때 답을 해드리겠습니다. 해쉬태그 '#라만박사특강' 을 달아 질문을 남겨 주세요!

14세때 녹내장으로 시력을 잃은 라만 박사님은 구글 연구과학자로, 아이즈 프리 모바일 인터페이스 설계, 청각 상호작용 및 웹 표준 등 접근성 분야의 선도적인 전문가로, 16년동안 웹 접근성을 연구해 왔습니다. 구글에는 2005년 입사해 웹 접근성 향상을 위한 연구를 이끌고 있습니다.

이 소식을 구글 플러스로 주변 사람들과 공유해 보세요! 그럼 많은 관심과 참여 부탁드립니다.

작성자: 구글코리아 홍보 총괄 상무 정김경숙

2012 May 17, 05:43 PM

FlowingData

Montana can’t sleep

What's Wrong US?

Help is a drug company that offers you less. Less active ingredients, less waste, less confusion, less greed. Its tongue-in-cheek website has a map of its latest sales data called "What's wrong U.S.?" A bar chart for each state shows how many people are buying products for particular maladies.

So why are the inner northwest states having problems sleeping? My guess they're up late worrying about gay marriage.

2012 May 17, 04:24 PM

초록불의 잡학다식

쇠말뚝

1.
회사 안에서도 두 사람이나 "그게 일본놈들이 심은 게 아니라고요?"라고 놀랐음.

2.
후배한테 전화 왔음. "블로그에 적은 쇠말뚝 이야기는 엉터리라는 게 레알 사실임?"이라고...-_-;;

3.
이 이야기의 전개는 대강 이렇다.

낚인 사람 : 그럼 누가 산에다 쇠말뚝을 박았음?
정상 사람 : 측량용으로 박았다는 게 대세지만...
낚인 사람 : 측량용 쇠말뚝은 그렇게 안 생겼음!
(여기서 조금 파고 들어가면 측량용 쇠말뚝이라는 걸 본 적이 없다는 사실이 밝혀짐)
정상 사람 : 측량용 뿐만 아니라 무속인들이 박은 것도 있고, 군대에서 시설 설치한다고 박은 것도 있다고 함.
낚인 사람 : 그러니까 누가 무엇 때문에 왜 박았는지 6하원칙으로 설명하셈!
정상 사람 : 아니, 그게 문제가 아니고, 일제가 박았다는 증거는 어디 있삼?
낚인 사람 : 일본 놈들이 얼마나 철저한 놈들인데 증거를 남겨 놓았겠음? 다 없애버렸지!
정상 사람 : 그럼 어떻게 일제가 박은 건지 알 수 있삼?
낚인 사람 : 그것들은 원래 나쁜 놈들이잖아! 너 왜 자꾸 나쁜 놈 옹호함?
정상 사람 : 증거도 없는데 나쁜 사람이라고 덮어 씌우는 게 나쁜 거 아님?
낚인 사람 : 이런 친일파, 매국노!
(대화 끝....)



tag :

2012 May 17, 02:56 PM

한쪽가슴으로 사랑하기

환자의 편지를 몇번이고 다시 읽으며

환자의 편지

 

5월 가정의 달

오늘 외래에서 환자에게 받은 선물

 

탈모샴푸 나 머리 빠지는거 걱정하며 때 되면 탈모샴푸를 사다 주시는 분이 계심

돋보기 노인 환자들에게 설명할 때 쓰라며.

달걀 자기 농장에서 손주 키운 닭에서 난 달걀 다섯꾸러미 (지푸라기에 싸 오심)

김치 - 내 인생 마지막으로 담그게 될 김치가 될 것 같다며 딸에게 보내심 ㅜㅜ

당신이 먹으려고 샀는데 점심도 못 먹고 외래본다며 나보고 먹으라고 주고 가심

쿠키 럭셔리 쿠기 5

초코파이와 사탕과 초콜렛 외래보면서 다른 환자들과 함께 나눠 드시라고.

야생 블루베리 외래 보면서 힘들 때 한 개씩 드시라고

천호석류액 여자 몸에 좋다며

포카리 스웨트 외래 올 때마다 꼭 2개씩 비닐 봉다리에 싸다 주심

요플레 외래 올 때 마다 꼭 3개를 비닐 봉다리에 싸다 주심

섹시 립스틱 화장 안하니까 립스틱이라도 바르라고 하심. 여자는 화장을 해야 한다며.

미나리 자기 동네에서 나는 미나리인데 너무 싱싱하고 맛있다며 싸 오심.

 

아줌마들 선물이라 너무 정겹다.

미나리가 압권이었다.

 

 

그리고 한 환자의 편지.

 

내 앞에서 씩씩했던 그녀.

사실은 항암제 부작용으로 고생을 많이 했나 보다.

나름으로 그 부작용을 해결하기 위해 돌파구를 찾으려고 노력하면서 그녀가 찾은 방법은

바른 섭생과 규칙적인 생활, 대자연의 순리를 따르면 자연치유가 될 거라고 믿었다고 한다.

그리고 병원에 오지 않았다.

그렇지만 병이 나빠지고 몸이 힘들어져서 몇 달만에 다시 외래로 왔다.

나는 외래에 오지 않는 동안 몇번 그녀에게 전화를 했었다. 어렵사리 치료가 잘 되고 있는데 환자가 외래에 오지 않으니 말이다. 병원 전화를 안받는 건지 연락이 안되었다.

 

그녀가 다시 외래를 찾던 날

부랴부랴 CT를 다시 찍고 바로 치료를 시작했다.

그날의 일에 대해 그녀가 편지를 썼다.

당장 치료를 하자는 말에 왠지 용기가 났다고 했다.

주위에 3개월, 6개월 선고를 받은 환우들이 많았는데,

내가 서둘러 치료를 하자고 하니 왠지 용기와 희망이 생겼다고 했다.

 

물론 나도 환자가 다시 외래에 오던 날이 기억난다. 마음 속으로 화가 많이 났었다. 좋은 약으로 치료를 하고 있었고 반응도 좋았는데 그 후로 몇 개월이 지나버렸으니 이제 그 약을 다시 쓸수가  없다. 보험적용도 안되고 그 사이에 그 약제에 대한 저항성도 생겼을 것이다. 그래서 원래 효과를 보았던 좋은 약보다 훨씬 독한 약으로 치료를 해야 했기 때문에 화가 나지 않을 수 없었다.

그러나 내가 화를 내면 그녀는 곧 깨져버릴 것 같았다.

 

그리고 또 좋아졌다.

목 주위의 림프절이 줄고

복부 팽만감도 좋아졌다.

독한 약인데도 환자가 이겨내고 있나 보다.

그걸 보며 내심 기뻐했던 내 마음을 환자가 알아준 것 같다.

 

또박또박 그녀의 글씨.

몇번이고 다시 읽는다.

나와 동갑인 그녀가 나를 진심으로 사랑하고 존경한다고 했다.

환자의 마음에 실망을 주지 않는

좋은 의사가 되어야겠다고 기도하고 다짐한다.

 

 

 

 

 

2012 May 17, 02:46 PM

초록불의 잡학다식

디아블로3 잠깐 해본 소감

1.
스탯을 찍는 시스템을 버린 것 충격.

스킬 어떻게 다뤄야할지 감이 안 오는데, 매뉴얼에도 설명이 없다... (하지만 현재 레벨에서는 안 올려도 해결이 가능...)

2.
여전히 감질나는 쿼터뷰 방식.

3.
중간에 게임에서 나오면 안 된다는 게 진리.

나왔더니 다시 들어갈 수가 없다...-_-;;

2012 May 17, 02:40 PM

한쪽가슴으로 사랑하기

부부가 함께 항암치료를!

부부가 함께 항암치료를

유방암 수술 후 항암치료를 받으시는 분. 2차 치료까지는 거뜬 하셨다.

3차 치료를 하러 오셨는데 백혈구 수치도 낮고 환자 컨디션도 매우 안좋아보인다.

 

무슨 일 있으셨어요?

남편이 위암을 진단받고 수술하는 바람에 그 병간호 하느라 제대로 못 쉬었어요.

저 유방암 진단받고 치료받는거 따라다니다가 자기도 속이 좀 불편하다고 내시경 한번 해보겠다며 검사를 했는데 위암이 나왔어요. 나는 2긴데, 남편은 3기래요.

이런

항암치료 받고 수술받은 남편 때문에 보호자 침대에서 쪼그리고 자는 생활 몇일 했더니 몸이 아주 망가졌나봐요. 너무 힘드네요.

한주 쉬고 다음주에 항암치료 할까요?

언제 집에 내려갔다가 또 와요? 수치 괜찮으면 그냥 오늘 치료 받을래요.

 

집이 지방이라 한주 공치고 갔다 오는게 부담인가 보다. 항암치료를 할 때는 수치가 괜찮아도 주관적인 컨디션이 좋지 않으면 치료기간이 힘들다. 한주 정도는 쉬어도 치료 결과에 지장이 없으니 한주 쉬었으면 좋겠는데 환자는 그럴 여유가 없나보다.

3주가 지나고 그녀가 다시 항암치료를 받으러 왔다. 이번에는 병원 입원복을 입은 남편이 항암주사가 연결된 주사를 폴대에 매달고 진료실에 같이 따라왔다. 우리 환자 처음 항암치료 받을 때 같이 설명을 들으시던 모습이 어렴풋이 기억이 난다. 외래 진료실에 진료를 볼 때는 환자와 집중해서 이야기하고 논의하기 때문에 보호자에 대해서는 별로 주의를 기울이지 않아서 나중에 보면 어떤 환자 보호자셨는지 잘 기억이 안난다.

 

남편도 항암치료 받고 저도 항암치료 받고 이게 뭐하는 건지 모르겠어요.

뭐하는 거긴요. 잘 치료받고 있는 거지요.

선생님 저도 하루 입원하면 안될까요? 항암제 맞고 남편 간호하는거 힘들어서요. 저도 하루 편하게 자고 쉬었으면 좋겠어요.

 

환자와 대화를 중단하고 원무과에 전화를 해보지만 이미 1인실도 빈 자리가 없다고 한다.

우리 대화를 지켜보던 남편이

오늘은 내가 보호자 침대에서 잘께. 당신이 내 침대에서 자.

그러세요. 남편이 맞는 항암제보다 우리 환자가 맞는 항암제가 더 쎈거에요. 남편분은 별로 안힘들지도 몰라요.

남편보다 당신 항암치료가 더 힘들거니까 대접받아야 한다는 말에 환자가 씩 웃는다.

환자 마음에 오만가지 상념이 오가고 있을텐데. 그래도 환자니까 대접받아야 한다는 말이 내심 만족스러우셨나 보다. 부부 모두 몸과 마음이 힘들 때다.

 

그렇게 같이 항암치료를 받는 또 한 커플이 있다.

이들 모두 수술 후 항암치료 중이다.

남편 환자는 기골이 장대하고 잘 생기고 인상도 좋고 훈남형이다. 먹는 항암제를 먹은 후로 10kg 이상 몸무게가 줄었다고 하는데, 내가 보기에는 딱 좋다. 우리 환자는 키도 크고 미인이고 항암치료 후 이제 머리가 삐뚤삐뚤 나기 시작하는데 아주 시크하고 멋진 외모를 가지고 있다. 미남미녀 커플이시다. 그렇지만 그렇게 젊은 부부 둘이 같이 치료를 받으니 집안 꼴도 엉망이고 애들 관리도 엉망이라며 엄마 환자는 우울해 한다. 본인이 먼저 진단받고 남편이 나중에 진단받았다. 그녀도 자기 항암치료 중에 남편 수술 뒷바라지를 다 했다. 명랑하고 씩씩했던 그녀가 시간이 지나가면서 지치고 힘들어 하는게 눈에 보인다. 허셉틴도 맞고 호르몬제도 먹는 엄마 환자는 호르몬제를 복용하는게 항암제보다 훨씬 힘들다고 한다. 가끔 눈물을 보인다. 

너무 젊어서 여성호르몬이 많은데 그걸 억지로 억제하니까 더 힘든가봐요.

젊다는 증거라고 생각하세요.

제 몸 어디에 그렇게 여성 호르몬이 숨어 있었던 걸까요? 저 무지하게 터프하고 남성적인데 이럴 때만 꼭 여성적이에요.

 

그녀가 다시 농담을 시작한다. 우리의 치료가 끝나가니 조금씩 좋아지고 있나 보다. 서로 우울해 하며 힘들어 하던 이들 커플은 억지로 기운을 내서 동남아시아 여행도 다녀오고 서로가 지치지 않기 위해 노력하고 있다. 정신과 면담도 자청해서 받으며 병에 지지 않으려고 최선을 다해 노력하는 커플이다.

 

부부 항암치료 커플.

너무 마음이 애틋해진다.

내가 가끔 건네는 초콜렛으로는 도저히 그 마음이 전달되지 않네

2012 May 17, 02:16 PM

Google 한국 블로그

DevFestX Korea 2012를 마치고

작성일: 2012년 5월 17일 목요일

안녕하세요, DevFestX Korea 2012 운영진 김용욱입니다.

개발자 컨퍼런스라고 하면 생각나는 분위기가 무엇인가요? 저는 격식인 것 같습니다. 호텔의 넓은 컨퍼런스홀의 좌석에 앉아서 발표를 열심히 듣는 장면이 떠오릅니다. 쉬는 시간에 친구를 만날 때 이외에는 행사 순서에 맞추어 수동적으로 사람들을 따라 다녔었습니다. 

지식을 짧은 시간 내에 집중해서 얻을 수 있다는 점은 좋지만 가끔은 다른 형태의 행사도 있었으면 하는 아쉬운 바람이 있었습니다. 다행히 최근에는 개발자들의 관심사를 나누는 모임들도 종종 개최되는 것 같아 다행인데요. 지난 토요일에 개최된 쿨한 개발자 행사를 표방하는 DevFestX Korea 2012 행사도 그런 행사 중 하나였습니다.

이번 행사는 국내 구글 개발자 커뮤니티들이 함께 준비하고 구글 코리아가 후원하는 형식으로 진행되어 서울 GTUG, 수원 GDG, Golang Korea, Dartlang Korea, App Engine Korea, Android User Group in FB 등 다양한 커뮤니티들이 함께 힘을 모았습니다.








* 이곳에서 더 많은 사진을 볼 수 있습니다.

이런 행사가 구성되기 위해서 기본적으로 자신이 가진 지식과 경험을 다른 사람들과 함께 나눌 수 있는 발표자가 있어야 할텐데요. 이번 행사의 발표자들은 모두 자발적인 참가 신청을 통해 선정되었다는 점이 매우 고무적이었습니다. 모바일, 웹&클라우드, 이머징으로 구성된 트랙에 무려 23개의 세션이 포함되면서 안드로이드, 크롬, 앱엔진, Dart, Go 등등 매우 다양한 주제를 다루어 평소에 부족했던 정보를 채우고 새로운 화두도 얻을 수 있었습니다. 

쉬는 시간과 행사 후반부에는 발표자와 참여자가 함께 대화를 나눌 수 있도록 많은 장치들이 배치되었습니다. 시간의 부족으로 미처 하지 못했던 이야기들도 나눌 수 있었고요. 비슷한 주제에 대해 관심을 가진 사람들끼리 토론을 나눌 수도 있었습니다. 다양한 분야의 사람들이 모였기 때문에 발표자나 참여자가 새로운 가능성에 대해 이야기하는 경우도 있었습니다. 안드로이드의 접근성 문제에 대한 사회적 기업의 가능성에 대한 이야기를 나누기도 했고, 오픈 소스에 대해 어떻게 기여를 할지에 대한 계획을 나누기도 했습니다. 아두이노와 예술을 어떻게 결합할 것인지에 대해 이야기를 나누는 분들도 있었습니다. 이렇게 함께 모인 개발자들은 서로 더 많은 이야기를 하며 비전을 공유할 수 있었습니다. 

학교를 다니거나 회사 생활을 하게 되면 매일 시키는 일만 하거나 과제를 하며 시간을 보내는 경우가 많은데 저는 이번 DevFestX Korea 2012 행사를 통해 일상에서 벗어나 더 큰 세상을 보고 새로운 열정을 느끼고 공유할 수 있었습니다. 제게 이번 행사는 즐겁고 쿨한 축제였을 뿐만 아니라 개발자로서 조금 더 나은 미래를 생각하며 진지하게 참여할 수 있었던 축제였습니다. 앞으로도 이렇게 열정을 공유할 수 있는 기회가 계속해서 자주 있었으면 좋겠네요~!




작성자: DevFestX Korea 2012 운영진 김용욱

2012 May 17, 11:37 AM

간서치:책만 읽는 멍청이

存在者

存在者는 存在+特性이며,

存在는 곧하느님이다



tag :

2012 May 17, 08:22 AM

파리13구님의 이글루

"비스마르크가 오스트리아와 동맹을 체결한 이유는?"

사전에 따르면, 1879년의 독일-오스트리아 동맹 Austro-German Alliance  이란 다음과 같다.


독일과 오스트리아간에 체결된 방어동맹. 베를린회의 후 러시아에는 반독일적 풍조가 증대했으므로 O.E.L. 비스마르크는 러시아에 대비하는 동시에 오스트리아가 러시아 혹은 프랑스와 협정을 맺을 위험을 방지하기 위해 1879년 10월 7일 빈에서 동맹조약을 체결하였다. 주요내용은 ① 체결국의 한쪽이 러시아의 공격을 받을 경우 양국은 전병력으로 상호지원할 것 ② 러시아 이외의 제3국(프랑스)으로부터 공격을 받았을 경우 다른 한쪽은 호의적 중립을 지킬 것을 약속하는 것이었다. 조약기간이 5년인 이 비밀조약은 1887년 공표되어 제1차세계대전 때까지 계속되었다.


<제1차세계대전의 기원>에서 요하임 르마크는 비스마르크의 의도에 대해서 다음과 같이 설명한다.


독일-오스트리아 동맹으로, 독일의 운명을 곤경에 있던 오스트리아의 운명에 연결시키게 되었다는 비판이 제기되기도 했다. 하지만, 이것은 크게 문제가 되지 않았다. 왜냐하면, 동맹으로 독일이 오스트리아에게 묶인 것이 아니라, 오스트리아가 독일에게 묶였기 때문이었다. 비스마르크는 "모든 동맹체에는 말의 역할을 하는 국가와 기사의 역할을 하는 국가가 있다"고 주장한 바 있었다. 이 동맹에서, 기사 역할을 한 것은 바로 독일이었다는 것이다. 비스마르크는 빈 주재 독일 대사에게 보낸 훈령에서 다음과 같이 강조했다 : "발칸 지역에서 자신의 야망을 달성하기 위해서, 오스트리아가 독일의 군사력을 이용하려 할지도 모른다. 우리는 이같은 오스트리아의 구상을 절대로 고무시켜서는 안된다."


이 동맹이 "방어적" 성격을 가지고 있었다는 점이 중요했다. 만일 오스트리아가 러시아 공격의 희생양이 된다면, 독일은 오스트리아를 자동적으로 지원할 것이었다. 하지만, 비스마르크에 따르면, "독일은 러시아를 공격하지 않을 것이고, 공격할 의사도 없다." 그리고 "만약 오스트리아가 러시아를 공격한다면, 독-오 동맹은 전혀 효력을 발휘할 수 없다." "독일이 발칸문제로 절대로 전쟁을 할 수 없다."는 것이었다.


독-오 동맹 때문에, 러시아가 프랑스 등의 서방 국가와 동맹을 체결할 가능성이 있다는 비판에 대해서도 비스마르크는 다음과 같이 반박했다. 비스마르크는 "러시아는 서방세계의 국가들과 결코 제휴할 수 없고 또한 제휴하지도 않을 것이다."라고 굳게 믿었다는 것이다. 이념적으로나, 정치적으로나 짜르의 국가와 영국,프랑스 사이에는 큰 차이가 있었다. 따라서 비스마르크는 "독일과 오스트리아 간의 견고한 결속 때문에 외교적 고립에 직면할 경우, 러시아는 독일,오스트리아에 대한 분노를 버리고, 현실과 타협할 것"이라고 계산했다는 것이다. 

이와 같은 비스마르크의 계산은 적중했고, 1881년 독일,오스트리아,러시아간의 3제동맹이 부활된 것은 바로 이같은 상황에서 였다.



tag :

2012 May 17, 07:11 AM

FlowingData

Why are so many men pregnant?

Garbage in, garbage out the old adage goes. Nigel Hawkes, Director of Straight Statistics, describes a sort of statistical whistleblowing letter to the British Medical Journal.

A team from Imperial College found that in 2009-10, nearly 20,000 adults were coded as having attended paediatric outpatient services, and 3,000 patients under 19 were apparently treated in geriatric clinics. Even more striking, between 15,000 and 20,000 men have been admitted to obstetric wards each year since 2003, and almost 10,000 to gynaecology wards.

It's hard to put your faith in analysis, visualization, policy, and anything else that comes out of data with reports like these. With human error being a known issue, we have to find better ways of inputting and double-checking data. Unfortunate mistakes at the outset only lead to bigger problems down the line.

2012 May 17, 07:01 AM

파리13구님의 이글루

마르크스가 살아 있다면...

번역자와의 특별한? 관계를 고려해서,

마르크스가 살아 있다면의 출간 소식을 알립니다. ^^

책내용 중에서, 자본주의가 붕괴한 뒤, 해방적인 사회주의가 반드시 출현할 것이라는 마르크스의 유령을 비판하면서, 자본주의의 몰락 이후 훨씬 더 나쁜 체제가 등장할 수 있다고 지적하는 것이 흥미롭다. 가령, 1848년 혁명들 이후의 보나파르트 황제 복고, 1932년 독일 히틀러 세력의 집권과 같은 역사적인 퇴행 말이다. 뿐만아니라, 퇴행적 좌파의 출현도 우려스러운 일이라고 한다. 

조만간 구입해서, 읽어 볼 예정이다.

tag :

2012 May 17, 06:23 AM

art.oriented

WYSIWIG 편집기와 LaTeX

1. 위지위그 편집기

거의 대부분의 사람들은 컴퓨터에서 문서를 작성할 때 마이크로소프트 워드와 같은 프로그램을 쓸 것이다. 워드 같은 프로그램을 아시다시피 위지위그(WYSIWYG, What You See Is What You Get) 편집기라 한다. 실제 종이로 출력될 문서와 같은 (아니면 거의 흡사한) 형태를 직접 보면서 편집하는 툴이다. 초등학교 시절이었던 1989년, 금성사(…)의 장원이라는 워드프로세서가 있었는데 그건 위지위그 방식이 아니었다. 게다가 텍스트 화면에서 편집하는 프로그램이었다. 그러다가 1991년 정도에 접한 새로운 워드프로세서가 있었는데 바로 아래아 한글.

아래아 한글은 그래픽으로 작업을 해서 거기서부터 주는 충격이 대단했다. 그리고 위지위그 편집이 가능했다. 한글에서 편집한 문서를 엄청난 소음과 함께 출력되던 도트 프린터로 출력해서 본 기억이 아직도 난다.

 

2. 위지위그 편집기

위지위그 에디터와 대비되는 대표적인 문서 편집 도구로 LaTeX (레이텍)이 있다. LaTeX은 Knuth 선생이 만든 TeX라는 조판 언어에 기반한다. 이걸 전산학계에서 매우 유명하신 Lamport 선생이 개선한 것이다. 전산학자가 만든 문서 편집 프로그램이니 지극히 프로그래밍적으로 접근한다.

LaTeX는 위지위그와는 판이하게 다르게 마치 HTML을 날로 코딩하듯이 특수 조판 기호를 이용해 소스 코드를 작성한다. 그리고 이 소스 파일을 ‘컴파일’한다. 맞다. 코딩할 때 그 컴파일 바로 그것이다. 그러면 이 문서 소스 코드는 DVI, PS(Post Script), PDF 포맷으로 출력된다. 소스 코드에 오류가 있으면 컴파일 에러도 뜬다. 컴파일 경고도 있다. 리눅스에서 작업한다면 Makefile로 컴파일할 수 있다.

위키피디아에 있는 LaTeX의 예를 한 번 보자.

\documentclass[12pt]{article}
\usepackage{amsmath}
\title{\LaTeX}
\date{}
\begin{document}
  \maketitle
  \LaTeX{} is a document preparation system for the \TeX{}
  typesetting program. ... 생략 ....  \LaTeXe.
 
  % This is a comment; it will not be shown in the final output.
  % The following shows a little of the typesetting power of LaTeX:
  \begin{align}
    E &= mc^2                              \\
    m &= \frac{m_0}{\sqrt{1-\frac{v^2}{c^2}}}
  \end{align}
\end{document}

HTML 날 코딩 해보신 분이라면 그렇게 이상하게 보이지 않을 것이다. \usepackage는 마치 C/C++의 #include, Python의 import와 흡사하다. 키워드/매크로를 사용하고 있으며 무엇보다 복잡한 수식을 명령어로 섞어 표기하는 것이 가장 큰 특징이자 장점이다. 위 소스 코드를 컴파일하면 다음의 출력물이 나온다.

처음에는 도대체 LaTeX 이거 뭔가 욕하다가 컴파일-출력물 보기에 중독 되기도 한다.

Latex이 위지위그에 비해 가지는 장점이 여럿 있다.

이러한 이유로 LaTeX은 특히 논문을 써야 하는 대학원/교수 사이에서 많이 사용된다. 수식이 많은 물리/수학/통계 분야는 당연하고 솔직히 수식도 별로 없는 전통적인 전산학 분야에서도 LaTeX은 논문 편집이 표준이다. 물론 전산학에서도 수식이 많이 나오는 머신 러닝 쪽은 거의 필수이지만. 그런데 다른 전공은 LaTeX을 안 쓰는 경우도 많다. 생물학만 하더라도 (수식이 별로 없으니) 거의 쓰지 않는다고 한다.

하지만 LaTeX도 불편한 점도 많다. 마치 vim과 워드와 같은 차이라고 볼 수 있다. 워드는 전혀 사용법을 몰라도 시간이 지나면 터득이 되지만 vim은 공부를 하지 않으면 아예 전혀 사용할 수도 없다. 누군가 그러지 않았는가. 랜덤 문자열을 얻으려면 vim이나 emacs를 초보자에게 주고 종료시키도록 하면 된다고. LaTeX도 그러하다. 초기 진입 장벽이 상당히 있다.

한편, 위에서 장점이라고 언급한 것도 양날의 검처럼 단점이 동시에 있다.

 

3. LaTeX와 위지위그의 편리함을 합친다면?

이렇게 LaTeX와 위지위그 에디터는 그 장단점이 너무나 뚜렷하다. 분명 어느 한 쪽이 완전히 우세하다고 말 할 수 없다. 그렇다면 자연스럽게 이 두 방식의 절충점을 찾고 싶을 것이다. 

아직까지 아래아 한글 수식 편집기의 명령어가 외워지고 있다니. 수식이 이게 맞던가..

아래아 한글의 수식 편집기는 위 그림처럼 LaTeX를 연상케 하는 코드로 수식을 편집할 수 있게 한다. 학부 주전공은 물리/역학 수업이 많아서 수식 편집을 많이 했다. 나는 여전히 15년 전에 쓴 아래아 한글의 수식 편집이 손에 익다. 마우스를 손에 거의 댈 필요가 없다. 워드 2007/2010의 수식은 위지위그 방식으로 편리는 하지만 지나치게 마우스 클릭을 많이 해야 해서 대량의 수식이라면 너무 피로하다. 하지만 아래아 한글은 입력 방식은 훌륭하나 정작 출력/인쇄 과정에서 문제를 많이 일으켰던 기억이 난다.

 

LaTeX의 매우 불편한 재컴파일-미리보기 과정을 진정 위지위그화한 편집기도 있다. 이름이 굉장히 기괴한데 BaKoMa TeX라는 상용 툴이 있다. 러시아계 사람 같은 1인 개발자가 10년 넘게 혼자 만들어서 파는 프로그램이다. 홈페이지 디자인도 너무나 촌스러워 신뢰가 안 가는데 써보면 충격과 공포 그 자체다. 정말 레이텍을 상당한 수준의 위지위그로 만들었다. 글씨를 치면 바로 incremental 컴파일을 해서 진짜 결과물을 보여준다.

주 편집 창에서 편집을 하면 왼쪽 하단에 있는 LaTeX 소스 파일도 알맞게 코드가 생성된다. 반대로 소스 코드를 직접 고쳐도 명시적인 컴파일 없이 즉각 화면에 반영된다. 평가판으로 써보고 너무 좋아서 지금은 구입해서 사용 중이다. 안타깝게도 자잘한 버그가 많아서 불편한 점이 꽤 있으나 문제점을 메일로 보내면 거의 개발자가 24시간 내에 직접 고쳐주고 진단해주기도 한다(...) 진정 장인의 숨결이 느껴지는 소프트웨어이다. 그러나 이런 노력에도 불구 원초적으로 LaTeX가 가지는 한계점으로 정말 워드처럼 편리하게 쓰는 느낌은 들지 않는다. 복잡한 논문을 바로 여기서 작업하기에는 쉽지 않을 수 있다. 그 보다는 이미 작성된 레이텍 파일을 후편집할 때 매우 편리하다. 하지만 이러한 장애를 극복하고 이 정도 수준의 소프트웨어를 만든 것도 대단하다. LaTeX으로 논문 많이 쓰는 사람에겐 무조건 강력 추천한다.

 

LaTeX의 종결자는 프리젠테이션 파일과 그래프도 LaTeX으로 만드는 것이라고 한다. 각종 실험 그래프도 스크립트를 이용해 LaTeX 혹은 다른 벡터 그래픽 언어로 그릴 수 있다. 나는 그렇게 대량의 데이터를 수집하는 실험을 많이 하지 않아 엑셀 노가다로 해결이 되지만, 스크립트로 결과를 파싱해 프로그래밍적으로 그래프를 그린 뒤 PDF로 뽑아서 보는 친구도 있다. 자명하게 이에 대응되는 위지위그 방식은 파워포인트/엑셀일 것이다. 파워포인트는 대부분의 경우 편리하고 직관적이나 위지위그 방식이 너무나 불편할 때가 종종 있다.

사실.. 이 글을 쓰게 된 것도 지금 발표용 슬라이드를 만들고 있는데, 위 그림처럼 복잡한 에니메이션을 넣다가 사람 환장할 것 같아 충동적으로 쓰고 있다. 간단한 애니메이션은 우아하게 클릭 클릭으로 해결된다. 그런데 개체가 날라 다니고 텍스트 내용이 바뀌고 등등의 복잡한 애니메이션을 클릭으로 하기란 너무나 고통스럽다. 고치기도 너무 어렵고 몇 픽셀 차이로 어긋나는 것도 잡기가 너무 어렵다. 이럴 때 이런 에니메이션을 스크립트로 처리할 수 있으면 얼마나 좋을까?

그런데 이론적으로는 가능하다. 거의 10년 전인, 2003 년, 회사에서 해야 했던 일이 딱 파워포인트 같은 편집 툴을 만드는 것. 핵심은 undo/redo가 지원되는 C++ 컴포넌트 아키텍처 + GUI 인터페이스를 만드는 것. 처음에는 갈피를 못 잡다가 파워포인트를 열심히 파고 드니 파워포인트의 각 개체가 프로그래밍적으로 접근이 가능함을 알았다. 우리가 눈에 보는 것은 마우스와 키보드의 위지위그지만 실제 내부는 프로그래밍적으로 문서를 만들고 개체를 넣고 수정하고 그런 것이 되는 것이다. 컴포넌트를 조작하는 엔진과 그 엔진에게 명령을 전달하는 GUI 껍데기의 확실한 구분이었다. 이런 접근 방식을 보자마자 어려워 보이던 문제가 쉽게 풀릴 수 있었다.

위 그림을 보면 각 개체마다 이름이 다 있다. 그러니 얼마든지 애니메이션을 프로그래밍 형식으로 제어할 수 있을 것이다. 다만 마이크로소프트가 이런 인터페이스를 노출 안 시킬 뿐. 마찬가지로 워드도 복잡하고 큰 문서를 작성하면 비슷한 난관에 봉착한다. 역시 이럴 때 LaTeX 처럼 편집할 수 있는 모드도 있으면 얼마나 좋을까?

 

4. 무한한 시간과 돈이 있다면

나는 Visual C++를 15년 넘게 쓰고 있는 사람이다. 그런데 리눅스도 많이 쓸 수밖에 없어 vim + Makefile로도 작업을 5-6년간 꽤 했다. 이 판이하게 다른 개발 환경을 보고 있자면 (물론 리눅스에서 이클립스가 있긴 하지만) 너무나 위지위그와 LaTeX의 차이점이 떠오른다. (아 그렇다고 Visual C++을 클릭클릭하는 RAD 툴로 생각하면 큰 오산!) 여기서 어느 방법이 좋다/나쁘다를 논하고 싶지는 않다. 할 말이 너무 많아서…

그러나 하나 확실한 것은 위에서 얘기한 LaTeX와 위지위그의 차이처럼 양 개발 방법론도 매우 뚜렷한 장단점이 있고 어느 한 쪽이 완전히 다른 한 쪽을 제압할 수 있는 것이 아니다. 각 방법론의 장점을 모은다면 분명 나은 개발 환경을 만들 수 있을 것이다. 그런데 각 진영의 사람은 자신의 방식에만 너무 매몰되어있는지 서로의 장점을 잘 모은 도구가 나오지 않고 있다. 너무 아쉬울 뿐이다.

정말 나에게 무한한 시간과 돈이 있다면 소개한 BaKoMa TeX의 1인 개발자처럼 혼자서 Visual Studio + Makefile의 장점을 합친 개발 환경이나 만들고 싶다.

 

 

p.s. 윈도우에서의 추천 LaTeX 환경: MiKTeX (윈도우 용 LaTeX 배포) + TeXnicCenter (GUI 편집기) + Sumatra PDF (PDF 뷰어). (PDF 뷰어로 일반 Acrobat을 쓰면 매우 불편한 점이 있다. 편집 중인 PDF가 아크로뱃이 열고 있는 도중에 재컴파일을 하면 아크로뱃은 다시 로딩을 하지 못하거나 컴파일 자체가 잠겨있는 파일이라고 안 된다. 반면, Sumatra PDF 뷰어는 공유 모드로 파일을 읽어서 자동 갱신이 되어 LaTeX 작업에 안성맞춤.)

2012 May 17, 06:11 AM

gimmesilver's blog

하둡의 내부 I/O 동작 분석 글

http://cto.vmware.com/analyzing-hadoops-internals-with-analytics/


VMWare 라는 회사의 누군가가 하둡의 I/O 동작 방식에 대해 분석한 글
한 줄로 요약하자면 하둡의 MapReduce 에서는 중간에 I/O가 참 많이 발생한다... 정도가 되겠다.

글의 마지막에 보면 몇 가지 질문을 던지고 있다.

 우선 하둡은 map task 실행 시 가급적 해당 task가 처리할 데이터가 있는 노드에서 실행되도록 job tracker가 task를 할당하고 있는데 글쓴이가 실제 실험을 해보니 원격 노드에서 실행을 하더라도 그에 따른 부하가 전체 I/O에서 그리 크지 않은 것 같다고 했다.
 이건 테스트를 위해 사용한 예제가 데이터 정렬이었기 때문에 그렇다. 데이터 정렬은 그 특성상 Map 에서 처리하는 데이터와 Reducer로 넘어가는 데이터 양이 동일한데, 원래 MapReduce 모델은 maper에서 로컬 데이터를 처리해서 reducer로 넘어갈 때 데이터 양을 줄일 수 있는 로직이 큰 성능 효과를 발휘하는 모델이다.
 이게 만약 정렬이 아니라 combiner가 적용된 word counter 같은 예제였다면 결과는 크게 다를 것이다.

 또 map task는 결과를 로컬 디스크에 저장하고 reducer가 web proxy를 이용해서 각 map task의 결과물을 가져가는 방식인데, 글쓴이는 map 결과를 HDFS에 저장하는 것이 좀 더 단순해서 reducer 최적화에 유리하지 않을까라는 질문을 하고 있다.
 이에 대한 내 생각은 다음과 같다.

 첫 째, HDFS에 저장하게 되면 복사본을 추가로 저장하는 부담이 생긴다. HDFS는 기본 설정이 3개의 복사본을 저장하게 되어 있기 때문에 각 map task 결과물을 HDFS에 저장하려면 2번의 추가적인 I/O가 발생한다. 게다가 이 추가적인 쓰기 작업은 모두 원격 I/O이다.

 둘 째, HDFS에 저장하게 되면 map task는 다른 노드의 장애에 영향을 받게 된다. map task 결과를 로컬에 저장하게 되면 해당 노드의 장애에만 영향을 받게 되지만 HDFS에 저장하면 data node 의 장애도 수행 시간이나 결과에 영향을 줄 수 있다. 게다가 map task가 수행되는 노드에 장애가 나거나 반대로 저장하는 data node에 장애가 나거나 혹은 둘 다 문제가 생겼을 때 등 장애 처리를 위해 고려해야 할 경우의 수가 더 많아져서 장애 처리 로직이 복잡해 진다. (그렇지 않아도 map 결과를 저장하는 로직은 하둡 전체 소스를 통털어 가장 복잡한 로직이다.)

 그 외에 네트워크 대역폭이 10GB 정도로 크면 지역성이 크게 의미없지 않을까? 라는 질문도 있다. 즉, 이 정도 대역폭이면 디스크I/O나 네트워크 I/O나 성능이 비슷하지 않겠냐는 뜻 같다. 하지만 분산 시스템에서 네트워크는 일종의 공공재이기 때문에 다른 작업에 대한 영향력을 생각해야 한다. 따라서 단일 작업에서의 성능은 차이가 없더라도 여러 job을 한꺼번에 돌리는 상황에서는 locality가 여전히 중요한 최적화 요소일 것이다.

 암튼 뭐 내 생각은 이렇고 다음 번에 자신의 질문에 대한 내용으로 글을 쓰겠다고 하니 어떤 내용일지 한번 봐야 겠다.


tag :

2012 May 17, 04:16 AM

초록불의 잡학다식

잡담

1.
모 명문대생들과 대화 중에...

"그러니까 이게 저희들 배운 것과는 다르기 때문에..."
"아, 그래요? 어떻게 배웠기에?"
"일제강점기에 쇠말뚝을 박아넣은 거라고 배웠는데요..."

멘붕이라는 용어는 이럴 때 쓰는 건가 봄...

2.
디아3 문제는 편법으로 해결.

일단 캐릭 생성. 바뜨 출근...





주말에는 광주에 가야 함... 쳇.

3.
보려고 쌓아놓은 책.

사려고 넣어놓은 책.

쓰려고 열어놓은 파일.






안녕...

4.
아무튼 스페셜K 다이어트 다음으로 디아 다이어트가 가능할지 한 번...

5.
말은 이렇지만 해야할 일이 많아서 과연 어떨지는 나도 모름...



tag :

2012 May 17, 02:36 AM

코리아헬스로그

[탐방기] 건강보험심사평가원의 역할

건강보험심사평가원 탐방기 1. 서론 우리나라 의료시스템을 이해하기 위해서 중요한 기관 중 하나는 건강보험심사평가원이다. 심평원은 2000년7월에 보험자와 심사기구를 분리 해야 한다는 명목아래 건강보험심사평가원 와 국민건강보험공단으로 나누어졌다. 의료기관에서 진료를 받았을 때 의료기관은 총 진료비중 일부를 환자에게 받고, 나머지는 건강보험심사평가원에 청구 한다. 이때 건강보험심사평가원은 청구된 진료비에 대한 심사와 진료가 적정하게 이루어졌는지에 대한...

"의학적 수다" 카테고리의 다른 글

글 전체보기

2012 May 17, 01:29 AM

2012 May 16

내 마음의 풍경

비빕밥 - 맹자, 칸트, 퇴계

어린아이가 우물에 빠진다. 우리는 그 아이에 대해서 측은한 마음을 갖는다. 동시에 우리는 그 아이에 대해서 차마 안 할 수 없는 마음, 즉 반드시 해야만 하는 마음을 갖는다. 그를 구해주고 도와주어야 한다. 이 측은한 감정 혹은 반드시 해야만 하는 마음을 어떻게 규정할 수 있는가? 그것은 도덕적 감정인가? 그것은 도덕적 마음인가? 이 감정과 마음의 원천, 근거가 무엇인가? 그것은 칸트가 이야기한 것처럼 인간성 혹은 생명성에 대한 존중, 존경 때문인가? 따라서 우리는 측은한 마음을 단서로 삼아 그 배후에 있는 거대한 원리, 인간성과 생명성에 대한 존경과 외경을 추론할 수 있고, 그것을 배워 내 몸에 완전히 익혀야 한다. .......

2012 May 16, 11:24 PM

Romantic Binaries

WSGI 테스팅 유틸리티

WSGI 테스팅 유틸리티:

Werkzeug은 프레임워크와 무관한(framework-agnostic) WSGI 테스팅 도구를 제공한다. Werkzeug을 쓰지 않더라도, Python으로 웹 프레임워크를 만든다면 이걸 이용해서 쉽게 테스트해볼 수 있다. WSGI 환경 변수를 테스트 용도로 만들어주는 도구를 따로 만들어야 하나 고민하고 있었는데 이걸로 해결.

2012 May 16, 07:32 PM

mearie.org journal

최근 글들을 잠깐 짬을 내어 읽어 보니 내가 주석을 과용하고 있는 게 아닌가 하는 생각이 든다. 주석이라 함은 본디 본 글에 속하지는 않으나 흥미로울 내용을 문맥에서 뜯어 내서...

최근 글들을 잠깐 짬을 내어 읽어 보니 내가 주석을 과용하고 있는 게 아닌가 하는 생각이 든다. 주석이라 함은 본디 본 글에 속하지는 않으나 흥미로울 내용을 문맥에서 뜯어 내서 본래의 문맥을 훼손하지 않고 새로운 문맥을 주기 위한 장치이다. 그러나 그렇게 뜯어낸 문맥이 본래 문맥보다 더 커지면 문제가 크다. 나의 경우 괄호로 묶을 곁다리 수준의 내용이 두 문장을 넘으면 주석으로 옮기는 현상이 자주 일어나는데, 제대로 하려면 그러한 곁다리 내용을 어떻게 본래 문맥에 녹여낼지를 고민해야 하는 게 맞는 듯 하다. 게으르니까 생각의 흐름을 그냥 흘려 보내는 셈이다. 반성하자.

2012 May 16, 05:02 PM

FlowingData

The Descriptive Camera

descriptive camera output

The unassuming little Descriptive Camera made me rethink data. This project by Matt Richardson was on display at the ITP Spring Show. The basic premise is that you take a photo and the camera spits out a textual description of what it sees. The results are remarkably accurate, detailed, and humorous.

Here's what my photo said:

A woman wearing a seriously awesome jacket that is printed with yellow, blue, and grey circles looks at her ipad rather than making eye contact with Matt Richardson.

I mean, my jacket *IS* seriously awesome! So it not only described what it saw, but it also has great fashion sense. What a clever programmer you may be thinking.

Ah, but it's all a ruse. Albeit, a very novel and sly ruse. Matt described being underwhelmed by the EXIF data provided by digital cameras which provides you with things like date, time, camera model, and sometimes geo-spatial info. He wanted to see a world where cameras actually told you about the contents of the photo. Undeterred by the fact that this type of technology isn't feasible or practical right now, Matt decided to take a more human approach. He uses Amazon's Mechanical Turk and alternatively, instant messages to his friends, to subvert the computational task of providing a textual description of the photo.

So back to how this made me rethink data. It struck me that sometimes it's not what's immediately in front of you. Sometimes it's the shadow of the thing that's important; sometimes it's what envelopes it, or connects it to its surroundings, or maybe even a subjective description of what it is. Sometimes it's not a jacket... it's a seriously awesome jacket.

2012 May 16, 04:42 PM

Going Deep

Stephan T. Lavavej: Core C++, 1 of n

Stephan T. Lavavej, aka STL, is back on C9! This time, STL will take us on a journey of discovery within the exciting&nbsp;world of Core C&#43;&#43;. We know lots of folks are either coming back to C&#43;&#43;, coming to C&#43;&#43;, or have never left C&#43;&#43;. This lecture series, in n parts, is for all of you! Only STL can make that work (novice, intermediate, and advanced&nbsp;all bundled together and presented in a way only STL can do.)&nbsp;Thank you, STL. We're so delighted to have you back!In part 1, STL focuses on Name Lookup, which is a surprisingly complex process.Remember Herb Sutter's great GotW post (#30, to be precise) on Name Lookup? Here's the problem from that post, to refresh your memory (Thanks to Herb for providing information like this on GotW!):In the following code, which functions are called? Why? Analyze the implications? namespace A { struct X; struct Y; void f( int ); void g( X ); } namespace B { void f( int i ) { f( i ); // which f()? } void g( A::X x ) { g( x ); // which g()? } void h( A::Y y ) { h( y ); // which h()? } } We recommend you watch this entire episode before playing around with Herb's sample above (and don't read the GotW answer, either! That's cheating. Learn from STL. He's an outstanding teacher, as you know.) Please supply feedback on this thread, especially as it relates to what you'd like STL to focus on in subsequent episodes. For part 2, STL will focus on Template Argument Deduction. Tune in. Enjoy. Learn.

2012 May 16, 02:21 PM

초록불의 잡학다식

디아블로 설치 실패

DVD를 넣고 설치 시작.

배틀넷 아이디를 넣으란다.

기억이 안 난다...-_-;;




대충 이게 맞을거라 생각하는 것을 넣었는데, 웬일로 한 번에 통과!

그런데 실명 인증을 하란다. 이름이 잘못되어 있는데(그땐 실명인증 같은 거 없었다고...) 그 덕분에 공인인증서, 핸드폰 인증 모두 안 된다...-_-;;

아이핀 인증으로 넘어갔다.

아이핀 비밀번호가 틀리단다...-_-;;

아이핀 비밀번호 찾기를 시도한다.

정보를 다 입력하고 확인을 눌러도 아무 반응이 없다....-_-;;




비밀번호를 바꿔 넣어보았다.

로그인 되었다.

다시 디아블로로 돌아와 아이핀 인증을 선택한다.

성공... (휴... 아이템매니아 광고 팝업이 떠서 잠시 놀람)


그런데 이런 메시지는 뭐람...

내 게임 목록
회원님은 현재 스타크래프트 II 또는 월드 오브 워크래프트를 등록할 수 없습니다. 다른 게임을 등록해 주세요.


그나저나 이름은 수정이 불가능하네...-_-;;

메뉴 중 게임관리로 넘어가서 게임활성화 난의 게임키에 등록을 시도.

배틀태그를 작성하라고 함... (이건 뭐야?)

잘 넘어감.




음...

한국어버전 디아블로3에서는 화폐 경매장을 이용할 수 없다고...-_-;;

헉...

그런데 또 문제가 발생!



아무래도 옛날에 만든 배틀넷 계정이 문제가 있는 모양.

하지만 다시 계정을 만들려고 해도 이미 있는 계정이라고 뜸...-_-;;

자, 이제 어떻게 해야할까?


(1) 블리자드 코리아에 전화문의를 한다... 그럼 내일까지 기다려야겠지?
(2) 계정을 삭제하고 새로 만든다. - 그런데 이렇게 해서 문제가 더 꼬이는 건 아닐까? 바로 다시 만들 수 없다던가...

해답을 아시는 분은 답글 좀... (그러나 해답을 알만한 사람들은 다 디아3를 하는 중이겠지...-_-;;)





[추가]
디아를 그냥 실행시키니까 일단 실행은 된다... (나, 뭘한 거지?)

그러나 접속 실패... Error33

[추가2]
생각해보니 세번째 방법도 있긴 하겠다.

아내 주민번호로 가입한다...-_-;;

tag :

2012 May 16, 01:49 PM

hansang's world is not enough

음식전쟁 문화전쟁 - 주영하 : 별점 2점

음식전쟁 문화전쟁 - 주영하 지음/사계절출판사 문화인류학적인 시각에서 음식의 문화적, 사회적 의미를 분석했다는 책으로 도서관에서 충동 대여해서 읽어보았습니다. 먹거리 관련 책으로 잘 알려진 주영하씨의 책이더군요. 저자의 책은 아직 <차폰 잔폰 짬뽕>과.... 글 전체보기

2012 May 16, 01:42 PM

Google Operating System

Googlepedia

As previously anticipated, Google introduced Knowledge Graph, a new way to handle queries that replaces keywords with objects. It's like replacing a dictionary with an encyclopedia.

"The Knowledge Graph enables you to search for things, people or places that Google knows about—landmarks, celebrities, cities, sports teams, buildings, geographical features, movies, celestial objects, works of art and more—and instantly get information that's relevant to your query. This is a critical first step towards building the next generation of search, which taps into the collective intelligence of the web and understands the world a bit more like people do," explains Google.

For now, you'll only notice a new info pane in the right sidebar that shows more information about your query. Google's graph has 500 million objects and 3.5 billion facts, so you'll see the new section quite often. Google shows a small thumbnail, a snippet from a Wikipedia article, a few relevant facts and some related queries. It's just like a Wikipedia infobox automatically generated using data from the Web and that's smart enough to only show important facts and hide the things people won't need.


The new info panes will also help users disambiguate queries just like Wikipedia's disambiguation pages help users find the right articles.


Wikipedia's internal links help you find other interesting articles. Google also adds links to all the other objects from the graph.

Some may say that Google borrowed too many ideas from Wikipedia, but that's one step that could help search engines evolve. Understanding the relation between entities and learning their attributes allows Google to answer more complicated questions and get better search results. As Mashable says, "the transition from a word-based index to this knowledge graph is a fundamental shift that will radically increase power and complexity."

Google "begun to gradually roll out this view of the Knowledge Graph to U.S. English users. It's also going to be available on smartphones and tablets". If you don't see the new features yet, check back later.


{ Thanks, David. }


2012 May 16, 01:31 PM

鐵木居士의 月印千江

주캐 소개


주캐 일등대사.

배틀택 [라비린토스공작#3259]


2012 May 16, 01:10 PM

태극권 풍지강 노사 타계

태극권의 저명 무술가였던 풍지강 노사께서 타계하셨습니다.

2012年 5月5日14시 56분에 돌아가셨고,
향년 85세,
5월 11일에 북경 팔보산 공원묘원에 안치되셨네요.


장례식이 대단하네요.

몇년전에 북경에서 뵌 적이 있었는데,
그때는 무척 건강하셨더랬지요.



2012 May 16, 11:24 AM

Hanbit Story

RT:FM 나는 개발자다_ 뒷 이야기

<RT:FM 나는 개발자다> 행사가 5월 10일 저녁 7시 30분에 홍대 CY씨어터에서 있었습니다. 감사하게도, 100명 가까운 분들께서 행사장을 찾아주셨습니다. 저희는 2시부터 행사장에서 준비를 하고 있었습니다. 보통의 강연회는 이렇게 준비 시간이 많이 걸리지 않습니다. 마이크, 연단, PPT 정도만 잘 준비하면 되니까요. 하지만 이번 행사는 조금 욕심을 부렸습니다. 참석하는 분들이..

글 전체보기

2012 May 16, 08:51 AM

Yagoora

니퍼트와 주키치, 귀화라도 시켜야 하나

더스틴 니퍼트는 이미 한국 이름이 새겨진 유니폼을 입고 경기에 나온 적이 있다. '신경식'이라는 이름으로. (사진=두산베어스)

지금도 가끔 TV를 틀면 볼 수 있다. 아마 오랜 시간이 지나 2078년 쯤에도, 야구가 우천으로 취소된 날에는 여전히 TV에서 볼 수 있을지도 모른다. 무한도전 재방송보다도 더 자주 방영된다는 2006년 제1회 월드베이스볼클래식(WBC) 하이라이트 얘기다. 벌써 6년이나 지났지만, 그때 그 경기들이 가져다준 감동은 아직도 생생하다. 그건 야구선수들에게도 마찬가지다. 

아무리 봐도 지겹지가 않네요.” 훈련이 끝난 뒤, 휴게실에서 WBC 하이라이트를 시청하던 퓨처스팀의 한 선수가 말했다. “아마 저런 대표팀을 다시 한번 꾸리기는 어렵지 않을까요? 타자들도 대단하지만, 투수진은 지금 봐도 정말 놀라울 뿐입니다. 저 선수들이 한 팀에 모여서 활약했다는 게 믿어지지 않아요.” 

젊은 선수의 흔한 호들갑이 아니다. 실제로 해외파 투수들이 총출동한 초대 WBC 대표팀 마운드는 미국이나 일본과 비교해도 뒤지지 않을 만큼 막강한 위력을 자랑했다. 2005년 뉴욕 메츠 소속으로 절정의 기량을 뽐낸 서재응을 필두로, 콜로라도에서 선발로 뛰던 김병현과 샌디에이고에서 12승을 따내며 재기에 성공한 박찬호가 모두 합류했다. 여기에 일본킬러 구대성, 빅리그 선발투수의 가능성을 보여준 김선우, 신시내티 마이너 소속의 봉중근도 있었다. 이들에 비하면 손민한이나 박명환, 배영수 등 국내무대 에이스들의 이름이 초라해 보일 정도. 하지만 국내 에이스들 역시 전년도 프로야구에서 최고의 성적을 거둔, 전성기를 구가하고 있는 특급 투수들이었다. 

2006년 대표팀 주요 투수들의 전년도(2005) 성적
박찬호: 30경기 128패 평균자책 5.74
김병현: 40경기 512패 평균자책 4.86
서재응: 14경기 82패 평균자책 2.59
김선우: 24경기 63패 평균자책 4.90 이상 메이저리그
배영수: 31경기 1111패 평균자책 2.86
손민한: 28경기 187패 평균자책 2.46
박명환: 20경기 113패 평균자책 2.96
오승환: 61경기 10116세이브 11홀드 평균자책 1.18 

서재응이 선발로 나오고 박찬호가 마무리를 하는 비현실적인 투수진을 앞세운 한국은 WBC 첫 대회에서 4강에 오르는 기적을 연출했다. 특히 빅리거들이 즐비한 미국 대표팀을 상대로 7:3으로 완승을 거뒀고, 일본 대표팀과의 세 차례 대결에서도 21패로 우세했다. 대회 7경기에서 61패에 평균자책은 2.00으로 전체 1. WBC 4강의 위업은 마운드의 높이 덕분에 가능했다고 해도 지나치지 않을 정도였다. 

그로부터 3년 뒤인 2009년에는 제2WBC가 열렸다. 이때는 해외파 투수들 대신에 국내 무대에서 활약 중인 젊은 에이스들 위주로 대표팀이 구성됐다. 1회 대회에 출전했던 봉중근을 중심으로 류현진, 김광현, 윤석민의 영 에이스 트리오가 가세했고, 여기에 한창 주가를 높이던 장원삼과 일본에서 활약 중인 임창용이 더해졌다. 무엇보다 오승환과 정대현, 이승호, 임태훈, 정현욱, 이재우 등 강력한 구원 투수들이 같은 유니폼을 입고 던졌다. 이름값의 화려함은 1회 대회보다 약간 떨어지지만, 개개인의 능력과 가능성 면에서는 오히려 더 뛰어나다고도 할 수 있는 라인업이었다. 

2009년 대표팀 주요 투수들의 전년도(2008) 성적
윤석민: 24경기 145패 평균자책 2.33
김광현: 27경기 164패 평균자책 2.39
류현진: 26경기 147패 평균자책 3.31
봉중근: 28경기 118패 평균자책 2.66
장원삼: 27경기 128패 평균자책 2.85
정현욱: 53경기 10411홀드 평균자책 3.40
오승환: 57경기 139세이브 평균자책 1.40
정대현: 49경기 4320세이브 평균자책 2.67
임태훈: 57경기 6514홀드 6세이브 평균자책 3.41 

선수들의 국내 성적에서 드러나듯이, 당시 대표팀은 기량이 최절정에 달한 국내 최고 투수들로 구성됐다. 다들 약속이라도 한 듯 대회를 앞둔 시즌에 최고의 성적을 냈다(류현진은 제외). 기대대로 WBC에서도 좋은 결과가 나왔다. 일본과의 결승에서 아깝게 패하긴 했지만 준우승을 거두면서, 20064강보다 한 단계 위의 결실을 맺었다. 팀 평균자책은 3.441회 때보다 다소 높았지만, 예선 일본전에서 대패한 경기만 제외하면 그 외의 경기에서는 철벽 마운드를 자랑했다. ‘다음 대회 때는 충분히 우승까지 가능하다는 희망 섞인 관측이 여기저기서 쏟아진 것은 당연한 일. 

그런데 문제가 생겼다. 2013년 제3WBC를 앞둔 올 시즌 현재, 프로야구 에이스급 투수들의 상태가 심상치가 않다. 윤석민과 류현진을 제외하고는 정상적인 활약을 보여주는 선수가 거의 없다. 투수 부문 각종 순위는 외국인 투수들의 이름으로 뒤덮인지 오래다. 자칫하다간 내년 대표팀 마운드 구성에 큰 어려움을 겪을 수도 있는 상황이다. A 방송의 해설위원은 지금 상황만 놓고 볼 때는 투수가 없는 게 사실이라며 지난 두 대회와 비교하면 너무 약한 투수진이 되지 않을까 걱정된다는 말로 우려를 나타냈다. 

이런 문제는 지난 2009년 대표팀에 참가했던 투수들의 현재 상황을 살펴보면 더 분명하게 드러난다. 당시 참가 투수들 중 올 시즌에도 정상급의 활약을 보여주고 있는 선발투수는 윤석민과 류현진 두 명 뿐이다. 투수 3파전을 펼쳐야 할 김광현은 퓨처스리그에서 컨디션을 끌어 올리는 중이다. ‘봉열사봉중근은 토미존 수술에서 회복해서 이제 막 돌아왔다. 손민한은 무대에서 사라졌다. 좌완 선발로 한 축을 맡았던 장원삼도 올해는 부진하다. 불과 3년 사이에, 대표팀 마운드의 주축을 이뤘던 투수들이 한꺼번에 사라진 셈이다. 

반면 빈 자리를 대체해야 할 젊은 투수들은 성장 속도가 더디거나, 오히려 기량이 퇴보하는 모습을 보였다. 일례로 한때 큰 기대를 모았던 양현종과 차우찬은 현재 퓨처스리그로 내려가 있는 상태다. 고원준이나 강윤구, 문성현 등 젊은 선발투수들도 기대치에 비해 보여주는 투구내용은 안정감과는 거리가 있다. 이용찬과 윤성환이 시즌 초반 좋은 투구를 보여주고 있지만, 국제경기에서 한 경기를 책임질 수 있는 투수인지는 미지수다. 사실상 국제대회용 마운드의 세대교체에 실패했다고 봐야 하는 상황이다. 지금 현재로서는 그렇다. 

원인이 무엇일까. B 방송사의 해설위원은 리그 전체적으로 선발투수의 수가 모자라고 질적으로 떨어지게 된 것은 사실이라고 지적했다. “타자들의 기량 발전 속도를 투수들이 따라잡지 못하고 있다. 프로야구가 발전하면서 중간급 선수들의 기량은 어느정도 올라온 반면에, 상위 클래스 선수들의 기량은 답보하는 모습이다. 최근 몇 년 동안 류현진, 윤석민 등 몇몇 타고난 선수들 외에는 상위 클래스로 치고 올라오는 선수도 거의 없었다.” 

그런가 하면 C 방송의 해설위원은 “1군에서 한 명의 선발 에이스급을 키워내기가 보통 어려운 일이 아니다라고 이야기한다. “1이닝을 책임질 투수를 만들기는 상대적으로 쉽다. 빠른 볼과 주무기 하나만 있으면 불펜에서는 당장 어느정도 써먹을 수 있다. 하지만 선발투수로 6회 이상을, 그것도 시즌 내내 책임질 투수는 좀처럼 만들어내기가 어렵다. 순위 싸움이 치열해지면서 젊은 투수에게 선발로 성장할 기회를 주기보다는, 일단 불펜에서 활용하는 쪽을 택하는 경우가 많아졌다. 선발 두 자리는 어차피 외국인 투수로 채우면 되기 때문에 젊은 투수를 굳이 선발로 써야 할 필요성도 크지 않다.” 

실제로 선발투수 기근 현상에 비해 불펜 쪽에서는 투수들이 넘쳐난다. 오승환과 정우람, 손승락을 필두로 박희수, 유원상, 노경은, 안지만, 김혁민 등이 맹활약을 펼치는 중이다. 불펜투수 순위는 국내 투수들로, 선발투수 순위는 외국인 투수들로 철저하게 양분됐다. 여기에 다승 부문 1, 2위에 올라있는 니퍼트와 주키치, 탈보트, 나이트를 한국 국적으로 귀화라도 시켜야 하는 게 아닐까 싶을 정도다. B 방송의 해설위원은 어중간한 투수를 뽑느니 차라리 박찬호나 김병현을 다시 뽑는 게 국제 경험 면에서는 나을 수도 있다며 안타까워했다. 박찬호와 김병현은 6년전 WBC에 참가했던 멤버들이다. 그때 그 선수들이 지금 뛰는 선수들보다 낫다는 건, 야구의 미래를 봐서는 그다지 바람직한 현상이 아니다. 

현재로서는 일단 퓨처스에 내려가 있는 각 팀 에이스급들이 남은 기간 제 기량을 회복하는 게 최상의 시나리오다. 투수 전문가인 D 방송 해설위원은 아직 시즌 초반인 만큼 컨디션이 올라오는 선수도 있을 것이고, 젊은 투수들 중에 확 튀어나오는 선수도 나올 수 있다. 1군에 복귀한 송은범도 있다남은 시즌을 기대해봐야 한다고 했다. 지적대로 김광현, 양현종, 차우찬이 제 모습을 되찾고 송승준과 김선우가 최소 지난해 수준까지만 올라온다면 대표팀 선발투수 구성에는 어느 정도 숨통이 트일 것이다. “불펜이 워낙 강하니까 류현진 윤석민에 한 명 정도만 더해지면 충분히 해볼 만하다고 본다.” D 해설위원의 말이다. 

진짜 문제는 그 다음부터다. 확실히 2009년의 대표팀 마운드는 2006년보다는 선발은 약하고 불펜 쪽에 힘이 실려 있었다. 선발 에이스감이 아예 보이질 않는 올해의 상황은, 그런 추세의 연장선상에 놓여 있다. 다소 극단적인 가정이지만, 이런 추세가 계속 이어지면 앞으로 10년쯤 뒤에 열리는 국제대회 때는 투수진 전체가 불펜 요원들로 채워질지도 모를 일이다. 더 늦기 전에, 야구계가 젊은 투수들의 불펜 쏠림과 넘쳐나는 외국인 선발투수 범람에 대해 진지하게 고민해 봐야 할 것 같다.


<프레시안>에 기고한 글입니다.

저작자 표시

2012 May 16, 08:00 AM

FlowingData

What is missing?

What is missing

What is Missing? by Maya Lin seeks to raise awareness about the mass extinction of species. It has a beautiful interface. The world map is black on a sea of black. Your mouse acts as a sort of flashlight layered between land and water, showing you glimpses of familiar coastlines and allowing you to select dots that tell the stories of extinction.

We are experiencing the sixth mass extinction in the planet's history, and the only one to be caused not by a catastrophic event, but by the actions of a single species - mankind. On average, every 20 minutes a distinct living species of plant or animal disappears. At this rate, by some estimates, as much as 30 percent of the world's animals and plants could be on a path to extinction in 100 years.

The site states that the dots on the world map each represent a species, place, or natural phenomenon that has disappeared or significantly diminished. Unfortunately, this is a very vague concept. I chose a dot titled "Earth" that described the abundance of life in a cup of soil. Another dot named "Migration" discussed how the natural phenomenon of migration was disappearing around the world. It seemed so loosely related to extinction that I felt the mission of the piece fell short. You can also view the dots by year, however, I felt it only added to my confusion because it doesn't seem to chronicle actual extinctions.

I typically love Maya Lin's work, so this site was surprisingly disappointing and certainly not her best piece of data visualization (see Vietnam Veterans Memorial).

2012 May 16, 07:10 AM

파리13구님의 이글루

"일본인 기자가 국민전선 유세에서 봉변당한 사연은?"

[르몽드 사설]"사르코지의 극우파 포용은 오류다!"

[프랑스]
[프랑스정치][프랑스 대선]
[극우파][국민전선][마린 르펜]


"일본인 기자가 국민전선 유세에서 봉변당한 사연은?"


이 일본인 기자는 프랑스의 대통령 유세 기간 동안, 마린 르펜의 한 유세에 참석했다. 그리고 그는 다음과 같은 오싹한 경험을 했다고 한다.


일본 도쿄- 도쿄 신문 보도

2012년 5월 15일

노무라 기자


지난 2월에, 나는 프랑스 중부의 작은 도시인 샤토루 Châteauroux 에서 열린, 프랑스 극우파 국민전선의 마린 르펜 후보의 유세에 참석했다. 시간이 얼마 흐른 뒤, 나는 유세장의 사람들이 문자그대로 나를 째려보고 있다는 것을 파악했다. 이렇게 나는 순간적으로 내가 직면했던 상황을 알 수 있었던 것이다.


연단에서 마린 르펜은 샤토루 지역에 중국 기업이 진출하는 것이 초래하는 부정적인 영향을 맹렬히 비판했다. 옛 나토군 공군 기지 자리에 중국 기업들이 자리를 잡게 된다는 것이다. 이 중국 기업들은 프랑스인들을 고용할 것이라 했다. 마린 르펜은 이같은 중국 기업 유치로 <메이드 인 프랑스>의 가치가 하락할 것이며, 프랑스의 고용문제 해결에도 도움을 주지 않을 것이라 주장했다.


내가 이 유세의 자세한 내용을 모두 이해하지 못했다고 하더라도, 이 연설은 외국인을 배격하는 제노포비즘을 주장하는 정당의 그것으로는 전혀 이상할 것이 없었다. 문제는, 내가 유세가 열린 강당 안의 유일한 아시아인이었다는 점이었고, 프랑스인들은 중국인과 일본인을 구별하는데 젬병이다. 나는 따라서 부당하게도 유세장의 표적이 되었다.


유세 말미에, 한 남자가 내게 다가왔다. "당신 중국인이냐?"라고 위협적인 태도로 질문했다. 그는 중화인민공화국과 중국 기업에 대해 말하고자 하는 것처럼 보였다. 내가 그에게 나는 일본인이라 대답하자, 그는 믿을 수 없다는 표정을 지으면서 멀어져 갔다.


프랑스 국민전선이 청년,노동자,농촌인구의 불만을 자극하면서 그들을 유혹하고 있고, 아랍계 이민자와 좌파를 공격하면서 인기를 얻고 있다고 한다. 머지 않은 장래에, 국민전선이 일본과 일본인을 공격하게 될 지도 모른다. 물론, 이번에는 그 남자가 헛다리를 짚었지만, 이번에 내가 겪은 경험은 결코 가볍지도 않고, 우스운 것도 아니라 생각한다.



tag :

2012 May 16, 06:54 AM

노바디노바디바쮸

문재인이 왜 진짜 쪼다냐면

내가 진짜 노무현 존경하는 거 딱 하나는 막판에 정몽준이 내친 거. 수꼴 애들은 무현이가 원래 미친놈이라 그런 거라고 했는데, 그게 아니고 노무현이 진짜 대통령 감이라 그랬던 거라. 무현이는 애당초 정몽준이랑 손 잡는 거 싫어했거든 그 새끼랑 내가 왜 미쳤다고 손 잡냐고 근데도 그놈의 정치 기계공학 박사 새끼들이 죽어도 손 잡아야 된다고 대통령 되려면 어쩔 수 없다고 지랄지랄개지랄 하는 통에 손은 잡았는데 이거 영 씨발 마뜩치 않았던 거라 ㅋㅋㅋㅋ. 대선 전날 밤에 삐친 정몽준이 집에 찾아 간 무현이 표정 봤냐? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아 씨발 내가 왜 이 새끼 집까지 찾아 와야돼 이 표정 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 그.......

2012 May 16, 06:52 AM

파리13구님의 이글루

"신임 프랑스 총리는 아이로인가 애로인가?"



프랑스의 신임 총리 관련, 한국 외신기사들을 보니, Jean-Marc Ayrault 를 장-마르크 아이로 혹은 장-마르크 애로라 표기하는 경우가 있었다.


모두 틀렸다.


Ayrault는 애로라 표기하는 것이 맞는 것으로 보이지만, 앞에 장-마르크가 붙어서 Jean-Marc Ayrault인 경우, 장마르크 캐로라 발음하는 것이 맞다. 이는 프랑스어의 연음규칙 때문이며, Marc의 c의 [ㅋ] 발음이 애로와 연음되면서, 장-마르크 캐로가 되는 것이다.

따라서 신임 프랑스 총리는 장-마르크 캐로 다!


다만, 장 마르크를 빼고 부르면, 캐로가 아니라, 애로가 된다.


정리하면, 이름을 장-마르크 캐로 혹은 애로라 불러야 된다는 것이다.


보도에 따르면, 프랑스의 애로 총리는 사회당 하원 원내대표 출신으로, 낭트 시장이라 한다. 그는 독어 교사 출신의 친독파라고 한다. 나는 그가 독어 교사였다는 점이 의미심장하다고 본다.


즉, 올랑드 정권의 애로 총리의 주요 국정 목표가 독일과의 협상에 달려있는 유럽 성장 협약의 성사 여부이면서, 교육 개혁이라는 점을, 장-마르크 캐로 총리의 임명을 통해 알 수 있다고 본다.



tag :

2012 May 16, 06:17 AM

FlowingData

How to Visualize and Compare Distributions

How to visualize distributions

There are a lot of ways to show distributions, but for the purposes of this tutorial, I'm only going to cover the more traditional plot types like histograms and box plots. Otherwise, we could be here all night. Plus the basic distribution plots aren't exactly well-used as it is.

Before you get into plotting in R though, you should know what I mean by distribution. It's basically the spread of a dataset. For example, the median of a dataset is the half-way point. Half of the values are less than the median, and the other half are greater than. That's only part of the picture.

What happens in between the maximum value and median? Do the values cluster towards the median and quickly increase? Are there are lot of values clustered towards the maximums and minimums with nothing in between? Sometimes the variation in a dataset is a lot more interesting than just mean or median. Distribution plots help you see what's going on.

Want more? Google and Wikipedia are your friend.Anyways, that's enough talking. Let's make some charts.

If you don't have R installed yet, do that now.

Box-and-Whisker Plot

This old standby was created by statistician John Tukey in the age of graphing with pencil and paper. I wrote a short guide on how to read them a while back, but you basically have the median in the middle, upper and lower quartiles, and upper and lower fences. If there are outliers more or less than 1.5 times the upper or lower quartiles, respectively, they are shown with dots.

The method might be old, but they still work for showing basic distribution. Obviously, because only a handful of values are shown to represent a dataset, you do lose the variation in between the points.

To get started, load the data in R. You'll use state-level crime data from the Chernoff faces tutorial.

# Load crime data
crime <- read.csv("http://datasets.flowingdata.com/crimeRatesByState-formatted.csv")

Remove the District of Columbia from the loaded data. Its city-like makeup tends to throw everything off.

# Remove Washington, D.C.
crime.new <- crime[crime$state != "District of Columbia",]

Oh, and you don't need the national averages for this tutorial either.

# Remove national averages
crime.new <- crime.new[crime.new$state != "United States ",]

Now all you have to do to make a box plot for say, robbery rates, is plug the data into boxplot().

# Box plot
boxplot(crime.new$robbery, horizontal=TRUE, main="Robbery Rates in US")

Want to make box plots for every column, excluding the first (since it's non-numeric state names)? That's easy, too. Same function, different argument.

# Box plots for all crime rates
boxplot(crime.new[,-1], horizontal=TRUE, main="Crime Rates in US")

Multiple box plot for comparision.

Histogram

Like I said though, the box plot hides variation in between the values that it does show. A histogram can provide more details. Histograms look like bar charts, but they are not the same. The horizontal axis on a histogram is continuous, whereas bar charts can have space in between categories.

Just like boxplot(), you can plug the data right into the hist() function. The breaks argument indicates how many breaks on the horizontal to use.

# Histogram
hist(crime.new$robbery, breaks=10)

Look, ma! It's not a a bar chart.

Using the hist() function, you have to do a tiny bit more if you want to make multiple histograms in one view. Iterate through each column of the dataframe with a for loop. Call hist() on each iteration.

# Multiple histograms
par(mfrow=c(3, 3))
colnames <- dimnames(crime.new)[[2]]
for (i in 2:8) {
	hist(crime[,i], xlim=c(0, 3500), breaks=seq(0, 3500, 100), main=colnames[i], probability=TRUE, col="gray", border="white")
}

Using the same scale for each makes it easy to compare distributions.

Density Plot

For smoother distributions, you can use the density plot. You should have a healthy amount of data to use these or you could end up with a lot of unwanted noise.

To use them in R, it's basically the same as using the hist() function. Iterate through each column, but instead of a histogram, calculate density, create a blank plot, and then draw the shape.

# Density plot
par(mfrow=c(3, 3))
colnames <- dimnames(crime.new)[[2]]
for (i in 2:8) {
	d <- density(crime[,i])
	plot(d, type="n", main=colnames[i])
	polygon(d, col="red", border="gray")
}

Multiple filled density plots.

You can also use histograms and density lines together. Instead of plot(), use hist(), and instead of drawing a filled polygon(), just draw a line.

# Histograms and density lines
par(mfrow=c(3, 3))
colnames <- dimnames(crime.new)[[2]]
for (i in 2:8) {
	hist(crime[,i], xlim=c(0, 3500), breaks=seq(0, 3500, 100), main=colnames[i], probability=TRUE, col="gray", border="white")
	d <- density(crime[,i])
	lines(d, col="red")
}

Histogram and density, reunited, and it feels so good.

Rug

The rug, which simply draws ticks for each value, is another way to show distributions. It usually accompanies another plot though, rather than serve as a standalone. Simply make a plot like you usually would, and then use rug() to draw said rug.

# Density and rug
d <- density(crime$robbery)
plot(d, type="n", main="robbery")
polygon(d, col="lightgray", border="gray")
rug(crime$robbery, col="red")

Using a rug under a density plot.

Violin Plot

The violin plot is like the lovechild between a density plot and a box-and-whisker plot. There's a box-and-whisker in the center, and it's surrounded by a centered density, which lets you see some of the variation.

# Violin plot
library(vioplot)
vioplot(crime.new$robbery, horizontal=TRUE, col="gray")

I bet this violin sounds horrible.

Bean Plot

The bean plot takes it a bit further than the violin plot. It's something of a combination of a box plot, density plot, and a rug in the middle. I've never actually used this one, and I probably never will, but there you go.

# Bean plot
library(beanplot)
beanplot(crime.new[,-1])

A little too busy for me, but here you go.

Wrapping Up

If you take away anything from this, it should be that variance within a dataset is worth investigating. Picking out single datapoints or only using medians is the easy thing to do, but it's usually not the most interesting.

Related

2012 May 16, 05:47 AM

파리13구님의 이글루

[자료]스트라스부르 조각상 Statue de Strasbourg

[보불전쟁]
[알자스와 로렌]
[제1차세계대전]


위키 백과에 따르면, 콩코르드 광장(프랑스어: Place de la Concorde)은 프랑스 파리의 광장으로 샹젤리제 거리 동쪽에 튈르리 공원과 사이에 위치한다. 면적은 86,400m2(8.64ha)로 파리에서는 가장 넓은 광장이다.

콩코르드 광장의 스트라스부르 상은 보불전쟁이후 알자스와 로렌을 독일에게 빼앗긴 프랑스의 국민적 분노를 상징하는 것이었다. 프랑스의 이같은 정서는 "항상 알자스-로렌을 생각하라. 하지만, 이를 입밖으로 내지 마라!" 라는 구호로 요약되었다.


콩코르드 광장의 스트라스부르 상 Statue de Strasbourg은 프랑스 도시 스트라스부르를 대표하는 조각상이다. 1870년의 보불전쟁 이후, 조각상은 검은천으로  싸여 있었고, 이는 독일제2제국에 의해서 알자스와 로렌이 상실된 역사적 사실을 상기시키기 위한 것이었다. 제1차세계대전 승전 이후, 검은천은 제거되었다.  



tag :

2012 May 16, 05:31 AM

최장집의 한마디...

통합진보당의 비례대표경선 부정선거...

"진보가 민주주의를 파괴할 수 있다는 것을 보여준 사건"

- 최장집

고려대 명예교수

통합진보당 폭력 사태에 대해서

- 최장집은  진보당 당권파의 행태를 "시대착오적"이라 규정하고 "진보 세력이 타도하려 했던 군부독재권력과 다를 바 없다"며 "그들 자신이 정당성을 잃었다"고 규정했다고 한다.

tag :

2012 May 16, 05:15 AM

초록불의 잡학다식

iOS 한컴오피스 웹폴더 저장 문제

집에 돌아가 몇가지 테스트를 해본 결과 문제라면 문제인 부분을 발견해서 포스팅 해놓습니다.

이 테스트는 드롭박스를 통해서 이루어졌지만 다른 웹폴더를 이용하는 경우도 동일할 것이라 생각합니다.

1. 이번 업데이트(v1.5)를 통해서 웹폴더에서 "불러온" 파일을 저장할 때 웹폴더에도 저장할 수 있게 되었습니다.

저 부분을 잘 보아야 하는데, 저장은 두군데에서 일어나는 것입니다. 즉 아이패드(혹은 아이폰) 내부에 이루어지고 웹폴더에도 이루어진다는 것.

자, 그리고 여기에 함정이 있습니다.

첫번째 함정.

한컴오피스에서 문서를 불러온 다음(문서 불러오는 방법은 하단의 웹폴더 메뉴를 통해서 할 수 있음) 저장하는 경우에 위 팝업 화면이 나옵니다. 하지만 웹폴더에서 열기> 메뉴를 통해서 한컴 오피스로 파일을 보낸 경우에는 위 팝업 화면은 나오지 않습니다.

두번째 함정.
문서를 작성하다가 빠져나와서 한컴 오피스가 종료되는 상황이 발생하면, 이후에는 웹폴더에 저장되지 않습니다. 즉, 이때부터는 아이패드(혹은 아이폰) 안에만 저장됩니다. 이 사실을 모르고 있다가는 낭패를 당하는 경우가 있을지도...

이런 경우 해결책은?

아이패드(혹은 아이폰) 안에 저장된 파일을 드롭박스에 올리는 방법이 있습니다. 파일을 선택하고 파일이 있는 칸을 길게 탭합니다.(그러니까 누른다는 이야기)

파일을 눌렀을 때와 파일이 있는 칸을 눌렀을 때 나오는 팝업 메뉴가 다릅니다.

여기서 밑에서 두번째에 있는 다음에서 열기>를 선택합니다.

그런 뒤에 올릴 웹폴더를 선택하면 됩니다. 드롭박스를 선택해봅니다.

이미 파일이 있기 때문에 덮어쓸 것인지 물어봅니다. 덮어쓰면 됩니다. 이렇게 한 뒤에 다시 한글오피스에서 불러오면 되긴 되는데...

이런 경우 같은 이름의 파일이 또 생겨나서 혼동이 오므로 한글오피스의 파일은 지워버린 뒤에 여는 것이 좋겠습니다.



tag :

2012 May 16, 04:34 AM

loading... 100%

오슬롭의 아이들 3 : To infinity and beyond!

오슬롭의 아이들 마지막 사진입니다. 사진을 올리다보니 토이 스토리에서 버즈가 툭하면 외치던 대사 To infinity and beyond!! (무한한 공간 저 너머로!!)가 생각나네요... 어때요? 저 간지 좀 나죠? 파워풀!! 파워풀 파워풀! 살랑살랑!~ 나는 가볍게 나비처럼!~ 파워풀 파워풀 파워풀! 착지(?) 준비! 하트 만드는 중 아, 이 사진은 초점만 맞았으면 대박인데... 아쉬운대로 공개! To infinity and..

크리에이티브 커먼즈 라이선스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용하실 수 있습니다.

'Photo > Photo Works' 카테고리의 다른 글

오슬롭의 아이들 3 : To infinity and beyond!  (0) 13:17:13
오슬롭의 아이들 2 : Jump  (4) 2012/05/14
오슬롭의 아이들 1 : 미소  (8) 2012/05/04
시간을 달리는 소년  (4) 2012/04/20
F1 Machine  (4) 2012/04/06
가고파 2  (16) 2012/03/16
눈 얼음  (8) 2012/03/15
Kiss me  (8) 2012/03/13
눈 만드는 밤  (18) 2012/03/12
비밀의 문  (8) 2012/03/09
같은 길, 다른 느낌  (4) 2012/03/08

2012 May 16, 04:17 AM

xkcd.com

Felidae

'Smilodon fatalis' narrowly edged out 'Tyrannosaurus rex' to win this year's Most Badass Latin Names competition, after edging out 'Dracorex hogwartsia' and 'Stygimoloch spinifer' (meaning 'horned dragon from the river of death') in the semifinals.

2012 May 16, 04:00 AM

迪倫齋雜想

1883년 9월 25일(3) 신세계의 마천루

1883년 9월 25일(2) 신세계의 병원과 전신에서 이어서 씁니다. 웨스턴 유니언 텔레그래프를 나와서 보빙사 일행은 다음 에퀴터블 빌딩을 방문합니다. 이 에퀴터블 빌딩은 정식으로는 에퀴터블 라이프 어슈어런스 소사이어티(the Equitable life a.... 글 전체보기

2012 May 16, 01:57 AM

파란 개발자 블로그

시각 장애인 웹/모바일 접근성 간담회 후기

kth Android앱팀 홍성훈

접근성(accessibility)시각 장애인이 웹 또는 휴대폰을 이용하면서 겪은 애로사항을 공유하기 위한 간담회를 다녀왔습니다.

느낀점을 한마디로 표현하자면 충격 그 자체였습니다.
시각 장애인들이 휴대폰을 이용하는 것도 놀라운데, 웹서핑을 하다니…
앱을 개발할때 접근성(Accessibility)을 생각해 본 적이 없었던 저는, 이번 간담회를 계기로 많은 생각을 하게 되었습니다.

개발자로써 사회에 공헌하는 방법, 멀리 있지 않은 것 같습니다.
이런 신선한 충격이 가시기 전에 글을 남겨봅니다.

 


간담회 분위기

 ”웹 애로사항”, “모바일 애로사항”, “개선 또는 개발해주었으면 하는 아이디어” 라는 주제로 3시간 동안 진행되었습니다.

이번 간담회에 장애인 분들은 시각 장애인들만 참석 하였으며, “전혀 보이지 않는 시각 장애인”과 “아주 약간 보이는 시각 장애인” 이렇게 두 부류로 나눌 수 있었습니다.

네이버, 네이트, 다음, KTH와 같은 포탈사와 LG, 삼성 같은 제조사가 꽤 적극적으로 참여, 대응하고 있는 모습이 인상적이었습니다.

진행 방식은 장애인들의 애로사항들과 그 애로사항들에 대해 기업들이 어떻게 대응하고 있는지 자유롭게 공유하는 방식으로 진행되었습니다.


웹(Web) 애로사항


앱(App) 애로사항


개선 또는 개발해주었으면 하는 아이디어

포터블 포켓 뷰어


참고: 접근성 관련 국내 법률

이번 간담회에서 받아온 “웹 접근성을 고려한 콘텐츠 제작 기법 – 한국형 웹 콘텐츠 접근성 지침 2.0(행정안전부, 한국 정보화 진흥원)” 자료에서 보면 아래와 같이 관련 법률이 제정되어 있습니다.

웹 접근성까지만 언급되어 있지만, 앱도 대응이 필요하지 않을까 생각됩니다. 하지만, 법을 피해가기 위한 슬픈(?) 작업은 안하고 싶네요.


정리… User = 다양한 사람들…

놀라웠습니다. 시각장애인들이 웹서핑을 하고 스마트폰을 사용한다는 것 자체가 놀라웠습니다.
그리고, 내가 그렇게 놀랐다는 것에 또 놀랐습니다.
그들도 나와 같은 정보와 지식에 메마른 지식인이라는 것을 왜 망각했을까요?

UX는 모두 알다시피 User experience 의 약자입니다. 간담회에 참석한 장애인 중 한분이 이런 이야기를 하더군요.
“우리 나라에서 말하는 UX에서 User에는 장애인은 포함되지 않는것 같다.”

IT 기업에서 User라고 생각하는 대상은 좋게 말해서 “서비스를 통해 어떤 유/무형의 가치(Contents)를 만들어낼 수 있는 사람”이라고 표현할 수 있을 것 같습니다. 결국, 최소의 비용으로 최대의 이윤을 얻어야하는 기업 입장으로는 선뜻 *돈 안되는* 작업, *돈 안되는* User에게 투자를 결정하기가 힘들겁니다.

이해됩니다.
그렇지만 그 이상 이야기하면 도덕적으로 창피해 질 듯합니다.

접근성(Accessibility)은 장애인을 위한 것이 아니라 사람을 위한 것입니다. 접근성(Accessibility)이라는 단어에 어디에도 장애인이란 말은 없습니다. 일반인이 느끼는 편리함과 장애인이 느끼는 편리함은 결코 배타적이지 않다고 생각합니다. 접근성이 좋아지면 일반인들도 편해집니다. 접근성을 높이면 UX, UI가 더 직관적으로 표현될 수 밖에 없습니다.

작은것 부터 시작해야겠습니다. 우선, 머리속에서 배제하지 않는 것부터…

접근성 관련 Android 개발자 블로그Android 개발자 사이트의 접근성 관련 부분부터 살펴보아야겠습니다.

 

2012 May 16, 01:45 AM

[kth 모바일 리포트] 연령 낮을수록 ‘스크린샷’, 높을수록 ‘앱설명’ 보고 앱 선택

kth CVI팀 조사/분석파트 이경은

CVI(Customer Value Innovation)팀 내 조사/분석파트시장동향분석, 고객리서치,  고객데이터 분석 등을 통해
고객 Needs 및 Unmet Needs를 발굴하여 서비스 개선과 활성화를 위해 노력하는 조직입니다.

이번 조사의 목적은 이미 멋진 아이디어와 실력을 가진 개발사 또는 인디 개발자 분들께서 이용자가 원하는 서비스를 만들기 위해
이용자관점에서 생각하고, 이용자 관점에서 고민하는 기회를 가졌으면 하는 바램
으로 기획되었습니다.

향 후에도 개발자 입장이 아닌 이용자 입장에서 고민하는 내용으로 많이 찾아 뵙도록 노력하겠습니다
그럼 아래의 2012년 1분기 스마트폰 이용자조사에 대한 리뷰를 시작해 보겠습니다.

 

2012년 1분기 스마트폰 이용자 조사

▶ 조사제목 : 2012년 1분기 스마트폰 이용자 조사
▶ 조사대상 : 스마트폰(팟게이트)이용자 총 7,815명 (아이폰 5,175명+안드로이드폰2,027명) 응답
▶ 조사기간 : 2012년 3월29일 ~ 4월13일
▶ 신 뢰 도 : 95% 신뢰수준의 오차범위 ± 1.11%

참고) 용어의 정의 : 구글 플레이는 쉬운 이해를 위해 안드로이드 마켓으로 표시하였습니다.(구글플레이=안드로이드마켓)

 

1.  모바일 어플리케이션!  레드오션에에서 가능성을 찾아라.

아래 결과에 따르면 한달 평균 어플 설치수는 아이폰 6.6개, 안드로이드폰 5.2개로 아이폰이 안드로이드폰 이용자보다 1.4개 높은 설치개수가
나타났고[참조-그래프1], 한달 평균 실제 이용하는 어플 수는 아이폰 13개 안드로이드폰 11개로 2개 차이가 있었는데
달리 말하면 한 달에 출시되는 수 많은 어플 중 실제 스마트폰에 설치되는 어플은 애플 앱스토어에서는 6.6개, 안드로이드 마켓에서는 5.2개 밖에
안 되는 치열한 레드오션 시장이기도 하다.

그러나 유선Web과 같이 1등이 고착화되어 있는 시장과는 달리 앱스토어이든, 안드로이드마켓이든 1등 유지기간이 일주일이 넘기 힘들 정도로
유연함이 있고, 그 유연함에서 오는 기회
는 분명 있다. [참조:그래프2]

[그래프1] 한달 평균 설치 어플 수                                                                     [그래프2] 한달 평균 실제 이용하는 어플 수
  

 

2.  어플 성공을 위해서는 대형마트 시식코너가 되어야 한다.

이용자들이 어플 설치 시 가장 많은 영향을 미치는 요소 3가지를 물어본 결과, 아이폰/안드로이드폰 이용자 모두 “유료/무료”를 고려한다는 항목이
1위를 차지했다. 이용자가 유료 어플에 대한 장벽을 얼마나 높게 생각하는지 알 수 있는 결과다.
이 결과에 따르면 아무리 잘 만든 어플이라도 무조건 돈을 지불해야 사용할 수 있다면 이용자들이 최초 선택에서 아예 배제 될 확률이 높다는 것이다.

엄청난 마케팅 비용을 가지고 있는 대기업 개발사가 아닌 이상 처음부터 유료화로 접근하여 이용자에게 선택 받을 확률을 스스로 낮추는 것 방법보다,
대형 마트의 시식코너와 같이 적절한 양을 선정하여 ‘무료버전’ 또는 ‘어플 내 구입’ 방식을 통한 매출 발생이 바람직할 것으로 보인다. [참조:그래프3~4]

 [그래프3] 아이폰 어플 설치 시 영향요인 3가지                                       [그래프4] 안드로이드폰 어플 설치 시 영향요인 3가지
 

 

3. 젊은 스마트폰 이용자를 잡으려면 스크린샷/미리보기에 올인해라.

어플 설치에 영향을 미치는 요소 중 아이폰/안드로이드폰 이용자 모두 연령별로 공통 특성이 나타나는데 연령대가 높을수록 앱설명(아이폰이용자)
/어플설명(안드로이드폰이용자)이 연령대가 낮을수록 스크린샷(아이폰이용자)/미리보기(안드로이드폰이용자)가 어플설치에 큰 영향을 받는다고 답했다.

이 결과에서 높은연령 이용자에게는 쉽고 자세한 어플설명을 제공하고, 젊은 연령층에게는 스크린샷/미리보기를 통해 한정된 스크린샷 갯수에서
어플의 특장점을 어떻게 넣을지 전략
이 필요하다. 이 결과를 미루어 볼 때  많은 개발자들이 스크린샷 중에서도 가장 중요한 첫번째 스크린샷을 등록할 때
어플 실행 시 로딩화면을 등록 하는것에 대해서는 큰 고민이 필요한 할 것으로 보인다. [참조:그래프5~6]

[그래프5] 아이폰 어플 설치 시 영향요인 3가지-연령별                       [그래프6] 안드로이드폰 어플 설치시 영향요인 3가지-연령별
 

 

4. 디테일이 곧 높은랭킹을 보장한다.

이용자들이 어플 설치 시 가장 많이 찾는 메뉴가 애플 앱스토어는 인기25, 안드로이드 마켓은 인기무료 메뉴로 나타났다. 어플 성공을 위해서는
우리가 만든 어플을 어떻게든 인기25, 인기무료메뉴에 상위에 랭크 시켜야 한다. 이유는 상위에 랭크 되면 다시 다운로드가 되고, 다운로드 되면
다시 상위로 올라가는 선 순환이 일어나기 때문이다.

따라서 이용자들은 어떤 내용을 보고 우리 어플을 설치하는지? 이용자들이 보고 있는 접점에서 우리어플이 얼마나 효과적으로 노출되고 있는지?
디테일을 고민해야 한다. 그 디테일이란?  [그래프5][그래프6]에서 보듯이 앱스토어에서는 리뷰/스크린샷/별점/앱설명, 안드로이드 마켓에서는
사용후기/어플설명/미리보기
/별점/어플이름이 이에 해당할 것이다. [참조:그래프7~8]

[그래프7] 아이폰 어플 설치 시 많이 찾는 메뉴                                        [그래프8]안드로이드마켓에서 어플설치 시 많이 찾는 메뉴
 

 

5.  이용자의 언어로 말하라~ 검색되지 않으면 존재하지 않는다.

이용자들이 어플 설치시 가장 많이 찾는 메뉴에 대해 연령별 분석을 해 본 결과 아이폰/안드로이드폰 모두 낮은 연령층에서는
트랜드를 반영하는 인기메뉴의 선호가 나타나고, 높은 연령일수록 검증된 추천메뉴에 대한 선호가 나타났다.

여기에서 아이폰의 검색 메뉴가 눈에 띄는데
만약 시간이 갈수록 어플 수가 많아진다고 가정 한다면, 내가 필요한 어플을 앱스토어에서 찾는 게 더욱 어려워 질 것이고, 결국 검색의 중요성이
부각될 것이다.

이는 우리의 과거 십수년간 PC Web에서의 이용행태를 보면 알 수 있는데 PC Web의 초창기 때 인터넷 사용방법은 도메인을 외워서 홈페이지에
접근 했었고(URL직접입력), 정보량이 조금 늘었을 때에는 잘 정리된 카테고리 홈페이지 사이트를 이용 했었고(야후), 정보량이 엄청난  현재에는
검색사이트(구글) 이용할 수 밖에 없는 이유와 같다.

따라서 개발자는 어플 등록 시 이용자들이 검색으로 쉽게  찾을 수 있게 이용자의 언어로 어플 이름을 만들고 어플을 등록할 때 입력하는
키워드 또는 태그를 충분히 고려하여 입력
해야 한다.  [참조:그래프9~10]

[그래프9] 아이폰 어플 설치 시 많이 찾는 메뉴-연령별                         [그래프10] 안드로이드마켓에서 어플설치시 많이 찾는 메뉴-연령별
 

 

6. 타이밍과 완성도는 고객의 입장에서 생각하라

모든 서비스 담당자는 런칭시점이 다가오면서 항상 같은 고민에 부딪 치는데, 그것은 타이밍과 완성도에 대한 고민이다.
보통 우리가 타이밍과 완성도의 우선순위를 정하는 방법은 진입장벽이 낮으며 아이디어가 핵심인 어플인 경우는
선점의 우위를 점하기 위해 타이밍이 우선이고, 유사 어플이 이미 출시 되었거나 경쟁이 치열한 어플인 경우는 완성도가 우선이다.는 결정이 힘을 받는다.
그럼 무엇이 정답일까? 아래 조사항목에서 확인해 보자

아래 결과에서 보듯이 어플 삭제 후 재 설치경험의 58.6%이다,
58.6%의 수치를 긍정적으로 본다면 약 10개중 6개는 재설치가 가능하고 우리어플도 6개에 해당될 수 있다는 것이고,
58.6%의 수치를 부정적으로 본다면 약 10개중 4개는 재설치는 불가능하고 우리어플은 4개에 해당되고, 순간의 판단 착오로
몇개월의 노력이 날라갈 수도 있다는 것이다.

따라서, 만약 완성되지 않은 채 어플을 출시해야 한다면 사업자의 입장이 아니라 고객의 입장에서
타이밍과 완성도를 충분히 고민해야 한다.[참조:그래프11~12]

[그래프11] 어플삭제 후 재 설치경험                                                     [그래프12] 어플 삭제 후 재설치경험 – OS별
 

 

7. 게임은 타겟별 선호가 분명한 장르이므로 타겟별로 전략을 세워야 한다.

국내 이용자들의 선호게임장르를 알아본 결과 전체 선호게임장르는 퍼즐/보드로 나타났고, 성별구분으로는 남성은 RPG/스포츠/디펜스게임,
여성은 퍼즐보드/아케이드/SNG로 그 선호가 분명하게 나타났다.
신규 게임 장르 진출을 고민하는 개발자인 경우 타겟 이용자의 선호 장르를 고려해 접근해야 하낟.[참조:그래프13~16]

[그래프13] 선호게임 장르                                                                          [그래프14] 선호게임장르 – OS별
 

[그래프15] 선호게임 장르 – 성별                                                             [그래프16] 선호게임 장르 – 연령별
 

  

7. 어플의 가장 중요한 시점은 출시 후 한 달이다.

실제 이용자 게임을 설치한 후 집중 플레이 시간을 알아 본 결과 일주일 정도 집중적으로 플레이 한다는 이용자가 36.3%로 가장 많았고,
약 84.7%가 한달이내 플레이 한다고 한다. 이는 디바이스별/성별/연령별로 상관없이 공통적으로 나타나는 현상이다.
(단, 게임장르에 따라 SNG 게임 같은 경우는 집중플레이 기간이 2달을 넘게 한다는 내용이 상위에 있음)

게임을 한 달간 집중적으로 플레이 한 후 더 이상 이용하지 않는다는 결론을 봤을 때, 개발사 입장에서는 한달 이내 투입비용을 모두 회수해야
손익분기을 맞출 수 있다는 결론이 나온다. 달리 말하면 그 만큼 모바일 게임이 트랜드에 민감하고 수명이 짧기 때문에 앞선 기획을 해야하며
적절한 투입자원 고려가 게임 어플 수익창출의 큰 변수가 된다는 것을 알 수 있다.

 [그래프17]설치 후 집중 플레이 기간                                                   [그래프18] 설치 후 집중 플레이 기간 – OS별
 
[그래프19]설치 후 집중 플레이 기간 – 성별                                       [그래프20] 설치 후 집중 플레이 기간 – 연령별
 

이번 조사를 진행하면서  짐작으로 알고있는 내용을 확인하는 내용도 있고, 생각지도 못했던 내용을 알 수 있는 기회도 되었지만
가장 중요한 것은 이 자료가 공유되면서 동일한 데이터를 보면서 다양하게 해석 될 수 있는 기회가 생겼다는 것인 것 같습니다.

혹시 의견 및 제안 내용이 있으시면 언제라도 댓글로 작성해 주시고,
주신 의견은 다음 조사 진행 시 적극 반영하도록 하겠습니다.

대단히 감사합니다.~~^^ 

 

▶ 조사제목 : 2012년 1분기 스마트폰 이용자 조사
▶ 조사대상 : 스마트폰(팟게이트)이용자 총 7,815명 (아이폰 5,175명+안드로이드폰2,027명) 응답
조사기간 : 2012년 3월29일 ~ 4월13일
▶ 신 뢰 도 : 95% 신뢰수준의 오차범위 ± 1.11%

2012 May 16, 12:11 AM

2012 May 15

♫ LA 別曲

통합진보당사태 - ‘주체사상’과 ‘전투투쟁’의 회광반조

진보의 정신이란.. ‘더 많은 사람들을 행복하게 만드는 것’일 것이다. 즉 자본주의 체제하에서 필연적으로 발생하는 불평등과 여러가지 편차, 이 과정에 소외되는 부분들을 감싸 안는 것, 그것이 진보일 것이다. 그래서 그런 '진보의 정신'을 지지한다. 쉽고 간단한 마음이다.

 

비록 내가 분배의 정의를 몸소 실천한다며 당장 내 재산을 다 내놓긴 싫지만, 점진적으로 진보정치인들에 의해 사회구조가 변화되어 종국엔 분배의 정의가 실현된다면 좋겠다는 마음이다. 환경보호를 위해 당장 원시의 삶으로 돌아가긴 싫지만, 점진적으로 환경운동가들에 의해 인류의 의식변화가 이루어져 결국엔 환경파괴가 멈춰졌으면 좋겠다는 마음이다.

 

그래서 이런 정신을 실현해 줄 진보정당을 기다리고 있었다. 비겁한 우리들이 하지 못하는 걸 대신 해줄 수 있는 세력. 그러나 그간 우리나라의 진보세력은 그저 머리띠와 구호로 상징되는 극렬투쟁의 본산일 뿐 우리가 기다리는 그런 진보세력이 아니었다. 물론 그것이 필요했던 시대도 있었다. 하지만 이제는 그들의 과격투쟁이 오히려 많은 사람들을 피곤하게 하고 불행하게 만드는 시대다.

 

그런데 지난 총선 전에 반가운 소식을 접했다. 흩어져 있던 유시민 이정희 노회찬 심상정이 합쳤다는 소식이었다. 별거하던 엄마 아빠가 합친 것처럼 기뻤다. 그들이야말로 진보의 정신을 실현해줄 사람들이라고 믿고 있었는데, 하지만 그들이 따로 흩어져 있어 안타까웠는데, 그들이 드디어 합쳤다는 것이다. 그들이 큰 정치세력으로 자라나 진보의 가치들을 실현해주길 기대했다. 그래서 망설임 없이 통합진보당을 찍었었다.

카메라 앞에서의 이 용감함, 아니 카메라 앞이라 '일부러' 더 용감해진 이 여인.. 공개적으로 목숨을 바쳐야 좋은 곳에 간다고 세뇌된 이슬람의 자살폭탄 聖戰이다. 수십년 동안 전혀 변한 게 없는 NL의 전투강령.. 소름이 돋았었지만 곧 마음을 추스렸다. 안보이던 것이 보이기 시작했기 때문이다.

 

1. 유노심과 이정희가 합치자 지지율이 세배 가까이 올라갔다. 과거 민노당의 종북성향을 찜찜해하던 국민들이 유노심이 합류함으로서 빨갱이 걱정을 떨쳐버린 거다. 새로운 정당에 종북세력 NL은 극히 미미할 것이라 여겼다.

 

2. 통진당의 지지율 상승은 유노심의 인기와 역할이 절대적이었다. ‘빨갱이 집단소리를 듣던 민노당을 혁파하고 진정한 진보정당을 그들이 일으켰다고 생각했다하지만 당내 경선에서는 예상외로 민노당 출신 NL들이 싹쓸이를 했다. NL의 건재에 유노심이 크게 놀라고 상심했다. NL의 총체적인 부정선거가 있었음을 알게 된다. 하지만 총선이 목전인지라 일단 덮고, 비장의 패로 숨겨둔다.

 

3. 총선에서 통진당이 약진했다. ‘별거하던 엄마 아빠가 다시 합쳐서 그게 너무 기뻐서 준 표였다.

 

4. 유노심이 당권파 NL의 부정선거의혹을 제기한다. 기뻐 날뛰던 NL들이 뒤통수를 맞았다.

 

5. 이정희는, 이 치부가 외부에 알려지면 공멸하니 '그냥 덮자고 했다. 자기가 다 책임 진단다.

 

6. 그러나 유노심이 거부했다. 이 사태를 진보진영에서 NL을 축출하는 기회로 삼기로 한다.

 

7. 벼랑 끝에 몰린 NL이 총궐기하여 聖戰을 선언하고 자살폭탄테러를 서슴지 않는다.

 

8. 하지만 그 덕분에 국민들이 진보 내부의 속사정을 알게 되었다. 소위 '빨갱이'는 일부 극소수 'NL'임을 알게 되었다. 국민들은 그 NL만을 솎아내어 파문했다대중정당에서 NL의 퇴출은 이제 시간 문제다.

 

 

작금 통합진보당 NL들의 폭력사태는.. 주체사상전투투쟁세력이 소멸하는 회광반조(回光反照) 잔등복명(殘燈復明). 그래서 전혀 속상하지 않다. 오히려 반갑다.

저작자 표시 비영리 변경 금지

2012 May 15, 11:00 PM

코리아헬스로그

집안에서 의사노릇 하기

외과의사 - 위키피디아 이미지결혼전 연애하던 시절, 지금의 아내가 된 여자친구가 제게 말했습니다. "내 친구중에 아버지가 개원하신 의사인 친구가 있는데 집에서 가족중에 누가 아픈데 어떡해야하냐고 물어보면 그렇게 짜증을 내신대. 그래서 집안사람 누가 아파도 아버지한테는 한마디 못한다고 하더라. 자기는 안그럴거지?" 물론 안그럴거라고 대답했죠. 그땐 연애를 하던 시기이기도 했거니와, 의과대학 졸업에 이은 인턴생활의 철모르는 풋내기 의사시절이었거든요. ...

"의학적 수다" 카테고리의 다른 글

글 전체보기

2012 May 15, 10:58 PM

생명을 살리는 10.5fr

10.5 Fr, 꽁꽁 닫혀있는 안과 바깥 세상을 연결하는 유일한 통로의 크기. 볼펜보다 얇은 그 길을 통해 우리 환자들은 오늘도 가느다란 목숨을 연명해가고 있다. 살짝 빠지기만 하더라도 의식에 장애가 생기고 목숨이 위태로워질 수 있는 그 싸구려 관은 환자에게 있어서만큼은 금은보화와도 바꿀 수 없는 소중한 것이다. 머리 안에 발생한 출혈을 밖으로 빼내어 목숨을 부지하게 하는 생명의 선인 셈이다. 그래서 그 길을 지키기 위해 중환자실이라는 답답한 공간...

"의학적 수다" 카테고리의 다른 글

글 전체보기

2012 May 15, 10:48 PM

결혼한 사람과 미혼 중 더 행복한 쪽은?

꼬꼬마 시절 저는 결혼에 되게 회의적이었던 터라 좋은 사람이랑 계속 연애하면 되지 왜 굳이 결혼을 해야 할까라는 생각을 많이 했었는데요이런 저런 데이터들을 보면 결혼이 뭔가 좋긴 좋은가보더라고요20년 간의 이런저런 종단/횡단 연구들을 통해서 어느정도 인과관계도 추적해보고 한 끝에 내린 큰 결론은결혼한 사람들이 결혼한적 없거나, 이혼했거나, 별거하거나, 사별한 사람들보다'살짝' 행복하다라는 것입니다 (Diener et al., 1999)무려 18년간...

"여성건강" 카테고리의 다른 글

글 전체보기

2012 May 15, 10:46 PM

[탐방기] 질병관리본부와 역학조사관

질병관리본부 탐방기 1. 서론 2009년 신종플루, 2011년 원인미상 중증폐질환.. 본과 4학년이 되었지만 질병관리본부에 대해 아는 것은 이 정도의 키워드에 불과했다. 질병관리본부는 오송 생명과학 단지에 자리잡고 있는 것도 감염병 이외에도 다양한 질환들에 대한 사업을 하고 있는 것도 방문기회를 통해 알게 되었다. 질병관리본부는 보건복지부 산하에 있는 부서로 감염병관리센터, 질병예방센터, 장기이식관리센터가 있으며, 또한 국립보건연구원과 국립검역소가...

"의학적 수다" 카테고리의 다른 글

글 전체보기

2012 May 15, 10:42 PM

★야마꼬★

흡연구역 지정제

난불굴의흡연자면서담배냄새는비흡연자들만큼이나싫어한다.담배때문에발생하는문제가비단냄새뿐이겠나?그래서고심끝에후각공해로부터의해방과나아가나를포함한가족구성원들의흡연에서비롯되는각종질병예방차원에서안쓰던작은방하나를정리해흡연실로지정했다.(이전에는집안모든곳에서흡연가능했다.)@흡연구역지정제@어떻게달라질까?(1)매번흡연실로가는게귀찮아자연스럽게담배를줄이게된다.(2)고양이들을간접흡연에의한질병으로부터보호한다.(3)집안에담배냄새를최소화한다.(4)담배값의지출도덩달아줄어든다.@흡연구역지정제시행이후.무엇이달라졌나?1-매번흡연실로오는게귀찮아자연스럽게흡연실에종일머무른다...2-밝혀지지않은이유로고양이들이.......

2012 May 15, 09:16 PM

내 마음의 풍경

자유하다

<자유하다>라는 표현이 가능한가? 우리는 <나는 자유하다>라고 말하지 않고 <나는 자유이다>라고 말한다. 그런데 근대 국어에서 한자어 명사에다 <하다>를 붙인 동사형들이 많이 생겨났다고 한다. 아마 처음에는 생경했을 것이지만, 그대로 사용하다 보면 익숙해진다. <자유이다>라는 것이 어떤 상태를 의미하는 것이라면 <자유하다>는 어떤 행위를 의미하는 것처럼 보인다. 실존은 본질에 앞선다. 나는 내 본질을 자유롭게 선택할 수 있고, 바로 그렇기 때문에 나는 <자유하다.> 단지 선택할 수 있는 가능성이 아니라, 실제로 내가 선택할 때 비로소 나는 자유이며, <자유한> 존재이다.......

2012 May 15, 08:48 PM

Google Operating System

New Interface for the Google Q&A OneBox

Google's OneBox for instant answers has a new interface that emphasizes the results. Google now displays the answer on the first line and the font size is bigger.



The Q&A OneBox now shows multiple answers for questions like [What is the cast of The Help?] or queries like [the dictator actors].




Until now, Google used the following template: "Best guess for ... is ...".


Just because Google no longer mentions that the answer is a "guess" doesn't mean that it's always accurate.



2012 May 15, 04:38 PM

兵者國之大事, 不可不察也

오징어 해부



* 첫째(9세)가 과학책을 보다 개구리 해부에 흥미를 느꼈다. 요즘은 해부용 개구리도 5000원에 구입할 수 있다지만, 산 개구리를 해부하고 뒷감당할 자신이 없어서 대신 선택한 것이 냉장 오징어. 둘째(7세)가 아이패드로 보는 것은 어느 블로그에 올라온 오징어 해부 포스팅. 셋째(5세)가 돋보기로 뭘 봤는지는 끝내 알 수 없었다.



* 올해 상반기는 바싸서 포스팅 하나 제대로 못했군요. 6월부터 슬슬 다시 글을 올리도록 하겠습니다.

2012 May 15, 04:21 PM

Google Operating System

Research Sidebar in Google Docs

Google Docs has a new feature that lets you find more information about some of the words from a document and also add content from the Web. The research sidebar can be enabled from the Tools menu or by using the shortcut Ctrl+Alt+R (Cmd +Opt+R for Mac). You can also select one or more words from the document, right click and select "Research" from the menu.


The sidebar includes the top Google search results, image search results, facts, maps, reviews and famous quotes. Click the icon from the search box to restrict the results to images and quotes.

When you mouse over a Web search results, you can preview it, insert a link or cite it. For example, you can select "Google" from a document, press Ctrl+Alt+R, mouse over the top result and click "insert link" to add a link to Google's homepage.


Restrict the results to images to quickly add an image using drag and drop. Google also has a specialized search engine for quotes and you can also add them to your document.


Search for a famous person, a place, a concept or any other entity and Google will display a list of attributes above the search results.



Maybe Google will also add features like translation and definitions to the research sidebar, so you can quickly find them.

{ Thanks, Scott and Evan. }


2012 May 15, 03:40 PM

from __future__ import dream

Tree 계열 알고리즘


요즘에 Tree 계열 알고리즘 많이 사용한다.

randomForest로 부터 데이터 확인 용으로 자주 사용하는 CART 알고리즘 그리고 오늘 처음 본 Conditional Inference Tree까지..

ML알고리즘의 경우 은총알은 없다. 사용 목적에 맞으면 그게 장땡인거다. 게다가 사실 빅 데이터를 가지고 분석을 한다면 내부가 블랙박스로 되어 있어서 어떻게 돌아가는지 안보이는 알고리즘 보다는 투명한 Tree 계열 알고리즘이 더 낫다고 생각한다. 만일 모델 빌드에 실패 하더라도 왜 실패하는지 그리고 어떤 방향으로 나아가야 되는지 룰을 보고 확인 가능하기 때문이다.

Conditional Inference Tree는 통계학적인 가설검정의 기법이 가미된 트리로서 각 노드에 유의수준값이 표시된다. 뭐 통계학 개론 정도 보신 분들이라면 이게 어떤걸 의미하고 왜 노드에 이런게 있는지 짐작을 하실거라 생각한다.

특정 유의수준 이상으로 허용을 하지 않는 선에서 트리는 자라게 되고 대부분 0.05 유의수준을 기준으로 하니 overfitting이 되는 경우는 그다지 없을 것이다.

재밋는 사실은 이 알고리즘이 들어있는 R 패키지에서 이 ctree(Conditional Inference Tree)를 가지고 randomForest 알고리즘을 구현하고 있다는 것이다.

 

ctree로 모델링 된 객체를 가지고 플로팅을 해보면 이런 아주 우아한 그래프가 그려진다.

 

 

image

 

내가 본 트리 그래프 중에서 가장 명료하고 많은 정보를 가진 그래프가 아닐 수 없다.

이런 플로팅은 자체가 데이터이자 정보이다.

 

하루하루 R 패키지 가지고 사용하는 재미로 보내고 있는데, 이런걸 만드는 분들의 노고에 심심한 감사의 표현을 전할 뿐이다.

2012 May 15, 02:29 PM

한쪽가슴으로 사랑하기

이제 항암치료 하지 않아도 초조하지 않아요

선생님, 너무 컨디션이 좋아졌어요

 

복막에 전이가 되면

CT에서는 잘 보이지 않는 자잘한 암세포들이 복막에 들러붙어 장이 제대로 운동하지 못하게 한다. 그래서 어떤 암이든 복막으로 전이가 된 환자들은 잘 못 먹고 토하고 자꾸 배가 아픈게 비슷하다.

치료는 금식하고 장을 쉬어주는 것.

장을 쉬게 해준 다음

다시 먹어보고 배가 다시 아픈지 어쩐지 보는 것이다.

배가 너무 부르고 장운동이 안되면 콧줄을 꼽아야 한다. 콧줄이 목으로 넘어가는 느낌은 매우 불편하고 답답하고 아프다. 그렇게 불편한 채로 물도 못 마시고 몇일을 기다려보는 것이다. 장이 풀릴지 어쩔지 기약없이.

 

그녀는 난소암 복막 전이로

항암치료 했다가 좀 쉬다가 또 나빠지면 했다가 좀 쉬다가 그렇게 지내기를 5년이 지났다.

항암치료를 하면 반응이 좋다. 그렇지만 시간이 지나면 나빠진다. 그것이 재발 후 그녀의 시간들이다.

그녀는 인생의 목표가 있다. 아들이 대학갈 때까지 엄마가 곁에 있어주는 것.

그래서 어떤 치료를 해도 힘들다고 하지 않는다. 열심히 먹고 운동한다.

항암 치료 중 패혈성 쇼크가 와서 응급실에 온 적이 있었다. 혈압이 떨어지고 의식이 혼미해 질정도였다. 카테터에서 계속 균이 자라서 카테터를 빼고 한달가까이 항생제를 쓴 적도 있다. 그녀는 절대 힘들다고 말하지 않는다. 선생님 저 열심히 노력할께요. 꼭 치료해주세요.

그렇지만 최근 몇 개월 그녀는 응급실행이 잦다. 항암제 반응이 떨어지는지 종양표지자 수치도 오르고 장폐색이 반복된다. 이미 쓸 수 있는 항암제는 다 썼다.

병원 오기 싫어서 몇일을 참다가 응급실로 오고 만다. 2-3일 굶고 콧줄 꼽고 있다가 좀 나아지면 퇴원하기를 수차례.

 

나는 그녀에게 제안하였다. 장루를 빼는 수술을 합시다.

대장암 환자처럼 장루를 빼자는 말에 어리둥절해 한다. 장폐색을 반복적으로 일으키는 부위를 찾아 그 부위를 절개하고 그 부위를 복벽으로 연결하여 장루를 설치하는 수술을 제안하였다. 그렇게라도 해서 음식을 먹고 배설하는 과정을 용이하게 해야 할 것 같았다.

우리나라 환자들은 장루를 참 싫어한다. 나도 싫다. 그래도 계속 못 먹고 영양제만 맞으면서 항암치료를 하는 것은 더 이상 어려워 보였다. 환자는 장루 수술에 대해 이틀간 고민하였다. 배도 아픈데 골치아픈 고민을 하려니 얼굴이 더 헬쓱해진다.

그리고 수술을 하겠다고 했다.

내 마음 속으로

복막전이가 생각보다 심하면 장루를 빼는 것 자체도 어렵고, 장루를 빼고 나서도 장 기능이 원할치 않아 지금 노리는 목표 장루 후 잘 드시도록 하는 거-가 달성되지 않을 가능성도 있음에 대해 걱정한다. 환자에게도 장루를 빼는 수술이 항상 100% 성공하는 것은 아니라고 운을 띄웠지만 환자는 정작 그 말의 의미를 내 맘 그대로 이해한 것 같지는 않았다.

그리고 내가 우리 외과에서 제일 존경하는 H 선생님이 수술을 해주셨다. 수술 후 통증도 심하고 고생했었다. 겨우 퇴원하였다.

 

그리고 그녀가 오늘 생글생글 웃으면서 외래에 왔다.

선생님, 왜 이렇게 먹고 싶은게 많아요? 떡볶이도 먹고 라면도 먹고 어제는 수제비도 먹었어요.

많이 먹으면 장루로 많이 나오긴 해요. 그래도 어디에요? 이런 음식 먹어본지가 얼마만인지 모르겠어요. 먹는 즐거움이 이렇게 큰건지 몰랐네요.

 

얼굴에 활력이 있다.

아직 야윈 상태가 다 해결된건 아니지만

외래를 걸어들어오는 그녀의 발걸음이 가볍다.

진통제도 많이 줄였다.

종양수치는 좀 올랐다.

우리는 항암치료 하지 않고 좀 더 쉬기로 했다.

그녀도 더 이상 두려워하지 않는다.

일정 맞춰서 항암제를 맞는 것만이 능사가 아니라는 걸 알게 된 것 같다. 더 이상 초조해하지 않는다.

 

맛있는거 많이 드시고 오세요

몸무게는 3kg 이상 늘려오시구요.

 

마지막으로 CT를 찍은게 3월말이니까

3주 후에 CT 찍고 그때 항암치료 고려해봅시다.

그동안 못 먹고 토하고 배아프고 살면서도 치료 목표를 위해 너무 참아왔다.

치료 얘길 하면 얼굴에 그림자가 스쳐 지나가던 그녀인데

오늘 그녀의 표정은 너무 밝다.

잘 먹고 사는 것.

너무 중요한 문제였던 것이다.

 

2012 May 15, 12:57 PM

sacha chua :: enterprise 2.0 consultant, storyteller, geek » emacs

Org-mode and habits

Org Mode is a personal information manager for the Emacs text editor. People have contributed a ton of useful features to it over the years, and the development shows no sign of slowing down. One of the features I’ve been playing around with is the ability to track habits.

Org habits are recurring tasks. For example, everyday, I want to:

Every week, I want to:

Once a month, I want to:

Org habits let me manage my task list without cluttering future days with tasks. The Org agenda view displays habits that are due today, indicating consistency with colour. In particular, it shows overdue days in red, so you can get the Seinfeld-esque pleasure/commitment-device of not breaking the chain.

Here’s a view from Sunday:

2 days-agenda (W19-W20):
Sunday     13 May 2012
               8:00...... ----------------
              10:00...... ----------------
              12:00...... ----------------
              14:00...... ----------------
              15:57...... now - - - - - - - - - - - - - - - - - - - - - - - - -
              16:00...... ----------------
              18:00...... ----------------
  organizer:  22:00...... TODO Capture a one-sentence note                                           !      
  organizer:  22:00...... TODO Plan the next day                                    ** ***** ** *****!      
  organizer:  Scheduled:  TODO Make a list of recipes I want to learn
  organizer:  Scheduled:  TODO Write a bunch of blog posts             :writing:
  organizer:  Scheduled:  TODO Set up WordPress as my backup system
Monday     14 May 2012 W20
  organizer:  Scheduled:  TODO Build Emacs interface so that I can have Org automatically switch my tasks

To use Org habits, customize org-modules and enable the habit module. To set something as a habit, use C-c C-x p (org-set-property) to set the STYLE property to habit. For more information, you should definitely check out the Org manual’s section on habits.

Yay Emacs and the people who contribute to it!

Read the original or check out the comments on: Org-mode and habits (Sacha Chua's blog)

2012 May 15, 12:00 PM

FlowingData

ITP Spring Show: Iraq war and diabetes visualizations

Iraq war casualties

Yesterday I visited the ever popular NYU ITP bi-annual show which is a showcase of the students' experimental and ingenious interactive work.

I stopped to talk to data visualization student and self-tracker, Doug Kanter, about his work. His first and smaller piece was about the war in Iraq. The image above depicts the number of wounded US soldiers by state (and territory) using the red stripes. The stars show the number of soldiers killed. I'm sure we could quibble about labels and where the bar chart starts, but to me, the tattered appearance of the flag created by data about war is very arresting.

Doug's more developed work dealt with his self-tracked health data. He's a type-1 diabetic and monitors his blood glucose, insulin dosage, and diet among other things. His visualization showed three months worth of data by which he says he was able to see how a low-carb diet helped keep his blood sugar in check. Doug's blog post detailing his process and visualization is worth a read.

The ITP Spring Show runs through this evening at 721 Broadway in NYC. Over 100 projects are on display making this a must see of interactive innovation.

2012 May 15, 10:15 AM

Coding Horror

Please Don't Learn to Code

The whole "everyone should learn programming" meme has gotten so out of control that the mayor of New York City actually vowed to learn to code in 2012.

Bloomberg-vows-to-code

A noble gesture to garner the NYC tech community vote, for sure, but if the mayor of New York City actually needs to sling JavaScript code to do his job, something is deeply, horribly, terribly wrong with politics in the state of New York. Even if Mr. Bloomberg did "learn to code", with apologies to Adam Vandenberg, I expect we'd end up with this:

10 PRINT "I AM MAYOR"
20 GOTO 10

Fortunately, the odds of this technological flight of fancy happening – even in jest – are zero, and for good reason: the mayor of New York City will hopefully spend his time doing the job taxpayers paid him to do instead. According to the Office of the Mayor home page, that means working on absenteeism programs for schools, public transit improvements, the 2013 city budget, and … do I really need to go on?

To those who argue programming is an essential skill we should be teaching our children, right up there with reading, writing, and arithmetic: can you explain to me how Michael Bloomberg would be better at his day to day job of leading the largest city in the USA if he woke up one morning as a crack Java coder? It is obvious to me how being a skilled reader, a skilled writer, and at least high school level math are fundamental to performing the job of a politician. Or at any job, for that matter. But understanding variables and functions, pointers and recursion? I can't see it.

Look, I love programming. I also believe programming is important … in the right context, for some people. But so are a lot of skills. I would no more urge everyone to learn programming than I would urge everyone to learn plumbing. That'd be ridiculous, right?

Advice-for-plumbers

The "everyone should learn to code" movement isn't just wrong because it falsely equates coding with essential life skills like reading, writing, and math. I wish. It is wrong in so many other ways.

I suppose I can support learning a tiny bit about programming just so you can recognize what code is, and when code might be an appropriate way to approach a problem you have. But I can also recognize plumbing problems when I see them without any particular training in the area. The general populace (and its political leadership) could probably benefit most of all from a basic understanding of how computers, and the Internet, work. Being able to get around on the Internet is becoming a basic life skill, and we should be worried about fixing that first and most of all, before we start jumping all the way into code.

Please don't advocate learning to code just for the sake of learning how to code. Or worse, because of the fat paychecks. Instead, I humbly suggest that we spend our time learning how to …

These are skills that extend far beyond mere coding and will help you in every aspect of your life.

[advertisement] How are you showing off your awesome? Create a Stack Overflow Careers profile and show off all of your hard work from Stack Overflow, Github, and virtually every other coding site. Who knows, you might even get recruited for a great new position!

2012 May 15, 09:38 AM

FlowingData

Welcome Kim Rees

I'm going to be away for a couple of weeks, with little to no Internet access most of the time, so I've asked Kim Rees to step in while I'm gone. She's the co-founder of Periscopic, one of my favorite information visualization firms, and she was the technical editor for Visualize This. You're in good hands.

You can follow her at @krees.

Be good, and see you all when I get back.

She's all yours, Kim.

2012 May 15, 09:16 AM

Processor Architect.... egoist

아이패드용 아래아 한글

이런 저런 작업을 하면서 아래아 한글을 사용할 일이 있는데다, 출퇴근 시간을 이용하기 위해서 결국 아이패드용 아래아 한글을 구입했습니다. (정확히는 한컴 오피스)

사실, word 포맷을 더 많이쓰지만, 맞춤법 검사 기능이 강력해서 써야 하는 일이 종종있더군요. 여하튼..

일단 Dropbox에서 작업하던 문서를 하나 받아서 편집.. 뭐 복잡한것도 없고 단지 좋은 한글 에디터라 생각하면 훌륭하네요.

사진을 넣을 것도 아니고, 단지 HWP가 열리고 이런 저런 편집 기능이 있다는 것만으로도 저한테는 충분하네요.

중요한 건.. Dropbox와 연동이 잘되어 있다는 comment가 있어서 구입했는데, 알바가 썼나..
Dropbox로부터 download만 되고 sync는 안되네요.  이런 뭐.. 그래도, 편집은 잘되니까..

만족하긴 멀었고, 그냥 “전혀” 안되던 것이 된다는 점에서 뭔가 좋아졌다고 해야 할까요.. ㅎㅎ

 

오늘자 업데이트

위의 글을 한 주전 쯤에 썼던 건데.. 오늘 update로 dropbox에서 받은 것도 저장할 때 바로 upload가 되는군요.. 오.. 이제야 정신 차렸구나!

2012 May 15, 08:07 AM