아침 팀 회고 / ACK / 베이직 분반 / 개인 프로젝트 / 9번 과제 해설 / 10번 과제 발제
9번 과제 완료 / 개인 프로젝트 수행
==========

제약사항의 3번째 예외사항을 제대로 확인하지 못해서 필요없는 고민을 좀 더 했던 것이 함정이었다.
필요한 수량과 10일치 할인 수량을 만들고 일차를 순회하며 새로운 값과 당일 할인 품목을 바꿔 순회하는 방법을 사용한 풀이.
==========
다음 주 부터 오후 3시로 분반 수업 이동함
AssetHandling - 자동차 헨들 같이 언어 자체로 대입해서 생각하면 깔끔하다.
Hard Ref - 리소스를 거칠게 가지고 있는 것
soft Ref - 리소스를 부드럽게 가지고 있는 것
구분하는 이유
메모리 효율 문제. ->필요한 리소스만 효율적으로 사용하기 위해서.
프레임이 멈춰도 유저가 인지하는가 -> 로딩 타임 / 인 게임
로딩이 너무 길어져도 안되지만 인 게임에서 짧은 시간(0.05초 한 자릿수 프레임) 딜레이가 되어도 UX가 망가진다.
sync ->stall이 생김
Thread - Game/Render/AssetLoad/..../(아마 6개) -기본적으로 UE에서 동작하는 스래드들

보는 것 / 생각, 행동 // 분리되어 있듯 분리되어 있는 것.
함수가 호출되는 장소가 중요하다.
Multi Process / Multi Thread
프로세스란? - 실행 중인 프로그램
Multi Process - 프로세스 아래에 프로세스가 달려있는 것
- P 작업 관리자에 보이는 것 / T 작업 관리자에 안 보이는 것 = 아님
프로세스를 숨기는 기능도 있고 이렇게 접근하는 것은 좋지 않다.
Multi - 둘 다 병렬로 관리하는 개념인 것은 같다.
런처와 게임 / 런처를 종료했을 때 게임이 종료될 수도 있고 아닐 수도 있는 예시.
멀티 프로세스 - Ram에서 프로그램에 할당된 공간을 여러개 사용하는 개념
멀티 쓰레드 - CPU 코어 아래에 있는 쓰래드를 여러개 사용하는 개념
파이프 =/= 파이프 라인
프로세스 간의 정보 공유에는 파이프라는 것이 별도로 필요하다.(불가능은 아님)
쓰레드 간의 정보 공유에는 별도의 활동이 필요 없다.(원활하게 공유 가능)
Atomic -Mutecs/S...라는 방법으로 나눠지게 lock을 걸 수 있다.
뮤텍스 - 나만 쓸 수 있는 화장실 열쇠(1개) / 세마포어 - 화장실이 N개 열쇠도 N개
ST / DL -그런 게 있다.
직렬화 / 기아 상태 (starvation)
DeadLock - 진행 중 락이 겹쳐서 스래드가 멈추는 현상
Hard Ref
Soft Ref - sync / Async // Packaging issue
soft Ref 체인에서 경로만 남고 실제 내용물이 패키징에 포함 안 돼서 패키징 후 로드 실패로 터지는 이슈
Project Settings -> Packaging -> Advanced 하단 ->Additional Asset Asset D to C/
Directories to never cook -> 해당 경로(폴더)를 무시
Asset Directories to Cook -> 해당 경로(폴더)를 쿠킹에 추가(강제)
패키지에 넣거나 카피해서 넣는 두 가지 방법이 있다.
Pak -> Unreal Loader
usb처럼 사용
Json/jpg.... -> file i/o
Primary Asset
Asset Manager
Primary Asset
.pak -chunk0 <=기본
chunk_ <= 얘가 또 기본으로 나옴
Explicit Assets/Blueprints - 제외 할 것.
ReferenceViewer
=====
guard clause
==========
with validation - true <->false - 클라이언트가 터짐
==========
IOCP
dll / lib
모듈 vs 컴포넌트의 차이 // 모듈 vs 플러그인의 차이 // 모듈 vs 서드파티 모듈
서드파티 모듈 - 외부회사나 코드 공개하기 싫을 때 SDK나 Lib로 빼는 방법(?)
모듈 - 프로젝트 내 코드 구조화, 빌드 속도 최적화, 프로젝트에 종속적
플러그인 - 모듈+에셋+설정의 묶음, 다른 프로젝트로 이동 가능
==========
처음 생각했던 구조에서 변형 - 더 변경될 수 있음.
Public/
├─ Core/
│ ├─ GameModeBase.h
│ └─ GameStateBase.h
├─ Character/
│ ├─ PlayerCharacter.h
│ ├─ MonsterCharacterBase.h
│ └─ PlayerControllerBase.h
├─ Combat/
│ ├─ SkillComponent.h
│ └─ DamageTypeBase.h
├─ Inventory/
│ ├─ InventoryComponent.h
│ └─ ItemData.h
├─ Skills/
│ ├─Skill1.h
│ └─Skill2.h
└─ Dungeon/
├─ DungeonManager.h
└─ SpawnRule.h
'TIL' 카테고리의 다른 글
| 26.03.23일자 - TIL (1) | 2026.03.23 |
|---|---|
| 26.03.20일자 - TIL (0) | 2026.03.20 |
| 26.03.18일자 - TIL (0) | 2026.03.18 |
| 26.03.17일자 - TIL (0) | 2026.03.17 |
| 26.03.16일자 - TIL (0) | 2026.03.16 |