캐논의 EOS의 뜻은???

뚱2's 이야기 2008. 2. 20. 19:24
회사 그래픽팀장님께서  갑자기 EOS가 뭘까요??? 하고 물어보시네요 ^^;
저도 궁금하던 것이여서 찾아봤습니다.

EOS (Electro Optical System) : 전광학 시스템

그렇지만 그리스 신화에 나오는 빛의 여신 이오스라는 다른 뜻도 가지고 있다고 하네요...
사진의 필수 요소가 빛이니까 그럴듯 한 이름 인것 같습니다.
posted by 뚱2

제가 좋아하는 말~~

뚱2's 이야기 2008. 2. 20. 19:24
어머니께서 기도중에 꼭 넣어주시는 말씀

'시작은 미약하나 그 끝은 창대하리라' 입니다.

살아가면서 왜이리 이말이 더 소중하게 느껴질까요?

제가 많이 부족해서 그런가 봅니다.

아자자자!!! 오늘 하루도 힘내고 홧팅입니다.
posted by 뚱2
 렌즈길이  최소 셔터 속도
 24-28mm  1/30s
 35-50mm  1/60s
 85-100mm  1/125s
 135-200mm  1/250s
 300mm  1/500s
 600mm  1/1000s


위 표는 1:1 Full Frame 바디일때 이구요 1.5 크롭바디를 예로 들자면
35mm일때는 환산 초점거리가 35*1.5 = 52.5 나오니까 1/60s의 셔터 스피드가 필요합니다.
50mm는 50*1.5 = 75mm 1/125s 정도로 찍어주시면 좋을 듯 합니다.

ps. 위 표는 가이드 라인정도구요 실제 여건은 광량이나 자신의 흔들림 정도에 따라서
다르다고 생각합니다.

'뚱2's 이야기' 카테고리의 다른 글

MTF 차트 보는 법  (0) 2008.02.20
캐논의 EOS의 뜻은???  (0) 2008.02.20
제가 좋아하는 말~~  (0) 2008.02.20
하루에 세끼 식사? 여섯끼 식사?  (0) 2008.02.20
운동.... 그리고 자신의 정상체중  (0) 2008.02.20
posted by 뚱2
MySQL이 컨맨드 방식(도스 방식) 이라서 GUI에 익숙한 사람에게는 많이 불편합니다.
저도 GUI에 익숙해져 있는지 많이 불편해 하던차에 괜찮은 툴을 찾았습니다.
그래서 추천 !!

사용자 삽입 이미지
http://www.webyog.com/en/

단, Community Edition만 무료입니다~~~~~
posted by 뚱2

Visual C++ 6.0 에서 .dsw 파일을 오픈하는데 발생했습니다.

실제 프로젝트에 영향이 있는것은 아니었는데

신경이 쓰여서 ^^ 암튼.... 대처방법은

저 메세지 창이 뜨면 살포시 클릭하고 모든 열여있는 문서를 닫고

워크스페이스도 종료합니다.

다시 .dsw 파일로 오픈하면 에러메세지가 없어집니다.


참고 http://support.microsoft.com/kb/q202817/

'C/C++ > VC++ / MFC' 카테고리의 다른 글

[MFC] HitTest()  (0) 2008.03.03
[MFC] CTreeView와 CTreeCtrl의 관계  (0) 2008.02.25
[MFC] PreCreateWindow()  (1) 2008.02.20
[VC++ 6.0] resource 파일 Load Failed 메세지  (0) 2008.02.20
상호 참조  (4) 2008.02.20
posted by 뚱2

[MFC] PreCreateWindow()

C/C++/VC++ / MFC 2008. 2. 20. 18:51


윈도우 생성 전에 미리 호출 되는 가상함수 입니다.
인자로 받는 CREATESTRUCT& cs 의 값을 수정해서
반영시킬수 있습니다.

ps. 다만 CDialog 에서는 수정이 안된다.

