투싼 차주입니다.

AUX 지원

Tape의 유선 카팩 고장 --;

네비가 있긴하나 매번 음원 복사하기 귀찮고…

하여 선택한게 무선 카팩이였고

이런 저런 제품중에 훠링 무선 카팩을 골라서 사용중에 있습니다.

 

선택 기준은 무선 카팩 MP3 기능은 굳이 사용하지 않을 것 같고,

있으면 좋지만 있어도 mp3 복사하고 play 시키고 하는게 귀찮아서.. --;

 

주로 스마트폰(노트2)으로 stream 음악이나 강좌 등 청취 목적이므로 본 제품을 구입했습니다.

 

일단, 가격: 13000 ~ 16000 내외로 형성되어있음.

제품 디자인: 심플하고 사용이 간단함.

 

사용 후기: 배송받은 제품입니다.

크기는 손가락 두어마디 정도이며 가볍습니다. 너무..

 

실제 차량에서 사용해본 결과,

무선 주파수 대역: 87.5 ~ 108Mhz 대역 내에서 설정하면 되지만,

다른 주파수 대역은 잡음, 소음이 심하고 여기서 추천해주는 87.9~88.9 Mhz 대역에서 소음이 적었습니다.

 

처음엔 잡음이 심하여 이거 사용가능한가 했는데, 지금은 88.9Mhz로 설정해서 사용중으로 잘 사용하고 있습니다.

 

단, 핸드폰에 직접 꽂아 사용하면 핸드폰의 GPS 수신이 잡히지 않습니다. --;

여기서 멘붕이 왔죠.

 

원래 목적상 스마트폰 네비(x틀란, x기사등) 사용하면서 음악등을 듣고자 했던건데,

요 제품을 폰에 꽂으면 바로 GPS 수신에 간섭이 발생 GPS 수신이 안되어, 네비가 동작되지 않습니다.

즉 차는 이동중인데, 네비안의 차는 그자리 그대로 얼음땡~!!

 

그만큼 FM Transfer 기능이 막강한(?) 뜻으로 알고, 과감히 직접 꽂는건 포기하고

차량 하부에 고정해서 이어폰 연장 케이블로 사용하고 있습니다.

이렇게 사용하니, GPS 수신에 문제는 없네요.

 

 

또 하나,

배터리 시간 입니다.

기본적으로 완충에도 시간이 걸리지만,

배터리만으로 장시간 사용 하기에는 무리가 있고 주파수 음질도 갈수록 안 좋아집니다.

 

해서 그냥,

항시 충전하면서 이어폰 연결하여 사용중에 있습니다.

 

이쯤되면.. 유선카팩과의 차이점이 … --;

 

이러한 구성으로

음악듣기에는 무리는 없고요,

네비 사용에도 무리가 없습니다.

 

무선 카팩이라 해서 원래의 목적처럼 사용하는데는 무리가 있고,

그냥 유선처럼 사용하면 될 듯합니다.

 

FM 기능은 괜찮은 수준입니다.

차에서 내릴때 전원 On/Off 하는게 귀찮은데. 그냥 항시 On으로 사용할까 고려중입니다.

 

이상 제품 사용 후기를 마칩니다.

 

추천: 5점 만점에 3.5 정도..

위와 같이 한번 셋팅(?) 해 놓으면 그냥저냥 사용할 만 함.

 

다른 제품에서는 또 어떠한 현상이 나타날까 하는 마음에 그냥 사용하기로 함.

 

 

 

하기 사이트에서 발췌하였습니다.

감사합니다.

 

sdf 파일 관련

 

 http://sijoo.tistory.com/155

 

 

 

프레임 심도란,

  하나의 scean(장면) 즉 영상 이미지에서 초점을 평이하게 전체적으로 맞추면 밋밋한 영상이 되나,

전쟁영화에서 처럼 프레임 심도를 다양하게 구성하면 사실적인 표현이 가능하다.

즉 실제 사람의 눈으로 현실을 바라보는 듯한 영상이랄까?

 

하나의 영상에 대하여 여러 프레임 방식을 구성하고, 각 프레임마다는 초점되는 대상이 하나씩 존재하게 된다. 그렇게 함으로써 영상 심도를 높여 사실적인 표현이 가능해지게 된다.

 

하기 내용 발췌..

 

http://inomsang.blog.me/90180247897

'영상처리 > 기타' 카테고리의 다른 글

렌즈 배율별 광량차이  (0) 2014.10.13
Meteor2/4와 Meteor2/MC 차이점.  (0) 2014.01.17

Visual 2013을 사용하는 중.

VS6.0 -> VS2013으로 마이그레이션 한 후

컴파일(Win 32bit) 완료하여 디버그 하는데,

디버그 기능 중 편집하며 계속하기 라는 기능이 Disable 되어있다.

 

이런 경우,

 

 

프로젝트의 속성창에서 링커-고급창 맨 아래에 예외처리기 포함 이라는 항목을 아니요 로 바꿔주면 해당 문제가 해결된다.

 

 

다이얼로그의 회색 배경이 싫어서. 흰색으로 많이 작업을 하는데..

