일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ag 내일배움캠프
- 유니티
- 뭐드라
- spritemask2d
- 까먹기전에메모
- 붕괴스타레일
- 게임
- materialpropertyblock
- 프로그래밍
- 원신
- 후기
- 스파르타내일배움캠프
- 코딩
- 공부
- 게임분석
- 블렌더
- 붕괴 스타레일
- 취업
- LookAt
- spritelibrary
- 나만의 견해
- 내일배움캠프
- 스파르타내일배움캠프TIL
- 게임 회사
- 점프
- 취미
- 게임용어
- 컴포넌트
- 일상
- 연습
- Today
- Total
덴바의 노트
내일배움캠프 2일차 TIL 본문
오늘의 학습 키워드
- 깃 플로우
- IL2CPP Compile
- Burst Compile
깃 플로우
개발을 하면 반드시 맞닥뜨리는 문제가 하나 발생하게 된다.
다수의 인원과 함께 프로젝트 관리 및 통합
과거에는 CD나 플로피 디스크, USB 등을 이용하여 프로젝트를 관리했으며,
이로 인해 파일 또는 시스템 내부 기능에서 에러를 발생하는 경우가 많았다.
이를 보다 더 안정적으로 관리하기 위해서 인터넷 상에 원격 저장소를 두고
여러 개발자가 해당 저장소를 원격으로 이용하며 프로젝트를 관리해왔다.
이러한 시스템을 가진 것이 Git이며 이를 VCS ( Version Control System ) 이라고 한다.
VCS로 인해 보다 편한 가독성, 편리성, 사용성이 증가했다.
하지만, 여러 개발자들과 함께 하나의 원격 저장소로 데이터를 저장하다보면 Git 또한 오류가 발생할 수 있다.
그렇기에 먼저 프로젝트의 목적과 기능을 정하고 최소 단위로 모듈화해야 한다.
그 후 각 개발자들이 겹치지 않게 모듈을 정한 후 Branch를 생성한다.
그렇게 하여 만든 Branch의 경우 아래와 같은 형태를 띠게된다.
맨 아래의 Branch 작업을 완료했을 경우 협업자와 소통 후 Merge를 통해서 내용을 합쳐서 하나의 기능으로 만든다.
이 과정을 반복하여 최종 프로젝트를 완성시킨다.
IL2CPP Compile
C#의 스크립트는 기본적으로 위와 같은 컴파일러를 사용한다.
컴파일러란 특정 고급 언어의 스크립트를 다른 언어로 번역하는 프로그램이다.
고급 언어는 C, C++, JAVA 등 우리가 사용하기 편한 언어지만
실질적으로 컴퓨터가 원하는 언어는 0과 1로 나누어지는 기계어이다.
C#을 사용하는 유니티 또한 컴파일러가 존재하는데 그것이 바로 IL2CPP Compiler이다.
과정은 아래와 같다.
C# -> IL -> C++ -> Assembly -> 기계어
문제는 위와 같이 C#을 C++로 번역 후 C++을 다시 Assembly언어로 번역하는 과정으로 인해 C++을 베이스로 하는 Unreal Engine과 달리 딜레이가 생긴다.
이를 위해 유니티에서 준비한 새로운 컴파일러가 Burst이다.
C# -> IL -> Burst -> Assembly -> 기계어
위 과정과 같이 C#에서 C++로 번역하지 않고 해당 과정을 스킵한다.
이로 인해 기존과는 달리 CPU 면에서 확실한 성능 향상을 보여준다.
오늘의 회고
개발의 중요성은 협업, 소통, 그리고 최신 기술 및 트렌드에 있다고 생각한다.
수많은 스크립트와 에셋, 서버, 미들웨어 등, 프로그램은 혼자서 관리하기 힘들며,
많은 사람들과 관리하는 것 또한 VCS를 사용하지 않는 이상 관리하기는 힘들다.
또한 협업과 VCS를 사용한다고 해도, 개발자 간의 소통이 없으면 충돌이 자주 날 가능성이 높다.
충돌이 일어난다면 결국 프로젝트의 진행이 늦어질 수 있으며, 이는 결과적으로 개발자들의 스트레스를 유발할 수 있다.
앞으로의 개발 실력을 위해서라도 최신 트렌드의 동향을 알아보고 공부하며, 개발자와의 소통, 협업 스킬을 향상하는 것을
목표로 할 것이다.
'프로그래밍 노트 > TIL' 카테고리의 다른 글
내일배움캠프 5일차 TIL (0) | 2024.04.22 |
---|---|
내일배움캠프 4일차 WIL (0) | 2024.04.19 |
내일배움캠프 3일차 TIL (1) | 2024.04.18 |
내일배움캠프 1일차 TIL (0) | 2024.04.16 |
내일배움캠프 0일차 TIL [게임 상태에 따른 안정적인 동작] (0) | 2024.04.15 |