중괄호 코딩 스타일....

카테고리 없음 2008. 3. 25. 22:17 posted by 찌지리

중괄호 스타일에는 여러가지가 있습니다.

K&R식 중괄호 스타일, Extend 중괄호 스타일, Intended 중괄호 스타일... 등등...

(위의 용어는 Code Craft 란 책에서 그렇게 표현이 되어 있길래... 써봤습니다.)

이전에는 저도 Extened 중괄호 스타일을 사용했으나, 한 화면에 좀 더 많은 코드를 보려고 최근엔 K&R 식 중괄호 스타일로 바꿔서 쓰고 있습니다.

역시나 스타일 마다 장단점은 있더군요.

오늘 이야기할 내용은... 좀 재미나는 내용입니다.

char * 배열을 표기할 때 보통은 아래와 같이 사용하실겁니다.

char *pSting[5] = { "11111", "22222", "33333", "44444", "55555" };

얼마 전에 위와 같은 코드를 아래와 같이 쓰는 코드를 보았습니다.

char *pString[5] = {
    "11111",
    "22222",
    "33333",
    "44444",
    "55555"
};

이렇게 쓰기도 하겠지요....

char *pString[5] =
{
    "11111",
    "22222",
    "33333",
    "44444",
    "55555"
};

물론, 코드의 라인이 길어졌지만, Readavility가 조금은 향상된 느낌입니다.

문자열이 좀 더 긴 경우라면 아주 유용할 것 같은 표현 방식입니다.

흠.... 저만 그런가요? ^^;



 

근황...

이런 저런 이야기 2008. 3. 25. 04:27 posted by 찌지리

얼마 전 회사의 부장님과의 친분으로 모 회사의 솔루션 커스터마이징 작업을 하고 있습니다.

한마디로 저렴하게 뽕을 뽑히고 있습니다.

그 뽕을 뽑힘도 이제 거의 끝나갑니다.

흐흐흐...

기분 너무 좋습니다.

아주 합법적(?)으로 뒷통수 치고 싶지만.... 회사의 부장님의 얼굴을 생각해서 참고 있습니다.

인간 관계란... 참으로 아름답고도 오묘합니다.

ㅋㅋㅋㅋ

Code Craft

책 이야기 2008. 3. 19. 13:49 posted by 찌지리

버스를 타는 시간이 오래 걸려서 버스 타는 시간에 잠을 자지 않으면, 주로 책을 읽습니다.

얼마 전 다 읽은(?) 책이 바로 Code Craft 입니다.

제목을 그대로 번역하자면, "코드 기술" 정도? 쉽게 이야기 하자면, 코딩하는 기술에 대해서 설을 읊고 있는 책이다... 라는 것을 알 수 있습니다.

책 내용을 보자면, 코딩하는 기술외에 개발에 대한 전반적인 내용에 대해서 이야기를 하고 있습니다.

책의 난이도로 보자면, 초급이나 갓 초급을 벗어난 정도? 되겠습니다.

CODE CRAFT: 뛰어난 코드 작성을 위한 실천 지침 상세보기
피트 구들리프 지음 | 한빛미디어 펴냄
좋은 코드를 작성하는데 필요한 기술과 세부 사항에 대한 내용을 담은『CODE Craft』. 이 책은 프로그래밍에 있어서 올바른 코드를 올바르게 작성하는 방법을 설명한 것으로 코드를 위한 방어적 프로그래밍과 레이아웃 계획, 문서화 도구와 코멘트, 코드 안의 에러사항에 관하여 설명한다. 또한 소프트웨어 구축에 툴을 사용하는 코드 테스트와 디버깅, 프로그램 최적화를 위한 코드 작성법, 코드 개발 방법론과 프로그래밍 분야

코딩에 관련된 내용은 비교적 상세하게 이야기를 하려고 시도를 하고 있으나, 그 외의 사항에 대해서는 개괄적인 언급을 하는 정도이더군요.

