지금까지 화면 캡쳐시에는 오직 오픈 캡쳐라는 프로그램만을 사용하고 다른 프로그램에 눈길 한 번 준 적이 없었는데 오늘 실행을 시키니 자동 업데이트가 되면서 위와 같은 약관 동의 창이 나왔다. 아무래도 회사에서는 돈 내고 쓰라는 말 같다. 하이고, 그럼 이제 못 쓰잖아.
원래 오픈 캡쳐는 개발자 한 명이 혼자서 만들어 개발자의 개인 홈페이지에서 운영을 했었다. 나중에는 같이 개발하는 사람들 몇 명이 생겼고 그 때부터 자동 업데이트나 광고, 트위터로 보내기 같은 원하지 않는 기능들이 생겨나기도 했다.
이번에 오픈 캡쳐의 새로운 주인이 된 회사와 개발자간에 어떤 거래가 있었던 건지는 모르겠지만 나는 사용자 입장으로서 좋아하던 프로그램을 하나 잃어버리게 되었다. 오픈 캡쳐의 윈도우 자동 스크롤 캡쳐는 정말 좋아했던 기능인데 이제 뭘 써야하나.
오픈 캡쳐는 언젠가부터 소스 코드를 공개 했었는데 이제부터 그 라이센스는 어떻게 되는건지 모르겠다. 오픈 소스 버전을 사용하면 회사에서 계속 사용해도 되는 걸까.
코드잡이라는 사이트가 생겼다.
스택오버플로우의 시스템을 거의 본따서 만들었는데, 아직 디테일한 부분에서는 부족해보이지만 많은 사람들이 사용을 해서 멋진 개발자들의 놀이터가 될 수 있었으면 좋겠다.
스택오버플로우와 완전히 똑같지는 않고 페이스북 같은 소셜 기능도 넣었는데, 이는 참신해 보이기도 하지만 커뮤니티의 전체적인 분위기가 약간 가볍게 흘러가지는 않을까 걱정이 되기도 한다. 하지만 어떻게 될지는 지켜봐야 알 일이다.
부디 양질의 질문/답변들이 많이 쌓여서 많은 개발자들에게 도움이 되는 사이트가 되었으면 한다.
GNOME3에 너무 많은 기대를 해서 그런가. 이번 우분투 11.10은 많이 기대가 되서 알파3 부터 받아서 사용하고 있었는데, 기대가 큰 만큼 실망도 컸다.
문득 KDE는 얼마나 좋아졌나 싶어서 쿠분투를 설치해서 한달여 동안 사용해왔는데, UI 콘트롤들도 다 하나같이 고급스럽고 부드럽게 동작하는게 아주 만족스럽다. 예전에 2008년도 쯤 쿠분투를 설치해봤었을 때 그 조잡함에 충격 받았던 기억이 남아있었기 때문에 사실 좀 놀랐다. 아마 KDE4로 올라오면서 많이 좋아진 것 같다.
한달 동안 많이 익숙해 졌겠다, 정식 버전도 나왔겠다. 이번 주말에는 새로 이미지를 받아서 kubuntu로 데스크탑을 싹 정리했다. 아, 참 깔끔하고 좋다.
토탈 커맨더라는 이 분야 최고의(?) 프로그램이 있지만 Explorer++는 오픈소스이고 완전히 자유롭게 쓸 수 있다는 점에서 차별점이 있다.
몇 일간 써봤는데, 그럭저럭 맘에 들어서(맘에 안드는 점들도 많지만) 이제는 Windows + E 키를 Explorer++로 매핑시켜 놓고 잘 사용하고 있다.
좋은 점
탭 기능을 지원한다. 물론 껐다켜면 탭들이 모두 그대로 복원되므로 자주 사용하는 위치들을 탭으로 몽땅 띄워놓고 사용하면 된다.
여러 인스턴스가 뜨지 않도록 할 수 있다. 프로그램을 한번 더 실행시켜도 새 탭만 하나 더 생긴다. 내가 가장 바랐던 기능이다.
폴더 사이즈도 표시할 수 있다. NTFS는 폴더 크기에 대한 정보를 가지고 있지 않으므로 Explorer++이 뒤에서 열심히 돌면서 사이즈를 구해낸다. 나는 이 기능은 사용하지 않는다.
파일 1개 짜리 프로그램이다. 나는 인스톨러로 설치안하고 바로 사용할 수 있는 이런 프로그램들이 너무 좋다.
오픈 소스이다.
나쁜 점
잘 뒤진다.
안 예쁘다. 토탈 커맨더보다는 조금 더 나은 것 같기도 하지만.
근데 난 작명할 때 ++ 이란 말 좀 쓰지 말았으면 좋겠다. 발음하기도 어려운데다가 정말 촌스럽지 않은가?
데스크탑과 모바일 소프트웨어는 모두 내가 사용하고 있거나 사용했던 것들인데 삶을 좀 더 편하게 해주는 고마운 무료 프로그램들이다.
개발 소프트웨어들을 하나씩 바라보다가 C/C++이나 관계형 데이터베이스를 다루고 있는 사람들이 문득 할아버지처럼 느껴졌다. 나도 그 할아버지 중 하나라는 것이 슬프다, 늙어죽지 않으려면 빨리빨리 따라가야지.
구글 플러스에서는 사진을 무제한으로 올릴 수 있다고 해서 좀 놀랐다.
어떻게 사진을 무한으로 올릴 수 있는거지. 아무리 돈이 많아도 그걸 다 감당해낼 수 있다는 말인가.
구글 플러스는 피카사와 연동되어 있는데 피카사는 1G 용량을 무료로 제공한다.
하지만 기존 피카사에서는 800 * 800 픽셀 사이즈까지는 용량제한 없이 무료로 올릴 수 있게 해줬었던 것 같다. 즉, 저런 작은 해상도의 파일들은 많이 올려도 용량을 전혀 차지 하지 않는다.
그런데 구글 플러스에 가입을 하고 나면 2048 * 2048 이하의 파일들은 용량 제한 없이 올릴 수 있게 된다. 가입하지 않은 사람들은 여전히 800 * 800이다. 이것만으로도 구글 플러스에 가입하고 싶어지지 않은가?
그런데 2048 * 2048보다 해상도가 작더라도 용량을 줄이기 위해 어느 정도 파일을 더 손실 시키는 것 같긴하다. 또한 PNG같은 비손실 포맷들은 모두 jpg로 변환되어 올라간다.
그렇다고는 해도 정말 끝내준다. 구글 스토리지 비용이 그다지 비싸기 않기 때문에(1년 20기가가 5000원이며 Google Docs등 다른 서비스와 용량이 공유된다) 제대로 보관하고 싶은 사진들은 피카사를 통해 원본 그대로 올리고 좀 쓸데없는 사진들은 구글 플러스를 통해 자동 축소 시켜서 올려도 되겠다.
이제 사진 관리도 비용 걱정 없이 클라우드에서 할 수 있는 때가 온 것인가.
피카사 웹앨범도 처음 만지작 거려봤는데, 생각보다 편리했다. 참 좋은 세상이다.
나는 RSS 피드 500여개 정도를 등록해서 구독하는데, 그 중에 내가 특히 좋아하는 피드 2개는 네이버캐스트 IT 분야 와 h-online의 피드이다.
네이버캐스트에는 IT분야 말고도 여러 주제에서 주옥같이 잘 쓰여진 글들이 많이 올라오는데, 아쉽게도 RSS 피드를 제공해주지 않는다. 이전 회사에서 같이 일했던 동료 하나가 피드를 만들어서 제공하고 있는데 나는 그 피드를 이용해서 꼬박 꼬박 잘 구독하고 있다. 여기에 가면 볼 수 있다.
h-online은 오픈 소스 프로젝트의 동향에 관해서 좋은 정보들을 많이 제공해 주는데, 별 볼일 없는 프로젝트들 맑고 굵직 굵직한 메이저 프로젝트들만을 다뤄줘서 좋다. 오픈 소스를 좋아하는 사람이라면 이 뉴스 피드를 구독함으로써 많은 새로운 프로젝트들을 알게되고 소식들을 접할 수 있게 될 것이다.
얼마전에 Gnome 3.0도 나오고 리눅스가 이제 좀 쓸만해지려나 하고 요즘 기분이 좋았었는데, 어제는 h-online에서 리눅스 3.0이 나올지도 모른다는 소식을 듣고 마음 속으로 비명을 질렀다. 그것도 바로 내일 모레!
오래전부터 쭉 3.0을 설계해 왔던 것은 아니고 그냥 다음 버전부터 2.8.0이나 3.0으로 이름을 붙이자는 이야기가 오가고 있는 것이기 때문에 조금 실망스럽기는 하지만 어쨌거나 설레이는 일이고, 리누스 토발즈의 말을 읽어 보면 정말 3.0으로 진행될 확률이 꽤 높은 것 같다.
예전에 리눅스 2.8이 나오면 어느 정도 윈도만큼 쓸만해지지 않을까 하고 생각을 한 적이 있었는데 내가 참 순진했다.
곧 3.0이 나올텐데도 이렇게 꼬졌다니!
Linux is only free if your time has no value.
누군가 이런 말을 했는데, 리눅스에서 삽질하고 뭔가가 잘 안 돌아갈 때마다 내가 이 빌어먹을 것을 왜 쓰고있지? 하고는 저 말에 고개를 끄덕끄덕 거리게 된다.
그럼에도 불구하고 나는 계속 리눅스를 쓴다. 리눅스에서는 그렇게 시간 낭비 하는 것도 즐거우니깐.
내 블로그에 프로세스 모니터 사용법이라는 검색어로 들어오는 사람들이 많아서 언젠가 한번 포스팅 해봐야겠다는 생각을 하고 있었다.
프로세스 모니터에 대해 궁금했던 사람들이 조금이라도 도움을 얻고 돌아가기를 바란다.
프로세스 모니터는 SysInternals에서 만든 수 많은 도구들 중 애플리케이션의 분석과 디버깅을 위한 가장 멋진 도구 중 하나이다.
나는 처음에 이 툴을 켜는 것을 무진장 싫어했다.
일단 실행하면 이상한 메세지들이 미친듯이 많이 내려와서 시스템을 엄청 느리게하는 것이 싫었기 때문이다.
하지만, 꾹 참고 얼마 동안만 사용하다 보면 이 툴이 왜 훌륭한지, 그리고 사용자를 충분히 많이 배려해서 만들었음을 깨닫게 될 것이다.
프로세스 모니터를 통해 그동안 너무 많은 문제를 해결했기 때문에, 나는 이제 이 툴의 신봉자가 되어버렸다.
마크 루시노비치는 그의 블로그의 한 포스트에서 스승이었던 데이비드 솔로몬이, "야 임마, 뭔가 의심가면 먼저 프로세스 모니터로 확인해 봐" 라고 말하곤 했었다 했다. 우습게도 지금 마크는 자신의 딸에게 똑같은 말을 한다고 한다.
"아빠, 이거 학교 숙제인데 잘 모르겠어요."
"그럼 프로세스 모니터로 확인해보거라."
ㅡ.ㅡㅋ
농담처럼 이야기 했지만, 정말로 이 말을 믿고 따라야한다.
응용 프로그램이 내 컴퓨터에서만 오동작 할 때.
프로그램 성능의 발목을 잡는 병목점이 어딘지 찾고 싶을 때.
특정 프로그램이 도대체 내부에서 무슨 짓을 하는지 분석하고 싶을 때.
DLL이 로드되고 언로드 되는 것을 확인하고 싶을 때.
그리고 이 외 모든 이상하고 골치 아픈 문제들에 대해서 프로세스 모니터가 기꺼이 친구가 되어줄 것이다.
위 마크의 포스트에서도 시스템 부팅이 심하게 느린 원인을 프로세스 모니터를 통해 멋지게 밝혀낸 내용이 쓰여있다.
프로세스 모니터의 주요 5가지 기능은 다음과 같다.
좌측의 아이콘부터,
레지스트리 활동 모니터링
파일 시스템 활동 모니터링
네트워크 활동 모니터링
프로세스와 쓰레드 활동 모니터링
이벤트 프로파일링
다섯가지 아이콘을 모두 클릭해서 프로세스의 모든 활동을 살펴 볼 수도 있지만, 로그가 너무 많아지면 문제에 집중하기 힘들기 때문에 원하는 특정 기능만을 활성화 시키면 된다.
하지만 레지스트리나 파일 시스템 둘 중 하나만 클릭해보더라도 얼마나 많은 로그가 쌓이는지 보고는 깜짝 놀라게 될 것이다. 아무 프로그램도 안 띄워놓고 있더라도 파일 시스템과 레지스트리는 눈에 안보이는 서비스나 백그라운드 애플리케이션들에 의해 항상 바쁘다.
이를 좀 더 편하게 추려내기 위해 프로세스 모니터는 강력한 필터링 기능을 또한 제공한다.
처음 프로세스 모니터를 켜면 위와 같이 필터링 대화상자나 나타난다.
초록색 아이템은 관심있어 하는 내용이고, 빨강색 아이템들은 관심이 없으니 캡쳐 하지 말라는 뜻이다.
위 그림에서 처럼 프로세스 이름으로 필터링 할 수도 있고, 파일의 경로나 쓰레드 아이디, 어떤 특정한 동작을 하는지의 여부로도 필터링 할 수가 있다. 알고 싶은 내용에 대해서만 로그가 나오도록 필터링 옵션에 숙달되는 것이 프로세스 모니터를 사용하는데 있어서 가장 중요한 점이다.
또한 위 그림에서 맨 좌측에 있는 체크박스들은 꽤 근래에 생긴 편리한 기능이다.
자신이 자주 쓰는 옵션들로 필터들을 한번 넣어 놓은 뒤, 다음번 실행시에는 체크박스만 껐다 켰다 하면서 쉽게 제어할 수 있다.
메뉴의 필터 부분을 보면 방금 설명한 필터 기능을 제외하고, 주목할 기능이 3가지가 더 있다.
Enable Advanced Output을 켜면 파일 시스템 활동을 관찰할 때 Operation이 아래 그림처럼 나타난다.
커널 쪽에서 프로그래밍 경험이 있는 사람들이라면 각 디스패치 루틴들과 대응된다는 것을 알 수 있을 것이다.
Advanced Output 옵션을 사용하지 않는다면 아래 그림처럼 일반 응용 프로그래머들에게 좀 더 익숙한 Win32 인터페이스 이름으로 출력된다.
Advanced Output 이라고 해서 항상 좋은 것은 아니며, 자신이 어떤 부분에 관심이 있는지에 따라서 양쪽을 번갈아가면서 사용하면 된다.
Drop Filtered Events 라는 것은 역시 최근에 생긴 너무 반가운 기능이다.
기본적으로 프로세스 모니터를 켜고 나면, 필터를 아주 정교하게 설정해서 원하는 로그만 출력되게 했다고 할지라도, 화면에만 안 나올 뿐이지 다른 모든 내용들이 캡쳐된다.
이는 메모리를 몹시 많이 잡아먹고 시스템을 느려지게 하는데, 위 기능을 사용하면 관심없는 이벤트들은 캡쳐하지 않고 바로 버리게 된다.
하지만, 시스템이 조금 느려지더라도 모든 내용을 버리지 않고 간직하고 있는 것이 유용할 때가 종종 있다. 로그를 보는 도중 다른 아이디어가 생각나서 필터를 변경했을 때 예전 내용들을 다 가지고 있다면 곧바로 확인해 볼 수 있지만, Drop해버리면 프로세스 모니터를 껐다 켜서 다시 캡쳐해야한다. 기능을 잘 이해한 채 적절히 사용하면 된다.
Highlight 기능 역시 로그를 쉽게 보는데 도움을 준다.
위 그림은 윈도 탐색기가 수행하는 파일 오퍼레이션 중, 파일 생성/오픈 요청이 성공한 경우만을 하이라이팅 하는 것을 보여준다.
이 정도로 간단한 경우에는 프로세스 모니터의 하이라이팅도 편리하지만 조금 더 복잡해지면 설정하는 것이 꽤나 귀찮고 색깔도 하나라서 눈도 아프다.
그래서 그런 경우에 나는 로그를 통째로 vim에 붙여넣은 뒤 vim을 통해 여러 색깔로 하이라이팅해서 보고는 한다. 이 방법에 관심이 있다면 아래 글을 참고하면 된다. 로그 뷰어로써의 Vim, 멀티 하이라이팅
프로세스 모니터로 캡쳐한 내용을 파일로 저장할 수도 있다. 보통 PML이나 CSV 형식 중 하나로 저장하는데, 나는 PML 포맷으로 저장해서 프로세스 모니터로 열어보는 것을 선호한다. CSV로 저장한 뒤 엑셀 같은 프로그램으로 열어볼 수도 있다.
이 로그들을 처음부터 바로 파일로 저장할 수는 없을까 하는 생각이 들 수도 있다.
자신이 작성하고 있는 커널 쪽 코드에 오류가 있으면 블루스크린을 만나게 되거나, 시스템 전체가 멈춰버리는 경우가 생길 수 있는데, 이런 경우 프로세스 모니터를 켜놓고 있어도 시스템이 꺼져버리는 등 로그가 날라가기 때문에 내가 지정한 파일로 저장한다면 유용할 수 있다. 이것은 File 메뉴의 Backing Files 옵션에서 설정 가능하다.
바로 밑에서 설명할 프로세스 모니터에 커스텀 로그 출력하는 방법과 함께 사용하면 더욱 도움이 될 것이다.
응용 프로그램이나 드라이버가 프로세스 모니터를 통해 자신들만의 로그 메세지를 출력하는 것도 가능하다.
이렇게 할 때의 장점은 여러가지가 있다.
프로세스 모니터가 캡쳐하는 파일이나 레지스트리 작업들과 함께 내 커스텀 로그 메세지를 한 눈에 볼 수 있다. 물론 순서가 뒤죽박죽 되지 않도록 프로세스 모니터가 잘 동기화 해준다.
프로세스 모니터가 시간, 프로세스 이름, 쓰레드 번호 등의 부가 정보를 다 기록해주기 때문에 자신의 Logger에서 이런 것들을 구현할 필요가 없다.
프로세스 모니터의 강력한 필터링과 하이라이팅 기능도 공짜로 이용할 수 있다.
프로세스 모니터를 켜야만 로그를 쓰는 작업에 대한 오버헤드가 생긴다. 즉, 프로세스 모니터가 꺼져있으면 프로세스 모니터로 로그를 전송하지 않기 때문에 응용 프로그램의 속도 저하가 발생하지 않는다. -디바이스를 한번 오픈해보는 오버헤드는 있다.
새 해가 되면 항상 찾아보는 것이 있다.
지난 해 동안 괜찮은 오픈소스 프로젝트가 뭐가 있었는지, 프로그래밍 언어 동향은 어떻게 바뀌어가는지를 둘러보는 일이다.
TV에서 연예시상을 하듯이 이것들도 몇몇 단체들에서 시상식을 한다. 찾아보면 여러군데가 있는데 내가 좋아하는 곳은 InfoWorld의 Bossie Award(오픈소스 소프트웨어 어워드)와 Tiobe(프로그래밍 언어순위)이다.
나는 이것들이 여느 연예시상식이나 가요톱텐보다 훨씬 재밌다.
Bossie Award 페이지에서는 한 눈에 수상작들을 보기가 불편해서 여기에 링크와 함께 정리해보았다.
프로젝트에 대한 소개는 여기에 적지 않는다. 링크를 따라가서 잠시 읽어 보면 어떤 프로젝트들인지 쉽게 알 수 있다.
이 함수는 단지 파일을 생성하는 것 뿐만이 아니라 파일을 오픈할 수도 있고 디렉터리를 오픈할 수도 있으며 또한 여러 디바이스들까지 오픈 할 수 있다. 사실 CreateFile에서 File은 꼭 파일만이 아닌 여러 디바이스들을 추상화한 Virtual File을 뜻하는 셈이다.
이 함수를 통해 파일을 여는 순간에 동기 I/O를 할지 비동기 I/O를 할지 결정하게 되며, 내가 어떤 작업을 하려는지 내가 파일을 열고 있는 동안 다른 클라이언트들에게는 어떤 작업을 허용할지도 결정하게 된다.
생성하려는 파일의 읽기 전용, 숨김 파일 등의 속성도 정할 수 있으며, 캐시를 이용 할지 말지, 쓰기를 하는 족족 플러시 하게 할지 또 I/O를 순차적으로 할지 랜덤하게 할지 등의 힌트도 파일 시스템으로 전달해줄 수 있다.
이렇게 중요한 함수이니만큼 MSDN에는 CreateFile에 대한 문서가 아주 잘 나와있는데, 페이지 내의 링크들까지 하나하나 따라가면서 차근 차근 읽다보면 시스템 프로그래밍에 대해 배울 수 있는 것들도 많고 무엇보다도 아주 재밌다.
하지만 아무리 열심히 읽어도 글만 읽고서 지식을 자기 것으로 만들 수는 없는 법이다.
언제나 마지막은 실습으로 끝나야 한다. 글을 다 이해한 것 같아도 막상 진짜로 해보려고 하면 거기서 또 어려운 문제가 닥치기 마련이며, 이 것까지 해결하고 나서야 비로소 완전히 자기 지식으로 만들었다고 할 수 있다.
CreateFile의 파라메터는 몇 개 안되는 것 같지만 엄청난 플래그들의 조합이 가능하기 때문에 사실은 적은 갯수가 아니다.
실습을 해보기 위해서 항상 무거운 비주얼 스튜디오를 켜고 그 지겨운 파라메터들을 매번 입력하는 것은 손가락도 아프고 시간도 많이 들어가는 비효율적인 방식이다.
이런 실습을 위해 누군가가 이미 아주 훌륭한 도구를 만들어서 osronline.com에 올려놓았다.
이는 프로세스 모니터와 함께 내가 가장 즐겨쓰는 도구들 중 하나인데, 병들어가는 내 손가락을 조금이나마 쉴 수 있게 해주는 아주 고마운 친구이다.
위 그림에서 보이는 것 처럼 CreateFile 함수 형태 그대로 UI를 제공하고, 실험해보고 싶은 모든 플래그 조합을 넣어볼 수 있다.
생성뿐만이 아니라 읽기 쓰기도 해볼 수 있으며 조금 더 저수준 함수인 NtCreateFile까지도 다루어볼 수 있다.
우측의 버튼들을 클릭하면 아래처럼 또 다른 대화상자가 나와서 CreateFile의 많은 옵션들을 손쉽게 넣어서 테스트 할 수 있다.
파일 시스템과 관련이 있는 일은 하는 사람들은 두말 할 것도 없고, Wndows 플랫폼에서 개발하는 모든 개발자들이 알아두면 좋을 훌륭한 도구이다.
업데이트 되는 것이 가장 기다려지는 소프트웨어를 꼽으라 하면 첫번째는 우분투이고 그 다음은 버추얼박스이다.
회사에서나 집에서나 참 잘 쓰는 프로그램인데, VMware에 비하면 꼬진 점도 많지만 그래도 공짜로 이 정도 기능을 제공해주는 것이 너무 예뻐서 사랑할 수 밖에 없다.
이번엔 드디어 메이저 업데이트다.
이제야 호스트에서 게스트로 바로 파일을 복사하는 것이 지원되는 것 같다. VMware는 드래그드랍으로 한번에 복사가 잘되는데 버추얼박스는 ShareFolder를 설정하고 게스트에서 NET USE로 네트워크 드라이브를 잡아서 사용해야 하는 불편함이 있었다. 드라이버를 개발하면서 하루에도 몇십번씩 복사를 해대는데 손가락이 얼마나 아프던지.
osronline의 pooltag reporter를 사용하면 디바이스 드라이버들이 사용하는 커널 힙 메모리의 태그들과 그 용량을 GUI를 통해 확인할 수 있다.
어떤 풀 태그를 사용해서 논 페이지드 영역이나 페이지드 영역에 얼마만큼의 메모리를 할당하고 또 해제했는지를 실시간으로 보여준다.
디바이스 드라이버에서의 메모리 누수 등을 확인하고 싶을 때 주로 사용되며, 특정 태그들만 골라내서 보여줄 수 있는 기능이 있는데 와일드 카드도 지원이 되어서 편리하다.
디바이스 드라이버를 개발하며 디버깅하다보면 남의 풀 태그들을 보고서 이건 누구의 태그일까 궁금할 때가 많이 있는데, 윈도우즈에 기본으로 탑재되어 있는 드라이버들의 태그는 알아낼 수 있는 방법이 있다.
웹페이지에 새로 들어갈 때마다 /tmp의 용량이 조금씩 늘어난다. 잘 동작하는 것 같고 끝내주게 빠른 것 같은 느낌이다.
그렇다면 실제로도 엄청난 속도 변화가 있었을까? 아니다. 그냥 원래 속도와 비슷하다.
웹에서 리소스를 다운로드 받을 때는 램디스크에 저장하던지 하드 디스크에 저장하던지 속도가 똑같다. 램의 쓰기 속도가 하드 디스크보다 훨씬 빠르기는 하지만, 네트워크에서 데이터가 한없이 느리게 읽혀지는데 어떻게 빨리 쓴단 말인가.
일단 한 번 캐시 해두었다면, 그 리소스를 다시 읽을 때는 램디스크에서 읽는 것이 물론 훨씬 빠르다. 컴퓨터를 껐다켜기 전까지는 계속 약발이 통한다. -물론 램디스크 드라이버가 언로딩 되기 직전에 하드디스크로 복사해줄 수도 있지만 이것도 부팅속도나 셧다운이 많이 느려지는 단점이 있다. 램디스크는 램처럼 쓰는 것이 어울린다.
그럼 하드 디스크의 경우에는 램디스크보다 항상 느리냐하면 그것도 아니다. 운영체제가 I/O를 할 때 캐시를 잘 해주기 때문에 최근에 사용된 많은 데이터들이 램 상에 올라가있고 실제로는 디스크 I/O를 하지 않고 램에서 읽는다.
그럼 컴퓨터를 껐다 다시 켜게 되면?
애써 받아놓았던 램디스크의 임시 인터넷 파일들이 날라가고 다시 다운로드를 받아야 한다.
그래서 커다란 용량의 트위터 바탕화면을 사용하는 페이지 같은 곳에 가면 이미지가 새로 다운로드 받아지는 것을 눈으로 확인할 수 있다. 그냥 하드디스크에 저장했으면 다운로드는 다시 안받아도 됐을텐데 말이다.
램디스크를 사용해서 웹서핑을 할 때 미친듯한 속도를 느끼고 있다는 글들이 많이 봤는데, 그들은 도대체 어떻게 속도가 빨라진건지. 내가 모르는 뭔가가 있는것인지 궁금하다.
리눅스의 경우에는 많은 프로그램들이 임시파일을 생성하여 작업할 때에 관례적으로 /tmp 위치에서 한다. 이런 애플리케이션들이 많으면 많을수록 /tmp 를 램디스크로 잡아 놓은 것이 더욱 효과가 있을 것이다.
하지만 용량을 얼마로 잡을것인지가 고민인데, 너무 크게 잡으면 안쓰는 램이 예약되어 버리는 것이 아깝고, 또 너무 작게 잡으면 애플리케이션들의 구현에 따라 오동작 할 수가 있기 때문에 찜찜하다. 잘 만들어진 애플리케이션이라면 I/O할 공간이 없는 것을 알고 메세지를 보여주는 등 예외처리를 시도하겠지만, 그렇지 않은 프로그램들도 참 많다. 이럴 경우에 사용자는 문제의 원인도 찾지 못하고 골탕만 먹게 될 수가 있다.
램디스크를 몇 일 사용해본 후, 나는 운영체제가 그냥 자연스레 캐시로 사용하게 하는 것이 훨씬 낫겠다 싶어서 다시 램디스크 설정을 제거해버리고 말았다.
램디스크 저장기능사용하고 크롬및 캐시점부 램디스크로 사용하면 웹브라이저로딩부터 서핑이 확실히 빨라집니다...다만 컴퓨터 부팅과종료가 약간 느려지고여...이것저것 다해보다 전 후자가 싫어서 램디스크에 임시파일과 임시 인터넷파일만 사용합니다.지워져도 상관없고 정리할필요없이 컴터부팅하면 알아서 사라져주니~
나는 이 곳을 알게된 후부터 궁금한 것이 있을 때마다 종종 질문하고는 하는데, 답변들이 너무 훌륭해서 아주 많은 것들을 배웠다.
50K 이상의 뱃지를 달고 있는 사람들은 거의 전설급들인데, 도대체 이 사람들이 모르는게 뭐가 있을까 하는 정도의 지식을 가지고 있다.
나는 이들의 답변을 받으며 감탄하면서, 내가 질문하는 것말고도 이 사람들의 답변을 몽땅 읽어보면 많은 것들을 배울 수 있겠다 생각이 들었다. 스택오버플로우는 사용자 별로 피드를 제공하긴 했지만, 불행히도 답변 뿐만이 아니라 미친듯이 많은 그들의 코멘트까지도 딸려내려와서는 나를 괴롭혔다.
What I really wanted was for my trace statements to be part of the Process Monitor viewing so that way it would be trivial mapping the I/O activity to operations in my code. Fortunately, I have a personal developer at my disposal that is keen to tackle these kinds of challenges. He’s a very nice guy named Mark Russinovich who happens to be the author of Process Monitor. Mark is always eager to hear feature requests for his tools and I think he’s implemented at least 30 features in Sysinternals tools over the years that I thought would be great to have. Don’t hesitate to email Mark with feature ideas so he can be your personal developer as well.
존 로빈스의 유머 감각은 정말 끝내주는데 그의 디버깅 애플리케이션만큼 웃기는 컴퓨터 책을 아직도 만나보지 못했다.
이런 멋진 해커이자 명저자가 다시는 책을 안쓰기로 결정한 것은 정말 슬픈 일이다.
어쨌거나 마크는 콘트롤 코드를 하나 추가해서 DeviceIoControl 함수를 통해 인터페이스 할 수 있도록 기능을 제공해주었고, 최신버전의 프로세스 모니터를 보면 도움말에서 아래 코드를 찾아볼 수 있다.
2. 평판 시스템이 있는데, 이는 스택오버플로우가 얼마나 사용자를 신뢰하는지 측정하는 점수이다. 일단 시스템으로부터 신뢰를 얻고나면 다음과 같은 권한들을 얻을 수 있다.
15 Vote up
15 Flag offensive
50 Leave comments†
100 Vote down (costs 1 rep)
100 Edit community wiki posts
200 Reduced advertising
250 Vote to close or reopen your questions
250 Create new tags
500 Retag questions
1000 Show total up and down vote counts
2000 Edit other people's posts
3000 Vote to close or reopen any questions
10000 Delete closed questions, access to moderation tools
† you can always comment on your questions and answers, and any answers to questions you've asked, even with 1 rep.
10000이 넘고나면 신급 수준인데, 사이트 내에서 마치 root user인 것처럼 행동할 수 있다. 이런 재밌는 시스템 때문에 많은 사람들이 자신의 시간을 투자해서 좋은 답변을 제공하도록 동기를 부여한다.
뱃지제도도 있는데, 금뱃지를 하나 이상 달고 있는 사람들은, root급 혹은 준root급이다. 그들은 실력도 훌륭할 뿐더러 거의 이 곳에서 살고 있는 것만 같다.
2. 위키처럼 다른 사람의 질문이나 답변을 수정할 수 있다. 이것은 상당히 신선하다. 나는 다른 사람이 내 질문을 수정한 것을 보고 처음에 깜짝 놀랐는데, 생각해보니 아주 괜찮은 시스템이라고 여겨졌다. 나처럼 영어가 좀 짧은 경우에는 다른 사람이 교정해줄 수도 있다. 질문이 명확하지 않다면 다른 사람이 좀 더 이해하기 쉽게 수정해줄 수도 있다. 부적절한 태그를 달아놓았으면 이 역시 다른 사람이 수정해줄수 있다. 물론 이런 권한은 위에서 볼 수 있는 것처럼 어느 정도의 평판 점수가 필요하다.
3. 질문이나 답변을 수정하고 싶으면, 새로운 답글이나 코멘트로 달지 말고 자신의 원글을 수정하면 되며 또 그렇게 해야만한다.
4. 맘에 드는 답변에 점수를 부여할 수 있고 그 중 하나는 채택할 수도 있다.
채택된 답변과 점수가 높은 답변들이 상위에 보여진다.
5. 답변이 안달리면 자신의 점수를 조금 떼어내서 질문에 걸어 두어서, 답변을 유도해낼 수 있다.
6. 관심있는 주제나 실력있는 사람들의 답변이나 코멘트를 골라서 피드로 받아볼 수 있다.
제대로된 web 2.0 은 바로 이런 사이트가 아닐까 싶다. 기술적으로도 매우 훌륭하지만, 이런 좋은 시스템과 UI를 보면서 조엘과 그 친구들이 얼마나 영리하고 창의력이 있는지 느낄 수 있다.
오늘 본 글 중에 누군가가 프로그래밍 실력을 꾸준히 늘려가기 위해서 무엇을 하는게 좋겠냐고 물어봤는데, 그 답변이 참 걸작이다.
Read. Read blogs, white-papers (if thats your thing), books (read books by the truckloads), read anything and everything.
Write. Write down your views and opinions on whatever you are reading about. Make your point of view clear. Blogs are really excellent for this purpose.
Code. Write code every day. In your head, on paper, in a compiler. On a train in the rain on your way to Spain. Write code every day.
Talk. Talk with other programmers about programming. You will be amazed how often you A) never saw something from a particular angle, B) were flat out wrong, C) didn't know enough.
결국 가진 모든 시간을 프로그래밍에 투자하라는 내용인데 어떻게 보면 섬뜩한 내용 이기도 하지만, 한 편으로는 참 멋지다는 생각도 든다.
단, 아무리 프로그래밍을 사랑하더라도 소개팅 같은 곳에 나가서는 절대로 저따위 얘기를 해서는 안될 것이다.
대부분의 경우에 집에 있는 컴퓨터에서 Low ID를 받게 되는 경우는 공유기를 사용하는 경우 일 것이다. Low ID로 연결되면 검색되는 데이터가 적어질 수도 있고, 검색은 되지만 실제로 연결이 안되서 다운로드는 안되는 경우가 생길 수 있다.
하지만 공유기를 사용하면서도 HighID를 받을 수 있는 방법도 물론 있다.
공유기 설정으로 들어가서 당나귀 클라이언트에서 사용하는 포트를 자신의 컴퓨터에게로만 보내도록 포워딩 설정을 해주면 되는데, 각 설정 방법은 공유기 마다 다르지만 요즘 나오는 공유기들은 대부분 웹 인터페이스를 제공하므로 쉽게 설정할 수 있을 것이다.(브라우저에서 http://192.168.0.1 같은 공유기의 주소를 입력한 후 웹페이지를 통해 설정한다는 뜻이다.)
강컴의 피드 페이지를 둘러본 결과 알라딘의 그것보다 좀 더 나은 점이 있다면, 서평을 받아볼 수 있다는 점이다.
서평을 피드에 포함 시킨 것은 아주 좋은 아이디어였다고 생각한다. 책을 다른데서 살지라도 나는 꼭 웹서핑은 강컴에 가서 하곤 했는데, 그 이유 중 하나는 잘 쓰여진 서평들이 많기 때문이었다. 그리고 그런 서평들은 새로운 좋은 책을 알게 되는데 종종 도움을 주곤 했는데, 이제 그 서평들을 앉은 자리에서 받아 볼 수 있다니 너무 기쁘다. 대신 본문 전체를 공개하지는 않는데, 이 부분이 조금 불편하다. 강컴에서 잘 판단해서 좀 더 편하게 서평들을 읽을 수 있도록 해주었으면 좋겠다.
강컴 피드의 또 하나의 좋은 점은 카테고리 구분이 잘 되어있어서 원하는 책들 목록을 좀 더 정확하게 받아 볼 수 있다는 것이다.
알라딘이나 YES24는 컴퓨터 전문 서점이 아니라서, IT 서적 카테고리가 강컴보다는 두리뭉실하다. 아마도 대부분의 프로그래머들은 '따라하세요 한글 2007', '시나공 정보처리기사 어쩌구' 와 같은 책들까지 리더기에 껴들어오는 것을 원하지는 않을 것이다.
그동안 알라딘의 피드를 구독해왔는데, 이제는 강컴으로 바꾸어야겠다.
좋은 기능이 추가되어져 기쁜 반면에 아쉬운 부분들도 있는데, 가장 실망스러운 부분은 페이지 레이아웃이 망가져서 보여진다는 것이다. 나는 파이어폭스 브라우저를 사용하는데, 메인 페이지부터 레이아웃이 완전히 깨져서 보여진다.
아마 강컴에서도 이를 알고 있을꺼라고 생각하지만, 많은 파이어폭스 사용자를 보유하고 있는 사이트인 만큼 좀 더 배려해서 오픈해줬으면 어땠나 하는 아쉬운 마음은 어쩔 수 없다. 하지만 곧 수정될 것으로 기대한다.
어떤 새로운 모습들이 추가되었는지를 사용자들에게 가르쳐줬다면 더 좋았을텐데 어찌된 일인지 공지사항이나 안내페이지를 볼 수 없는 것은 또 다른 아쉬운 점 중 하나이다. 이런 이야기들을 강컴에 해주고 싶지만, 그나마 예전에 피드백의 유일한 장소였던 자유게시판 마저도 어디갔는지 찾을 수가 없다.