이 문제 아시는 분, VS2005에서 F5키 눌러 디버깅 시작하면서…

오늘 오전부터 말썽이던데, 지금까지 해결이 않됩니다. 기존에 깔린 VS2005, VS2008 모두 지우고 VS2005만 다시 깔았는데, 해결이 않되네요. VS만 다시 깔면 해결될줄알았는데… 문제는 이렇습니다.

F5를 눌르면 컴파일은 아주 잘됩니다. 그리고 실행이 될때, 즉 디버깅 모드로 진입할때 VS의 IDE 하단의 상태표시줄에…

C:\Windows\System32\gdi32.dll에 대한 기호를 로드하고 있습니다…
C:\Windows\System32\advapi32.dll에 대한 기호를 로드하고 있습니다…
.
.
.
C:\Windows\System32\kernel.dll에 대한 기호를 로드하고 있습니다…
.
.
.

이 계속 표시되는데, 문제는 이 기호 로드의 각 단계의 소요시간이 대략 1,2분정도 걸립니다. 이게 끝도 없이 계속됩니다. 디버깅을 할 수가 없네요. 구글링을 통해 검색해봐도 별다른 수가 없고.. Windows를 밀고 다시 설치를 해야하나….. 싶은 결론이 듭니다. 혹시 원인 아시는 분?

[소천] 나를 키운건 8할이 독서

다행이 저는 책읽기를 싫어 하지 않기는 한데, 요즘 도통 어떤 종류의 책을 읽어야할지 답답합니다. 영어도 해야하고, 제 전문 분야의 기술서적도 봐야하고… 삶의 따뜻한 여유를 느낄 수 있는 교양서적은 물론이거니와, 재테크관련 서적 그리고 처세술과 같은 책도 읽어야할텐데… 도통 갈피를 잡지 못하고 있습니다. 아래의 글, 사랑밭새벽편지(m-letter.or.kr)에서 보내준 “나를 키운건 8할이 독서”라는 글을 보고, 어떤 책을 읽을지 고민할 시간 조차도 낭비하지 말고… 지금 당장 손 닿는 곳에 있는 책을 읽자라는 생각이 듭니다. 여러분도 한번 읽어보시고… 공감하셨으면 합니다.

그릇에도 무엇이 담겼느냐에 따라
그 그릇이 달라짐과 함께
많이 담겨야 많이 나올 수 있는 것과
같이 사람에게도 많은 정보나 지식을
습득해야 언제나 필요에 따라 적절히
사용되어 질수 있습니다.

저는 어린 시절에는 강감찬 장군,
김구 선생, 이순신 장군, 링컨 나이팅게일 등
위인전집을 좋아하였고,
중고등학교 시절에는 수필집을 좋아하였으며,
30대에는 돈 버는 비결에 대하여
한참 책을 읽다가 근래에 와서는
인생에 대한 글이나 삶의 애환에 대하여
많이 읽게 됩니다.

책을 읽은 결과,
무엇보다도 자신감이 생기고 삶에 대하여
용기가 생기며 무엇이라도 못하겠다는 생각보다는
할 수 있다는 자신감이 생기며
더없이 감정의 폭이 넓어져 이해심이
많아지는 것을 느낄 수 있습니다.

도무지 책을 읽기 싫어하는 사람들은
자연스레 이와 반대되는 것이 아니겠습니까?

소천

웹서비스와 퍼포먼스

원래 출처는 http://blog.naver.com/kaizer0720/80042740822 이며, 웹서비스가 바이너리 데이터 전송에 적합한지에 대한 의문점과 적합하지 않다면(적합하지 않다고 짐작했기에) 그 해결방안이 무엇인가에 대해 검색을 하다가 찾은 글입니다. 일반적으로 쉽게 이해할 수 있는 글인데요, 그중에 퍼포먼스에 대한 부분만 간단하게 나름대로 정리해 간추렸습니다.

웹서비스와 퍼포먼스

