Media Log

[Softwares]에 해당되는 글 40

  1. h 개발자를 위한 윈도우즈용 소프트웨어 총 모음. 2013/12/22
  2. h 카카오 플레이스와 왓챠를 사랑합니다. 2013/04/07
  3. h 스택오버플로우의 오픈소스? (4) 2012/06/24
  4. h C++ 카사블랑카 라이브러리 2012/05/02
  5. h 크롬 SSH Client 확장 플러그인 2012/05/02
  6. h 안드로이드와 우분투의 만남 2012/02/23
  7. h 오픈캡쳐에 무슨 일이? (4) 2012/02/03
  8. h Visual Studio 2010의 출력창을 예쁘게 보여주는 플러그인 소개 2012/01/31
  9. h 국산(?) 스택오버플로우의 탄생 (6) 2012/01/19
  10. h 우분투를 버리고 쿠분투로 2011/10/17
  11. h 탭기능을 지원하는 무료 윈도탐색기 프로그램, Explorer++ (1) 2011/09/22
  12. h 2011년 최고의 오픈소스들 2011/09/10
  13. h 구글 플러스의 무제한 사진 업로드 정책 2011/07/14
  14. h 리눅스 3.0 시대 2011/05/25
  15. h ACE 6.0 static build (2) 2011/03/06
  16. h 프로세스 모니터 사용법 (5) 2011/01/14
  17. h 2010년 분야별 최고의 오픈소스들 (5) 2011/01/09
  18. h 파일 조작 테스트를 위한 훌륭한 도구 소개 (4) 2010/12/27
  19. h VirtualBox 4.0 베타 2010/12/07
  20. h 윈도우즈 시스템에서 사용되는 풀 태그를 확인하는 방법 2010/11/10
  21. h stackoverflow.com에 채팅 기능 추가 2010/10/24
  22. h ReactOS 0.3.12 has been released. 2010/10/21
  23. h 웹브라우저 캐시로 램디스크를 사용하면 정말 미친듯이 빨라질까? (7) 2010/10/17
  24. h Stackoverflow.com에서 탑랭커들의 답변만 피드로 받아보기 (2) 2010/09/20
  25. h Vim 7.3 released! (1) 2010/08/16
  26. h Process Monitor에 디버깅 메세지를 인젝션하기 2010/08/07
  27. h SyntaxHighlighter 3.0.83 2010/08/07
  28. h 크롬의 vimium과 비주얼스튜디오의 vsvim 2010/08/04
  29. h 오픈소스 C++ 코드 정적 분석툴 cppcheck (6) 2010/07/28
  30. h stackoverflow.com -최고의 프로그래밍 질문/답변 사이트 (4) 2010/03/18

Scott Hanselman 이라는 사람이 오래전 부터 그의 블로그에 좋은 윈도용 소프트웨어들을 소개해주어 유용하게 읽곤 했었는데, 오늘은 올린 글은 입이 떡 벌어질 만큼 특별히 잘 정리되어 있어서 소개를 하고 싶다.

나는 윈도를 떠나 산지 시간이 좀 흘러서 새로나온 (끝내줘보이는) 도구도 꽤나 보였고, 약간의 향수(?) 마저 느꼈다.

윈도우즈 프로그래머 혹은 윈도를 사용하는 프로그래머라면 꼭 읽어보고, 모르는 것들이 있었다면 하나씩 설치해서 연습해보면 세상 사는 게 좀 더 편해질 것이라 확신한다.

http://www.hanselman.com/blog/ScottHanselmans2014UltimateDeveloperAndPowerUsersToolListForWindows.aspx

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/289 관련글 쓰기

submit

요즘 내가 아주 만족스럽게 쓰고 있는 서비스가 두 개 있는데, 하나는 카카오 플레이스이고 다른 하나는 왓챠이다.


카카오 플레이스는 새로운 맛집을 찾으러 갈 때 주로 사용하는데, 기존의 윙버스나 맛집 블로그처럼 모르는 사람들한테 속지 않을 수 있다는게 큰 장점이다. 여유로운 시간에 내 친구들이 추천해주는 맛집을 하나씩 담아놓고 나중에 하나씩 찾아다니는 맛이 아주 좋다. 물론 속은 적은 한번도 없었고 퀄리티가 모두 내 기대를 만족시켜줬기 때문에 정말 행복하게 사용하고 있다. 뭐 속고 나더라도 그 사람이 추천해주는 맛집은 더 이상 안 믿으면 되기도 하고.ㅋ


플레이스는 아직 오픈한지 얼마 안된 따끈따끈한 서비스이다. 나는 특수관계인(?)이기 때문에 이미 많은 플레이스 친구들을 가지고 있지만 대부분의 사람들은 친구가 별로 없을 것이다. 친구가 많을 수록 그 재미를 알 수 있는 서비스인데 이것은 시간이 해결해줄 것으로 기대한다.


또 다른 서비스인 왓챠는 영화 추천 서비스인데 기존에 재밌게 봤던 작품이나 그 장르에 기반해서 자동으로 영화를 추천해주는 서비스이다. 카카오 플레이스처럼 친구 누구가 재밌게 봤다는 힌트도 건네준다. 얼마전 리뷰수 800만을 넘었는데 점점 더 빠른 속도로 성장하고 있는 것 같다.

지금 글을 쓰면서 하이퍼링크를 걸어주려고 들어가봤는데 이렇게 장애가 나있기도한 서비스이다. -_-;


내가 왓챠를 좋아하는 가장 큰 이유는 특정 연대, 장르를 지정해서 영화를 추천받을 수 있다는 것이다. 보고 싶은 영화들을 담아놓고 별점순으로 정리할 수 있다는 것도 정말 큰 매력. 최근에 나는 주말에 한번씩 왓챠에 들어가서 보고 싶은 영화들을 담아두는 동시에 한 편씩 감상하고 있는데, 끝내주는 영화를 만날 때 마다 너무 행복해진다.


나는 어디를 잘 돌아다니지 않고 거의 회사와 집에만 있는 타입이라 바깥 세상이 어떻게 돌아가는지 잘 모르는 편인데, 이런 서비스들로 인해서 문화 생활을 많이 하는 사람들과의 지식? 혹은 정보 격차를 크게 줄일 수 있는 것 같아서 참 좋게 생각한다.

마치 구글이 나와서 사람들의 지식 수준을 상향 평준화 시켰을 때의 느낌이랄까? 물론 플레이스나 왓챠는 구글만큼 크게 세상에 공헌할 수는 없겠지만 그래도 내가 생활하는데 있어서 기존보다 좀 더 나은 세상을 제공해주고 있는 것은 맞다. 그래서 사랑한다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/287 관련글 쓰기

submit

스택오버플로우 오픈소스라는 검색어를 통해 내 블로그에 찾아오는 사람들이 있다. 아마 우리나라 사람들 중 누군가가 스택오버플로우 같은 멋진 커뮤니티를 만들고 싶은가보다. 이미 그런 시도들이 있었고 아래와 같은 사이트들이 만들어졌지만 아쉽게도 기대했던 것 만큼 장사가 잘 되고 있는 것 같지는 않다.

http://codejob.co.kr/code/

http://nullpointr.com/


아참, 그래서 스택오버플로우의 오픈소스가 있냐고?

있다.

http://askbot.com/

정확히 말하면 스택오버플로우의 오픈소스는 아니고 그냥 똑같이 따라서 만들어보려는 클론, 다시 말하면 짝퉁이다. 스택오버플로우에 비하면 부족하긴 하지만 그나마 가장 잘 따라했으며 완성도가 높다. GitHub에 가면 코드를 내려받을 수 있다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/283 관련글 쓰기

  1. 주의사신 at 2012/06/25 08:45 [edit/del]

    1. StackOverflow를 만든 Joel Spolsky와 Jeff Atwood의 RSS Feed를 받는 사람의 수는 중복 제거하고도 10만명은 될 것입니다.

    제가 아는 개발자 수가 100명이 안 됩니다. 흥행이 실패하는 것이 어떻게 보면 당연합니다....ㅜㅜ

    만들어 보고서야 뭐가 원인인지 알게 되었네요. 만들기만 하면 다 될 것이라 생각했던 것이 가장 큰 패인이었습니다...


    2. 우선은 놔 둬 보고 계속 조금씩 개선해 나가는 수밖에 없다는 것이 제 개인적인 생각입니다.

    Reply
  2. Favicon of http://codeflow.co.kr BlogIcon 지반 at 2013/07/09 18:18 [edit/del]

    codeflow.co.kr 이란 사이트를 열었는데, 김재호님이 오래전에 쓰신글을 뒤늦게 읽어보고 느낀점이 많습니다.
    일단 codeflow도 stackoverflow 의 클론, 그러니까 비슷한 시스템을 도입한 사이트입니다.
    한가지 추가된 점이 있다면 번역게시판이 있어서, 영문으로 된 사이트의 IT관련 신문 기사나, Q&A 페이지의 글을 서로 번역해주는 게시판을 운영하고 있습니다.

    언급하신 코트잡이나 널포인터 사이트의 2013년 현재상황을 보면 어떻게 codeflow를 흥보하고 운영해야 좋을지 참으로 고민됩니다. 시간나시면 사이트 들러주시고 피드백을 남겨주시면 큰 힘이 되겠습니다.

    감사합니다

    Reply

