MyToolz - Keyboard [RealForce86]

TonysTory/TonysDiary | 2008/08/13 21:38 | 풀그리미
사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

"너 미쳤구나?" 라는 소리가 절로 나올만한 가격의 키보드계의 명품『리얼포스 86』
현재 회사에서 사용중이다. 하지만 곧 방출 예정...
총알의 부족으로 ㅠ_ㅜ.. iPod Touch 같은 동영상 Player를 구입하고파...
profile image

『일』상으로 부터의 『탈』출을 꿈꾸는 풀그리미

사용자 삽입 이미지

오늘 오랜 친구를 만나 점심을 함께 했다.
그 친구 역시 IT 업계였지만 최근 기획 Part로 옮겼다고 한다.
옮긴 이유 첫번째가 건강이란다.
전 직장 동료들이 한달에 한명씩 병원에 실려갔단다.
모든 IT 회사가 다 그런것은 아니지만...
그리고 더 힘든 직업도 있겠지만..
농담이 아니라 3D 업종이 맞는걸까???
profile image

『일』상으로 부터의 『탈』출을 꿈꾸는 풀그리미

string 객체를 사용할 경우 printf 에 있던 format 형식이 너무나도 그립다.
VC++ 이라면 CString의 Format...
이를 대신해 줄 수 있는 Library가 존재하는데 boost 라는 Library 안에
하나의 Library로 존재하는 boost::format Library...

이를 한번 사용해 보자꾸나..


#include <iostream>
#include <boost/format.hpp>
#include <string>

using namespace std;
using boost::format;

class Man
{
public:
    Man(char* szName, int nAge)
    {
        mstrName = szName;
        mnAge = nAge;
    };

    const std::string& GetName()
    {
        return mstrName;
    };
    int GetAge()
    {
        return mnAge;
    };

private:
    std::string mstrName;
    int mnAge;
};
int main(int argc, char* argv[])
{
    Man me("Tony Ryu", 18);    // Wow 18 Years old ??
    string msg = boost::io::str(format("My name is %s and I'm %d years old.\n")
        % me.GetName() % me.GetAge());
    cout << format("My name is %s and I'm %d years old.\n") % me.GetName()
        % me.GetAge();
    cout << msg;
    return 0;
}
profile image

『일』상으로 부터의 『탈』출을 꿈꾸는 풀그리미

NoGaBA 청평 모임

TonysCrony/NoGaBA | 2008/08/09 12:28 | 풀그리미

사용자 삽입 이미지


























그 시절 많이 놀러도 다니긴 했지만 이때만큼은 상당히 오랫동안 기억에 남았다.
왼쪽부터 시계방향으로 미쿡으로 넘어간 이충무씨, 아래 건장한 내 고딩선배와 결혼한 강민아씨, 항상 통통 튀는 발상이 머릿속에 가득한 임수연씨, 그리고 꺼먼 썬그라스 쓴 나, 그 밑에는 지금도 같이 회사를 다니고 있는 이병욱씨, 그 옆은 내 고딩 선배이자 바로 위에 강민아씨의 남편인 김근범씨..

근데 누가 사진찍고 있지??? ㅋㅋ 미안 김지현 아주매~~!!

태그 : NoGaBA
profile image

『일』상으로 부터의 『탈』출을 꿈꾸는 풀그리미

일반적으로 Linux상에서 C 혹은 C++로 개발 시 풀그림의 Entry Point는 main 함수이다.
이번 글에서 이야기 하고 싶은것은 Windows MFC 처럼 WinMain을 숨겨보고 싶은 생각에서다.
main 함수와 실제 서버 서비스의 Entry Point와의 분리하는것은 많은 장점을 지니고 있다고 생각한다.

즉 OS간의 포팅이 더 수월해지고, 서비스 기능별로 추후 모듈화가 간편하게 이루어진다.
혹은 두,세가지의 서비스를 하나의 프로세스에서 돌아가게 하거나 각각의 프로세스로 분리도 쉽게 이루어 진다.

대략 class로 표현하면 아래와 같을듯

// NMain.h
#define MUSTHAVE_MAIN
class NMain : public NThread
{
public:
    NBool Init(int nArg, char* szArg);
    NBool Free();
    NBool Start();
    NBool Stop();
    NBool IsRunning();
protected:
    virtual void OnInit() {};
    virtual void OnFree() {};
    virtual void OnStart() {};
    virtual void OnStop() {};
    virtual NPVOID ThreadRun(NPVOID pArgument);
};

// NMain.cpp
#include "NMain.h"
NMain theMain;
#ifdef MUSTHAVE_MAIN
int main(int argc, char* argv)
{
    if(theMain.Init(argc, argv))
        theMain.Start();
    while(theMain.IsRunning()) NSleep(ONESEC);
    theMain.Stop();
    theMain.Free();
    return 0;
}
#endif
=============> NMain 구현.......
profile image

『일』상으로 부터의 『탈』출을 꿈꾸는 풀그리미