웹서비스는 SOAP 프로토콜을 사용하므로 SOAP 포로토콜이 가지고 있는 문제를 그대로 가지고 있다고 할 수 있습니다… 해서, SOAP 패킷에 대한 SOAP Envelope에 대한 압축을 푸는 시간과 SOAP이 사용하는 데이터 표현인 XML에 대한 파싱에 매우 많은 시간이 소모됩니다. 이를 정리하면…

  • SOAP 패킷에서 SOAP Envelope에 대한 압축을 포는 것에 많은 시간이 소모된다.
  • XML 파서를 이용하여 SOAP Envelope에 있는 XML 파싱에 많은 시간이 소모된다.

또한 앞에 언급한 XML은 실제 데이터를 기술하는 메타 데이터(Tag Element)가 붙음으로 중복적이며 비효율적이며 최적화에 대한 여지가 매우 적습니다.

특히 앞서 언급한 바이너리 데이터의 경우 SOAP은 원래의 하나의 바이트가 표현할 수 있는 256개(ASCII 코드의 개수)를 XML이라는 텍스트 포맷으로 표현하기 위해 화면상에 표현할 수 있는 것들로만 간추린 64개의 문자로 인코딩을 함으로써 원본의 크기보다 4배로 커지게 된다는 극심한 문제점이 발생합니다. 즉, 데이터의 크기가 커진다는 문제와 64개의 문자로 인코딩하는 연산이 필요로 합니다. 마찬가지로 이러한 문제는 서버측에서만 발생하는 것이 아니라 클라이언트 측에서도 4배로 커진 데이터를 받아 다시 원본으로 디코딩해줘야 합니다. 이를 정리하면…

  • 서버측에서 바이너리 데이터에 대해서 Base64로 인코딩하는 연산이 필요하다.
  • 인코딩 결과 원본의 크기에 대해 4배로 커진다.
  • 클라이언트 측에서 서버가 보낸 데이터를 다시 디코딩하는 연산이 필요하다.

그렇다면 이에 대한 해결책이 무엇일까.. 고민하게 됩니다. 실망스럽게도… 바이너리 데이터에 대한 Base64 인코딩 결과를 압축을 해서 데이터의 크기를 줄여 클라이언트로 보내라는 것이 전부입니다. 그렇다면 데이터의 크기는 줄어드는 장점은 있으나… 서버측에서 데이터를 인코딩하고 다시 압축한 후에 클라이언트로 전송하여 클라이언트에서 압축을 풀고 데이터를 디코딩하는 복잡한 연산을 필요로 하게됩니다. 사실 SOAP의 Envelope에 대한 문제점은 무시하고라도 인코딩과 디코딩.. 그리고 원본보다 4배(평균) 커진다는 문제점이 가장 염려스러운 부분이긴 합니다.

대용량 또는 작은 용량의 바이너리 데이터 전송에 웹서비스가 접합한 기술인지… 여러분은 어떻게 생각하십니까?

내 코드는 걸레다, 개선을 위한 강한 자극이 필요하다.

문득.. 내 코드가 걸레로 보인다. 기분 탓일 수도 있겠지만.. 예전에 오픈소스로 공개한 코드를 살펴봤을때의 그런 일목요연하고 간결하며 체계적인 느낌이… 내가 작성한 코드에서는 느껴지지 않는다.

개발에 대한 체계적인 교육을 받지 못한 이유일까… 어쩌면 요즘 넘쳐대는 버그로 인해, 아직은 그 원인을 알지 못하는 이유로.. 코드가 전반적으로 꼬여있다라는 선입견 때문일까…

요즘에는 C++에 대한 감이 많이 상실된 느낌이다. 매일같이 사용하는 언어인데 말이다. 매일같이 바쁘게 사용하다보니, 늘 쓰는 것만 쓰게된다. 분명 어디선가 더 좋은 문법과 구문이 있다는 것을 알고 있음에도.. 비효율적이기는 하지만, 그냥 전에 썼던 방식대로 해 나간다. 그러다보니 전에 알고 있던 중요한 문법과 구문도 쓰지 않으니 기억속에서 희미하게 잊혀져간다.

정도(옳바른 길)을 걷지 못하고 있다는 느낌이다. 먼가 자극이 필요하다. 배움이 필요하다. 정도(옳바른 길)로 가는 깨닭음이 절실히 필요하다….