posted by 뚱2
지금도 초보 이지만 초보일때 겪었는데 .rc 파일을 오픈한 상태로 리소스 창에서
오픈할려면 'resource 파일 LoadFailed' 에러 메세지가 나타납니다.

CloseAll Window 라는 메뉴를 선택후에 다시 리소스 뷰를 확인해 보시면 됩니다.
posted by 뚱2
Windows 2003에서 Visual Studio 2005 SP1 설치 오류 문제


Error message when you try to install a large Windows Installer package or a large Windows Installer patch package in Windows Server 2003 or in Windows XP: "Error 1718. File was rejected by digital signature policy"

SYMPTOMS

When you try to install a large Microsoft Windows Installer (.msi) package or a large Microsoft Windows Installer patch (.msp) package on a computer that is running Microsoft Windows Server 2003 or Microsoft Windows XP, you receive the following error message:
Error 1718. File FileName was rejected by digital signature policy.


CAUSE

This problem occurs when the computer has insufficient contiguous memory for Windows Server 2003 or Windows XP to verify that the .msi package or the .msp package is correctly signed.

WORKAROUND

To work around this problem, follow these steps:

1. Click Start, click Run, type control admintools, and then click OK.
2. Double-click Local Security Policy(로컬 보안 설정).
3. Click Software Restriction Policies(소프트웨어 제한 정책).
Note If no software restrictions are listed, right-click Software Restriction Policies(소프트웨어 제한 정책), and then click Create New Policy(정책 생성하기).
4. Under Object Type(개체 유형), double-click Enforcement(강요).
5. Click All users except local administrators(로컬 관리자를 제외한 모든 사용자), and then click OK.
6. Restart the computer.

Important
After you follow the previous steps, local administrators can install the .msi package or the .msp package. After the package is installed, reset the enforcement level by following the previous steps. In step 5, click All users instead of All users except local administrators.
posted by 뚱2

Visual Assist X

IDE/Tool/Visual Studio 2008. 2. 20. 18:37
Visual Studio를 더 편하게 사용하게 해주는 프로그램입니다.
Assist X에 여러가지 기능이 있지만 그중에 제일 좋은건

1. Alt+O
  C++ 프로그래머라면....
  .h 파일과 .cpp 파일을 오가는데 많이 힘들어 하실텐데요
  ALT+O로 한번에 이동 할 수 있습니다. 정말 편합니다.

2. Alt+G
  자료형이나 함수의 정의된 곳으로 이동하는 단축키 입니다.

ps. 그리고 Visual Studio에서 ctrl+Tap을 누르면 윈도우에서 Alt+Tap을 누른것과 같은
    현재 띄워놓은 창들이 리스트 형식으로 쭉~~~~ 나타납니다.
posted by 뚱2

상호 참조

C/C++/VC++ / MFC 2008. 2. 20. 18:34
C++로 프로그래밍을 작성 하다 보면은 심심치 않게 상호참조가 일어납니다.

예) 1. A와 B라는 클래스가 있습니다.
    2. 각 파일은 분리컴파일을 위해서 A.h, A.cpp, B.h, B.cpp 이렇게 선언과 정의를 분리해 있습니다.
    3. 각 파일들은 모두 같은 폴더에 위치합니다.
//A.h
#include "B.h"
class A {
    A();
    ~A();
    B b;
};

//A.cpp
#include "A.h"
A::A() {
}
A::~A() {
}

//B.h
#include "A.h"
class B {
    B();
    ~B();
    A a;
};
//B.cpp
#include "B.h"
B::B() {
}
B::~B() {
}

위와 같이 하면은 상호 참조로 인하여 에라!!!!! 가 발생합니다.
이때 해결책은
//A.h
class B;
class A {
    A();
    ~A();
    B b;
};

//A.cpp
#include "A.h"
#include "B.h"
A::A() {
}
A::~A() {
}

