싱글톤이 뭐에요?간단히 말해, “하나의 클래스 인스턴스만 존재하도록 보장하고, 그 인스턴스를 전역적으로 공유하자!” 라는 철학이 담긴 디자인 패턴이에요.우리 게임에서 사운드 매니저, 게임 매니저 같은 애들은 굳이 여러 개가 있을 필요가 없잖아요. 여기저기서 귀찮게 FindObjectOfType 같은 거 돌리지 말고, 하나만 확실하게 잡아놓고 전역으로 꺼내 쓰자… 그게 싱글톤입니다.왜 싱글톤을 써야할까?전역 접근"어디서든" Manager.Instance 이런식으로 호출할 수 있어서 편해요.특히 공통 데이터나 시스템은 여기저기서 참조가 많이 필요한데, 그럴 때 아주 간단하게 불러올 수 있어요.중복 방지사운드 매니저나 게임 매니저가 두 개, 세 개씩 생겨서 꼬이는 일을 없게 만들어줘요."이미 만들어진 싱글톤이..
Git LFS가 뭔가요? Git LFS(Git Large File Storage)는 Git으로 관리하기에는 너무 큰 파일(이미지, 동영상, 디자인 소스 등)을 좀 더 효율적으로 다루기 위한 확장 기능이다.Git은 파일 변경 이력을 전부 저장해서, 용량이 큰 파일이 자주 바뀌면 저장소 용량이 기하급수적으로 커져버린다.Git LFS는 커밋할 때 실제 파일 대신 포인터만 집어 넣고, 진짜 무거운 파일은 따로 보관해서 저장소가 너무 커지는 것을 막아준다.쉽게 말하면,"Git에는 파일의 짜잘한 정보(포인터)만 남기고, 실제 큰 데이터는 LFS 서버에 보관한다."이렇게 생각하면 된다.왜 써야하죠?대형 파일을 몇번만 수정해도 용량이 기하급수적으로 커지기 때문에 지구를 위해서라도 쓰자.1. 큰 파일로 인한 저장소 비대..
오브젝트 풀링이란?오브젝트 풀링은 객체를 반복해서 생성하고 삭제하는 대신, 미리 만들어 놓고 재사용하는 디자인 패턴이다.“필요할 때 꺼내 쓰고, 쓰지 않을 때는 돌려주는 대여 서비스라고 생각하면 쉽다!”왜 오브젝트 풀링이 필요할까?문제점객체를 반복적으로 생성/삭제하면 성능이 저하되고 메모리 사용량이 증가한다.특히 게임과 같이 실시간으로 빠른 응답 속도가 필요한 환경에서는 큰 문제가 될 수 있다.오브젝트 풀링의 장점성능 최적화 : 매번 객체를 생성하는 대신 재사용하니 CPU와 메모리 사용량 감소.효율성 : 자주 사용되는 객체를 미리 생성해두면 더 빠르게 사용할 수 있다.가비지 컬렉션 감소 : 객체 삭제를 최소화하므로 GC 호출 횟수가 줄어들어 끊김 현상 방지.어떻게 사용하지?1. 기본 오브젝트 풀 구현하기..
CSS의 캐스케이딩 원칙은 스타일 규칙이 어떤 기준으로 요소에 적용되는지 결정합니다. 이 원칙은 중요도(Importance), 명시도(Specificity), 그리고 선언 순서(Order)의 세 가지 주요 요소로 구성됩니다.중요도: 사용자 지정 스타일이 브라우저 기본 스타일보다 우선합니다. !important 플래그로 중요도를 증가시킬 수 있으나, 남용은 피해야 합니다.명시도: 선택자의 구체성에 따라 우선순위가 결정됩니다. ID 선택자는 클래스나 태그 선택자보다 더 높은 명시도를 가집니다.선언 순서: 동일한 명시도를 가진 규칙 중에서는 마지막에 선언된 규칙이 적용됩니다.CSS 선택자의 종류CSS 선택자는 웹 페이지의 특정 요소에 스타일을 적용하기 위해 사용됩니다. 다양한 선택자 유형이 있으며, 각각의 용..