예전에 지원하던 CWinApp::SetDialogBkColor() 함수는 없어졌음..

기능 동작 안함.. - VS2010


WM_CTLCOLOR 메시지에서... ==> OnCtlColor 함수를 만들어 사용 해야 함.

m_Brush.CreateSolidBrush(RGB(255, 255, 255));// 다이얼로그 생성자에서...

HBRUSH CxxxxxxDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

        // nCtlColor 에 따라서 컨트롤 종류별로 제어할 수 있지만.. 그냥 전체 흰색으로 리턴 해 버리자..

HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO:  여기서 DC의 특성을 변경합니다.

return m_Brush;

// TODO:  기본값이 적당하지 않으면 다른 브러시를 반환합니다.

//return hbr;

}

 

 

하기 사이트에서 발췌하였습니다.   문제가 된다면 삭제하겠습니다.

http://jacking.tistory.com/1066

 

 

병렬 프로그래밍을 해보면 싫든 좋든 여러 스레드에서 하나의 객체에 동시에 접근하는 경우가 발생합니다. 앞선 std::thread에 관한 글을 보면 소개한 예제 중 그런 경우를 보실 수 있을 겁니다.

 

< 예제 >

#include <thread>

#include <iostream>

 

int main()

{

           std::thread Threads1( [] ()

              {

                        for( int i = 0; i < 5; ++i )

                        {

                                          std::cout<< "Thread Num : " << i << std::endl;

                        }

              } );

 

 

           std::thread Threads2;

           Threads2 = std::thread( [] ()

              {

                        for( int i = 10; i < 15; ++i )

                        {

                                          std::cout<< "Thread Num : " << i << std::endl;

                        }

              } );

 

           std::thread Threads3 = std::thread( [] ( int nParam )

              {

                      for( int i = 20; i < 25; ++i )

                      {

                                std::cout<< "Thread Parameter : " << nParam << std::endl;

                      }

              }, 4 );

 

           getchar();

           return 0;

}

 

위 예제에서 ‘std::cout’ 각 스레드에 동시에 접근하고 있습니다. 그래서 실행하면 아래와 같은 결
과가 나옵니다.


실행 화면을 보면 출력 결과 중 일부가 뒤죽박죽 되어 있는 것을 알 수 있습니다. 이유는 Thread1 스레드에서 출력스트림 결과를 다 출력하기 전에 Threads2가 출력스트림을 사용하여 발생한 문제입니다. 이런 것을 data-race(데이터 경합) 이라고 합니다.

 

그런데 위 예제를 여러 번 실행해 보면 아래처럼 올바르게 나올 때도 있습니다.



사실 이런 부분이 병렬 프로그래밍의 어려움 중의 하나입니다. 여러 스레드에서 하나의 공유 자원을 사용할 때 타이밍에 의해서 순서대로 사용할 수도 있고 그렇지 못할 수도 있기 때문에 버그 발생이 언제 어떻게 생길지 알기 힘듭니다.

 

병렬 프로그래밍을 할 때는 언제나 공유 자원을 최소한으로 하고, 공유 자원은 꼭 동기화 객체를 사용하여 여러 스레드가 동시에 사용하지 못하도록 해야 합니다.

 

위의 문제는 동기화 객체를 사용하면 해결 할 수 있습니다. 여기서는 앞선 글에서 사용한 적이 있는 뮤텍스(std::mutex)를 사용하겠습니다.

 

그럼 위 예제를 mutex를 사용하여 문제를 해결해 보겠습니다.

 

<예제 1 >

#include <thread>

#include <iostream>

#include< mutex>

 

int main()

{

           std::mutex mtx_lock;

 

           std::thread Threads1( [&] ()

              {

                        for( int i = 0; i < 5; ++i )

                        {

                                          mtx_lock.lock();

                                          std::cout<< "Thread Num : " << i << std::endl;

                                          mtx_lock.unlock();

                        }

              } );

 

 

           std::thread Threads2;

           Threads2 = std::thread( [&] ()

              {

                        for( int i = 10; i < 15; ++i )

                        {

                                          mtx_lock.lock();

                                          std::cout<< "Thread Num : " << i << std::endl;

                                          mtx_lock.unlock();

                        }

              } );

 

           std::thread Threads3 = std::thread( [&] ( int nParam )

              {

                      for( int i = 20; i < 25; ++i )

                      {

                                 mtx_lock.lock();

                                 std::cout << "Thread Parameter : " << nParam << std::endl;

                                 mtx_lock.unlock();

                      }

              }, 4 );

 

          

 

           getchar();

           return 0;

}

 

< 실행 결과>



std::mutex를 사용하기 위해서는 아래의 헤더 파일을 추가합니다.

#include <mutex>

 

스레드에서 공유 자원을 사용할 때는 아래 처럼 락을 걸어서 뮤텍스 mtx_lock의 소유권을 얻어서 다른 스레드가 접근하지 못하도록 합니다. 그리고 공유 자원을 다 사용하였다면 락을 해제하여 mtx_lock의 소유권을 버립니다.