//B.h
class A;
class B {
    B();
    ~B();
    A a;
};

//B.cpp
#include "B.h"
#include "A.h"
B::B() {
}
B::~B() {
}


위와 같이 해주시면 간단하게 해결됩니다.
posted by 뚱2
VC++ 6.0을 정식으로 지원하는 마지막 PSDK 입니다.

http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
posted by 뚱2

1>d:\_work.svn\_RgnLib.h(65) : warning C4996: 'strcpy'이(가) deprecated
로 선언되었습니다.
1>        C:\Program Files\Microsoft Visual Studio 8
\VC\include\string.h(73) : 'strcpy' 선언을 참조하십시오.
1>        메시지: 'This function or variable may be unsafe. Consider using
strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'



위 경고는 2005로 오면서, 인터넷 프로그램,일반 응용프로그램의 골격을 동일한 환경에서
동작시키게 하기 위해서 조정하다보니, 보안관련한 기능이 추가되어서 나오는 경고 메세지 라고 하는군요.

해결 방법은
1. Debug/Release 모드 전처리기 선언에 _CRT_SECURE_NO_DEPRECATE 를 추가
2. 코드 최 상단에
   #define _CRT_SECURE_NO_DEPRECATE
  또는
   #pragma warning(disable:4996) 입력해 주면 됩니다.

그렇지만 위에 방법은 경고를 보이지 않게 하는것이지 문제를 해결한 것은 아닙니다.

'C/C++ > VC++ / MFC' 카테고리의 다른 글

[VC++ 6.0] resource 파일 Load Failed 메세지  (0) 2008.02.20
상호 참조  (4) 2008.02.20
오버로딩과 오버라이딩의 차이  (0) 2008.02.20
#pragma comment  (0) 2008.02.20
#pragma once  (0) 2008.02.20
posted by 뚱2

보기 어려운 오류코드를 오류메시지로 자동 바꿔주는 함수입니다.

WORD FormatMessage(
         DWORD    dwFlags 
       , LPCVOID  lpSource 
       , DWORD    dwMessageId 
       , DWORD    dwLanguageId 
       , LPTSTR   lpBuffer
       , DWORD    nSize 
       , va_list* Arguments
       );


더 자세한 것은 MSDN을 참고 하세요

PS. 오류코드는 GetLastError()함수를 통해서 얻을 수 있습니다.

'OS > Windows' 카테고리의 다른 글

Release에서 디버깅 하기 ...  (0) 2008.11.21
GetExitCodeThread 로 스레드의 상태를 알아보기  (0) 2008.09.27
InternetSetOption의 Timeout 설정 버그  (0) 2008.09.16
WM_DESTROY 메세지  (0) 2008.07.21
초보 DLL 사용하기  (0) 2008.02.21
posted by 뚱2
1. 오버로딩(OverLoading)

오버로딩(중복정의)이라는 것은 하나의 클래스 내에서 같은 이름을 가지는 메서드가
여러개 정의되는 것을 말합니다.
물론 생성자 뿐만 아니라 다른 메서드들도 오버로딩이 가능합니다.
이것은 컴파일시 컴파일러에 의해 각 메서드들이 구별되며 여기서 기준은 인자가
됩니다.

* 메서드 오버로딩의 특징은 다음과 같습니다.
  - 동일 클래스에서 메서드 이름을 재사용 할 수 있다. (객체지향의 특성)
  - 접근제한자는 동일하거나 동일하지 않아도 된다.
  - 리턴타입도 동일하거나 동일하지 않아도 된다.
  - 메서드 이름은 반드시 동일해야 한다.
  - 메서드의 매개인자들은 순서, 개수, 타입이 반드시 달라야 한다.


2. 오버라이딩(OverRiding)

부모 클래스에서 구현한 메서드와 동일한 헤더를 갖는 메서드를 정의하여 대체하는
개념을 의미합니다.
한마디로 메서드 재정의라 할 수 있습니다.

