| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 삼성 개발자 옵션
- TextMeshPro
- 텍스트 메시 프로
- 최적화
- Sprite Atlas
- C#
- 엘지 개발자 옵션
- Dots
- 다이나믹 폰트
- adfit
- 버전관리
- git
- Android Debug
- 기초
- 이미지 폰트
- Samsung 개발자 옵션
- unity
- Gir Ignore
- 2D Camera
- DotsTween
- 게임개발
- SVN
- Dynamic Font
- Custom Package
- PVRTC
- 입문
- claude code
- LG 개발자 옵션
- Unity Editor
- ui
- Today
- Total
목록unity (82)
EveryDay.DevUp
[PART11.비동기와 동시성(1/12)] async-await — 상태 머신으로 변환되는 원리 컴파일러가 생성하는 상태 머신 구조 / MoveNext와 awaiter 패턴 / 스레드를 차단하지 않는 방법 목차 1. 문제 제기 — 왜 이 메서드는 중간에 멈췄다가 다시 실행되는가 2. 개념 정의 — 드라마 촬영장의 "컷" 사인 3. 내부 동작 — MoveNext의 switch와 goto, 그리고 콜백 등록 4. 실전 적용 — Unity에서 async-await를 제대로 쓰기 5. 함정과 주의사항 6. C# 버전별 변화 7. 정리 1. 문제 제기 — 왜 이 메서드는 중간에 멈췄다가 다시 실행되는가 Unity 모바일 게임에서 서버 통신을 할..
[PART10.예외 처리(5/5)] 사용자 정의 예외 — 올바르게 만드는 방법 Exception 상속 관례 / 의미 있는 예외 계층 설계 / 생성자 체이닝 / InnerException 보존 목차 1. 문제 제기 2. 개념 정의 3. 내부 동작 4. 실전 적용 5. 함정과 주의사항 6. C# 버전별 변화 7. 정리 1. 문제 제기 C# // 이 코드의 호출자는 어떻게 이 예외를 처리해야 하는가?throw new Exception("인벤토리가 가득 찼습니다."); 이 한 줄에 무슨 문제가 있는지 바로 보이지 않을 수 있다. 동작은 한다. 예외도 발생한다. 메시지도 있다. 문제는 호출자 입장에서 생긴다. C..
[PART10.예외 처리(4/5)] 예외 vs 반환값 — 오류를 어떻게 표현하는가예외를 언제 쓰고 반환값을 언제 쓰는가 / TryParse 패턴 / ValueTuple 반환 / Result 패턴 / Unity 핫패스에서의 선택목차1. 문제 제기 — 오류를 표현하는 방법이 왜 중요한가2. 개념 정의 — 예외와 반환값의 차이3. 내부 동작 — 예외가 어떻게 생성되는가4. 실전 적용 — 패턴별 사용법과 선택 기준5. 함정과 주의사항6. C# 버전별 변화7. 정리1. 문제 제기 — 오류를 표현하는 방법이 왜 중요한가Unity로 게임을 만들다 보면 어느 순간 이런 코드를 작성하게 된다.C#// Update()에서 호출되는 인벤토리 아이템 사용 코드void Update(){ if (Input.GetKeyDow..
[PART10.예외 처리(3/5)] 예외 필터(when) — catch를 더 정밀하게 쓰는 방법when 절이 스택 트레이스를 보존하는 이유 / 상태 기반 필터링 패턴 / Unity 실전 적용목차1. 문제 제기 — 잡았다가 다시 던지면 무엇이 사라지는가2. 개념 정의 — catch 선언부에서 거르는 필터3. 내부 동작 — filter 블록과 catch 블록의 차이4. 실전 적용 — 상태 기반 필터링과 로깅 패턴5. 함정과 주의사항6. C# 버전별 변화7. 정리1. 문제 제기 — 잡았다가 다시 던지면 무엇이 사라지는가서버에서 플레이어 데이터를 받아오는 코드를 짠다. 네트워크 에러가 여러 종류일 때 타임아웃만 따로 처리하고 싶다.C#catch (WebException e){ if (e.Status == ..
[PART10.예외 처리(2/5)] throw vs throw ex — 스택 트레이스를 보존하는 방법두 줄의 코드가 만드는 결정적 차이 / rethrow vs throw의 IL 수준 동작 / ExceptionDispatchInfo로 스레드 경계 넘기목차1. 문제 제기 — 디버깅 시간이 몇 배로 늘어나는 코드 한 줄2. 개념 정의 — throw와 throw ex는 무엇이 다른가3. 내부 동작 — CLR은 스택 트레이스를 어떻게 기록하는가4. 실전 적용 — 언제 무엇을 써야 하는가5. 함정과 주의사항6. C# 버전별 변화7. 정리 — 핵심 체크리스트1. 문제 제기 — 디버깅 시간이 몇 배로 늘어나는 코드 한 줄유닛 테스트에서 예외가 터졌다. 스택 트레이스를 열어보니 이렇게 찍혀 있다.System.Invali..
[PART10.예외 처리(1/5)] 예외 처리의 원칙 — 언제 잡고 언제 던지는가catch-all의 위험 / 예외를 제어 흐름으로 쓰면 안 되는 이유 / 로깅 패턴목차왜 예외 처리를 제대로 알아야 하는가예외란 무엇인가 — 오류 코드와의 근본적 차이CLR 내부 동작 — 예외가 전파되는 원리실전 적용 — 언제 잡고 언제 던지는가함정과 주의사항C# 버전별 변화정리왜 예외 처리를 제대로 알아야 하는가Unity 프로젝트를 진행하다 보면 이런 코드를 자주 만난다.C#// Unity 현장에서 실제로 발견되는 코드void LoadSaveData(){ try { // ... 세이브 파일 읽기 ... } catch (Exception) { // 그냥 무시 }}이 코..
[PART9.델리게이트, 람다, 이벤트(7/7)] 튜플 — ValueTuple과 익명 타입은 무엇이 다른가여러 값을 하나로 묶는 세 가지 방법의 내부 구조 / 스택 vs 힙 할당이 Unity GC에 미치는 영향 / Deconstruct의 동작 원리 / 언제 튜플을 쓰고 언제 클래스/record를 써야 하는가목차1. 문제 제기 — 여러 값을 반환하고 싶을 때 무슨 일이 일어나는가2. 개념 정의 — 세 가지 도구의 정체3. 내부 동작 — 컴파일러는 무엇을 만들어 내는가4. 실전 적용 — 언제 무엇을 선택하는가5. 함정과 주의사항6. C# 버전별 변화7. 정리 — 핵심 요약1. 문제 제기 — 여러 값을 반환하고 싶을 때 무슨 일이 일어나는가Unity 게임을 만들다 보면 하나의 메서드에서 여러 개의 결과가 필요..
[PART9.델리게이트·람다·이벤트(6/7)] yield return — 지연 실행의 원리상태 머신으로 변환되는 과정 / IEnumerable과의 관계 / 언제 yield를 써야 하는가목차1. 문제 제기 — 코루틴은 왜 멈추고 다시 이어지는가2. 개념 정의 — 택배 창고의 컨베이어 벨트3. 내부 동작 — 컴파일러가 만드는 상태 머신4. 실전 적용 — 언제 yield를 써야 하는가5. 함정과 주의사항 — yield를 잘못 쓰면 생기는 문제6. C# 버전별 변화7. 정리 — yield return 핵심 체크리스트1. 문제 제기 — 코루틴은 왜 멈추고 다시 이어지는가Unity로 게임을 만들다 보면 이런 코루틴을 자연스럽게 쓰게 된다.C#IEnumerator FadeOut(){ float t = 0f; ..
[PART9.델리게이트·람다·이벤트(5/7)] event — delegate와 무엇이 다른가delegate에 event를 씌우는 이유 / 발행-구독 패턴의 구조 / 구독 해제를 빠뜨리면 생기는 메모리 누수목차1. 문제 제기 — "delegate만 있으면 충분하지 않을까?"2. 개념 정의 — event는 delegate에 울타리를 치는 것3. 내부 동작 — event 선언 한 줄이 만들어내는 것들4. 실전 적용 — Unity에서 event로 로직과 UI를 분리하는 법5. 함정과 주의사항6. C# 버전별 변화7. 정리1. 문제 제기 — "delegate만 있으면 충분하지 않을까?"Unity에서 체력 시스템을 만든다고 하자. PlayerHealth 스크립트가 체력 변화를 감지하고, UIManager가 체력 바..
[PART9.델리게이트,람다,이벤트(4/7)] 지역 함수 vs 람다 — 무엇이 다른가메모리 할당 차이 / 재귀 가능 여부 / static local function / Unity 핫패스 최적화목차1. 문제 제기 — 같아 보이지만 다른 두 가지2. 개념 정의 — 무엇이 다른가3. 내부 동작 — 컴파일러는 무슨 일을 하는가4. 실전 적용 — 언제 무엇을 선택하는가5. 함정과 주의사항6. C# 버전별 변화7. 정리1. 문제 제기 — 같아 보이지만 다른 두 가지Unity 프로젝트에서 자주 볼 수 있는 코드다.C#// 방법 A: 람다 표현식void Update(){ var enemies = allEnemies.Where(e => Vector3.Distance(transform.position, e.posit..
