본문 바로가기

전체 글142

[C#] 리틀 엔디안, 빅 엔디안과 변환 방법을 알아보자 ✔ Little endian, Big endian C# endian Convert 엔디언(Endianness)은 쉽게 말해 배열에 바이트 데이터를 넣을때 바이트 순서를 의미한다. 흔히 통신을 이용하여 데이터를 주고 받을때 이 엔디안을 고려하며 프로그래밍을 해야한다. 대표적인 엔디안의 종류는 little endian, big endian이 있다. 우리가 주로 이용하는 컴퓨터는 대부분 윈도우나 인텔 기반의 리눅스가 많다. 이 시스템들은 리틀 앤디안 방식으로 돌아간다. 하지만 네트워크상으로 데이터를 전송할 때에는 빅 엔디안 기준으로 송수신된다. ● 빅 엔디안 big endian : 메모리 공간의 시작주소에서 메모리 마지막 주소 순서로 쓰는 방식 0[시작주소] -> 100[마지막주소] ● 리틀 엔디안 littl.. 2022. 5. 27.
[Unity] 유니티 기초 탈출기 - Part.03 - 스크립트 편 ( 사용자 입력 이벤트 ) ✔ 기초탈출기 - 사용자 입력 처리 공중부양 게임(?) 제작 이번에는 사용자 입력 이벤트에 대해서 알아보겠습니다. 대표적인 사용자 입력 이벤트는 사용자가 마우스로 클릭하거나 키보드를 클릭했을때 발생되는 이벤트입니다. 거의 대부분의 기능은 UI의 버튼을 생성해서 버튼 누를때 어떠한 동작을 하게 됩니다. 하지만 가끔 UI 버튼이 아니라 화면을 클릭했을때 구현을 해야할 경우가 있습니다. 예를 들어 화면을 누르고 드래그하면 화면이 이동된다던지... 휠로 줌 인/아웃을 구현한다던지 이런 기능은 버튼으로 할 수가 없잖아요? 사용자 입력이 언제 발생될지 모르기때문에 대부분이 Update 함수안에 구현되어야합니다. ● 마우스 입력 이벤트 이벤트 설명 GetMouseButton (int button) 마우스가 눌러지고 .. 2022. 5. 24.
[Unity] 유니티 기초 탈출기 - Part.03 - 스크립트 편 ( GameObject ) ✔ Unity 기초탈출기 - 게임오브젝트 활성화/비활성화 안녕하세요. 이번에는 GameObject 클래스와 활용방법에 대해서 알아보는 시간입니다. 이전 포스트에서 Getcomponent를 해서 Transform을 사용하는 간단한 예를 해보았었습니다. 다시 한번 리마인드하는 마음으로!! GameObject를 생성했을때 Transform의 컴포넌트는 무조건 자동으로 생긴다고 했죠? (삭제도 안되구요) 그리고 Transform 밑에 보이는 속성 (Position, Rotation, Scale)을 가져와서 값을 찍어보기도 했습니다. GameObject와 Transform은 셋트라고 보시면됩니다. 서로 뗄래야뗄수없는 관계. 왜냐!! GameObject에는 Transform이 항상 포함되어 있으니까!!! (삭제도 .. 2022. 5. 12.
[C# 주식자동매매제작] 보조 지표 제작 - MACD oscillator ✔ C# 보조지표 만들기 - MACD oscillator 이번에는 MACD oscillator 지표를 제작해봅시다. 이전 포스트에서 TA-Lib의 API를 활용하여 제작합니다. 아직 TA-Lib 패키지를 설치하지 않았다면 아래 포스트에서 설치부터!! 2022.05.11 - [주식 자동매매 프로그램 제작/지표 알고리즘] - [C# 주식자동매매제작] 보조지표 알고리즘 - TA-Lib 설치 [C# 주식자동매매제작] 보조지표 알고리즘 - TA-Lib 설치 ✔ C# 자동매매 - 보조 지표 만들기 TA-Lib 패키지 설치하기 TA Lib 라이브러리에서는 많은 보조지표들이 이미 구현되어있습니다. 대부분의 자동매매에서는 TA Lib은 필수로 사용되고 있으며 설치방 timeboxstory.tistory.com MACD는.. 2022. 5. 11.
[C# 주식자동매매제작] 보조지표 알고리즘 - TA-Lib 설치 ✔ C# 자동매매 - 보조 지표 만들기 TA-Lib 패키지 설치하기 TA Lib 라이브러리에서는 많은 보조지표들이 이미 구현되어있습니다. 대부분의 자동매매에서는 TA Lib은 필수로 사용되고 있으며 설치방법은 아래와 같습니다. ● TA Lib 패키지 설치 Visual Studio 프로젝트 선택 -> 마우스 우클릭 -> NuGet 패키지 관리 검색에 TA-lib 으로 검색후 TA-Lib 패키지 설치 설치가 완료되었는지 확인하자 프로젝트 참조 -> TA-Lib-Core 확인 참조에 정상적으로 들어가있다면 설치가 완료되었다. 이제부터 TA-Lib 패키지를 이용하여 보조지표를 제작해보자 감사합니다. 2022. 5. 11.
[C#] int, float, bool,struct를 Null 로 초기화방법 - System.Nullable ✔ Value Type 을 Null로 초기화하기 struct 멤버변수를 Null로 초기화하기 System.Nullable 일반적으로 int, float, double, short 등등 (숫자로 표현되는것)은 모두 Null의 값을 가질 수 없다. (struct도 포함) int k = 1은 되지만 int k = null 을 선언하면 초기화 오류가 나타난다. 그래서 많은 사람들이 특정 초기값이라고 생각하며 int k = -999 이런식으로 사용하며 if(k == -999) 일때는 초기값이라고 판단하도록 했었다. 지금은 Nullable을 사용하여 null처리가 가능해졌다. 사용방법은 Type 뒤에 ?를 넣으면 된다. ● Value Type 을 Null로 초기화하여 사용방법 //Value Type 사용법 int?.. 2022. 5. 3.
[Unity] 유니티 기초 탈출기 - Part.01 - 로컬, 글로벌 좌표계 ✔ Unity3D - Transform Local, Global 로컬변수, 글로벌 변수 값 가져오기 Positon, Rotation, lossyScale 값 변경하기 안녕하세요. 유니티에서는 로컬 좌표와 글로벌 좌표의 두가지를 가지고있습니다. ● Local 좌표 로컬좌표란? : 오브젝트 기준 시점의 좌표 ▷ Local 좌표 확인하기 유니티에서 Cube를 하나 생성합니다. 그리고 Position을 1,0,0으로 셋팅합니다. 다시 Cube를 하나 더 복사합니다. 그리고 아까 생성한 Cube의 자식으로 넣고 Position을 1,0,0을 넣어줍니다. 1번째 Cube와 2번째 Cube 모두 Positon의 값을 1,0,0 을 입력했는데 같은 위치가 아니라 2번째 Cube는 x축 1만큼 더 이동되어있는것을 볼 수.. 2022. 5. 2.
[Unity] 유니티 기초 탈출기 - Part.03 - 스크립트 편 ( 시작, 반복, 종료 이벤트 함수 및 스크립트 함수의 실행 순서 ) ✔ 함수 실행 순서를 알고 넘어가자! Start, Update, OnApplicationQuit FixedUpdate 반복 주기 설정 유니티는 일명 Mono Framework를 사용한다라고 말하고 있습니다. 유니티에서 스크립트를 생성하면 자동으로 MonoBehaviour를 자동으로 상속 받아져있죠? MonoBehaviour에는 엄청 많은 API들이 구성되어있습니다. 다 알기도.. 설명하기도 힘듭니다 ㅠ_ㅠ 우리는 최소한 우리가 필요한 것들은 알고 있어야합니다. 가장 기본이 되는 것은 Start, Update 입니다. 스크립트를 생성하면 Start(), Update()가 자동으로 만들어져있죠? 이 두개 말고도 비슷한 기능들을 하는 함수들이 존재합니다. 실행순서와 각 역할에 대해서 알고 넘어가야합니다. ● .. 2022. 4. 27.
[C# 주식자동매매제작] 계좌 보유 주식 데이터 가져오기 ✔ 주식자동매매 - 보유 주식 잔고 데이터 가져오기 이전 포스트에서는 계좌정보와 보유금에 대한 정보를 불러왔습니다. 이번에는 내가 보유하고 있는 주식의 종목들을 조회하겠습니다. 이전에 설명드렸던 내용과 마찬가지로 키움에 요청 -> 이벤트로 수신 구조입니다. ● 계좌평가잔고조회 요청 - Form1 클래스에 함수를 추가해줍니다. public void 계좌평가잔고내역요청() { axKHOpenAPI.SetInputValue("계좌번호", cbo계좌.Text.Trim()); axKHOpenAPI.SetInputValue("비밀번호", ""); axKHOpenAPI.SetInputValue("비밀번호입력매체구분", "00"); axKHOpenAPI.SetInputValue("조회구분", "2"); axKHOpen.. 2022. 4. 26.