submit

마이크로소프트에서 카사블랑카라고 이름지어진 흥미로운 라이브러리를 발표했다.


http_client bing( L”http://www.bing.com/search” );
bing.request( methods::GET, L”?q=S.Somasegar” )
.then( []( http_response response ) {
cout << “HTML SOURCE:” << endl << response.to_string() << endl; })
.wait();


listener::create( argv[1], []( http_request req ) {
req.reply( status_codes::OK, “Namaste!” ); })
.listen( []{ fgetc( stdin ); } )
.wait();


여기 공식 페이지에 간략하게 소개가 있으며, 허브 셔터가 자신의 블로그에 따로 소개해주기도 하였다.

아마 Restful api를 제공하는 서비스들의 클라이언트 코드로써 가장 많이 사용되지 않을까 싶다.

 

얼마전 있었던 마이크로소프트의 Going Native 2012 행사에서 허브 셔터가 말하길,

C++ 언어는 다른 최신 언어들에 비해 부족한 점이 거의 없다. 부족한 것은 바로 라이브러리이다. 라는 말을 했었는데 아주 인상 깊게 들었다. 프리젠테이션 자료를 너무 인상적으로 만들어서 더욱 설득 당했는지도 모르겠다.

아래 주소에서 그 동영상을 볼 수 있다. 1시간 17분 쯤부터 보기 시작하면 된다.

http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond


어쨌거나 좋은 C++ 라이브러리들이 빨리 빨리 구현되기를 바란다. 그래야 Going Native Again 할 것 아닌가.



 

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/279 관련글 쓰기

submit


크롬이 4.0이 될 때 부터 어쩌면 1등 브라우저가 될 수 있을 것 같다고 생각한 적이 있다.

그 때는 그다지 확신을 가졌던 건 아니었는데 이제는 누가 봐도 1등이 되는건 시간문제라고 생각할 것 같다.

가장 맘에 드는 기능은 동기화 기능이다. 확장 플러그인과 주소 목록, 비밀번호 동기화 등 다른 컴퓨터에 앉았을 때도 쉽게 내 환경을 불러 올 수 있어 편리한데다가, 모바일에서 또한 내가 자주 가는 사이트의 주소 자동 완성과 비밀번호 자동 입력이 지원되므로 불편하게 꼬물 핸드폰 키보드로 타이핑 할 필요가 없어서 너무 좋다. - 현재는 안드로이드 4.0 이상 기기만 크롬을 설치할 수 있다.

게다가 크롬 확장 플러그인으로 SSH Client도 생겼다. 크롬북에서 특히 유용할 것 같지 않은가?

삼성에서 언젠가 크롬북을 50만원 정도에 팔았었는데 이건 거품이 심하게 끼었다고 생각한다. 가격이 20만원 대로 내려가고 무게가 조금 더 가벼워진다면 크롬북을 꼭 가지고 싶어질 것 같다.


저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/278 관련글 쓰기

submit

세상은 점점 더 좋아져간다. 빨리 빨리 재미있고 편리한 것들이 잔뜩 나오길.

http://www.h-online.com/open/news/item/Canonical-announces-Ubuntu-for-Android-1439874.html
http://www.ubuntu.com/devices/android
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/261 관련글 쓰기

submit

아니 이게 도대체 무슨 일이?

지금까지 화면 캡쳐시에는 오직 오픈 캡쳐라는 프로그램만을 사용하고 다른 프로그램에 눈길 한 번 준 적이 없었는데 오늘 실행을 시키니 자동 업데이트가 되면서 위와 같은 약관 동의 창이 나왔다. 아무래도 회사에서는 돈 내고 쓰라는 말 같다. 하이고, 그럼 이제 못 쓰잖아.


원래 오픈 캡쳐는 개발자 한 명이 혼자서 만들어 개발자의 개인 홈페이지에서 운영을 했었다. 나중에는 같이 개발하는 사람들 몇 명이 생겼고 그 때부터 자동 업데이트나 광고, 트위터로 보내기 같은 원하지 않는 기능들이 생겨나기도 했다.
이번에 오픈 캡쳐의 새로운 주인이 된 회사와 개발자간에 어떤 거래가 있었던 건지는 모르겠지만 나는 사용자 입장으로서 좋아하던 프로그램을 하나 잃어버리게 되었다. 오픈 캡쳐의 윈도우 자동 스크롤 캡쳐는 정말 좋아했던 기능인데 이제 뭘 써야하나.

오픈 캡쳐는 언젠가부터 소스 코드를 공개 했었는데 이제부터 그 라이센스는 어떻게 되는건지 모르겠다. 오픈 소스 버전을 사용하면 회사에서 계속 사용해도 되는 걸까.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/252 관련글 쓰기

  1. Favicon of http://winutil.tistory.com/ BlogIcon LuckySh at 2012/02/06 14:27 [edit/del]

    오픈캡쳐가 기업에게 넘어간 다음부터 쓰레기가 되었네요.
    개인은 핸드폰 인증 하고 기업은 돈을 내시오?
    나참, 어이없어서... 개인이 제작할때는 모두에게 무료였는데...
    이만한 쓰레기가 세상에 하나라도 더 있을까 싶군요.
    옛날에는 좋은 프로그램이었는데 기업에 넘어간 다음부터 쓰레기네요.

    Reply
    • Favicon of http://winutil.tistory.com/ BlogIcon LuckySh at 2012/02/06 14:52 [edit/del]

      오픈캡쳐의 휴대전화 인증기능을 역으로 써서 무료 문자메세지 프로그램을 만들면 오픈캡쳐 측에서도 어떻게 하지 않을까요? ㅋㅋㅋ

    • Favicon of http://www.benjaminlog.com BlogIcon 김재호 at 2012/02/07 11:29 [edit/del]

      저는 약관 동의 버튼을 눌러보지 않아서 잘 모르겠네요. 휴대폰 인증 같은 것도 생겼나보군요.

  2. 박정열 at 2012/03/23 10:11 [edit/del]

    전 Picpick 이라는 프로그램 사용하는데, ^^: 함 고려해보시죠 :

    Reply

submit

VSColorOutput은 비주얼 스튜디오 2010 플러그인이다.

출력창에 나타나는 문자열들을 분석해서 예쁜 색깔로 구분지어 보여준다. 기본 필터 기능에 더해 사용자가 자신만의 필터를 등록할 수 있도록 정규 표현식을 추가할 수 있는 인터페이스도 갖추고 있다.


예쁘지 아니한가.

Visual Studio 이전 버전들도 모두 훌륭하다고 생각하지만 Visual Studio 2010은 좀 더 특별하다. 이런 좋은 확장 기능들이 많이 있는데다가 무엇보다 C++11을 사용할 수 있기 때문에.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/251 관련글 쓰기

submit
코드잡이라는 사이트가 생겼다.
스택오버플로우의 시스템을 거의 본따서 만들었는데, 아직 디테일한 부분에서는 부족해보이지만 많은 사람들이 사용을 해서 멋진 개발자들의 놀이터가 될 수 있었으면 좋겠다.

스택오버플로우와 완전히 똑같지는 않고 페이스북 같은 소셜 기능도 넣었는데, 이는 참신해 보이기도 하지만 커뮤니티의 전체적인 분위기가 약간 가볍게 흘러가지는 않을까 걱정이 되기도 한다. 하지만 어떻게 될지는 지켜봐야 알 일이다.
부디 양질의 질문/답변들이 많이 쌓여서 많은 개발자들에게 도움이 되는 사이트가 되었으면 한다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/249 관련글 쓰기

  1. Favicon of http://talkprogram.tistory.com BlogIcon 로로님 at 2012/01/19 20:40 [edit/del]

    우와! 한국에도 이런게 생겼네요.ㅎㅎ (원래있엇나/..)

    Reply
  2. Favicon of http://blog.naver.com/empty_wagon BlogIcon 주의사신 at 2012/05/14 09:11 [edit/del]

    저도 하나 만들고 있었고 내일(5월 15일) 공개할 예정이었는데, 경쟁자(?)가 있었군요...

    3달 만든 것이라 별 기능이 없어서 대대적으로 홍보할 상황이 못 됩니다만...

    Reply
    • Favicon of http://www.benjaminlog.com BlogIcon 김재호 at 2012/05/14 10:07 [edit/del]

      헉 그런가요? 기대가 됩니다.
      참, 저는 몇 일전에 알았는데 http://askbot.org 라는 곳에서 어떤 친구들이 스택오버플로 클론을 오픈소스로 만들고 있더라구요. 리치 텍스트에디터가 스택오버플로만큼 깔끔하게 돌아가지는 않지만 그럭 저럭 쓸만은 한 것 같아요. 이미 알고 계셨나요?
      커뮤니티가 잘 운영되기를 진심으로 바랍니다.

    • Favicon of http://blog.naver.com/empty_wagon BlogIcon 주의사신 at 2012/05/15 09:59 [edit/del]

      최후의 버그들 몇 개 잡고 오늘 오픈했습니다. 질문의 수정, 삭제도 안 되는 매우 서글픈 상태의 프로그램입니다만, 하나씩 계속 꾸준히 추가해 나갈 예정입니다.

      http://nullpointr.com/

      더 좋은 사이트가 될 수 있도록 많은 도움 부탁 드립니다.

      http://www.facebook.com/nullpointrcom

    • Favicon of http://www.benjaminlog.com BlogIcon 김재호 at 2012/05/15 10:33 [edit/del]

      네에 지금 가서 구경하고 오는 길입니다. 깔끔하게 잘 만드셨네요. 가입절차도 간편해서 좋고요. 중요한 몇몇 기능들이 조금 더 추가되어 좋은 커뮤니티가 되었으면 합니다.

submit

출처 : http://www.kubuntu.org/feature-tour


GNOME3에 너무 많은 기대를 해서 그런가. 이번 우분투 11.10은 많이 기대가 되서 알파3 부터 받아서 사용하고 있었는데, 기대가 큰 만큼 실망도 컸다.
문득 KDE는 얼마나 좋아졌나 싶어서 쿠분투를 설치해서 한달여 동안 사용해왔는데, UI 콘트롤들도 다 하나같이 고급스럽고 부드럽게 동작하는게 아주 만족스럽다. 예전에 2008년도 쯤 쿠분투를 설치해봤었을 때 그 조잡함에 충격 받았던 기억이 남아있었기 때문에 사실 좀 놀랐다. 아마 KDE4로 올라오면서 많이 좋아진 것 같다.
한달 동안 많이 익숙해 졌겠다, 정식 버전도 나왔겠다. 이번 주말에는 새로 이미지를 받아서 kubuntu로 데스크탑을 싹 정리했다. 아, 참 깔끔하고 좋다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/219 관련글 쓰기

submit
윈도를 쓰면서 불편한 점 중 하나는 일을 하다보면 어느새 10개 20개씩 떠있는 윈도 탐새끼이다. 물론 GNOME의 노틸러스나 KDE의 이상한 탐색기보다는 너무 너무 잘 만들었다고 생각하지만. 

어쨌거나 얼마전에 오픈소스 뉴스를 보다가 Explorer++ 이라는 프로젝트를 발견했다.

http://www.explorerplusplus.com/software/images/screenshots/screenshot_2.png


토탈 커맨더라는 이 분야 최고의(?) 프로그램이 있지만 Explorer++는 오픈소스이고 완전히 자유롭게 쓸 수 있다는 점에서 차별점이 있다.
몇 일간 써봤는데, 그럭저럭 맘에 들어서(맘에 안드는 점들도 많지만) 이제는 Windows + E 키를 Explorer++로 매핑시켜 놓고 잘 사용하고 있다.

좋은 점
  • 탭 기능을 지원한다. 물론 껐다켜면 탭들이 모두 그대로 복원되므로 자주 사용하는 위치들을 탭으로 몽땅 띄워놓고 사용하면 된다.
  • 여러 인스턴스가 뜨지 않도록 할 수 있다. 프로그램을 한번 더 실행시켜도 새 탭만 하나 더 생긴다. 내가 가장 바랐던 기능이다.
  • 폴더 사이즈도 표시할 수 있다. NTFS는 폴더 크기에 대한 정보를 가지고 있지 않으므로 Explorer++이 뒤에서 열심히 돌면서 사이즈를 구해낸다. 나는 이 기능은 사용하지 않는다.
  • 파일 1개 짜리 프로그램이다. 나는 인스톨러로 설치안하고 바로 사용할 수 있는 이런 프로그램들이 너무 좋다.
  • 오픈 소스이다.

나쁜 점

  • 잘 뒤진다.
  • 안 예쁘다. 토탈 커맨더보다는 조금 더 나은 것 같기도 하지만.

근데 난 작명할 때 ++ 이란 말 좀 쓰지 말았으면 좋겠다. 발음하기도 어려운데다가 정말 촌스럽지 않은가?

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/216 관련글 쓰기

  1. 예상영 at 2013/05/17 12:37 [edit/del]

    Windows + E 로 연결하는 것은 AutoHotKey 같은 것을 쓰신 건가요? 아니면 다른 프로그램 설치 없이 가능할까요?

    Reply

submit
Bossie Awards 2011이 발표되었다.
어떤 오픈소스들이 잘나가고 있는지 한번 살펴봅시다.

Applications

Desktop and mobile software

Application development software

Data center and cloud software
데스크탑과 모바일 소프트웨어는 모두 내가 사용하고 있거나 사용했던 것들인데 삶을 좀 더 편하게 해주는 고마운 무료 프로그램들이다.
개발 소프트웨어들을 하나씩 바라보다가 C/C++이나 관계형 데이터베이스를 다루고 있는 사람들이 문득 할아버지처럼 느껴졌다. 나도 그 할아버지 중 하나라는 것이 슬프다, 늙어죽지 않으려면 빨리빨리 따라가야지.

2010년까지의 결과는 위키피디아에서 볼 수 있다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/211 관련글 쓰기

submit


구글 플러스에서는 사진을 무제한으로 올릴 수 있다고 해서 좀 놀랐다.
어떻게 사진을 무한으로 올릴 수 있는거지. 아무리 돈이 많아도 그걸 다 감당해낼 수 있다는 말인가.

구글 플러스는 피카사와 연동되어 있는데 피카사는 1G 용량을 무료로 제공한다.
하지만 기존 피카사에서는 800 * 800 픽셀 사이즈까지는 용량제한 없이 무료로 올릴 수 있게 해줬었던 것 같다. 즉, 저런 작은 해상도의 파일들은 많이 올려도 용량을 전혀 차지 하지 않는다.

http://picasa.google.com/support/bin/answer.py?answer=1224181
 

그런데 구글 플러스에 가입을 하고 나면 2048 * 2048 이하의 파일들은 용량 제한 없이 올릴 수 있게 된다. 가입하지 않은 사람들은 여전히 800 * 800이다. 이것만으로도 구글 플러스에 가입하고 싶어지지 않은가?
그런데 2048 * 2048보다 해상도가 작더라도 용량을 줄이기 위해 어느 정도 파일을 더 손실 시키는 것 같긴하다. 또한 PNG같은 비손실 포맷들은 모두 jpg로 변환되어 올라간다.

그렇다고는 해도 정말 끝내준다. 구글 스토리지 비용이 그다지 비싸기 않기 때문에(1년 20기가가 5000원이며 Google Docs등 다른 서비스와 용량이 공유된다) 제대로 보관하고 싶은 사진들은 피카사를 통해 원본 그대로 올리고 좀 쓸데없는 사진들은 구글 플러스를 통해 자동 축소 시켜서 올려도 되겠다.

이제 사진 관리도 비용 걱정 없이 클라우드에서 할 수 있는 때가 온 것인가.
피카사 웹앨범도 처음 만지작 거려봤는데, 생각보다 편리했다. 참 좋은 세상이다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/204 관련글 쓰기

submit

리눅스 3.0 시대

2011/05/25 23:16 | Softwares
나는 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.
누군가 이런 말을 했는데, 리눅스에서 삽질하고 뭔가가 잘 안 돌아갈 때마다 내가 이 빌어먹을 것을 왜 쓰고있지? 하고는 저 말에 고개를 끄덕끄덕 거리게 된다.
그럼에도 불구하고 나는 계속 리눅스를 쓴다. 리눅스에서는 그렇게 시간 낭비 하는 것도 즐거우니깐.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

'Softwares' 카테고리의 다른 글

2011년 최고의 오픈소스들  (0) 2011/09/10
구글 플러스의 무제한 사진 업로드 정책  (0) 2011/07/14
리눅스 3.0 시대  (0) 2011/05/25
ACE 6.0 static build  (2) 2011/03/06
프로세스 모니터 사용법  (5) 2011/01/14
2010년 분야별 최고의 오픈소스들  (5) 2011/01/09

http://www.benjaminlog.com/trackback/198 관련글 쓰기

submit

ACE 6.0 static build

2011/03/06 17:37 | Softwares
ACE는 세상에서 가장 유명한 네트워크 프로그래밍 라이브러리이다.
여러 플랫폼에서 동작 할 수 있도록 설계/구현 되었고, 윈도우 사용자가 비주얼 스튜디오에서 쉽게 빌드할 수 있도록 솔루션 파일들까지(VC7,8,9,10) 제공해주는 서비스 정신도 갖추고 있다.

얼마전에는 ACE의 버전이 5.6에서 6.0으로 메이저 업데이트 되었다. 그런데 기존에는 static 라이브러리로 빌드하기 위한 솔루션 파일을 따로 제공해주었었는데 6.0 부터는 static 관련 sln 파일들이 없어져버렸다.

뭐지, 내가 직접 만들어 쳐넣으라는 소리인가. 서비스 정신이 사라졌나.
할 수 있는 다른 방법을 분명히 제공해주었을 것 같아서 여기저기 알아보다가 아래의 뉴스그룹 쓰레드에서 그 방법을 찾았다.
http://groups.google.com/group/comp.soft-sys.ace/browse_thread/thread/1eb2a24108d2b1c1#

자신이 원하는 솔루션 파일을 생성해주는 Perl 스크립트가 제공되는데 다음처럼 이용하면 된다.
..\ACE 6.0.1\ACE_wrapper\ace> ..\bin\mwc.pl -type vc10 -static

윈도에서 Perl을 설치하기 싫으면 근처에 접근할 수 있는 아무 리눅스로나 잠시 옮겨가서 만들어와도 되겠다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/184 관련글 쓰기

  1. kwon at 2011/03/21 14:41 [edit/del]

    덕분에 ace 6.0으로 쉽게 업데이트 했어요~ㅎㅎ
    타이밍이 딱 맞았네요~~ 덕분에 stack overflow에 있는 글들도 봤는데..
    도움이 되는 글들이 많이 있네요~ㅎ
    요즘 글이 많이 올라와서 좋아요~^^

    Reply

submit
내 블로그에 프로세스 모니터 사용법이라는 검색어로 들어오는 사람들이 많아서 언젠가 한번 포스팅 해봐야겠다는 생각을 하고 있었다.
프로세스 모니터에 대해 궁금했던 사람들이 조금이라도 도움을 얻고 돌아가기를 바란다.

프로세스 모니터는 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에서 이런 것들을 구현할 필요가 없다.
  • 프로세스 모니터의 강력한 필터링과 하이라이팅 기능도 공짜로 이용할 수 있다.
  • 프로세스 모니터를 켜야만 로그를 쓰는 작업에 대한 오버헤드가 생긴다. 즉, 프로세스 모니터가 꺼져있으면 프로세스 모니터로 로그를 전송하지 않기 때문에 응용 프로그램의 속도 저하가 발생하지 않는다. -디바이스를 한번 오픈해보는 오버헤드는 있다.

프로세스 모니터로 커스텀 로그를 출력하는 자세한 방법은 아래 글에서 확인해볼 수 있다.
프로세스 모니터에 디버깅 메세지를 인젝션하기

얼마전에 소개했던 filetest 프로그램과 프로세스 모니터는 환상의 짝궁이기도 하다. filetest.exe 프로세스만을 캡쳐하도록 필터링해 놓은 뒤 원하는 I/O를 시도해보고 프로세스 모니터의 반응을 살펴보면 파일 시스템이 어떻게 동작하는지 쉽게 배울 수 있다.

위에서 설명한 사용법 들에 익숙해지면 프로세스 모니터를 통해 직접 문제를 해결할 수 있을 것이고, 또 이를 여러번 시도 할수록 자신만의 문제 해결 기법 아이디어을 갖게 될 것이다.

이런 몇몇 참신한 기법들에 대해서는 -위에 나왔던 시스템 부팅이 느린 현상을 해결한 포스트처럼- 이미 마크 루시노비치의 블로그나 Sysinternals의 세미나 자료를 통해서 많이 공개되어 있으니 부지런히 찾아다니면서 익혀두면 피가 되고 살이 될 것이다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

'Softwares' 카테고리의 다른 글

리눅스 3.0 시대  (0) 2011/05/25
ACE 6.0 static build  (2) 2011/03/06
프로세스 모니터 사용법  (5) 2011/01/14
2010년 분야별 최고의 오픈소스들  (5) 2011/01/09
파일 조작 테스트를 위한 훌륭한 도구 소개  (4) 2010/12/27
VirtualBox 4.0 베타  (0) 2010/12/07

http://www.benjaminlog.com/trackback/172 관련글 쓰기

  1. Favicon of http://nyolong.egloos.com BlogIcon 뇨릉 at 2011/01/19 14:04 [edit/del]

    얼마전에 FileMon을 받으려더 Process Monitor와 통합이 되어서 저도 이툴 한번 써봤었는데요. ㅋ
    전 간단히 파일모니터하는데만 썼었는데 참 괜찮은 툴 같습니다 ^^

    Reply
    • Favicon of http://www.benjaminlog.com BlogIcon 김재호 at 2011/01/19 18:41 [edit/del]

      네, 파일 모니터 할때 가장 많이 쓰죠. 정말 좋아요.
      FileMon은 소스 공개했는데 이거는 공개 안하더라고요. 앞으로도 안할 듯.

  2. BlogIcon tack at 2011/01/24 16:08 [edit/del]

    전 크롬을 사용중인데 이상하게 Highlight 기능 역시... 아래 그림이 안나오네요 :(
    헌데 Explorer.exe에 대한 내용이 원래 이렇게 많나요? ㅎㅎ

    Reply
    • Favicon of http://www.benjaminlog.com BlogIcon 김재호 at 2011/01/24 17:14 [edit/del]

      에 정말요? 저도 크롬쓰는데 잘 나오는데.
      다른 장소에서도 잘 나오고요. 용량이 조금 크긴 한데 다른 문제가 있는건지 모르겠네요.

  3. Favicon of http://cchelf.tistory.com BlogIcon 휘릿즈 at 2012/06/26 20:18 [edit/del]

    잘보고갑니다^^

    Reply

submit
새 해가 되면 항상 찾아보는 것이 있다.
지난 해 동안 괜찮은 오픈소스 프로젝트가 뭐가 있었는지, 프로그래밍 언어 동향은 어떻게 바뀌어가는지를 둘러보는 일이다.
TV에서 연예시상을 하듯이 이것들도 몇몇 단체들에서 시상식을 한다. 찾아보면 여러군데가 있는데 내가 좋아하는 곳은
InfoWorld의 Bossie Award(오픈소스 소프트웨어 어워드)와 Tiobe(프로그래밍 언어순위)이다.
나는 이것들이 여느 연예시상식이나 가요톱텐보다 훨씬 재밌다.

Bossie Award 페이지에서는 한 눈에 수상작들을 보기가 불편해서 여기에 링크와 함께 정리해보았다.
프로젝트에 대한 소개는 여기에 적지 않는다. 링크를 따라가서 잠시 읽어 보면 어떤 프로젝트들인지 쉽게 알 수 있다.

Application Development software 부문

Application Development software 부문

Platforms and Middleware 부문

Networking Software 부문

2007년부터 2009년까지의 수상작들은 이미 위키피디아에 잘 정리되어 있다.
http://en.wikipedia.org/wiki/Infoworld_Bossie_Awards

아참, 올해의 프로그래밍 언어는 또 한번 파이썬이 차지했다.

C# 한 번 시켜주지.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/174 관련글 쓰기

  1. Favicon of http://duckii81.wordpress.com BlogIcon duckii at 2011/01/10 00:59 [edit/del]

    내가 아는게 한 손으로 셀 수 있네.. ㅠ
    언어에 있어서 난 C++ forever~

    Reply
  2. Favicon of http://itviewpoint.com BlogIcon 떡이떡이 at 2011/01/26 10:41 [edit/del]

    좋은 자료정리 감사합니다. 클릭 한번씩 해 보고 있습니다.

    Reply
  3. at 2011/02/18 13:44 [edit/del]

    비밀댓글입니다

    Reply

submit
CreateFile은 Wndows Api 들 중 가장 기본적이면서도 중요한 함수이다.
이 함수는 단지 파일을 생성하는 것 뿐만이 아니라 파일을 오픈할 수도 있고 디렉터리를 오픈할 수도 있으며 또한 여러 디바이스들까지 오픈 할 수 있다. 사실 CreateFile에서 File은 꼭 파일만이 아닌 여러 디바이스들을 추상화한 Virtual File을 뜻하는 셈이다.
이 함수를 통해 파일을 여는 순간에 동기 I/O를 할지 비동기 I/O를 할지 결정하게 되며, 내가 어떤 작업을 하려는지 내가 파일을 열고 있는 동안 다른 클라이언트들에게는 어떤 작업을 허용할지도 결정하게 된다.
생성하려는 파일의 읽기 전용, 숨김 파일 등의 속성도 정할 수 있으며, 캐시를 이용 할지 말지, 쓰기를 하는 족족 플러시 하게 할지 또 I/O를 순차적으로 할지 랜덤하게 할지 등의 힌트도 파일 시스템으로 전달해줄 수 있다.

이렇게 중요한 함수이니만큼 MSDN에는 CreateFile에 대한 문서가 아주 잘 나와있는데, 페이지 내의 링크들까지 하나하나  따라가면서 차근 차근 읽다보면 시스템 프로그래밍에 대해 배울 수 있는 것들도 많고 무엇보다도 아주 재밌다.

하지만 아무리 열심히 읽어도 글만 읽고서 지식을 자기 것으로 만들 수는 없는 법이다.
언제나 마지막은 실습으로 끝나야 한다. 글을 다 이해한 것 같아도 막상 진짜로 해보려고 하면 거기서 또 어려운 문제가 닥치기 마련이며, 이 것까지 해결하고 나서야 비로소 완전히 자기 지식으로 만들었다고 할 수 있다.

CreateFile의 파라메터는 몇 개 안되는 것 같지만 엄청난 플래그들의 조합이 가능하기 때문에 사실은 적은 갯수가 아니다.
실습을 해보기 위해서 항상 무거운 비주얼 스튜디오를 켜고 그 지겨운 파라메터들을 매번 입력하는 것은 손가락도 아프고 시간도 많이 들어가는 비효율적인 방식이다.

이런 실습을 위해 누군가가 이미 아주 훌륭한 도구를 만들어서 osronline.com에 올려놓았다.
이는 프로세스 모니터와 함께 내가 가장 즐겨쓰는 도구들 중 하나인데, 병들어가는 내 손가락을 조금이나마 쉴 수 있게 해주는 아주 고마운 친구이다.


위 그림에서 보이는 것 처럼 CreateFile 함수 형태 그대로 UI를 제공하고, 실험해보고 싶은 모든 플래그 조합을 넣어볼 수 있다.
생성뿐만이 아니라 읽기 쓰기도 해볼 수 있으며 조금 더 저수준 함수인 NtCreateFile까지도 다루어볼 수 있다.

우측의 버튼들을 클릭하면 아래처럼 또 다른 대화상자가 나와서 CreateFile의 많은 옵션들을 손쉽게 넣어서 테스트 할 수 있다.



파일 시스템과 관련이 있는 일은 하는 사람들은 두말 할 것도 없고, Wndows 플랫폼에서 개발하는 모든 개발자들이 알아두면 좋을 훌륭한 도구이다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/171 관련글 쓰기

  1. 재호님 팬 at 2010/12/29 12:14 [edit/del]

    재호님~ 파일시스템에 관심이 많으신거 같네요!
    저도 파일시스템에 관심있어요 ^^
    이병오님의 "윈도우 파일시스템" 책과 정명수님의 커널관련글 읽으면서 공부하고 있는데 좋은거 같습니다. 재호님도 화이팅! ^^

    Reply
    • Favicon of http://www.benjaminlog.com BlogIcon 김재호 at 2010/12/29 12:37 [edit/del]

      윈도 파일시스템 책은 저도 가지고 있는데 정명수님 커널 관련글은 잘 모르겠어요. 혹시 글들 정리되어 있는 URL이 있으면 좀 가르쳐주세요.^^

  2. 재호님 팬 at 2010/12/29 20:19 [edit/del]

    이런 제가 센스가 없어서 ㅋㅋ
    www.swblog.net 입니다. 저도 마이크로소프트 잡지를 통해서 알게 되었구요~ 이분 글로 공부하고 있어요 ^^

    Reply

submit

VirtualBox 4.0 베타

2010/12/07 19:59 | Softwares

업데이트 되는 것이 가장 기다려지는 소프트웨어를 꼽으라 하면 첫번째는 우분투이고 그 다음은 버추얼박스이다.
회사에서나 집에서나 참 잘 쓰는 프로그램인데, VMware에 비하면 꼬진 점도 많지만 그래도 공짜로 이 정도 기능을 제공해주는 것이 너무 예뻐서 사랑할 수 밖에 없다.

이번엔 드디어 메이저 업데이트다.
이제야 호스트에서 게스트로 바로 파일을 복사하는 것이 지원되는 것 같다. VMware는 드래그드랍으로 한번에 복사가 잘되는데 버추얼박스는 ShareFolder를 설정하고 게스트에서 NET USE로 네트워크 드라이브를 잡아서 사용해야 하는 불편함이 있었다. 드라이버를 개발하면서 하루에도 몇십번씩 복사를 해대는데 손가락이 얼마나 아프던지.

정식이 나오려면 한달 쯤 더 기다려야 하지 않을까.

릴리즈 노트는 아래 링크에서 볼 수 있다.

다운로드는 여기에서.

Edit:
정식버전이 릴리즈 되었음.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/166 관련글 쓰기

submit
osronlinepooltag reporter를 사용하면 디바이스 드라이버들이 사용하는 커널 힙 메모리의 태그들과 그 용량을 GUI를 통해 확인할 수 있다.
어떤 풀 태그를 사용해서 논 페이지드 영역이나 페이지드 영역에 얼마만큼의 메모리를 할당하고 또 해제했는지를 실시간으로 보여준다.
디바이스 드라이버에서의 메모리 누수 등을 확인하고 싶을 때 주로 사용되며, 특정 태그들만 골라내서 보여줄 수 있는 기능이 있는데 와일드 카드도 지원이 되어서 편리하다.

디바이스 드라이버를 개발하며 디버깅하다보면 남의 풀 태그들을 보고서 이건 누구의 태그일까 궁금할 때가 많이 있는데, 윈도우즈에 기본으로 탑재되어 있는 드라이버들의 태그는 알아낼 수 있는 방법이 있다.

WDKDebugging Tools for Windows를 설치하면 <debugger>\triage\pooltag.txt 라는 텍스트 파일이 있는데, 이 곳에 태그의 주인이 누구인지 적혀있다.

예를 들어 WDK를 설치했다면,
C:\WinDDK\7600.16385.1\Debuggers\triage\pooltag.txt 와 같은 경로가 될 것이다.

C:\>pooltag -g C:\WinDDK\7600.16385.1\Debuggers\triage\pooltag.txt

pooltag를 실행할 때 이렇게 뒤에 인자를 넣어주면 풀태그 애플리케이션이 텍스트 파일을 파싱해서 UI에 함께 보여준다.

참고로 논 페이지드 풀은 32비트 운영체제에서 물리메모리의 75%나 2GB중 작은 값만큼 최대로 할당할수 있으며, 64비트 운영체제에서는 물리 메모리의 75%나 128GB 중 작은 값 만큼 할당할 수 있다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/162 관련글 쓰기

submit
superuser.comserverfault.com에 이어 stackoverflow.com에도 채팅기능 추가되었다.

플러그인도 요구되지 않고 어떤 브라우저에서나 채팅을 할 수 있는데다가 약간의 스마트 에디팅도 지원되기 때문에 아주 편리하다.

모르는 것도 물어보고 영어 공부도 쉽게 할 수 있으니 1석 2조 아닌가?

한번 구경하러 가보자.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/157 관련글 쓰기

  1. stackoverflow.com -최고의 프로그래밍 질문/답변 사이트
    // 김재호의 디지털보단 아날로그 2010/10/24 11:36 x
  2. Stackoverflow.com에서 탑랭커들의 답변만 피드로 받아보기
    // 김재호의 디지털보단 아날로그 2010/10/24 11:36 x

submit
ReactOS의 새로운 버전이 1년여 만에 릴리즈 되었다.

윈도우즈를 공부하는 사람들에게 이 정도 수준의 참고할만한 프로젝트가 또 있을까.

리버싱 지식이 전혀 없는 나로서는 윈도우 내부가 궁금할 때마다 항상 ReactOS의 코드에서 답을 찾고는 하는데, 이는 정말 많은 도움이 된다.

혹시 이런 프로젝트를 아직까지 모르고 있었다면 당장 코드를 다운받아서 몽땅 태깅해놓고 필요할 때마다 살펴보자.

아직은 구현이 안된 코드들도 상당히 많은데, 빨리 빨리 발전해서 더 많은 코드들을 참고할 수 있었으면 좋겠다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/156 관련글 쓰기

submit
한달 쯤 전에 집에서 사용하는 PC를 새로 교체했다.
다른 PC 부품들에 대해서는 별로 욕심이 없는 편인데, 램에는 조금 욕심이 있다.

이제 PC용도 4G짜리 램이 나와서 4G짜리 램 2개를 구입했다. 메인보드는 그래픽 기능이 내장되어 있고 램 슬롯은 2개가 달려있는 아주 싼 저가형 보드를 구입했는데, 그래픽 카드나 비싼 메인보드 값 대신 램에 투자했다고 할 수 있겠다.

기존에 사용하던 PC보다 램이 조금 더 충족해지면서, 1~2기가 정도는 램디스크로 써볼까 하는 생각이 들었다.

램디스크를 설정하기 전에 몇 가지들을 검색해보니, 사람들은 주로 웹브라우저의 임시 파일을 캐시하는 용도로 많이들 사용하고 있었다.

윈도에서는 램디스크를 설치하기 위해 따로 프로그램(램디스크 드라이버)을 구해야 하지만 리눅스에서는 아주 간단하게 설정할 수 있다.
/tmp는 컴퓨터를 껐다켜면 지워지는 장소이므로 리눅스에서 램디스크로 잡아 쓰기에 적당한 곳이라고 할 수 있다.

/etc/fstab 파일을 연 뒤 다음 한 줄을 추가해주면 된다.
ramdisk  /tmp  tmpfs  mode=1777,size=1g

재부팅하면 /tmp가 1기가바이트 크기로 마운트 된다.
이 위치에 실제로 파일 복사등을 해보면서 dstat 같은 유틸리티로 I/O 를 살펴보면 램디스크로서 잘 동작하고 있음을 확인할 수 있다. -똑같은 파일을 또 복사하면 캐시에서 읽어오는 것에 유의해서 확인해야 한다.

웹브라우저가 이 곳을 캐시 저장소로 사용하게 하기 위해서는 브라우저의 캐시위치를 이 위치로 변경해주어야 하는데 구글 크롬을 사용하고 있다면 바탕화면 아이콘을 우클릭해서 속성을 열어 다음처럼 편집해주면 될 것이다.

/usr/bin/chromium-browser %U --disk-cache-dir="/tmp"

이제 원하던대로 웹의 리소스들이 디스크에 쓰여지지 않고 램에 저장된다.
웹페이지에 새로 들어갈 때마다 /tmp의 용량이 조금씩 늘어난다. 잘 동작하는 것 같고 끝내주게 빠른 것 같은 느낌이다.

그렇다면 실제로도 엄청난 속도 변화가 있었을까? 아니다. 그냥 원래 속도와 비슷하다.

웹에서 리소스를 다운로드 받을 때는 램디스크에 저장하던지 하드 디스크에 저장하던지 속도가 똑같다. 램의 쓰기 속도가 하드 디스크보다 훨씬 빠르기는 하지만, 네트워크에서 데이터가 한없이 느리게 읽혀지는데 어떻게 빨리 쓴단 말인가.

일단 한 번 캐시 해두었다면, 그 리소스를 다시 읽을 때는 램디스크에서 읽는 것이 물론 훨씬 빠르다. 컴퓨터를 껐다켜기 전까지는 계속 약발이 통한다. -물론 램디스크 드라이버가 언로딩 되기 직전에 하드디스크로 복사해줄 수도 있지만 이것도 부팅속도나 셧다운이 많이 느려지는 단점이 있다. 램디스크는 램처럼 쓰는 것이 어울린다.
그럼 하드 디스크의 경우에는 램디스크보다 항상 느리냐하면 그것도 아니다. 운영체제가 I/O를 할 때 캐시를 잘 해주기 때문에 최근에 사용된 많은 데이터들이 램 상에 올라가있고 실제로는 디스크 I/O를 하지 않고 램에서 읽는다.

그럼 컴퓨터를 껐다 다시 켜게 되면?
애써 받아놓았던 램디스크의 임시 인터넷 파일들이 날라가고 다시 다운로드를 받아야 한다.
그래서 커다란 용량의 트위터 바탕화면을 사용하는 페이지 같은 곳에 가면 이미지가 새로 다운로드 받아지는 것을 눈으로 확인할 수 있다. 그냥 하드디스크에 저장했으면 다운로드는 다시 안받아도 됐을텐데 말이다.

램디스크를 사용해서 웹서핑을 할 때 미친듯한 속도를 느끼고 있다는 글들이 많이 봤는데, 그들은 도대체 어떻게 속도가 빨라진건지. 내가 모르는 뭔가가 있는것인지 궁금하다.

리눅스의 경우에는 많은 프로그램들이 임시파일을 생성하여 작업할 때에 관례적으로 /tmp 위치에서 한다. 이런 애플리케이션들이 많으면 많을수록 /tmp 를 램디스크로 잡아 놓은 것이 더욱 효과가 있을 것이다.
하지만 용량을 얼마로 잡을것인지가 고민인데, 너무 크게 잡으면 안쓰는 램이 예약되어 버리는 것이 아깝고, 또 너무 작게 잡으면 애플리케이션들의 구현에 따라 오동작 할 수가 있기 때문에 찜찜하다. 잘 만들어진 애플리케이션이라면 I/O할 공간이 없는 것을 알고 메세지를 보여주는 등 예외처리를 시도하겠지만, 그렇지 않은 프로그램들도 참 많다. 이럴 경우에 사용자는 문제의 원인도 찾지 못하고 골탕만 먹게 될 수가 있다.

램디스크를 몇 일 사용해본 후, 나는 운영체제가 그냥 자연스레 캐시로 사용하게 하는 것이 훨씬 낫겠다 싶어서 다시 램디스크 설정을 제거해버리고 말았다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/152 관련글 쓰기

  1. Favicon of http://sisioo.tistory.com/ BlogIcon 장영희 at 2010/11/01 18:25 [edit/del]

    적당한 삽질이였 네요~ ㅎㅎ

    머 컴터 껐다 켜도 남아 있다면........ 음.. 게임 할땐 좀 어떨라나.. 테스트는 게임을 통해서...

    Reply
    • Favicon of http://www.petabytes.org BlogIcon 김재호 at 2010/11/01 19:32 [edit/del]

      컴터 껐다 켜도 남아있게 리부팅될 때 디스크로 복사해주는 드라이버들도 있을꺼야. 난 그런 것은 쓰기 싫지만. 램디스크에 올라가는 데이터는 지워져도 상관없을 임시 데이터여야 제 맛이지.

  2. kkkkjul at 2010/11/10 17:26 [edit/del]

    그럴리가 없을텐데.... 제가 윈도우 환경 넷북에 램디스크써서 인터넷하는데 데탑보다 더빠른기분 들만큼 빠르거같앗는데요.. 물론 한번들어간사이트에서 빠르지요.. 그래서 ssd가진리에요 ㅎㅎ

    Reply
  3. kafka at 2010/11/14 19:08 [edit/del]

    전 익스플로러, 크롬 캐시파일 램디스크로 옮기면서 엄청난 속도 차를 느꼈는데, 사람마다 다르나 보네요.

    Reply
  4. gigi at 2010/11/14 21:57 [edit/del]

    램디스크 저장기능사용하고 크롬및 캐시점부 램디스크로 사용하면 웹브라이저로딩부터 서핑이 확실히 빨라집니다...다만 컴퓨터 부팅과종료가 약간 느려지고여...이것저것 다해보다 전 후자가 싫어서 램디스크에 임시파일과 임시 인터넷파일만 사용합니다.지워져도 상관없고 정리할필요없이 컴터부팅하면 알아서 사라져주니~

    Reply
  5. gwangyi at 2011/11/02 06:17 [edit/del]

    사실 리눅스라 그런 것 같아요. 윈도에 비해서 리눅스가 파일 시스템을 캐쉬하는 양이 훨씬 큰거 같더라구요...

    Reply
  6. 지나가다 at 2012/09/17 10:19 [edit/del]

    신형 컴퓨터로 램디스크 잡는것은 바보같은 짓이죠. 구형 컴퓨터로 일정량 램디스크 잡는것은 좋으나 용량적 한계가 있어서 말씀하신 부분이 찜찜하죠.
    인터넷 서핑 위주의 컴퓨터라면 램디스크 해놓아도 좋습니다.

    Reply

submit
stackoverflow.com은 프로그래밍에 관한 질문을 하기 위한 내가 아는 최고의 사이트이다.

나는 이 곳을 알게된 후부터 궁금한 것이 있을 때마다 종종 질문하고는 하는데, 답변들이 너무 훌륭해서 아주 많은 것들을 배웠다.

50K 이상의 뱃지를 달고 있는 사람들은 거의 전설급들인데, 도대체 이 사람들이 모르는게 뭐가 있을까 하는 정도의 지식을 가지고 있다.

나는 이들의 답변을 받으며 감탄하면서, 내가 질문하는 것말고도 이 사람들의 답변을 몽땅 읽어보면 많은 것들을 배울 수 있겠다 생각이 들었다. 스택오버플로우는 사용자 별로 피드를 제공하긴 했지만, 불행히도 답변 뿐만이 아니라 미친듯이 많은 그들의 코멘트까지도 딸려내려와서는 나를 괴롭혔다.

오늘 집에서 놀면서 직접 피드를 파싱해볼까 하다가 누군가가 이미 잘 만들어놓은 매시업 애플리케이션을 발견했다.

http://stack2rss.stackexchange.com/{site}/users/{ID}/answers?body=true
위와 같은 형식으로 피드의 URL을 만들 수 있다.

예를 들어, 스택오버플로우 최고의 탑 랭커이자 C# in depth를 저술한 Jon Skeet의 답변 피드는 위의 주소로 받아볼 수 있다.

{site} 위치에는 물론 stackoverflow말고도 serverfaultsuperuser 등이 들어갈 수도 있다.

HansJaredPar 같은 사람들은 주로 C/C++을 이용한 윈도우 프로그래밍에 대한 완벽한 답변들을 제공한다. -요즈음에는 .NET 쪽 답변을 더 많이해줘서 좀 서운하긴 하다.
아래는 그들의 답변 피드 주소이다.

Hans Passant

Jared Parsons - 마이크로소프트에 다니며, VsVim 을 만들기도 했다.

아참, 아주 재밌는 사실 중 하나는 C++의 창시자인 비야네도 스택오버플로우에서 답변을 한다는 것이다. - 단 한번 뿐이었지만.
믿기 힘든가? 한 번 확인해보라.


저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/149 관련글 쓰기

  1. stackoverflow.com -최고의 프로그래밍 질문/답변 사이트
    // 김재호의 디지털보단 아날로그 2010/09/20 20:50 x
  2. 강력 추천! Stackoverflow.com
    // 남정현의 클라우드 & 닷넷 블로그 @rkttu 2010/09/28 09:01 x
  3. stackoverflow.com에 채팅 기능 추가
    // 김재호의 디지털보단 아날로그 2010/10/24 11:35 x
  1. Favicon of http://mastojun.net BlogIcon mastojun at 2010/09/22 21:59 [edit/del]

    좋은거 배워갑니다 ^.^)!

    Reply

submit

Vim 7.3 released!

2010/08/16 12:50 | Softwares
오랜 기다림 끝에 Vim 7.3릴리즈 되었다.
새로 추가된 기능은 다음과 같으며 수많은 버그들이 수정되었다고 한다.

The most notable additions since 7.2: 
- Persistent undo and undo for reload 
- Blowfish encryption, encryption of the swap file 
- Conceal text 
- Lua interface 
- Python 3 interface 

Enjoy Vim!
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/145 관련글 쓰기

  1. at 2010/09/01 17:35 [edit/del]

    비밀댓글입니다

    Reply

submit
이제는 마이크로소프트에 흡수된 구 Sysinternals가 만든 여러 유용한 툴 중 Process Monitor는 내가 가장 좋아하는 툴이다.
많은 사람들이 Process Explorer만을 사용하는데, 아마도 Process Explorer의 직관적인 사용자 인터페이스 덕분이리라.
Process Monitor는 잘 사용하려면, 툴에도 익숙해져야 하지만 Windows API를 많이 알고 있어야 하기 때문에 개발자가 아닌 QA팀 같은 곳에서는 사용하기 힘들다.
하지만 프로세스가 수행하는 모든 동작들을 잡아채서 보여주기 때문에 어떤 응용프로그램을 분석할 때 유용한 많은 정보들을 얻어 낼 수 있다.

DbgView 또한 우리 개발자들이 디버깅 할 때 많이 사용하는 애플리케이션 중 하나다. 응용프로그램이나 디바이스 드라이버에서는 OutputDebugString이나 DbgPrint 같은 함수로 로그를 작성한 후 이 툴을 통해서 프로그램의 상태를 추적하고는 한다.

파일 시스템 필터드라이버를 만들게 되면 이 두가지를 같이 병행하고 싶은 경우들이 생길 수 있다.
응용프로그램들이 어떤 Irp를 보내는지를 모니터하고, 내 필터 드라이버는 어떤 동작을 하는지를 함께 보고 싶은 것이다.

두가지 툴을 번갈아 가면서 쳐다보는 일은 순서를 제대로 예측하기가 어렵기 때문에 정말 열받는 일인데, 이번에 프로세스 모니터에서 이런 기능을 해결하기 위한 인터페이스가 하나 추가되었다.

이 아이디어는 디버깅 애플리케이션으로 유명한 존 로빈스생각해내고 제안했는데, 현재 MS 최고의 프로그래머 중 하나인 마크 루시노비치를 자신의 꼬붕 프로그래머라고 농을 치는 것이 너무 웃긴다.

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 함수를 통해 인터페이스 할 수 있도록 기능을 제공해주었고, 최신버전의 프로세스 모니터를 보면 도움말에서 아래 코드를 찾아볼 수 있다.

#define FILE_DEVICE_PROCMON_LOG 0x00009535
#define IOCTL_EXTERNAL_LOG_DEBUGOUT (ULONG) CTL_CODE( FILE_DEVICE_PROCMON_LOG, 0x81, METHOD_BUFFERED, FILE_WRITE_ACCESS )

int main( int argc, char * argv[] )
{
  HANDLE hDevice = CreateFile( L"\\\\.\\Global\\ProcmonDebugLogger", 
                       GENERIC_READ|GENERIC_WRITE,
                       FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,
                       NULL,
                       OPEN_EXISTING,
                       FILE_ATTRIBUTE_NORMAL,
                       NULL );

  if ( hDevice != INVALID_HANDLE_VALUE ) {
    WCHAR text[] = L"Debug out";
    DWORD textlen = (_wcslen(text)+1) *sizeof(WCHAR)
    DWORD nb = 0;

    BOOL ok = DeviceIoControl( hDevice,
               IOCTL_EXTERNAL_LOG_DEBUGOUT, text, textlen, NULL, 0, &nb, NULL );

    if ( ok ) {
      printf( "wrote %d\n", i );
    } else {
      printf( "error 0x%x\n", GetLastError() );
    }
  } else {
    printf( "error %d opening Process Monitor\n", GetLastError() );
  }
  return 0;
}
존 로빈스는 .NET과 C/C++에서 좀 더 편하게 사용할 수 있는 Wrapper 코드를 만들어서 올려놓았다.
커널 드라이버에서 사용하고 싶다면,
ZwDeviceIoControl
ZwDeviceIoControlFile 함수를 통해서 직접 Wrapper를 작성해야 한다. 존도 이제는 늙어서 커널 코드는 만들어주기가 귀찮은가보다.


이런 식으로 애플리케이션이나 드라이버에서 프로세스 모니터에게 직접 디버그 메세지를 보낼수가 있다.

기존에 OutputDebugString이나 DbgPrint로 찍은 함수를 Process Monitor가 잡아채서 찍어주는 것이 아니고, 우리가 직접 커스텀 함수를 호출해야만 로그 메세지를 보낼 수 있는 것에 주의하자.
즉, 꽁짜로 얻을 수 있는 것은 아니고 기존에 사용하던 애플리케이션이나 드라이버의코드를 고쳐야 한다는 것.(래퍼 함수를 작성하고, 필요한 곳에서 호출하는 만큼의 비용은 지불해야 한다.)

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/141 관련글 쓰기

submit

SyntaxHighlighter 3.0.83

2010/08/07 00:33 | Softwares
SyntaxHighlighter
SyntaxHighlighter는 웹브라우저 상에서 코드가 예쁘게 포맷되고 하이라이팅 되어 보여지도록 만들어주는 유틸리티이다.

며칠 전에 텍스트큐브에서 티스토리로 이사를 했는데, 기존에 사용하던 코드 하이라이터가 다 깨져버려서 새로 설정을 해주어야만 했다.
텍스트큐브에서는 SyntaxHighlighter가 내장되어 있어서 HTML 태그를 직접 사용하지 않고도 쉽게 코드조각을 껴넣을 수 있어서 참 편했는데 티스토리에서는 직접 설치를 하고 설정을 해주어야만 한다.

빌어먹을 귀찮은 짓을 또 해야하는 군 이라고 생각하면서 SyntaxHighlighter 페이지를 가봤는데 3.0 버전이 나와있는 것이 아닌가. 텍스트큐브에서 쓰던 엔진은 아마 2.0 이었을 것이다.

3.0에서는 설치 방법이 조금 더 쉬워졌고, 사용자 입장에서 코드 조각을 이전보다 더 쉽게 복사할 수 있게 되었다.

 
/************************************* 
    Multiline block comments
 **********************************/
 
$stringWithUrl  = "http://alexgorbatchev.com";
$string         = 'hello world!';
 
ob_start("parseOutputBuffer");      // Start Code Buffering
session_start();
 
function parseOutputBuffer($buf) {
    global $portal_small_code, $portal_gzcompress;
    global $PHP_SELF, $HTTP_ACCEPT_ENCODING;
 
    // cleaning out the code.
    if($portal_small_code && !$portal_gzcompress) {
        $buf = str_replace("    ", "", $buf);
        $buf = str_replace("\n", "", $buf);
        $buf = str_replace(chr(13), "", $buf);
    }
}

티스토리에 설치하는 방법은 다른 블로그들에서 이미 정리해놓았으니 참고하면 된다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/140 관련글 쓰기

submit
원래 파이어폭스는 내가 가장 좋아하던 브라우저였는데, 크롬 개발자 버전 4.0이 나올 때부터 쯤인가 조금씩 조금씩 크롬을 더 많이 사용하기 시작했다. 그래서 이제는 항상 크롬만 쓰는데, 미친듯이 빠른 이 속도는 어느 브라우저도 따라올 수가 없다.

크롬이 3.0부턴가 확장 플러그인을 지원 하면서부터 많은 플러그인들이 개발되기 시작했다.
내가 가장 좋아하는 것은 vimium인데 vim의 키 바인딩으로 브라우징 할 수 있도록 해준다.

vim을 좋아하는 사람이라면 누구라도 좋아할 수 밖에 없을 것이다.

  • 현재 페이지에서 링크 따라가기.
  • 새 탭으로 링크 따라가기.
  • 위 아래로 이동. 앞 뒤 탭으로 이동. 앞 뒤 페이지 등으로 이동.
  • 탭 닫기. 닫은 탭 다시 복구하기.
  • 빠른 검색.

자주 쓰는 이런 기능들을 모두 키보드로 조작할 수 있다. vim이 그렇듯이 처음쓰면 어색하지만 점점 편리해질 것이다.




잘 만들어진 프로그램은 어디에 가져다 붙혀도 척척 잘 들러붙나보다.

VS2010에서는 VC개발자들에게 큰 변화가 있었는데, 그것은 단연 C++0x이다.
하지만 그만큼이나 욕심나는 것은 아주 쉽게 vim을 붙여서 쓸 수 있다는 것이다.

vsvim이라는 프로젝트가 있는데, 마이크로소프트에서 일하는 누군가가 혼자서 만들었으며 VS2010을 사용한다면 갤러리에서 무료로 다운받아서 쉽게 사용해볼 수 있다. 꼭 VS2010이상을 사용해야만 한다.

충돌나는 키들이 꽤 많기 때문에 자신의 선호에 맞게 잘 정리해줘야 할 것이다.
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/139 관련글 쓰기

submit
나는 디바이스 드라이버를 개발할 때, 마이크로소프트의 Prefast for drivers 를 몹시 애용한다.
내가 미처 생각하지 못했던 실수들을 잘 발견해서 가르쳐주기 때문에, 나는 코딩할 때는 항상 경고레벨을 최고로 둠과 동시에 빌드시마다 Prefast 를 자동으로 실행시켜서 경고가 발생했는지 확인하고는 한다.

이렇게 함으로써 버그를 잡을 수 있을 뿐 아니라 코드를 조금 더 정교하고 튼튼하게 만들수 있고 여러 좋은 습관들까지 몸에 배이도록 할 수있다.
이것은 거의 공짜로 주워먹는 큰 이득이기 때문에, 쓸만한 정적 분석툴을 가지고 있다면 무조건 적용시키는 것이 좋다.

나는 Prefast를 유저모드에서도 사용할 수 없을까 찾아보다가 해결책을 찾지 못하고 cppcheck라는 다른 툴을 알아보게 되었다.

cppcheck는 멀티 플랫폼에서 사용할 수 있도록 만들어졌고 오픈소스이며, 분석 능력도 그럭저럭 만족스럽다.
어떤 것들을 분석해주는지는 웹사이트에 잘 나와있으며, 안 읽어보더라도 조금 쓰다보면 금방 알게된다.

GUI 버전으로 실행할 수도 있고, 콘솔 프로그램만으로도 결과를 얻을 수 있는데 나는 Visual Studio의 External Tools 기능을 이용해서 콘솔 프로그램만을 구동시킨다.


위 처럼 적어넣으면 내가 원할 때마다 한번씩 쉽게 분석 작업을 수행할 수 있다.
빌드 후 이벤트에 넣어서 매 빌드마다 실행되게 할 수도 있지만, 모든 프로젝트에 각각 적용시키려면 귀찮은 짓을 많이 해야한다.

External Tools 는 전역 기능이기 때문에 한번만 적어놓으면 가지고 있는 모든 VC 프로젝트에서 바로 사용이 가능하다.

나는 비주얼 스튜디오 아웃풋 윈도우로 출력을 돌리도록 설정하고 사용하는데, 이렇게 할 때는 --template vs 옵션을 주는 것이 좋다.
이 옵션을 넣으면 더블클릭을 통해 해당 소스 코드 위치로 바로 이동할 수 있도록 메세지를 다시 포맷팅 해서 출력해준다.

정말 쓸데없는 경고는 disable 시켜야 하는데, 편리하고 정교하게 disable 시킬수 있는 인터페이스가 아직 없다. 이런 것들은 앞으로 더 개선될 것으로 기대한다.

기존에 이런 종류의 컴파일러 경고들에 무심했었다면, 미친듯이 쏟아지는 경고메세지를 보고는 바로 이 짓을 때려칠지도 모르겠다.

"도대체 누가 경고레벨을 최대로 올리고 코딩을 해?"
"이런 경고 메세지들은 다 쓸데없는 것들이야. 코딩 잘하는데는 도움이 하나도 안돼"

이런 썩어빠진 마음가짐은 빨리 버려야 한다.
자신이 짠 코드에서 경고가 우르르 쏟아져나온다면 분명히 문제가 있는 것이다.

공짜로 얻을 수 있는 이득을 좋아한다면 한번씩 시도해보자.
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/137 관련글 쓰기

  1. 지나리 at 2010/08/06 23:34 [edit/del]

    와우 끝내주는군요. 잘 보고갑니다 ㅎㅎ

    Reply
  2. Favicon of http://nyolong.egloos.com/ BlogIcon 뇨릉 at 2010/08/11 20:23 [edit/del]

    저도 Warning 레벨 4에 경고를 에러로 처리하도록 해놓고 하곤 하는데요.
    에러 메시지에 당황하는 분들도 계시더군요.
    아직까지 정적코드분석툴은 안써봤었는데 이제 써봐야 겠습니다.

    Reply
    • Favicon of http://www.petabytes.org BlogIcon 김재호 at 2010/08/11 21:46 [edit/del]

      네, 경고를 에러로 처리하고 계신다면 정적분석툴도 틀림없이 좋아하실꺼에요. Visual Studio Team Suite 이상 버전 부터는 정적분석기가 내장되어있습니다.

  3. 곽재상 at 2011/03/21 16:31 [edit/del]

    자바 소스 분석툴 찾다 보니 구글에 낯익은 이곳까지 오게 되네요 ㅋㅋ 올때마다 홈페이지 UI가 계속바뀌네요?? 잘 보고 가요~~

    Reply
    • Favicon of http://www.benjaminlog.com BlogIcon 김재호 at 2011/03/21 21:37 [edit/del]

      그래 재상아. 검색해서 오지 말고 종종 놀러와. 크크^^
      영신이 회사 얼마전에 서울대입구로 옮겼더라. 같이 또 저녁밥이나 먹자구.

submit

stackoverflow.com은 프로그래밍 전문 Q/A 사이트이다.

조엘 온 소프트웨어로 우리에게 아주 친숙한 조엘Coding horror제프가 함께 만든 사이트인데, 정말 신선하고 많은 가치를 가진 사이트이다.

이 사이트는 완전히 무료인데, 만일 이전에 프로그래밍 관련 검색을 하다가 experts exchange 같은 유료 사이트를 보고 열 받은 적이 있다면 스택오버플로우를 사랑하게 될 것이다.

프로그래밍에 관련된 질문은 어떤 것이든 할 수 있는데, 질문을 올리고나서 잠시 기다렸다가 새로 고침 한 번 하고나면 답변이 올라와 있을 정도로 빠른 답변을(그리고 훌륭한) 얻을 수 있다.

이 사이트는 아주 훌륭한 시스템으로 돌아가는데, 국내에도 이런 사이트가 있다면 프로그래머들이 정말 좋아할 것이다. 나는 국내 사이트 중에서는
KLDP
KLDP
가 가장 수준있고 괜찮은 사이트라고 생각하는데, 만일 스택 오버플로우의 대안 사이트가 생긴다면 아마 그 곳을 더 좋아하게 될 것 같다.

사이트를 이용하기 위해서 다음의 몇가지를 숙지하고 있다면 좋을 것이다.

1. 네트워크, 서버, PC 관리등의 질문은 스택오버플로우가 아니라 Server Fault라는 자매사이트에 물어본다.
소프트웨어 또는 하드웨어 트러블 슈팅등은 Super User에 물어본다.
HTML/CSS 는 Doctype에 물어본다.

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.

결국 가진 모든 시간을 프로그래밍에 투자하라는 내용인데 어떻게 보면 섬뜩한 내용 이기도 하지만, 한 편으로는 참 멋지다는 생각도 든다.
단, 아무리 프로그래밍을 사랑하더라도 소개팅 같은 곳에 나가서는 절대로 저따위 얘기를 해서는 안될 것이다.
크리에이티브 커먼즈 라이선스
Creative Commons License

http://www.benjaminlog.com/trackback/120 관련글 쓰기

  1. 조엘 스폴스키의 강연 (StackOverflow.com)
    // 아안리양랑 2010/03/19 12:48 x
  2. 강력 추천! Stackoverflow.com
    // 남정현의 닷넷 블로그 2010/03/19 13:18 x
  3. Stackoverflow.com에서 탑랭커들의 답변만 피드로 받아보기
    // 김재호의 디지털보단 아날로그 2010/09/20 20:50 x
  4. stackoverflow.com에 채팅 기능 추가
    // 김재호의 디지털보단 아날로그 2010/10/24 11:35 x
  1. Favicon of http://decoder.tistory.com BlogIcon decoder at 2010/03/19 00:35 [edit/del]

    무료할 때 올라오는 질문/답변을 읽다 보면 시간도 훌쩍 가더군요. :-)

    Reply
  2. 김군 at 2010/10/21 12:26 [edit/del]

    궁하면 통한다고 하더니, 정말 좋은 정보 얻습니다.

    개발 관련 제대로 된 커뮤니티를 찾으려고 여기저기를 찾고 있었거든요.
    영어에 대한 장벽(?)이 있을 거라고 미리 겁을 먹지만, 영어도 공부하는 중이라 시간이 해결해 줄 것 같습니다.

    감사합니다.

    Reply
  3. Favicon of http://codeflow.co.kr/ BlogIcon Codeflow at 2013/09/11 16:40 [edit/del]

    안녕하세요! 검색을 통해 방문하게 되었습니다.
    Stackoverflow.com 의 장점을 그대로 가져온 한국어 사이트 Codeflow를 소개합니다.

    만들어진지 얼마 안 된 개발 관련 Q&A 사이트입니다 :) 한 번 들러주세요~
    http://codeflow.co.kr/

    Reply

submit