* 메서드 오버라이드의 특징은 다음과 같습니다.
  - 접근제한자는 달라도 되지만 부모클래스의 접근범위보다 좁으면 안된다.
  - 리턴타입은 동일해야한다.
  - 메서드 이름도 동일해야한다.
  - 메서드 매개인자의 타입, 순서, 개수 모두 동일해야 한다.
  - throws 예외 클래스 선언시 선언을 오버라이드 하지 않거나, 부모 클래스에서
   선언한
예외 클래스보다 상위 클래스로 선언하면 안된다.

'C/C++ > VC++ / MFC' 카테고리의 다른 글

상호 참조  (4) 2008.02.20
[Visual Studio 2005] warning C4996: 'strcpy'이(가) deprecated로 선언되었습니다.  (0) 2008.02.20
#pragma comment  (0) 2008.02.20
#pragma once  (0) 2008.02.20
#pragma pack  (0) 2008.02.20
posted by 뚱2

#pragma comment

C/C++/VC++ / MFC 2008. 2. 20. 17:21

주로 링크를 걸때 많이 사용합니다.
형식은

#pragma comment("comment-type" [,, commentstring])

이고 comment-type에는 compiler, exestr, lib. linker, user 등이 올 수 있습니다.
Visual Studio 2005 에서는 '프로젝트 속성--> 링커 --> 입력 --> 추가 종속성' 에서
설정 할 수 있지만 다른 코드와 호완을 생각한다면 #pragma comment을 사용하는게
좋다고 생각합니다.
posted by 뚱2

#pragma once

C/C++/VC++ / MFC 2008. 2. 20. 17:21
A.h라는 헤더 파일이 있습니다.
이 파일 제일 상단에 '#pragma once'라고 표기해주면
컴파일이 한번만 됩니다.

다른 방법으로는
#ifndef __SAMPLE__H__
#    define __SAMPLE__H__

// 한번만 컴파일 할 코드 내용

#endif// #ifndef __SAMPLE__H__

해도 됩니다.
그렇지만은 한번에 하는 #pragma once가 낫겠지요 ^^

ps. #ifndef __SAMPLE__H__는 '__SAMPLE__H__'가 정의되지 않았다면 실행하라는 말입니다.
posted by 뚱2

#pragma pack

C/C++/VC++ / MFC 2008. 2. 20. 17:19
32bit 운영체제 일때

struct A
{
     BYTE  a;  // 1Byte
     WORD  b;  // 2Byte
     DWORD c;  // 4Byte
};
A test;


1+2+4 = 7 총 7Byte라고 생각하는데
실제  sizeof(test) 해보면 12Byte로 나옵니다.
이유는 운영체제가 32bit일때 4Byte에 최적화 되어 있어서
structure가 4Byte가 아니면 4Byte로 맞추는 경향이 있습니다.
이런걸 padding이라고 하는데
이럴대는 padding을 1Byte로 맞추면 됩니다.
방법은
#pragma pack(push, 1)
struct A
{
     BYTE  a;    // 1Byte
     WORD  b;    // 2Byte
     DWORD c;    // 4Byte
};
#pragram pack(pop)


이렇게 하고 다시 sizeof로 확인해 보면은 제대로 7Byte로 나타납니다.

ps. #pragma pack 컴파일러 명령은 구조체 단위로 멤버 정렬 방식을 설정할 때 사용합니다.
posted by 뚱2
Visual Studio 2005을 처음 사용하다 보면은 자주 나타나는 에러입니다.
2005 는 기본적으로 유니코드 입니다. 그래서 변환시 에러가 발생합니다.

방법은
1. (LPTSTR)(LPCTSTR)로 강제 형변환
2. CString str;
   str.GetBuffer(str.GetLength());
   해주시면 char *을 리턴합니다.

