반응형

LG OPTIMUS LTE3 간단 사용기 입니다.

우선 이전에 베가 S5를 사용해서

LTE3 랑 간단히 비교평을 써봅니다.


1. 통화

휴대폰에 가장 중요시되야 하는 통화기능입니다.

LTE3 참 어이가 없네요. 가끔씩 끊김니다. 상대방목소리가 아예 안들려요...

그상태에서 상대방이 저한테 전화를 걸면 사용자를 찾을수 없다는 음성이 나타난다고 하네요;;;

이렇게 끊기는건, 첫통화 때부터 이런 현상이 나타났습니다.

아주아주 퐝당한 일이죠;


2. 발열

LTE3 가 S5 보다 발열이 심하네요.

비교는 모두의 마블을 했을때 차이가 확나타납니다.

S5 에 비해 LTE3는 시작하고 얼마 있으면 바로 발열 현상이 나타나네요.

체감상 S5는 중후반때부터 발열이 있었는데...

LTE3 같은 경우에는 인터넷 검색, 웹툰, 기타등등 별루 사용을 안했는데

따땃하게 달아올름니다.

S5 같은 경우에는 게임등을 하지 않았을때 발열을 느끼지 못했는데 차이가 너무 크네요.


3. 배터리

아 이것역시 S5가 더 오래가는거 같네요.

용량은 S5 2100, LTE3 2540

용량은 큰데도 더 빨리 없어지네요;

왜지?? 왜일까요?? 헬지라서 그런가??


4. 터치감

터치감은 LTE3 가 더 좋네요.

S5가 좀 딱딱하다면 LTE3는 착착 달라붙는듯한??

암튼 LTE3가 훨씬 좋네요.


5. UI 디자인

LTE3가 더 아기자기하고 이쁜거 같네요.

근데 기본 카메라 어플에 대한 디자인이 이건머 

책보고 만들었나?? 왜케 허접해보이는지...

버튼들하며 안드로이드 책을 보면 기본적으로 나오는 화면에 

버튼만 올려놓은 것 같은 느낌이 드네요...


6. 화면

S5 가 더 선명하게 보이네요.

LTE3 는 필름이라도 씌운것 같은 느낌이 들어요.

참고로 두개다 필름 없이 사용했습니다.


7. 결론

전 S5이 더 좋은거 같네요.

터치감 말고는 더 낫다고 할만한게 없어서...

전 카메라를 사진을 잘 안찍어서 카메라에 대한 평가는

머라고 드릴말씀이 없네요~


끝!!!

반응형
반응형

레오폴드 FC660M 갈축 사용기


토요일 낮에 주문했는데 월요일 오전에 도착했습니다.

예상배송기간이 7/10일이여서 기대안하고 있었는데,

월욜 배송이라 완전 기분 좋았습니다.

지**샵에서 5퍼 할인이랑, 기타 할인, 청구 할인받아 

구만원 중후반쯤에 산거 같아요.

우선 구성품은 키보드, USB 연결케이블입니다.

이건 박스 구성품이구요.

그외에 별도로 아이폰 케이블을 2개 주셨습니다.

이걸 어디에 써먹으라는건지 알수 없네요.

다행이 패드가 있어서 슬수는 있지만... 멍미;;

키감은 엄청 좋네요.

사용감은 좋습니다.

다만, 한영키가 없어서 어떻게 변환해야되는지 한참 찾았습니다.

레오폴드 사이트에서 나오는데로 레지스트리 수정하는 것을 했는데도

안되서 인터넷에서 폭풍검색을 했으나 여전히 안되더군요.

그러다가 제어판에 키보드 입력에 대한 정보를 보니,

ALT + Shift 키를 누르면된다고 적혀있더군요.

이런 대박사건이...

암튼 그렇게 변경하니 잘되네요 ㅋㅋ.

이상 끝~





반응형
반응형

정적 바인딩

컴파일 시점에서 포인터 변수의 자료형에 의해서 호출될 함수가 결정되는 것.

 

동적 바인딩

컴파일할 때 호출할 멤버함수를 결정하지 않고, 프로그램이 실행되는 동안에 즉, 함수 호출이 실제로 일어나는 시점에서 멤버함수가 어떤 클래스의 멤버함수인지를 결정하도록 하는 것.

프로그램 실행 중에 포인터 변수가 가리키는 실체는 매번 변경되므로 동일한 포인터 변수로 함수를 호출하더라도 바인딩 되는 함수가 융통성 있게 바뀌어 호출되는 것.

 

virtual 키워드를 사용한 가상함수

C++에서 기본적으로 모든 함수가 정적 바인딩을 한다.