테스트, 디버깅, 팀웍 등등에 대해서 일반적인 내용외에는 없으므로, 보다 전문적인 책을 읽는 것이 좋을 듯 싶습니다.

중/고급 개발자를 위한 책은 아니지만, 초/중급 개발자가 보기엔 꽤 괜찮은 책이었던 것 같습니다.

여담으로 버스에서 보기엔 좀 많이 무겁습니다. ㅎㅎㅎ

오늘 ZDNET의 류한석님의 컬럼을 읽었습니다.

순진한 개발자가 사내정치에서 살아남는 법

제가 느낀 점은 말 그대로 순진하다는 것입니다.

개발자가 개발만 할 수 없습니다.

이상과 현실은 다르거덩요.

어떻게 보면 비겁하다고도 할 수 있지만, 자신의 이상과 처한 현실에 대해서 적응하고 타협해야 합니다.

바로 융통성이 필요한 거죠.

사전에 보면... 이런 말이 있습니다.

타협 : 두 편이 서로 좋도록 협의함

위의 말을 보고 생각해 보면, 오로지 개발만 하겠다는 것은 자신만 만족할 뿐이지, 다른 사람의 만족 여부는 상관하지 않겠다는 것과 다를 바가 없습니다.

물론, 여러 상황에 이끌려 가라는 뜻은 아닙니다.

아무튼, 누군지는 모르지만 참 순진한 생각을 가지고 사는 사람입니다.

세상에 자기가 하고 싶은 일만 하는 사람이 어디 있겠습니까?

'일 이야기' 카테고리의 다른 글

subversion and tags  (0) 2009.05.28
CreateProcess 와 Handle  (0) 2008.03.07
꽤 쓸만한 그리드 라이브러리 Ultimate Grid  (0) 2008.02.12
BOOST Library 사용...  (0) 2008.01.16
MSDN의 틀린 문서, 그리고 삽질  (0) 2007.12.21

CreateProcess 와 Handle

일 이야기 2008. 3. 7. 11:09 posted by 찌지리

오늘도 몰랐던 것을 하나 알았습니다.

CreateProcess를 호출하고 나면, LPPROCESS_INFORMATION lpProcessInformation  에 있는 Handle 들을 닫아줘야 합니다.

이거 안 해주면... Task Manager에서 확인하면 Handle 값이 계속해서 2개씩 증가하는 것을 확인할 수 있습니다.

MSDN에 보면... 이런 글이 있습니다.

Handles in PROCESS_INFORMATION must be closed with CloseHandle when they are no longer needed.

물론, 이 CreateProcess를 호출하는 Process가 한 번 실행 되었다가 종료되면 모르지만, 계속 실행하는 Service나 기타 다른 프로그램이라면, 주의할 대목입니다.

그리고 보면, 참 생각없이 코딩했다는 생각이 드네요...

MSDN의 Sample을 볼까요?

#include <windows.h>
#include <stdio.h>
#include <tchar.h>

void _tmain( int argc, TCHAR *argv[] )
{
    STARTUPINFO si;
    PROCESS_INFORMATION pi;

    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    ZeroMemory( &pi, sizeof(pi) );

    if( argc != 2 )
    {
        printf("Usage: %s [cmdline]\n", argv[0]);
        return;
    }

    // Start the child process. 
    if( !CreateProcess( NULL,   // No module name (use command line)
        argv[1],        // Command line
        NULL,           // Process handle not inheritable
        NULL,           // Thread handle not inheritable
        FALSE,          // Set handle inheritance to FALSE
        0,              // No creation flags
        NULL,           // Use parent's environment block
        NULL,           // Use parent's starting directory 
        &si,            // Pointer to STARTUPINFO structure
        &pi )           // Pointer to PROCESS_INFORMATION structure
    ) 
    {
        printf( "CreateProcess failed (%d)\n", GetLastError() );
        return;
    }

    // Wait until child process exits.
    WaitForSingleObject( pi.hProcess, INFINITE );

    // Close process and thread handles. 
    CloseHandle( pi.hProcess );
    CloseHandle( pi.hThread );
}

