반응형
반응형
반응형

시스템 트레이딩 관련 검색을 하다가 좋은 내용이 있어서 확인해 보니,

다음 사이트에 책 형식으로 올려진 내용이었다.


https://wikidocs.net/book/20


온라인 책을 제작하고 공유하는 플랫폼 서비스이다.

프로그래밍, DB등과 같은 IT 기술 관련 서적이 대부분이다.

반응형
반응형

C#에서, Form에 구현된 컨트롤을 Form이 아닌 다른 클래스에서 호출하려 하면,

다음과 같은 에러가 발생한다.

크로스 스레드 작업이 잘못되었습니다. 'xxxx' 컨트롤이 자신이 만들어진 스레드가 아닌 스레드에서 액세스되었습니다.


C#에서 UI 컨트롤들은, 자신이 만들어진 쓰레드에서만 엑세스될 수 있게 되어 있다.

하지만, 종종 다른 쓰레드에서 엑세스 해야 하는 경우가 있기 마련이다.

이런 경우에는, 컨트롤의 InvokeRequired 속성을 이용하여 

대리자 호출을 해야 되는 상황인지를 판단하여

직접호출을 하거나 대리자 호출을 하면 된다.

이에 대한 설명은, 다음 사이트에 잘 나와 있다.


다음은, 실제 사용 샘플이다.

delegate void deleg_log(object content, params object[] args);

public void log(object content, params object[] args)
{
    if (InvokeRequired)
    {
        deleg_log call = new deleg_log(log);
        Invoke(call, content, args);
    } else {            
        if (txtResult.Text.Length > 2000)
            txtResult.Text = String.Format(content.ToString(), args) + 
                                  txtResult.Text.Substring(0, 2000);
        else
            txtResult.Text = String.Format(content.ToString(), args) + txtResult.Text;
    }
}


반응형
반응형

얼마전, OpenCV2.1을 빌드해야 할 일이 있었다.

CMake를 통해 프로젝트를 생성한 다음 

VisualStudio에서 빌드하면서 문제가 발생하였고,

cvinternal.h의 소스의 다음 부분을 변경하고 나서야 빌드가 가능했다.

  • #define _WIN32_WINNT 0x0400 => #define _WIN32_WINNT 0x0501


그러면서, 좀더 자세한 내용을 알고 싶어서 검색을 해 보았더니,

다음 사이트에서 원하는 답을 찾을 수 있었다.


즉, 소스가 릴리즈될 때의 윈도우즈 버젼 정보가 

WINVER 혹은 WIN32_WINNT에 담겨져 있으며,

그때문에 컴파일이 안되는 경우에는, 다음과 같이 해야 한다.

  • 소스(헤더파일) 상의 버전 정보를 직접 업데이트
  • 컴파일러 옵션을 통해 윈도우즈 버전 정보 설정


반응형
반응형

ORACLE에서 UTC(GMT)을 얻고 싶을 때는,

'sys_extract_utc'라는 함수를 사용한다.


예)

SQL>  select current_timestamp "현지시각", SYS_EXTRACT_UTC(current_timestamp) "영국표준시각" from dual;


현지시각                                                 영국표준시각

--------------------------------------                -------------------------------------

02-MAR-09 06.55.02.294237 PM +09:00         02-MAR-09 09.55.02.294237 AM


SQL>

반응형
반응형

공부도 할 겸,

Intel 4rd Quad Core i5-4590의 사양에 대해서 정리해 봤다.


다음 사이트에 잘 나와 있다.

Intel 4rd Quad Core i5-4590


4세대 프로세서이며, 하스웰 아키텍쳐이고,

GPU는 HD 4600이다.

(HD 4600은 인텔의 코어-i 4세대 CPU인 하스웰 CPU들에 장착된 내장형 GPU라고 한다.)



 

반응형
반응형

개발에 참고하라고 보내 준 하드웨어 스펙에

'Mini-ITX Form Factor'라는 단어가 있어서,

이게 뭘까 하고 찾아보았다.

다음 사이트에 자세한 내용이 나와 있다.

Mini-ITX

2001년 VIA Technologies에 의해 개발된 마더보드이며,

17cm * 17cm 사이즈에

저전력 및 냉각팬이 없는 홈씨어터용으로 만들어졌다고 한다.


폼팩터라는 것은, 공학 설계에서 쓰는 용어로,

물리적 치수를 나타낸다.

Mini-ITX는, 17.0cm * 17.0cm을 의미하는 Form Factor용어이다.

다음 사이트에서는, 사이즈별 명칭을 확인할 수 있다.

Computer Form Factor


또한, 다음 사이트는 메인보드에 대한 상식을 잘 설명해 주고 있다.

[컴퓨터 조립 백과사전] 2. 메인보드 제대로 고르는 법

반응형

'프로그래밍' 카테고리의 다른 글

