Categories

algorithmProblems

백준 1021번 - 회전하는 큐

3 분 소요

문제 백준 1021번 문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다.

백준 3273번 - 두 수의 합

1 분 소요

공간복잡도를 올리고 시간복잡도를 내리는 방법 결과와 매칭되는 큰 배열을 추가로 선언해서 시간복잡도 O(n^2)에서 O(n)으로 변경

맨 위로 이동 ↑

cpp

move와 forward 분석

1 분 소요

1. move template <class _Ty> constexpr remove_reference_t<_Ty>&& move(_Ty&& _Arg) noexcept { return static_cast<remove_ref...

Placement New

최대 1 분 소요

1. Placement New란? 미리 할당된 공간에 프로그래머가 객체를 생성 및 초기화를 해줄 수 있는 문법 메모리 풀을 구현할 때 해당 방식을 사용한다         2. Placement New 설명 <new>헤더를 포함시켜줘야 사용 가능

string_view

최대 1 분 소요

1. std::string_view C++ 17부터 추가된 string을 복사없이 사용할 수 있게 하는 문법

Uniform Initialization

3 분 소요

1. 유니폼 초기화(Uniform Initialization) 기존 초기화식의 모호성을 회피하기 위해 생긴 문법

Type Traits

3 분 소요

1. 템플릿 메타함수 템플릿 메타함수란?

Template SFINAE

3 분 소요

1. SFINAE Substitution Failure Is Not an Error

Template 심화문법

4 분 소요

1. Type이 아닌 Template 인자값 Template에 Type이 아닌 값을 전달해줄 수 있다. ```cpp #include

declval

1 분 소요

1. 정의 <utility> 에 정의된 함수 std::declval

constexpr

2 분 소요

1. constexpr 참고링크 : https://modoocode.com/293

Move Sementics

5 분 소요

Modern Cpp에서 추가된 개념 중 중요한 Rvalue Lvalue 에 관해 서술

Smart Pointer의 사용

2 분 소요

0. 참고문서 해당 문서 먼저 숙련 후 참고         1. 사용상의 주의사항 스마트포인터를 사용하면 temlpate란에 *를 붙이지 않지만 포인터로 선언되는 것을 항상 염두해야 한다.

C++의 Smart Pointer

3 분 소요

C 기반의 Raw pointer에서 일어나는 여러가지 문제점을 해소하기 위해 나온 포인터

User-defined Literals

1 분 소요

1. C++ 고유 리터럴 C++에는 코드에 직접 삽입된 값, 변경할 수 없으므로 상수라고 불림

C++의 Cast 연산자

1 분 소요

1. reinterpret_cast 포인터>포인터, 포인터 > 일반변수, 일반변수 >포인터 자료형을 바꿀 수 있는 Cast 형변환이 이뤄지면 해당 자료형의 bit수에 맞게 들어간다 void* 로 전달할 수 있는 유일한 Casting struct에 있...

auto와 decltype 키워드

3 분 소요

1. auto의 타입추론 auto 는 기본적으로 C++의 긴 타입들을 짧게 변환할 수 있지만 auto의 타입추론은 몇가지의 상황에서 100%로 정밀하지 않다. 그리고 auto의 타입추론은 template의 타입추론과 똑같다.

Reference의 성질

2 분 소요

1. 기본정의 포인터와는 다르게 Reference는 변수에 별명을 하나 더 추가하는 식 따라서 초기화 할 때 대상을 필수로 지정해주어야 하며 바꿀 수 없다

RVO와 NRVO

1 분 소요

1. RVO와 NRVO란? RVO = Return Value Optimization

맨 위로 이동 ↑

unrealTheory

C++Porting_Timeline

최대 1 분 소요

    1. Timeline? 특정 값을 변화시킬 때 해당 값의 변화 곡선 즉, 기울기를 Editor에서 손쉽게 조정할 수 있게 하는 Unreal 기능 보통 Blueprint에서 많이 구현하지만 이걸 C++로 구현할 수도 있다.         2. Curve 생성

C++Porting_GameplayTagInterface

최대 1 분 소요

    1. 사용이유 특정 객체가 FGameplayTagContainer를 가지고 있을 때 IGameplayTagAssetInterface 를 상속시키면 해당 객체가 소유한 GameplayTag에 관해서 여러 방식으로 접근할 수 있다         2. IGameplayTagAss...

C++Porting_BehaviorTree

1 분 소요

1. 행동트리 기본 이론 행동트리의 기본 노드 등의 이론은 행동트리 개론 참고     2. Build.cs 내용추가 Build.cs 파일에 모듈을 추가해야 함     3. Decorator C++ virtual bool CalculateRawConditionValue(UBehavi...

C++Porting_AI Perception

1 분 소요

1. AI Perception? AI가 Player를 인식할 수 있게하는 시스템이다 거리, 및 시야, 데미지를 받았을 때 등의 상황에서 Player를 인식하고 Behavior Tree와 연계할 수 있게 한다

C++Porting_Timer(Delay)

최대 1 분 소요

1. Lambda 활용 FTimerHandle deathTimer; GetWorld()->GetTimerManager().SetTimer(deathTimer, FTimerDelegate::CreateLambda([&]() { if (IsValid(CombatCom...

C++Porting_Niagara

최대 1 분 소요

1. Niagara unreal 5에서 새롭게 추가된 이팩트 시스템이다. 기존 Cascade Effect를 대체

C++Porting_Take Damage

1 분 소요

1. 충돌시스템 어떤 방식으로 충돌했을 때 데미지를 입히는 경우 언리얼의 Damage 시스템을 이용하면 Damage를 쉽게 주고 받을 수 있다

C++Porting_GameplayTag

2 분 소요

1. Gameplay Tag? 계층 구조가 있는 Enum. Unreal에서 추가된 시스템이다.

C++Porting_UMG

2 분 소요

1. 개요 전체적인 작업의 큰 틀은 다음 3단계로 이루어진다         2. UMG Blueprint 배치 2-1. Widget BluePrint를 생성

프로젝트 셋팅 참고

1 분 소요

1. 프로젝트 기본 셋팅 1-1. Level 생성 및 설정 1-2. Gamemode 생성 1-3. Player 생성 1-4. Blueprint로 Gamemode 및 Player 상속 후 생성

C++ 빌드

최대 1 분 소요

언리얼에서 c++로 작업할 때 변경점 적용하는 법

Actor의 구조

최대 1 분 소요

Actor와 관련된 기본적인 부분 정리

맨 위로 이동 ↑

cs

Thread_11_C++ Atomic 심화

2 분 소요

1. 원자성(Atomicity) 어떤 연산이 원자(atomic)적으로 일어난다 는 말의 의미?

Thread_10_C++ Cache

4 분 소요

1. CPU 용어 정리 Register CPU 내부에 존재하는 가장 작고 빠른 메모리 해당 메모리에서 값을 가져오고 ALU에서 계산을 실행한다 피연산자 또는 연산의 결과가 저장됨 데이터들은 Cache에서 가져옴

Thread_09_C++ Future

1 분 소요

1. Future 간단한 작업을 처리할 때 사용하는 C++ 문법

Thread_06_C++ Main 함수

최대 1 분 소요

1. Main 함수의 성질 프로그램을 실행시키면 그건 프로세스가 되고 Main 함수는 모든 프로그램의 시작점인 함수이다

Thread_05_C++ Recursive Mutex

1 분 소요

1. Recursive Mutex? 기존의 Mutex는 Lock과 UnLock이 단 한 번씩 이루어진다 따라서 여러개의 Lock을 걸고 싶을 때는 여러개의 Mutex를 선언해야만 한다

Thread_04_C++ Spinlock&Sleep

3 분 소요

1. Spinlock이란? 어떤 기능을 실행하는데 lock이 걸려있다면 lock이 풀릴 때까지 무한루프를 돌면서 대기하다가 lock이 풀리면 바로 작업을 실행하는 방법

Thread_03_C++ DeadLock

1 분 소요

1. DeadLock이란? mutex로 lock을 건뒤에 모종의 이유로 lock이 풀리지 않아서 무한대기 상태에 빠지는 것을 의미

Thread_01_이론

2 분 소요

1. Thread 란? Process 안에 있는 실행흐름 중에 하나 모든 Process는 한 개 이상의 Thread를 가진다

가상메모리_Swapping

1 분 소요

    1. 가상메모리를 통해서 얻는 이점 가상메모리를 통해서 컴퓨터는 RAM 이상의 용량을 가진 프로세스들을 실행시킬 수 있다.

맨 위로 이동 ↑

unrealLecture02

이득우Framework_13_UI

2 분 소요

1. UI 생성과정 Player화면에 관련된 정보를 Player Controller가 가지고 있다. 그래서 Player의 정보를 띄워주는 UI는 Player controller에서 생성하게 됨

이득우 Framework 10강 게임데이터 관리

2 분 소요

1. 엑셀에서 데이터 읽어오기 FTableRowBase 상속받은 구조체 생성 엑셀의 Name Column을 제외한 나머지들을 UPROPERY 속성으로 선언 엑셀 데이터를 csv로 변경 후 언리얼에 import

이득우Framework_09_무한맵의 제작

2 분 소요

1. OnConstruction 에디터에서 어떤 셋팅값을 바꿨을 때 호출되는 함수이다. 여기서는 Current State를 바꾸면 호출됨

이득우Framework_02_캐릭터와 입력 시스템

3 분 소요

    1. 액터의 구조 다수의 컴포넌트를 가지고 있다 대표하는 Component를 Root Component라고 함 Actor의 transform은 Root Component의 Transform과 같다

맨 위로 이동 ↑

unrealLecture01

이득우C++_10_패키지

2 분 소요

패키지에 대해서 알아보고 패키지나 에셋을 불러오는 구조에 관해 서술

이득우C++_05_컴포지션

1 분 소요

어떤 오브젝트에 다른 오브젝트를 has-a 관계로 추가하는 것을 컴포지션이라고 함

맨 위로 이동 ↑

etc

Unreal Env Setting

최대 1 분 소요

    1. VS 들여쓰기 셋팅 1-1. Visual Studio 기본환경 셋팅 1-2. 들여쓰기 셋팅 Visual Commander 셋팅 https://vlasovstudio.com/visual-commander/ ue4vstool 설치 https://github...

맨 위로 이동 ↑

synology

맨 위로 이동 ↑

algorithmTheory

맨 위로 이동 ↑