아직 서두만 보고 읽다..

이책을 산지 한 3, 4년은 지난것 같다.

처음봤을때 왜 이따위야 하는 생각을 했다.

너무 복잡했다. 지루했다...

그런데 이번에 보니.. 꽤 재미있게 보였다.- 아직 85페이지정도 보고있다.

한가지 확실한것은 처음 보았을때와 이책을 지금 보고 있을때 차이점이 있다.

1. 네트워크 프로그래밍을 좀더 알게 된 상태였다.
2. 디자인 패턴을 알고 있다.

이 두가지다..

이책을 읽고 흥미를 느끼려면 최소한 아래의 스킬은 필수다.

없다면 보지마라. ACE에 분명히 실망할테니까

1. C++ 프로그램 실력 : Efective C++, Efective STL 등을 이해하는데 문제 없는자.

2. 네트워크 프로그래밍 실력 : 최소 IOCP를 재대로 이해하고 있다.

3. 디자인 패턴을 아는자 : Head First 디자인 패턴 책을 최소 2번 이상은 봤으며 거의 이해한다.
   혹은 이에 준하는 내용을 알고 있다.

http://msdn.microsoft.com/en-us/library/c785s0kz(VS.80).aspx

변수값 출력
> ? var1

변수값 출력시 ? 붙이기 귀찮을때
> immed
명령어를 치고 변수값을 직접 넣어 값을 출력한다.

command window로 복귀
>cmd

header 파일에 아래의 내용을 넣고 컴파일한다.

#pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console")

참고 링크
http://kldp.org/node/105369


윈도우를 다시 깔다 보면 윈도우가 mbr를 초기화 시켜버려 grub이 삭제되는 일이 발생한다

이때 처리 방법

1. 우분투 라이브로 부팅한다.
2. root콘솔로 들어간다.

아래명령어를 실행한다.

적당히 변경하면 되며 띄어쓰기는 반드시 지킨다.

hd0, 1 에 리눅스 루트 디렉토리가 있다고 가정.
grub를 실행하고

"root" 를 치고 한칸 띄고 탭키를 두번(혹은 한번) 누르면 하드 목록이 보인다.

# grub
grub> root (hd0,1)
grub> setup (hd0)
grub> quit
http://ecos.bok.or.kr/ 사이트로 간다.

화면 가운데 메뉴중 통화금융을 선택

주요 통화금융지표 선택후 플러그인을 깔고

예금/대출금/회전율 메뉴를 선택한다.

예금은행 수신--> 예금은행 종별예금-->총예금  조회값과
예금은행 여신--> 예금은행 자금별대출금-->총대출금 조회값을


총 대출금/총예금 으로 나누면 예대률이 나온다.



2009년 3월 다시 예대율이 올라가고 있다 ㅡ.ㅡ


참고 링크

KLDP daybreaker님이 Putty를 패치한 dPutty입니다.


한글/ 영문 글꼴 분리, 유니코드가 지원됩니다.


직접 다운로드
http://dev.daybreaker.info/dputty

https://dev.daybreaker.info/dputty/export/43/release/r42/putty.exe

KLDP 글
http://kldp.org/node/96044
로지텍 마우스 드라이버입니다.


  • POSA I 읽기
  • INI Loader 만들기.
  • ODBC Class 만들기.


=========fileDSN.dsn
[ODBC]
DRIVER=SQL Server
UID=testid
DATABASE=testDb
PWD=passwd
APP=Microsoft Data Access Components
SERVER=testserver
=========

// 소스
#pragma comment(lib, "odbc32.lib")
#include <iostream>
#include <Windows.h>
#include <sql.h>
#include <sqlext.h>

using namespace std;


void DsnQuery()
{
    //////////////////////////////////////////////////////////////////////////////////////
    // start
    SQLHENV hEnv;
    // 환경 핸들을 할당하고 버전 속성을 설정한다.
    if( SQLAllocHandle( SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv ) != SQL_SUCCESS )
        return;

    if( SQLSetEnvAttr( hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER ) != SQL_SUCCESS )
        return;

    // 연결 핸들을 할당하고 연결한다.
    SQLHDBC hDbc;
    if( SQLAllocHandle( SQL_HANDLE_DBC, hEnv, &hDbc ) != SQL_SUCCESS )
        return;

    SQLCHAR connectInfo[256] = { 0, };
    wsprintf( (char *)connectInfo,  "FILEDSN=.\\fileDSN.dsn" );
    SQLCHAR outInfo[256] = { 0, };
    SQLSMALLINT sqlRet = 0;
    SQLRETURN ret = SQLDriverConnect( hDbc, NULL, connectInfo, sizeof( connectInfo ), outInfo, sizeof( outInfo ),
        &sqlRet, SQL_DRIVER_NOPROMPT );

    if( ret != SQL_SUCCESS && ret != SQL_SUCCESS_WITH_INFO ) {
        cout << "ERROR : INI Table을 가져올수 없습니다.\n";
        return ;          
    }

    //////////////////////////////////////////////////////////////////////////////////////
    // 명령 핸들 할당. 및 바인딩.
    // 명령 핸들을 할당한다.
    SQLHSTMT hStmt;
    SQLAllocHandle( SQL_HANDLE_STMT, hDbc, & hStmt );

    // 결과를 돌려 받기 위해 바인딩한다.
    SQLCHAR iniTablename[64];
    SQLLEN lIniTablename;
    SQLBindCol( hStmt, 1, SQL_C_CHAR, iniTablename, sizeof(iniTablename), &lIniTablename );

    // SQL문을 실행한다.
    SQLExecDirect( hStmt, (SQLCHAR *)"select name from test_table where name like 'test%' order by name", SQL_NTS );
    while( SQLFetch( hStmt ) != SQL_NO_DATA ) {
        cout << reinterpret_cast<char *>( iniTablename )  << endl;
    }

    SQLCloseCursor( hStmt );
    SQLFreeHandle( SQL_HANDLE_STMT, hStmt );

    //////////////////////////////////////////////////////////////////////////////////////
    // clean up
    SQLDisconnect( hDbc );
    SQLFreeHandle( SQL_HANDLE_DBC, hDbc );
    SQLFreeHandle( SQL_HANDLE_ENV, hEnv );
}

int _tmain(int argc, _TCHAR* argv[])
{
    DsnQuery();
    return 0;
}




MBR 백업.

백업할 MBR /dev/sdb

$ dd if=/dev/sdb of=./usb.mbr count=1 bs=512

복구시
$ dd if=./usb.mbr of=/dev/sdb



+ Recent posts