하지만 경우에 따라서 동적 바인딩이 필요한 경우에는 동적 바인딩을 하고자 하는 함수가 선언되어 있는 부모 클래스에 가서 함수를 선언(원형정의) 할 때 virtual 이라는 키워드를 함수의 선언 앞에 덧붙인다.

 

virtual void Prn();

 

virtual 키워드가 붙어서 동적 바인딩을 하는 함수를 가상함수라고 한다.

 

어떤 함수가 호출 될지 프로그램 실행 전에 결정 되는 것과 프로그램 실행 중에 호출 될 함수가 결정되는 것은 차이가 있다. 

C++ 에서는 가상 함수, 즉 dynamic binding을 통해 포인터가 가리키는 객체에 따라 각기 다른 동작을 할 수 있는 다형성을 구현할 수 있다.

 

* 정리

 - 정적 바인딩은 컴파일할 때 호출될 함수를 결정한다.

 - 모든 함수는 기본적으로 정적 바인딩을 한다.

 - 동적 바인딩은 호출될 함수를 결정한다.

 - 동적 바인딩을 위해서는 가상함수로 선언되어야 한다.

 - 가상함수는 기반클래스의 함수 선언문 맨 앞에 예약어 virtual를 덧붙인다.

 - 가상함수는 상속된다.

반응형

'프로그래밍 > C, C++' 카테고리의 다른 글

디렉토리 분리함수 _splitpath  (0) 2015.06.16
C언어 출력타입 %d, %f, %e, %o, %x, %u, %g ......  (0) 2013.12.11
상속(Inheritance)  (0) 2013.07.07
바인딩  (0) 2013.06.03
가상함수  (0) 2013.06.03
반응형

상속(Inheritance)

 

객체 치향 언어의 대표적인 특징 중의 하나, 상속(Inheritance)

프로그램을 개발하다 보면 중복되는 내용이 많다.

이렇게 중복되는 코드를 단순히 복사해서 사용하는 것보다 이미 개발한 소스를 더 체계적으로 재활용하기 위한 방법.

 

상속이란 자식이 부모가 가지고 있는 재산이나 권력을 불려받는다는 의미

특정(자식) 클래스는 다른(부모) 클래스가 가지고 있는 모든 멤버변수나 멤버함수를 사용할 수 있다.

 

- 부모 클래스

Class Parent

{

public: void ParentPrn();

}

 

- 부모 클래스의 상속을 받는 자식 클래스

Class Child: public Parent

{

public: void ChildPrn();

}

 

protected 멤버의 사용

 

액세스 지정자 

자신의 클래스

 파생 클래스

클래스 외부 

 private

O

X

 protected

O

O

X

 public

O

 

private 는 파생클래스에서 접근하는 것을 허용하지 않는다.

public 는 파생클래스에서 접근하는 것을 허용하지만, 외부에서도 접근 가능하게 된다.

 

객체 지향 언어의 기본 특징인 캡슐화란 개념을 고수하면서 상속이 가능하도록 하기 위해서 제공되는 액세스 지정자가 바로 protected 이다. 부모가 되는 기반 클래스의 멤버변수들을 protected 로 지정해 두면 상속 가능하게 되어 파생 클래스에서 사용이 가능하지만 외부에서는 접근 불가능하게 된다.

 

오버라이딩과 오버로딩

오버라이딩과 오버로딩은 다형성을 지원하는 기술이라는 점에서는 매우 유사하다. 오버라이딩은 상속이란 개념에서 함수의 원형이 완전히 동일한 함수를 파행(하위) 클래스에서 사용하고자 할 때 새롭게 정의하는 것이다. 오버로딩은 동일한 이름을 다양한 일을 수행할 수 있도록 하기 위해서 함수의 원형을 달리해서 여러번 정의하는 것이다.

반응형

'프로그래밍 > C, C++' 카테고리의 다른 글

C언어 출력타입 %d, %f, %e, %o, %x, %u, %g ......  (0) 2013.12.11
정적 바인딩과 동적 바인딩  (0) 2013.07.08
바인딩  (0) 2013.06.03
가상함수  (0) 2013.06.03
객체지향 언어의 특징  (0) 2013.06.03
반응형

TCHAR path[_MAX_PATH];

GetModuleFileName(NULL, path, sizeof(path));


CString strPath = path;  

int i = strPath.ReverseFind('\\');      // 실행파일 이름을 지우기 위해서 왼쪽에 있는 '/'를 찾는다.

strPath = strPath.Left(i);                    // 뒤에 있는 현재 실행파일 이름을 지운다.

반응형
반응형

프로세스(Process)

