Programming

Programming/C# & Unity

C# ?. ?? 연산자

개요 ?. ?? 모양부터 ??하게 만드는 연산자. 무슨 연산자인지 살펴보자. ?. 연산자 ?. 연산자는 [ Null이 아니라면 참조하고, Null이라면 Null로 처리 ]하라는 뜻이다. class CClass { public List lstNumber = new List();; }; static void Main( string[] args ) { CClass newClass = new CClass(); Console.WriteLine( newClass?.lstNumber ); // List 정보가 출력됨. CClass nullClass = null; Console.WriteLine( nullClass?.lstNumber ); // 아무것도 출력되지 않음. (null) } 아래의 CClass의 경우에는 멤..

Programming

C# Tuple

개요 Tuple이라는 기능은 비단 C#에서만 사용하는 기능이 아니고 C++, 파이썬등 여러 프로그래밍 언어에서 자체 지원해줄만큼 강력한 기능이다. 이 기능이 무엇이며 언제 써야하는지 간단히 적어보았다. 필요성 먼저 아래와 같은 함수가 있다고 가정해보자. CResult Func(int a_, int b_, int c_) { CResult result = new CResult(); result.a = a_; result.b = b_; result.c = c_; return result; } 매개변수를 토대로 어떤 클래스를 만들어 뱉어주는 함수이다. 여기서 인자에 제한이 생겼다! 0이하의 값은 받지 않도록 수정해보았다. CResult Func(int a_, int b_, int c_) { // 0이하의 값이 ..

Programming/MSSQL

MSSQL order by 1

select * from TABLE order by 1; -> 1번 칼럼의 순서로 정렬 select * from TABLE order by 1 desc; order by 2를 하면 2번 칼럼의 순서로 정렬 할 수 있다.

Programming/C++ & Unreal

C++ config parser

텍스트를 파싱하는 로직이 필요해서 간단히 작성한 프로그램. 긴 설명은 필요없을 것 같아 소스만 남김! 사용법 #include #include "ConfigParser.h" int main() { CConfigParser test("test.ini"); if (test.IsSuccess()) { std::cout

Programming/C++ & Unreal

언리얼4 C++ 에셋 불러오기

언리얼 에셋은 불러오기 참 불편하다... static ConstructorHelpers::FClassFinder CS_PSYCHICFORCE(TEXT("/Game/Blueprint/CameraShake/Esper/CS_01_PsychicForce.CS_01_PsychicForce_C")); if (CS_PSYCHICFORCE.Succeeded()) { CS_PsychicForce = CS_PSYCHICFORCE.Class; } 뭔가 받으려면 이름부터 길다란 네임스페이스에 여러가지 붙여야 로드가 가능하다. 로드가 실패한것도 체크안하면 터져버린다. 클라이언트 프로그래머 친구들이 저 더럽고 불결한 내용을 몇십 몇백개 적고 있는걸 보니 눈물이 나서 다음과 같은 매크로를 만들었다. /* Object Asset을 ..

Programming/C++ & Unreal

언리얼(C++)에서 자주 사용하는 매크로 (언리얼 로그 찍기)

이득우 교수님의 언리얼 C++ 책을 참고해서 작성한 매크로 들인데 다른 프로젝트에서 유용히 쓸 수 있을것 같아서 여기에 공유한다. // HACKED.h (모듈최상위 헤더) // 이 함수가 호출된 함수의 이름과 라인을 매크로로 String화 시킴 - 출처 : 이득우의 언리얼 C++ 게임 개발의 정석 #define LOG_CALLINFO (FString(__FUNCTION__) + TEXT("(") + FString::FromInt(__LINE__) + TEXT(")")) // 위의 CALLINFO와 함께 아무 내용이 없는 로그를 찍는 매크로 - 출처 : 이득우의 언리얼 C++ 게임 개발의 정석 #define LOG_S(Verbosity) UE_LOG(HACKED_LOG, Verbosity, TEXT("%s..

Programming

개인정보 처리방침/Privacy Policy

Privacy PolicyJang Woo built the Swipe Rocks app as an Ad Supported app. This SERVICE is provided by Jang Woo at no cost and is intended for use as is. This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service. If you choose to use my Service, then you agree to the collection and use of informat..

Programming/C# & Unity

Visual studio 2017 유니티 디버거 system.reactive.linq.observable 오류

한글로는 system.reactive.linq.observable 이니셜라이저에서 예외를 어쩌고...영어로는 The type initializer for 'System.Reactive.Linq.Observable' threw an exception 이런 에러가 난다면VS를 삭제하고 15.4.5 버전으로 받아야함.최신버전 VS와 RX에서 오류가 발생하는듯. 이전 버전 받는 주소.https://docs.microsoft.com/ko-kr/visualstudio/productinfo/installing-an-earlier-release-of-vs2017

Programming/Linux and Web

APT 설치 및 서비스 확인, 웹서버 설치

APT 명령어sudo apt updatesudo list --upgradablesudo apt install [appName]sudo apt remove [appName] apt download [package] -> 패키지 파일 받기 설치상태 명렁어dpkg -l [appName] -> 설치상태 보기dpkg -ㅣ [appName] -> 설치경로 보기dpkg -S [경로] -> 특정 파일이 속한 패키지명 찾기 시스템 컨트롤 명령어systemctl status [appName] -> stat 보기sudo systemctl start [appName] -> app 시작ps -ef | grep [appName] -> process 확인 아파치 계정별 홈페이지 설정apache2 설치 이후, cd /etc/apac..

Programming/Linux and Web

Ubutu 프로세스 명령어

ps -e 다른것까지-f 세부정보까지-u 이름필터링| grep 이름 signal 1 - 터미널 연결이 끊어짐2 - Ctrl-C9 - 강제 종료15 - Kill이 보내는 것. 무시가능 kill [-시그널번호] PID 명령어 & -> 백그라운드 수행 -> sleep 100 &jobs 현재 수행중이거나 중지된 작업의 목록fg %번호 -> 포그라운드로 전환bg %번호 -> 백그라운드로 전환kill %번호 -> 잡을 종료시킴ctrl Z -> 작업을 중지시킴

장형이
'Programming' 카테고리의 글 목록 (5 Page)