혹시, 저처럼 삽질 하셨으면... 이제 하지 마시길...  ㅋㅋㅋ



 

The Practice of Programming

책 이야기 2008. 3. 6. 13:01 posted by 찌지리

요즘 들어서 느끼는 거지만, 몇년 전에 비하면, 양질의 도서가 참 많이 번역되어 나온다는 느낌을 지울 수 없습니다.

읽고 싶은 책들이 참 많이 있거든요.

그만큼, 우리나라의 개발자들의 실력이 향상되었고, 스스로의 Skill-up에 대한 노력의 결과가 아닌가 생각합니다.

바꿔어 말하면, 막 개발을 배워보려고 하는 사람에게는 먼 산을 보게 할 수도 있다는 생각도 드네요.

아무튼, 무슨 책이든 많이 읽으면 나쁠 것 없겠지만, 그래도 이왕이면, 좋은 책을 더 많이 보면 더 좋겠죠? ^^



지난 주에 영풍문고에 가서 차드 파울러의 "사랑하지 않으면 떠나라"와 "The Practice of Programming(프로그래밍 수련법" 두 권을 놓고 어떤 것을 읽을까 고민했었습니다.

결국엔 더 많이 저렴한 "사랑하지 않으면 떠나라"를 구입하게 되더군요. ㅋㅋㅋㅋ

개발자의 비지니스적인 마인드에 대한 생각을 다시 하게 되더군요.

누구 말대로 노골적으로 이야기하면 "개발하는 것=돈 버는 것"이라지만, 개발에 대한 흥미, 순수성을 생각해 보면, 약간은 서글픈 생각도 듭니다.

이제 막 사회에서 개발을 시작하는 사람에게는 한 번쯤 권하고 싶지만, 그리 좋은 책이라고는 생각되지 않더군요.

사랑하지 않으면 떠나라 상세보기
차드 파울러 지음 | 인사이트 펴냄
개발자의 자기계발과 경력관리를 위해! 소프트웨어개발자 차드 파울러의 『사랑하지 않으면 떠나라』. 회사, 기술, 경제, 가치 등이 정신없이 바뀌는 오늘, 개발자로서 맞닥뜨리게 될 변화에 적절하게 대처할 수 있도록 인도한다. 이 책은 내일도 제대로 파악할 수 없는 상황을 끝없이 만나게 되는 개발자의 자기계발과 경력관리를 위한 52가지 가르침을 전하고 있다. 가르침마다 '실천하기'를 담아 우리가 일상생활에서 쉽게



뭐 각설하고... "The Programming of Practice"도 사서 읽었습니다. ㅋㅋㅋ

프로그래밍 수련법 상세보기
브라이언 W. 커니핸 지음 | 인사이트 펴냄
프로그래머들은 설계, 디버깅, 테스트, 성능 개선, 소프트웨어 유지보수에 대한 트레이드오프(tradeoff)를 다뤄야만 한다. 이와 함께 소프트웨어의 명세를 유지하면서도 호환성, 견고성, 안정성 같은 문제들을 고려해야 한다. 이 책에는 이러한 문제들과 그보다 더 많은 내용까지도 다루고 있다. C, C++, 자바 외에도 다양한 언어로 작성된 실전 예제와 현실적인 충고들이 가득하다. 프로그래밍의 고전인 『The Unix Programming



소스 코드에 대한 내용이 많이 없는 관계로 버스에서 오며가며 다 읽었습니다.

책을 쓴 Rob Pike 라는 사람은 잘 모르겠고, Brian W. Kernighan 이란 사람은 다 알다시피 "The C Programming Language"의 공동 저자죠.

이 책을 사게 된 이유도 이 사람 이름때문이었습니다.

정독(?) 정도는 아니지만, 나름 열심히 읽었는데... 솔직히 돈 아까왔습니다.

