728x90

프로그래밍 65

A Tour of C++ : 3장 모듈화

. . 3. 모듈화 3.1 소개 C++ 프로그램은 독립적으로 개발된 여러 부분으로 구성. 함수, 사용자 정의 타입, 클래스 계층 구조, 템플릿 등. 핵심 = 구송 요소들의 상호작용을 명확하게 정의하는 것. 첫 단계 = 인터페이스와 구현을 분리 ​ 3.2 분할 컴파일 사용할 타입과 함수의 선 : 사용할 타입과 함수의 정의 각각 분리된 파일에 존재, 따로 컴파일할 수 있어 프로그램을 반독립적(semiindependent) 코드 조각 집할들로 조직화. 이런 분리는 컴파일 시간 최소화, 논리적 구분/분리를 강제 (에러 소지도 줄어듬) 분할 컴파일된 코드 조각을 흔히 라이브러리라고 부르기도 ​ vector.h vector.cpp, user.cpp ​ vector.h의 정의와 인터페이스는 공유하지만, 두 cpp 파..

유니티..바이블 - 19장 마스터 데이터 퀘스트 (1화)

. . 19장: 마스터 데이터 퀘스트 Excel Importer, 마스터 데이터의 구축과 활용, 레벨 디자인, ScriptableObject ​ - Excel Importer 플러그인을 이용한 엑셀 파일의 이용 방법 - 엑셀 파일을 이용하는 마스터 데이터 구축의 예 - 유니티에서 마스터 데이터를 이용하는 구체적인 구현 방법 ​ 플러그인 주소 https://github.com/mikito/unity-excel-importer/releases ​ Unity 2019.1.4f1 버전으로 진행. 프로젝트를 열면 마이그레이션이 완료되고 아래와 같은 에러가 뜸. Feature `out variable declaration' cannot be used because it is not part of the C# 4.0..

A Tour of C++ : 1장 기초, 2장 사용자 정의 타입

. . 책 요약정리는 어디까지나 개인적인 스터디노트 성격이 강하므로, 제가 정리하고싶은 내용만 체리픽 해서 다룹니다. 전체 내용이나 원본은 직접 책에서 확인해주세요. ​ C++ 에 대한 내용이다보니, 주관적으로 굳이 다룰 필요 없다고 생각되는 부분은 생략하고, 알고 있더라도 주관적으로 다루는 게 좋겠다 싶은 내용만 다뤘습니다. ​ 이 책의 최고 장점은, 각 챕터의 마지막 소챕터로 "조언"소챕터가 들어가는데, 어느정도 전체 정리를 해주는 느낌이라는 점. 챕터를 빠르게 읽고 마지막 "조언"챕터만 다시 꼼꼼히 읽어보는 것으로 학습 효과가 좋은 것 같습니다. 1 기초 1.1 소개 ​ 1.4.2 초기화 complex 템플릿 컨테이너. {} 초기화로 정보 누락의 위험이 있는 타입 변환을 방지해줌. auto 는 타입..

A Tour of C++ : 옮긴이의 말

. . A Tour of C++ 책. C++ 의 개발자로 유명한 비야네 스트롭스트룹 선생님의 최신 서적입니다. 2019년 1월 발행. C++의 기본적인 내용들은 물론, C++ 11표준부터 개발 중인 20표준까지의 핵심 내용들을 깊이 있게 다룹니다. ​ 이번에도 읽으면서 내용 요약정리 작성 해보려고 합니다. 그런데, 왜 첫 글이 옮긴이의 말 부터냐.. ​ 인상깊은 내용들이라 다루지 않을 수 없었습니다. "왜 굳이 지금 C++를 공부해야 하는가?" 에 대한 물음에 대해, 대충 좋은 게 좋은 거 아닌가 하고 어설프게 생각했던 내용을 문장으로 명료하게 정의해줍니다. ​ 요약하자면 대략 이런 내용. "프로그래밍 언어의 발전은 IT 기술의 발전과 함께 해왔다. 필요한 기술과 솔루션들이 다양했고, 다양한 언어들이 성..

[Unity] 책리뷰, 유니티 5.x 게임 개발의 시작

최근 유니티를 바짝 공부 중입니다. 프로그래밍 관련 초급 지식을 습득할 때는 가능한 예제가 많은 책으로 여러권 챙겨보는 편입니다. ​ 유니티 5.x 게임 개발의 시작 (Unity 5.x Game Development Blueprints) 이 책도 그 중 하나. 그림그리기와는 다르게, 제 주 전공 분야라서 그런지, 다 보면서 샘플 프로젝트 모두 만들어보는데 10일 정도 걸린 것 같습니다. 책에 담긴 예제 프로젝트는 하나도 빼놓지 않고 대략 하루에 1~2개 꼴로 모두 만들어봤습니다. ​ 이 책의 리뷰를 정리해보면 - Unity 2019 버전이 나왔는데 5.x 버전이라니!? - 그래도 2017년 출판인데다 초급 내용이 많아서 2019버전으로 샘플 프로젝트 따라만들기에 큰 무리는 없음 - 중간중간 유니티 버전이..