프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램이다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다. 여러 개의 프로세서를 사용하는 것을 멀티프로세싱이라고 하며 같은 시간에 여러 개의 프로그램을 띄우는 시분할 방식을 멀티태스킹이라고 한다. 프로세스 관리는 운영체제의 중요한 부분으로 자리잡혀 있다.

- 컴퓨터 내에서 실행중인 프로그램, 

- 할당받은 자신만의 자원을 가지고 CPU가 기계어 명령들을 실행함에 따라 끊임없이 변화하는 동적인 존재.

- 코드(Code), 데이터(Data), 힙(Heap), 스택(Stack)


스레드(Thread)

스레드(thread)는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드(multithread)라고 한다.

- 실제적으로 명령어가 CPU를 사용하여 실행되어지는 객체의 단위.

- 스레드는 같은 프로세스에 있는 자원과 상태를 공유.

- 코드, 데이터, 힙의 영역을 프로세스와 공유하면서 오직 프로그램 카운터, 레지스터, 스택을 스레드별로 갖게 된다.


프로세스와 스레드의 비교

멀티프로세스와 멀티스레드는 양쪽 모두 여러 흐름이 동시에 진행된다는 공통점을 가지고 있다. 하지만 멀티프로세스에서 각 프로세스는 독립적으로 실행되며 각각 별개의 메모리를 차지하고 있는 것과 달리 멀티스레드는 프로세스 내의 메모리를 공유해 사용할 수 있다. 또한 프로세스 간의 전환 속도보다 스레드 간의 전환 속도가 빠르다.

멀티스레드의 다른 장점은 CPU가 여러 개일 경우에 각각의 CPU가 스레드 하나씩을 담당하는 방법으로 속도를 높일 수 있다는 것이다. 이러한 시스템에서는 여러 스레드가 실제 시간상으로 동시에 수행될 수 있기 때문이다.

멀티스레드의 단점에는 각각의 스레드 중 어떤 것이 먼저 실행될지 그 순서를 알 수 없다는 것이 있다.

 


출처:

http://kjw1801.tistory.com/81

http://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4

http://ko.wikipedia.org/wiki/%EC%8A%A4%EB%A0%88%EB%93%9C#.ED.94.84.EB.A1.9C.EC.84.B8.EC.8A.A4.EC.99.80_.EC.8A.A4.EB.A0.88.EB.93.9C.EC.9D.98_.EB.B9.84.EA.B5.90

반응형
반응형

드디어 구프 2.0 제작기를 시작합니다.

글을 올린지가 거의 한달 전인데, 이래저래 미루고미루다 이제야 올리게 되네요.

근데 솔직히 진도가 너무 안나가네요...

공구는 손톱깍기, 니퍼, 커터칼, 사포 800, 1000, 1200 요렇게 가지고 합니다.

근데 사포를 처음써보는데 생각보다 곱게 안되네요...

내공이 부족해서인가??

1500 번 때 사포를 구해서 나중에 다시 시도해봐야겠네요.

제작기라고 올리긴 하지만 실제로 작업량이 너무 없습니다.

한페이지 분량을 보통 얼마나 걸려서 만드는지 모르지만 

저는 한 5시간?? 정도 걸렸습니다. ㅎㅎㅎㅎㅎㅎㅎㅎㅎ;;;;;;;;;;;;;;;;;;;;;;

저는 

1. 런너를 니퍼로 자른다.

2. 손톱깍기로 돌기들을 자른다.

3. 커터칼로 단차??를 줄인다.

4. 사포 800 -> 1000 -> 1200 으로 다듬는다.

요런식으로 하니 시간이 후딱후딱 가네요...

근데 많이 부족합니다.








완성된 부분은 몸통과 머리 입니다. ㅎ;

자세히 보면 사포 다듬는 작업에 어설픔이 묻어나네요...

중간에 머리를 움직일때 모노아이가 움직이는 모습을 찍기 위해 노력했는데

잘 안보이네요 ㅎ;;;

아는 사람만 보인다는 그....

암튼 다음에는 다리와 팔을 만들어줘서 일어설수 있도록 해야겠네요.

허접한 제작기 끝!!!


반응형

'취미 > 프라모델' 카테고리의 다른 글

[RG] MSM-07S Z'GOK  (0) 2014.09.11
[RG] RX-78-2 GUNDAM  (0) 2014.09.11
RX-78-2 GUNDAM Ver.2.0 리뷰  (0) 2013.05.26
MS-07B GOUF 2.0 리뷰  (0) 2013.05.26
반응형