ORACLE에서 UTC(GMT)로의 시간 변환 함수  (0) 2016.04.29
Intel 4rd Quad Core i5-4590  (0) 2016.02.23
Windows Defender 되살리기  (0) 2016.02.23
VisualStudio2008에서의 stdint.h  (2) 2016.02.12
로컬 DNS  (0) 2016.01.06
반응형

무슨 이유인지 몰라도, 사무실에서 쓰고 있는 Windows10 환경의 데스크탑에서

Windows Defender 서비스가 한동안 실행되지 않았다.

서비스를 수동으로 시작하려고도 해 봤지만, 잘 되지 않았다.

그래서 검색을 해 보니, 여러가지 방법이 나와 있었다.

그중 몇가지를 시도해 봐도 잘 되지 않다가,

다음 사이트의 내용대로 시도해 보니

Windows Defender가 다시 실행되었다.

Windows Defender 복구 방법

반응형

'프로그래밍' 카테고리의 다른 글

Intel 4rd Quad Core i5-4590  (0) 2016.02.23
Mini-ITX Form Factor  (0) 2016.02.23
VisualStudio2008에서의 stdint.h  (2) 2016.02.12
로컬 DNS  (0) 2016.01.06
Doxygen에서 C++ 매크로 처리 방법  (0) 2015.11.17
반응형

OpenCV3.1을 다운로드 받아서, CMake를 이용하여 vs2008에 맞게 빌드하려 하니,

다음과 같은 에러가 발생하였다.

fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory

그래서 구글링을 해보니, 다음 블로그에 원인과 해결책이 소개되어 있었다.

내용인 즉슨, stdint.h라는 것이 C99 standard library에 추가되었음에도,

MS쪽에서 VisualStudio 2008(VS 9.0) 버전까지는 이 헤더파일을 포함시키지 않았다는 것이다.

(VisualStudio 2010(VS 10.0) 버전부터는 포함이 되었다고 한다.)

따라서, 빌드를 하기 위해서는 인터넷에서 stdint.h를 다운로드받아서 

VisualStudio 2008이 설치된 위치의 include폴더에 넣어주어야 한다는 것이다.

(VisualStudio2008을 기본 설치하였을 경우에는, 

C:\Program Files\Microsoft Visual Studio 9.0\VC\include

에 넣어주면 된다.)


stdint.h파일을 다운로드 받는 곳은, 위 블로그에 나와 있는데,

다음과 같다.

http://msinttypes.googlecode.com/svn/trunk/stdint.h


파일을 다운로드 받아서 해당 폴더에 복사한 후, 다시 빌드를 하니

이상 없이 빌드가 되었다.

반응형

'프로그래밍' 카테고리의 다른 글

Mini-ITX Form Factor  (0) 2016.02.23
Windows Defender 되살리기  (0) 2016.02.23
로컬 DNS  (0) 2016.01.06
Doxygen에서 C++ 매크로 처리 방법  (0) 2015.11.17
문서 자동화  (0) 2015.11.17
반응형

웹사이트에 접속할 때, 주소창에 www.tistory.com과 같이 주소를 입력하면,

이 주소는 일단 IP 주소로 변환된 다음,

네트워크 상의 해당 주소를 찾아가서 연결을 하게 된다.


여기서, www.tistory.com과 같은 사이트 주소를 도메인이라 하는데,

이러한 도메인을 IP 주소로 바꾸어 주는 역할을 하는 것이 DNS(Domain Name System) 서버이다.


네트워크 설정 창에서 TCP/IP 속성을 확인해 보면,

'자동으로 DNS 주소 받기' 혹은 '다음 DNS 서버 주소 사용' 중 하나에 

체크가 되어 있는 것을 확인할 수 있다.


주소창에 입력한 주소는 여기에 정의된 DNS 서버를 거치면서 IP로 변환되어

해당 사이트를 찾아가게 되는데,

DNS를 참조하는 순서는 다음과 같다.

  1. 로컬 DNS 정보 파일
  2. DNS 서버

즉, 로컬 DNS 정보 파일에 해당 도메인 정보가 있는 경우에는,

DNS서버를 거치지 않고 해당 IP를 찾아 갈 수 있게 된다.


로컬 DNS 정보 파일은 hosts라는 이름의 파일이며,

다음 위치에 존재한다.

  1. Windows
    • C:\Windows\System32\drivers\etc\hosts
  2. Linux
    • /etc/hosts

위의 hosts 파일을 열어서 수정해 주면, 로컬 DNS를 정의할 수 있다. 

형식은, 다음과 같다.

[IP 주소]    [도메인명]

예를 들어, 다음과 같이 입력하면 된다.

180.70.93.117    www.tistory.com


로컬 DNS 설정을 잘못할 경우에는, 

도메인 주소를 치더라도 페이지가 로드되지 않을 수 있다.

하지만 잘만 이용하면, 외부 DNS 서버를 거치지 않고 바로 IP주소를 찾아갈 수 있기 때문에

페이지 로딩 속도가 향상될 수도 있다.

반응형

+ Recent posts