Android NDK 다운로드 및 설치

NDK 는 보통 Android NDK 에서 Android 를 빼고 NDK 만 적는 식으로 많이 사용합니다. Android Native Development Kit 의 약어이며 직역하면, 순수한(태생적) 안드로이드용 앱을 개발하기 위한 도구라는 의미. 로우레벨 언어로 안드로이드용 앱을 개발할 때 주로 쓰입니다. 저는 주로 C++ 자체엔진으로 안드로이드 앱을 빌드하거나, 유니티 엔진으로 앱을 개발한 뒤 IL2CPP 빌드를 하기 위해 사용합니다. ​ IL2CPP 는 풀어쓰면 Intermediate Language to(2) C++(CPP) 로, 중간언어인 유니티 스크립트 코드를 C++로 변환하여 네이티브 바이너리로 빌드해주는 백엔드 솔루션입니다. Mono 대신 선택할 수 있는 옵션을 제공하고 있죠. 이 때도 ..

[Unity] 경고 메시지 "There are inconsistent line endings in the '~.cs' script."

유니티 엔진에서 스크립트를 생성해서 작성하면, 초반에 이런 경고 메시지 (Warning Message) 를 볼 수 있습니다. 내용은 대략, 줄 마침이(Line ending) 잘못되었다는 소리. 소스코드와 같은 문서파일들은 OS마다 기본 줄바꿈문자가 다르기 때문에 이를 맞춰주어여 합니다. There are inconsistent line endings in the '~.cs' script. Some are Mac OS X (UNIX) and some are Windows. This might lead to incorrect line numbers in stacktraces and compiler errors. Many text editors can fix this using Convert Line Endi..

프로그래밍, 구현이 더 중요? 설계가 더 중요?

© annca, 출처 Pixabay ​ "프로그래밍은 잘 동작만 하면 된다" 프로그래밍을 하는 사람이라면 누구나 한 번쯤은 언젠가 들어봤을 이야기입니다. 맞는 말입니다. 하지만, 오해를 부르기도 좋은 말입니다. ​ 이 말은 마치, "[설계를 대충 해도,] 프로그래밍은 잘 동작만 하면 된다" 라고 말하는 것처럼 보입니다. ​ 이렇게 한 번 비유해볼까요. "설계를 대충 해도, 집은 잘 살기만 하면 된다" 어떤가요? 제가 느끼기엔, 앞뒤가 안 맞는 말로 보입니다. 집을 대충 설계하고 지었는데 잘 살아질 리가 없죠. 어딘가 분명 문제가 있을 겁니다. 고려되지 않은 배선, 수도관, 보일러, 에어컨 위치, 방음재, 단열재, 마감, 바닥재 등등등... 고려할 것이 많은 만큼, 살기 좋은 집을 지으려면 집을 대충 설계..

게임 프로그래밍 패턴, 앞부분 만이라도 꼭 읽어봤으면 싶은 책

게임 프로그래밍 패턴 책을 읽었습니다. 다 읽진 않고 가볍게 훑어보는 정도로. ​ 이 책은 앞부분, 게임 프로그래밍에 대해 많은 프로그래머들이 공감할만한 재밌는 이야기들과, 뒷부분 패턴 레퍼런스 구성으로 집필된 책입니다. ​ 앞부분은 재밌고 빠르게 읽어보기 좋습니다. 그리고 아주 공감가는 부분들이 많아서 되도록 많은 사람들이 꼭 한 번쯤은 읽거나, 인지했으면 싶은 부분도 있었습니다. ​ 가령 한 부분만 발췌해본다면, 이 그림만이라도 꼭 마음 속에 담길 희망해봅니다. 프로그래밍 업무는 코드를 작성하는 걸로 모두 끝나는 게 아니랍니다. 업무의 내용은 물론이고 향후 확장, 수정, 변경될 내용도 파악되어야 합니다. ​ 그리고 코드를 작성한 뒤에 업무가 끝이 아니라, 코드를 정리하는 부분 역시 아주 중요합니다!!..

프로그래밍, OOP 설계 원칙 SOLID

© vishnurnair, 출처 Unsplash 객체 지향 프로그래밍(OOP) 언어로 프로그래밍을 시작했고, 여전히 OOP로 코딩하면서 게임을 개발하고 있습니다. 이런 패러다임을 바꿀 만큼의 더 큰 범주의 고민은 내공이 부족해서 잘 모르겠습니다. 다만, 앞으로도 최소 10년 이상은 OOP로 게임을 개발할 것 같습니다. ​ 그러려면, 오래됐지만 여전히 효과적이고 옳은 길을 제시하고 있는 OOP의 설계 원칙들에 대해서도 한 번씩은 공부해야 할 가치가 있다고 봅니다. 형식적으로 원칙을 따져가며 지키는 것도 문제가 될 수 있지만, 무지로 인해 원칙을 무시하고 짠 프로그램은 결코 좋은 설계가 될 수 없다고 생각합니다. ​ S.O.L.I.D 직역하면 "단단한", "견고한"의 뜻을 가집니다. 아마도 선배 프로그래머들..

728x90
반응형