Visual Studio 2008 CMFCShellTreeCtrl 사용하기

 - 기본적으로 제공해 주는 CTreeCtrl 은 이것저것 설정해줘야 하는 것이 많은데에 비해

   CMFCShellTreeCtrl 을 사용하면 윈도우 탐색기를 쉽게 구현가능하다.

   근데 이건 Visual Studio 2008 SP1 이 설치되어있어야 한다.

 - 사용법에 대해 잘 나타나있지 않아서 엄청난 삽질을 하고 있었는데, 드디어 해결!!


사용법은 간단하다. 

다이얼로그 기반일 경우: TreeControl 을 하면에 끌어다 놓고 아래처럼 사용하면 된다.

**Dlg.h

CMFCShellTreeCtrl m_cTreeCtrl;


**Dlg.cpp

OninitDialog() 함수안에

m_cTreeCtrl.SelectIem(m_cTreeCtrl.GetRootItem();

m_cTreeCtrl.SelectItem(L"C:\\");


이렇게 만 쓰면된다!!! 일줄 알았다. 근데 계속 에러가 나와서 인터넷 검색을 엄청해서 결국 해결했다.

에러가 난 이유는 초기화를 하지 않아서 이다.

초기화는 **App 에서 하면 떙~ 이렇게 간단한걸 삽질을 하다니...

모르는게 너무 많다...


**App 클래스 안에

InitInstance() 안에

InitShellManager(); 


요것만 써주면 오류없이 해결이 가능하다. 


반응형
반응형

함수를 만들어서 컴파일 하면 각각의 코드가 기계어로 번역되어 메모리 상의 어딘가에 저장된다.

그리고 이 함수를 호출하는 부분에는 그 함수가 위치한 메모리 번지가 저장된다.

프로그램을 실행하면 명령어가 차례로 수행되다가 함수를 호출하는 부분을 만나면, 

이 함수가 있는 메모리 번지로 점프를 해서 그 함수를 실행하고, 원래 위치로 되돌아 온다.

이와 같이 함수를 호출하는 부분에 함수가 위치한 메모리 번지를 연결시켜 주는 것을

바인딩이라고 한다. 함수를 바인딩 하는데는 두가지 방법이 있다. 

 1. 정적 바인딩

 2. 동적 바인딩


1. 정적 바인딩

일반적인 함수는 실행 파일을 만들 때 바인딩을 할 수 있다.

즉, 컴파일을 해서 실행파일을 만드는 단계에서 함수를 호출하는 부분과 그 함수가 저장되는 부분을 연결시킬 수 있다.

* 실행파일을 만들 때 호출될 함수로 점프할 번지가 결정되어 바인딩되는 것을 정적 바인딩이라고 한다.


2. 동적 바인딩

실행 파일을 만들 때는 바인딩이 되지 않고, 보류 상태로 두었다가 프로그램이 실행될 때 바인딩 되도록 할 수가 있다.

* 실행 파일을 만들 때는 호출될 함수로 점프할 번지를 결정하지 않고 빈칸으로 두었다가,

프로그램을 실행할 때 점프할 번지를 즉성에서 결정하여 함수를 실행하도록 하는 것을 동적 바인딩이라고 한다.


동적 바인딩의 단점

① 프로그램을 실행하는 중에 바인딩을 해야 하기 때문에 거의 무시할 수 있을 만큼이긴 하나 

    정적 바인딩을 하는 경우보다 수행 속도가 떨어진다.

② 바인딩에 필요한 메모리 번지를 저장할 포인터를 가지고 있어야 하므로, 

    정적 바인딩을 할 때는 필요없는 메모리가 함수 당 4바이트씩 더 필요하다.


반응형

'프로그래밍 > C, C++' 카테고리의 다른 글

정적 바인딩과 동적 바인딩  (0) 2013.07.08
상속(Inheritance)  (0) 2013.07.07
가상함수  (0) 2013.06.03
객체지향 언어의 특징  (0) 2013.06.03
Visual leak detector  (0) 2013.05.03
반응형

CWinApp 클래스의 구조


프로그램이 시작되면 CWinApp 클래스의 인스턴스가 생성되고,

세개의 멤버 함수가 차례로 호출되는 구조롤 만들어져있다.

   InitInstance();

   Run();

   ExitInstance();


Run 함수는 무한루프를 돌면서 메시지를 처리하는 기능을 하고, 프로그램을 종료하라는 메시지인 WM_QUIT 메시지를 만나면 무한루프에서 빠져 나온다.

프로그램이 실행되면 

① InitInstance 함수가 잠깐 실행되고, 

② Run 함수에서 계속 머무르고 있다가, 프로그램이 끝나기 직전에 

③ ExitInstance 함수가 잠깐 실행되고 프로그램이 종료되는 구조로 되어 있다.

반응형

+ Recent posts