목록전체 글 (164)
Pure Software Engineer :)
Google app engine 을 사용하여 hello world를 한번 찍어보자. 언어는 python으로 결정했고, OS는 ubuntu 12.04를 사용했다. 설치 프로그램1. python2.72. google app engine SDK for python 다운로드 1. python2.7 다운로드// python에서 zlib 모듈을 설치하기 위한 패키지sudo apt-get install dpkg-dev// python에서 sqlite3 모듈을 설치하기 위한 패키지sudo apt-get install libsqlite3-devcd python2.7./configuremakesudo make install 2. Helloworld sample 작성아래 가이드를 참고하여 작성 3. web server 실행..
Youtube를 통해 코딩 관련 검색하다가 재미있는 동영상 발견! 10분만에 코딩이라... 다른사람 코딩 어떻게 하는지 궁금해서 재미있게 봤다. 화면 배속을 빠르게 해서 10분이지. 댓글을 보니 1시간 24분걸렸다고 한다. 그래도 대단한듯...ㅎㅎ 근데 보다가 보니까 코딩보다 배경에 나오는 음악도 괜찮은거 같다. 저런 노래들으면서 코딩하면 잘될거같은 느낌?ㅋ 검색해보려고 Shazam을 써도... 댓글을 봐도 알수가 없다...ㅠㅠ
new operator는 사용자가 overriding 해서 사용할 수 있다. 하지만 new.cpp에 보니 함수가 다음과 같은 형태로 되어있었다. 123void * operator new(size_t cb) { ...} 그럼 저기서 size_t는 어디서 온다는 말일까? 보통 new 를 사용할 때 보면 다음과 같이 사용하는데... 1int * a = new int; 찾아보니...한가지 잊었던 점이 있었다. new는 함수가 아니라 operator 였단걸!! 결국 new operator 가 하는 일은 2가지로 볼 수 있는데.1. 타입을 알아내서(sizeof(t) 를 통해) operator new 함수 호출.2. 해당 객체의 생성자 호출. 그렇기 때문에 operator new 함수의 첫번째 매개변수는 size_t..
먼저 본 항목에 들어가기 앞서, C++은 자바와 닷넷과는 다르게 메모리를 직접 관리해야 한다. 수동으로!! 하지만 반대로 생각해보면 개발자가 메모리를 잘(?) 컨트롤 할수만 있다면, 가비지 컬렉터를 통해 메모리 관리에 신경쓰지 않아도 되는 언어와 달리 성능(시간, 공간) 향상을 누릴 수가 있다. C++의 메모리를 직접 관리하기 위해서는 C++에서 메모리 관리 루틴이 어떻게 동작하는지를 잘 알아둘 필요가 있으며, 그에 대한 내용을 이번항목에서 설명하고 있다. [항목49] new 처리자의 동작 원리를 제대로 이해하자 C++에서는 흔히 operator new 연산자를 통해 메모리 할당을 요청한다. 하지만 메모리 할당에 실패하였을 경우에는? 1 2 3 4 5 6 7 8 9 10 11 12 #include #in..
스콧 마이어스의 Effective C++ 3판을 읽으면서 조금씩 정리를 해 보고자 한다. 책은 대학교때 구입했던거같은데...벌써 한 4~5년은 된것 같다 ㅠㅠ 최근 책을 읽어보다가 C++ 에 대해 지금까지 전혀 예상치 못하고 넘어갔던 재미있는것들도 많이 보여 충격을 받았다. 책의 특성상 특별히 순서에 관계없이 읽어도 되므로...블로그 정리도 재미있었던 부분(?) 부터 조금씩 정리하겠다고 마음먹었다. 언제가 될지 모르지만 책에 있는 모든 항목들을 정리할 수 있는 그날까지 열심히 해보자.!!!!
VS 2008로 디버깅을 하는도중 watch에 값이 안나오고 CXX0017: Error: symbol not found 로 고생을 했었다. 어떤 변수는 값이 안나오고 어떤 변수는 값이 이상해서 심지어 디버거에서 예를들어 a = 0 이라고 분명 나오는데 if(a==0) return 문장이 그냥 통과해버리기까지 하는 경우를 디버깅중에 발견하였다. 문제는 프로젝트의 optimization 옵션이 걸려있어서 그랬던 것이다. 다음을 반드시 확인하도록 하자!! Project 속성 -> Configuration Properties -> C/C++ -> Optimization - Optimization: Disabled (/Od) 또한 이는 해당 프로젝트 뿐만아니라 그 프로젝트가 사용하는 프로젝트(라이브러리) 역시 빌..
MSSQL Server 2008 설치후 서비스모드로 실행을 시켜줘야 한다. $ net start MSSQLSERVER 이렇게 하면 기본 인스턴스인 경우 실행이 되는데, 추가적으로 인스턴스를 생성한 경우에는 다음과 같이 한다. $ net start MSSQL$(인스턴스명) (예. $ net start MSSQL$ten) 또한, 서비스 모드로 실행하기 위해서는 관리자권한이 있어야 하므로, 반드시 콘솔을 실행시킬때 관리자 권한으로 실행한다. reference http://msdn.microsoft.com/ko-kr/library/ms187598(v=sql.105).aspx
dir 을 통해 두 폴더안에 있는 파일 목록이 바뀐게 있는지 확인하고 싶을때 diff를 쓰면 된다. 하지만 기본적으로 dir 명령어는 파일 생성시간 까지 함께 나오므로 파일 목록만 뽑아낼 필요가 있다. 이럴땐 다음과 같이 한다. $ dir /b > result 윈도우에서 어떠한 폴더를 어떤이름으로 공유폴더로 지정했는지 확인하기 위해 $ fsmgmt.msc (참고. 공유폴더 이름에 $가 붙어 있는 경우 '관리목적 공유폴더' 라는 특수한 공유폴더라고 한다.) 비주얼튜디오와 vim을 연동하고 싶을때 http://vim.wikia.com/wiki/Integrate_gvim_with_Visual_Studio