그 동안 사 놓고 못 읽은 책이 많은데, 그걸 읽을 걸 하는 생각이 들더군요.

책이 아주 큰 사이즈는 아니였지만, 들고 읽으려니 무거워서 그랬을까요?

아무튼 다른 좋은 책을 읽어보시길 권합니다.

추천하고 싶은 책은 있지만, 다들 읽다가 중단된 상태라... 다 읽고 나면 이야기 하지요 ㅋㅋㅋ

그리고 보니 둘다 인사이트에서 나온 책이군요. ^^

'책 이야기' 카테고리의 다른 글

Code Craft  (0) 2008.03.19
간만에 영풍문고에서 책을 샀네요  (2) 2008.03.01
초한지 같이 읽어보실래요?  (0) 2008.02.13
저 공짜 너무 좋아라 합니다. ^^  (2) 2007.12.12
인터넷 서점 대~충 비교  (2) 2007.12.04

간만에 영풍문고에서 책을 샀네요

책 이야기 2008. 3. 1. 04:17 posted by 찌지리
간만에 영풍문고에 갔었습니다.
STL에 대해서 워낙에 몰라 참고 도서를 하나 사러 갔습니다.
오늘 산 책은...

STL 튜토리얼·레퍼런스 가이드 제2판 상세보기
David R. Musser, Gillmer J. De 지음 | 정보문화사 펴냄
표준 템플릿 라이브러리를 이용한 C++ 프로그래밍 이번에 나온 2판은 국제 표준으로 최종 확정된 ANSI/ISO C++ 언어 표준을 바탕으로 초판이후에 변경된 사항들을 모두 반영하였다. 일부 장과 부록이 새로 추가되었으며, 책 전체에 걸쳐 예제 코드를 많이 보강하여 개념과 테크닉을 이해하는데 도움이 되도록 하였다. 다소 규모가 큰 샘플 프로그램을 통해 실제 C++ 소프트웨어 개발에 있어서 STL을 사용하는 방법도 보여주고 있

그리고...  

사랑하지 않으면 떠나라 상세보기
차드 파울러 지음 | 인사이트 펴냄
개발자의 자기계발과 경력관리를 위해! 소프트웨어개발자 차드 파울러의 『사랑하지 않으면 떠나라』. 회사, 기술, 경제, 가치 등이 정신없이 바뀌는 오늘, 개발자로서 맞닥뜨리게 될 변화에 적절하게 대처할 수 있도록 인도한다. 이 책은 내일도 제대로 파악할 수 없는 상황을 끝없이 만나게 되는 개발자의 자기계발과 경력관리를 위한 52가지 가르침을 전하고 있다. 가르침마다 '실천하기'를 담아 우리가 일상생활에서 쉽게

이렇게 2권을 샀습니다.

STL 책이야 원래 사려고 했던 것이었지만, "사랑하지..."는 충동구매였습니다.
얼마전 구입한 초한지 3,4 권을 3일만에 다 읽어버렸거던요.
그래서 광역버스에서 심심할 것 같아서 질렀습니다.
버스 안에서 소스코드 있는 책을 읽기도 좀 뭐하고 해서 쉽게 읽을 수 있는 것들 중에서 그냥 아무거나 집었는데...
좋은 책인지 모르겠습니다.
사실... 출판사 보고 산 책입니다.
원래 출판사 보고 책을 사거나 하지는 않지만, 이번에는 그렇게 되었네요.

요즘 바빠서 워낙에 포스팅을 안하다가 한 번 해봅니다. ㅋㅋㅋ

'책 이야기' 카테고리의 다른 글

Code Craft  (0) 2008.03.19
The Practice of Programming  (2) 2008.03.06
초한지 같이 읽어보실래요?  (0) 2008.02.13
저 공짜 너무 좋아라 합니다. ^^  (2) 2007.12.12
인터넷 서점 대~충 비교  (2) 2007.12.04