싱글톤이 뭐에요?간단히 말해, “하나의 클래스 인스턴스만 존재하도록 보장하고, 그 인스턴스를 전역적으로 공유하자!” 라는 철학이 담긴 디자인 패턴이에요.우리 게임에서 사운드 매니저, 게임 매니저 같은 애들은 굳이 여러 개가 있을 필요가 없잖아요. 여기저기서 귀찮게 FindObjectOfType 같은 거 돌리지 말고, 하나만 확실하게 잡아놓고 전역으로 꺼내 쓰자… 그게 싱글톤입니다.왜 싱글톤을 써야할까?전역 접근"어디서든" Manager.Instance 이런식으로 호출할 수 있어서 편해요.특히 공통 데이터나 시스템은 여기저기서 참조가 많이 필요한데, 그럴 때 아주 간단하게 불러올 수 있어요.중복 방지사운드 매니저나 게임 매니저가 두 개, 세 개씩 생겨서 꼬이는 일을 없게 만들어줘요."이미 만들어진 싱글톤이..
Git LFS가 뭔가요? Git LFS(Git Large File Storage)는 Git으로 관리하기에는 너무 큰 파일(이미지, 동영상, 디자인 소스 등)을 좀 더 효율적으로 다루기 위한 확장 기능이다.Git은 파일 변경 이력을 전부 저장해서, 용량이 큰 파일이 자주 바뀌면 저장소 용량이 기하급수적으로 커져버린다.Git LFS는 커밋할 때 실제 파일 대신 포인터만 집어 넣고, 진짜 무거운 파일은 따로 보관해서 저장소가 너무 커지는 것을 막아준다.쉽게 말하면,"Git에는 파일의 짜잘한 정보(포인터)만 남기고, 실제 큰 데이터는 LFS 서버에 보관한다."이렇게 생각하면 된다.왜 써야하죠?대형 파일을 몇번만 수정해도 용량이 기하급수적으로 커지기 때문에 지구를 위해서라도 쓰자.1. 큰 파일로 인한 저장소 비대..
오브젝트 풀링이란?오브젝트 풀링은 객체를 반복해서 생성하고 삭제하는 대신, 미리 만들어 놓고 재사용하는 디자인 패턴이다.“필요할 때 꺼내 쓰고, 쓰지 않을 때는 돌려주는 대여 서비스라고 생각하면 쉽다!”왜 오브젝트 풀링이 필요할까?문제점객체를 반복적으로 생성/삭제하면 성능이 저하되고 메모리 사용량이 증가한다.특히 게임과 같이 실시간으로 빠른 응답 속도가 필요한 환경에서는 큰 문제가 될 수 있다.오브젝트 풀링의 장점성능 최적화 : 매번 객체를 생성하는 대신 재사용하니 CPU와 메모리 사용량 감소.효율성 : 자주 사용되는 객체를 미리 생성해두면 더 빠르게 사용할 수 있다.가비지 컬렉션 감소 : 객체 삭제를 최소화하므로 GC 호출 횟수가 줄어들어 끊김 현상 방지.어떻게 사용하지?1. 기본 오브젝트 풀 구현하기..
공부하며 느낀점 급하게 먹으면 “찬물도 체한다.” 지금의 나에게 딱 맞는 속담이라고 생각한다. 파트타임 개발자 부트캠프를 통해서 정말 급하게 많은 것을 배웠다. 그 결과 어쨌든, React.js 라이브러리를 이용해서 웹 앱을 개발할 수는 있게 되었다. 그렇다. 할 수는 있지만 맞게하는지 잘하는지는 별개의 이야기이다. 나의 상태를 한마디로 표현하자면 치즈라고 생각한다. 모양은 잡혀서 뭔가 만들기는 하지만 내부를 보면 여기저기 구멍이 송송 나있는 것이다. 나는 기초에 계속 발목을 잡혀왔다. 어설픈 CSS, 어딘가 이상한 계층 구조 등… 지금의 공부는 이러한 구멍을 하나씩 꼼꼼히 메꾸는 작업이다. 크기가 커지지 않고 모양도 더 좋아지진 않지만 질량은 늘어나고 밀도도 높아질 것이다. 이번 기회에 나는 기초에 발..