정리공간

    프로젝트 개요

    [프로젝트 시작 목표]네트워크 강의를 수강했고, 서버 API를 받아 개발해 본 경험이 있지만 여전히 네트워크는 정체불명이었다..네트워크 이해가 필요하다는 생각에 인프런에 있는 Rookiss님의 강의🔗 한 편을 구매해서 공부하고, 시간날 때마다  3D MORPG 기능 구현 같은 것을 만들어보는걸로 목표를 정했다.

    Memory Profiler

    Memory Profiler

    목차ProfilingMemory Profiler Unity Memory ProfilerProfiling각 플랫폼은 메모리 제한이 있을 수 있습니다. 예를들어 Xbox One 본체는 포그라운드에서 실행되는 게임의 메모리를 최대 5GB로 제한합니다. 이때문에 해당 플랫폼 개발자 문서를 보면서 가장 낮은 하드웨어에 맞게 고민을 해야합니다.프로파일링은 2가지 대표적인 방식이 있습니다.● Sample-based Profiling앱에서 수행 중인 작업에 대한 통계 데이터를 수집하여 분석하는 방식으로, 'N' 나노초마다 Call stack을 조사해 이를 토대로 함수가 호출된 시간, 어떤 함수에 의해 호출되었는지 등을 파악합니다. 샘플링 빈도와 정확도가 비례하고 빈도수가 높을수록 더 높은 오버헤드가 발생됩니다. 일반적..

    BOJ 문제집 (1766) C++

    링크 : https://www.acmicpc.net/problem/1766문제 설명1~N번까지 총 N개의 문제로 된 문제집이 있습니다. 각 문제의 난이도는 번호와 동일합니다.어떤 문제를 풀 까 고민하던 중 '먼저 푸는 것이 좋은 문제'가 있다는 것을 깨달았습니다. 그래서 다음 3가지 조건에 따라 문제를 풀 순서를 정하기로 했습니다.1. N개의 문제를 모두 풀어야 합니다.2. 먼저 푸는 것이 좋은 문제가 있는 문제는, 반드시 먼저 푸는 것이 좋은 문제를 다 푼 후 풀어야합니다.3. 가능하면 쉬운 문제부터 풀어야 합니다.문제의 개수와 먼저 푸는 것이 좋은 문제에 정보가 주어질 때, 주어진 조건을 만족하며 문제 풀이 순서를 결정해주는 프로그램을 작성하시오. (항상 문제를 모두 풀 수 있는 경우만 입력으로 주어..

    베트남 다낭 여행

    보호되어 있는 글입니다.

    Memory, GC

    목차Unity MemoryUnity GCUnity GC Mode착한 GC를 위한 모범사례정리 Unity Memory유니티 메모리는 크게 3가지 영역으로 나뉘어 있습니다.⭕ Native Memory : 유니티가 엔진을 구동하는데 쓰는 *C++ 메모리입니다. 대부분의 상황에서 유니티 사용자는 이 메모리에 엑세스할 수 없지만, 애플리케이션 성능의 특정 측면을 미세 조정하려면 이 메모리에 주의하는 것이 유용합니다. 씬 전환, 메모리 해제(Destroy) 등 관리해줍니다. * Unity는 엔진은 C++, 스크립팅은 C#을 사용중입니다.* 유니티엔진이 OS로부터 메모리를 할당 받아 사용합니다. Scene, 에셋, 그래픽 API, 그래픽 드라이버 등이 할당되어 있습니다. 핵심적인 메모리 구역입니다.Native Obj..

    의존성 주입 (Dependency Injection)

    의존성 주입 (Dependency Injection)

    목차DependencyDependency Injection DI Container Unity DI Framework 정리 Dependency Injection(DI)DependencyOOP에서 의존성(Dependecy)란 한 객체가 파라미터, 리턴값, 지역변수 등으로 다른 객체를 참조하는 것을 의미합니다.예를들어 문구점에서 연필, 지우개, 간식 중 하나를 팔 수 있다면, 문구점 객체는 연픽, 지우개, 간식 객체(의존 대상)을 의존하고 있다는 뜻입니다.의존성이 높으면 그 코드를 수정하기 어려워 집니다. 또한 여러 부분과 관계를 맺은 만큼 결합도가 높고 테스트가 힘들 수 있습니다. 그렇기에 '의존성을 낮추기 위해 어떻게 객체를 참조해야할까?'에 대한 고민이 의존성 주입으로 이어집니다.  Dependen..

    싱글톤(Singleton)

    싱글톤(Singleton)

    목차목적문제점Unity 싱글톤정리 Singleton게임개발을 하며 디자인 패턴을 생각하면 가장 처음 떠오르는, 아마 GoF의 디자인패턴 책에서 가장 유명하고 가장 무분별하게 쓰이는 패턴이 싱글톤 패턴일 것입니다.GoF를 포함한 모든 글에서 싱글톤을 남용하지 말라 강조하지만 잘 지켜지지 않습니다. '게임프로그래밍 패턴 (Robert Nystrom)'에서도 '이번 장은 어떻게 하면 패턴을 안 쓸 수 있는지를 보여준다는 점에서 다른 장과는 정반대다.'라 말하는 것을 볼 때 "어떻게 하면 싱글톤을 안쓰고 문제를 해결할 수 있을까?"에 초점을 맞추는 것이 싱글톤을 이해하는 좋은 방향성이라 생각됩니다.  목적싱글톤은 '오직 1개의 인스턴스만 갖도록 보장'한다는 점과 '전역 접근을 제공'한다는 점 총 2개의 문제를 ..

    BOJ(16936) - 나3곱2

    링크 : https://www.acmicpc.net/problem/16936문제 설명나3곱2 게임은 정수 x를 가지고 다음과 같은 룰을 바탕으로 하는 게임입니다.나3 : x를 3으로 나눕니다. 단, x는 3으로 나누어 떨어져야 합니다.곱2 : x에 2를 곱합니다.나3곱2를 진행하면서, 만든 수를 모두 기록하면 수열 A를 만들 수 있습니다. 예를 들어, x = 9, N = 6이고, 적용한 연산이 곱2, 곱2, 나3, 곱2, 나3인 경우에 A = [9, 18, 36, 12, 24, 8] 입니다.수열 A의 순서를 섞은 수열 B가 주어졌을 때, 수열 A를 구하시오. 이때 항상 정답이 존재하는 경우에만 입력이 주어지며, 가능한 정답이 여러가지인 경우에는 아무거나 출력하시오.제한조건수열의 크기 N (2≤N ≤100..