일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 배경 그림
- 운영체제
- dirty cow
- sampling theory
- CTF
- AINCAA
- Double free
- MAC
- linear difference equation
- 게임개발
- Security
- Rr
- STCF
- dtft
- 유니티
- RBAC
- stride
- 언리얼엔진
- frequency-domain spectrum analysis
- 게임 개발
- pdlc
- ret2libc
- DSP
- Unity #Indie Game
- MLFQ
- 메카님
- DP
- TSet
- 유스케이스
- Race condition
- Today
- Total
목록분류 전체보기 (308)
다양한 기록
https://github.com/Lagooneng/ConcurrentBST GitHub - Lagooneng/ConcurrentBST: Concurrent Binary Search TreeConcurrent Binary Search Tree. Contribute to Lagooneng/ConcurrentBST development by creating an account on GitHub.github.com싱글 스레드,Coarse-grained lock, Fine-grained lock (1, 2, 4, 8 스레드)에서 성능 분석* 삽입, 삽입-탐색, 삽입-탐색-삭제 세 가지 상황 존재 1. Lock Type(Non, Coarse, Fine)과 Thread 수에 따른 실행시간 비교 분석* 자세한 분석을..
https://github.com/Lagooneng/Scheduler GitHub - Lagooneng/Scheduler: Process Scheduling SimulatingProcess Scheduling Simulating. Contribute to Lagooneng/Scheduler development by creating an account on GitHub.github.com SPN, RR(q=1), RR(q=4), SRT, HRRN, MLFQ(q=1), MLFQ(q=2^i) 일 때 스케줄링을 구현 및 분석* Feedback == MLFQ 워크로드 AProcessArrival TimeService Time103226344465582Context Switching Time: 0.01 / 0.1..
기존 C++ : new, delete 해줘야 함-> 누수, 댕글링 포인터, 초기화되지 않은 포인터 등문제가 많이 발생함 가비지 컬렉션 시스템- 프로그램에서 더 이상 사용하지 않는 오브젝트를 자동 감지하여 회수- 동적으로 생성된 모든 오브젝트 정보를 모아둔 저장소를 사용해 사용되지 않는 메모리 추적- 마크-스윕(Mark-Sweep) 방식의 가비지 컬렉션 - 저장소에서 최초 검색을 시작하는 루트 오브젝트 표기 - 루트 오브젝트가 참조하는 객체를 찾아 마크 - 마크된 객체에서 계속해서 참조하는 객체를 찾아 마크(1로 표시) - 마크되지 않은 객체(0으로 표시) -> 회수(스윕) 언리얼 엔진에선 주기적으로 알아서 작동기본 값 60초, 부하가 좀 있는 작업인데 병렬 처리 및 클러스터링 기능 ..
구조체USTRUCT 매크로 추가하고 (내부에 BlueprintType같은 키워드 추가 가능)내부 상단에 GENERATED_BODY() 추가 (안해도 되긴 하는데 해야 리플렉션, 직렬화 가능)내무 멤버 변수는 UPROPERTY() 매크로 사용* 언리얼 오브젝트가 아니니 F로 시작 사용 용도가 언리얼 오브젝트와는 완전히 다름단순한 데이터 타입에 적합함F로 시작하니까 일반 객체 -> 리플렉션 시스템이 인식 못함대신 내부의 UPROPERTY로 선언된 변수들은 인식함UFUNCTION()은 안됨 대부분 힙 할당 없이 스택 내 데이터로 사용,NewObject()도 지원 안됨하나의 멤버를 UFiled 클래스가 관리UScriptStruct가 GENERATED_BODY가 들어간 구조체UFinction은 UClass는 가져..
언리얼 엔진 자체 제작 자료구조 라이브러리유용하게 쓰는 거: TArray, TMap, TSet** T는 템플릿을 뜻함 C++ STL은 표준이긴 한데 많은 기능이 있어 컴파일이 오래 걸림언리얼 컨테이너 라이브러리가 더 가볍고 언리얼 엔진에 최적화됨vector -> TArrayset - x > TSetmap - x > TMap용도는 유사한데 셋이랑 맵은 내부 구현이 다름TArray- 가변 배열 자료구조- 데이터가 순차적으로 모여있어서 메모리를 효과적 사용, 캐시 효율이 좋음(공간적 지역성)- 언제나 그렇듯 이런 자료구조는 중간 삭제하는게 느림- 많은 수의 데이터에서 검색이 많이 일어나면 TSet이 나음- 연산: GetData(), Insert(), [] 연산자, Add(), Emplace(), Append(..
클래스 간 느슨한 결합 (Loose Coupling) 구현에 편리함- 추상적 설계에 의존 인터페이스를 쓰는 등의 방법으로 느슨한 결합의 구현이 가능그런데 좀 귀찮을 수 있음 -> 어떤 함수를 오브젝트처럼 관리 .. 델리게이트C#의 델리게이트 생각하면 됨* C의 함수 포인터보다 안전한 버전 느낌콘텐츠 제작자는 생산하고, 자신을 대신하여 발행할 발행자를 생성구독자는 발행자한테 받아서 소비이때 델리게이트를 발행자로 하고, 제작자와 구독자를 엮음* 순환 참조 안하도록 주의 언리얼 델리게이트 선언 매크로DECLEAR_{델리게이트유형}DELEGATE{함수정보}델리게이트 유형 (구독자의 수가 많으면 멀티)- DECLEAR_DELEGATE - 1:1형태로 C++만 지원함- DECLEAR_MULTICAST - 1:N 형..
Has-a 관계(상속은 Is-a 관계) SOLIDSingle Responsibility Principle - 하나의 객체는 하나의 의무만 가지도록Open-Closed Principle - 기존에 구현된 코드를 변경하지 않으면서 새로운 기능 추가 가능하도록Liskov Substitution Principle - 자식 객체를 부모 객체로 변경해도 작동에 문제 없을 정도로 상속을 단순히Interface Segregation Design - 객체가 구현해야 할 기능이 많다면 이들을 여러 개의 단순한 인터페이스로 분리하여 설계Dependency Inversion Principle - 구현된 실물보다 구축해야 할 추상적 개념에 의존하나의 언리얼 오브젝트는 항상 CDO를 가짐언리얼 오브젝트 간의 컴포지션?- CDO에..
인터페이스- 객체가 반드시 구현해야 할 행동을 지정하는데 활용- 다형성의 구현, 의존성이 분리된 설계에 유용 언리얼 c++인터페이스인터페이스 생성 시 두 개의 클래스 생성..- U로 시작하는 타입 클래스 (클래스 타입 정보 제공)- I로 시작하는 인터페이스 클래스 객체 설계 => I 인터페이스 클래스 사용- U타입 클래스에서 작업 안함* C++기반이라, 클래스로 인터페이스 구현해서 인터페이스에도 구현이 가능함 // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "UObject/Interface.h"#include "LessonInterfa..