사용예
1번의 경우는 스트링을 읽는 목적으로만 사용할때 요긴합니다.
2번의 경우는 스트링을 수정해야 할때 사용하면 편합니다.


ps. 위 두가지 방법중에 2번을 추천합니다.
      그리고 GetBuffer를 사용하시면 ReleaseBuffer()를 사용해서 해제해 주셔야합니다.

'C/C++ > VC++ / MFC' 카테고리의 다른 글

[Visual Studio 2005] warning C4996: 'strcpy'이(가) deprecated로 선언되었습니다.  (0) 2008.02.20
오버로딩과 오버라이딩의 차이  (0) 2008.02.20
#pragma comment  (0) 2008.02.20
#pragma once  (0) 2008.02.20
#pragma pack  (0) 2008.02.20
posted by 뚱2

tar 압축, 해제

OS/Linux 2008. 2. 20. 17:06

1. tar 압축
  #tar -cvfz  파일명.tar.gz 압축할 디렉토리

2. tar 해제
  #tar -xvfz  파일명.tar.gz

ps. 압축을 실행하면 하위 디렉토리 포함 전부 압축됩니다.

 

2013-04-03 추가

1. 압축
   tar cvf - "
압축하고자 하는 디렉토리or파일명" | gzip > "압축 파일명"
   예) tar cvf - ./test_dir | gzip > test_dir.tar.gz

2.
압축해제

   gzip -dc "압축파일명" | tar xvf -

   예) gzip -dc test_dir.tar.gz | tar xvf -


3. 단순히 압축하지 않고 tar로 묶기
   tar -cvf "tar파일명" "대상파일(또는 디렉토리)"
   예) tar -cvf arbp.tar ./Arbp

4. tar 풀기
   tar -xvf "tar파일명"
   예) tar -xvf arbp.tar

'OS > Linux' 카테고리의 다른 글

[Linux] 고급 Bash 스크립팅 가이드  (0) 2013.12.30
[Linux] 리눅스 명령어  (0) 2013.12.25
Shell Script  (0) 2013.12.15
[Linux] Shell Script  (0) 2013.04.03
posted by 뚱2
1. 터미널이든 로컬이든 우선 접속한다. ^^

2. 명령 프롬프트에 ' SELECT version()'입력한다.
posted by 뚱2
언제 부터인지 모르겠지만 사람들은 세끼식사를 시작했습니다.

저도 어렸을때 부터 식사는 하루에 세끼라고 자연스럽게 생각을 했습니다.

이번에 운동을 시작하면서 알아보던중....

식사는 조금씩 자주 하는게 좋다는 것을 알게되었습니다.

왜 그렇냐면 우리몸은 신기해서 배고픔을 느끼면 그 순간부터 바로 저장 모드로

돌입한다고 합니다. 그러면서 신체가 에너지 소비를 아끼게 됩니다.

그러니까 배고픔을 느끼고 식사를 하면 많은 부분이 지방으로 저장됩니다.

그런데  자주 식사를 하면 몸은 다르게 생각합니다.

아!! 꾸준히 음식이 들어오니 굳이 힘들게 저장할 필요가 없구나 .... 하면서...

지방으로 저장하지 않는다고 합니다. 이게 여섯끼 식사의 포인트 입니다.

그러므로 꼭 여섯끼가 아니라도 배고픔을 느끼게 텀을 가지고 식사를 하는 것은 지양해야 합니다.

그리고 한끼 식사는 칼로리 보다는 얼마 만큼의 양을 먹느냐가 중요합니다.

그리니까 과식하지 말라는 말이지요...

자주 먹고, 과식하지 않는 것이 살을 빼는 첫걸음 입니다.
posted by 뚱2
자신의 비만도를 확인하는 방법은

(자신의 몸무게) / (키::m로 환산) / (키::m로 환산) 해서 나오는 수치를 확인해서

23이하     정상체중 
23-25      과체중 
25-30      비만 
30이상    고도비만
posted by 뚱2