mtx_lock.lock();

std::cout << "Thread Num : " << i << std::endl;

mtx_lock.unlock();

 

락을 건 후(lock) 락을 풀(unlock) 때까지는 다른 스레드는 대기를 하고, 락을 풀면 대기하고 있는 스레드 중 하나가 락을 건 후 공유 자원을 사용합니다.

그러므로 락을 건 후에는 꼭 락을 풀어야 하고(만약 풀지 않으면 데드락 상황에 빠지게 됩니다), 락을 사용하는 부위가 너무 빈번하면(스레드 대기가 늘어나므로) 병렬 프로그래밍의 장점이 많이 약해집니다.

 

 

try_lock

std::mutex lock unlock 이외에 try_lock 이라는 멤버 함수가 있습니다.

bool try_lock();

 

스레드에서 lock을 호출할 때 다른 스레드가 이미 lock을 호출하여 뮤텍스의 소유권을 가진 후 아직 unlock을 호출하지 않았다면 그 자리에서 대기를 합니다. 그러나 try_lock은 대기를 하지 않고 false를 반환합니다(뮤텍스의 소유권을 얻지 못한 경우). 반대로 true를 반환한 경우는 뮤텍스에 대한 소유권을 가지게 되므로 공유자원을 안전하게 사용할 수 있습니다.

 

try_lock을 사용하는 경우는 만약 공유 자원을 다른 스레드에서 사용 중이면 스레드가 대기하면서 그냥 시간을 소비하지 않고 또 다른 작업을 하도록 할 때 사용하면 좋습니다.

 


 

ps : 참고로 std::mutex Windows OS에서는 내부적으로는 크리티컬섹션을 사용합니다.

 

동일 물체를 고배율과 저배율로 리뷰해보면, 고배율이 어둡게 보이는것을 알 수 있다.

 

이유는 광량(光量)에 있다.

눈으로 보는 시야(Field of View)는 언제나 일정하지만

고배율로 물체를 보게되면, 더 작은 부위 즉 빛을 발하는 물체의 부위가 작은 부분을

저배율때와 같은 크기로 확대하는 것이기 때문에 원래 포함하고 있는

빛의 양도 적기 때문에 고배율일수록 취득되는 영상은 어둡게 된다.


 

 

== 기타 네이버 답변글 ==

광학현미경은 작은 물체를 렌즈를 통해 크게 확대하여 보는 기구입니다.
고배율과 저배율을 비교해보면 고배율일수록 더 적은 물체를 확대하여 보는 것입니다.

따라서 시야의 범위는 고배율일 수록 더 적습니다. 더 적은 부분을 확대하기 때문이죠.

이런 시야의 범위가 적으므로 렌즈를 통과하는 전체 빛의 양이 저배율에 비해 적습니다.

적어지는 빛의 양 때문에 고배율로 갈수록 사야의 밝기는 어두워집니다

 

'영상처리 > 기타' 카테고리의 다른 글

프레임 심도의 중요성 (영상심도)  (0) 2014.11.06
Meteor2/4와 Meteor2/MC 차이점.  (0) 2014.01.17
window7에서 C++ SYSTEMTIME의 SetSystemTime, SetLocalTime 구현

 

윈XP까지는 권한 설정만 해주면 됐지만

윈비스타 이후로는 UAC 때문에 UAC 실행 수준도 같이 설정해주어야 합니다.

SetLocalTime함수(SetSystemTime함수도 마찬가지)는 

UAC 실행 수준이 asInvoker일때는 동작하지 않습니다.

highestAvailable이나 requireAdministrator로 해주셔야 합니다.

아래 소스는 시간만 오전 5시로 바꿔버리는 소스입니다.


 

 

 

인문학과 SW의 접점을 몇 시간만에 이해하고, 업무에 활용을 할 수는 없을 것으로 생각합니다만,

이런 강연을 토대로 해서 인문학에 관심을 가지고, 책을 보고, 사용자(고객)입장에서 생각해보는 계기가 되면 어떨까요?

 

 

 

'교육세미나' 카테고리의 다른 글

스마트한 패션산업을 위한 RFID  (0) 2020.06.10
2014년 SW 인문 세미나  (1) 2014.11.24
2014 기술 닥터 사업 공고  (0) 2014.02.17
2014년 업종별 신산업 보고서 안내  (0) 2014.02.14
CIO Summit 2014  (0) 2014.02.13

VS2013에서 MBCS(Multi-Byte Character Set)로 설정된 MFC 프로젝트를 컴파일하면 다음과 같은 에러 발생한다.

 

error MSB8031: Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unicode or download an additional library. See http://go.microsoft.com/fwlink/p/?LinkId=286820 for more information. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets 369 5 IOKF_Client

 

 

2013 부터는 MBCS용 MFC 라이브러리(DLL)가 제공되지 않는다.

디볼트인 유니코드를 사용 권장하기 때문... --;

 

 

아래 사이트에서 다운받고 설치하면 된다.

http://www.microsoft.com/ko-kr/download/details.aspx?id=40770

+ Recent posts