게임 상용 엔진 중 Unreal Engine에서는 라이브 코딩 기능을 통해서 프로그램 동작 중에 실시간으로 유저가 프로그램을 편집하고 적용할 수 있는 편리함을 제공합니다. 이 덕분에 유저가 빠르게 코드를 편집하고 재가공한 것을 쉽게 확인할 수 있습니다. 이러한 기능을 현업에 도입하면 좋겠다는 생각이 들어 이와 관련된 기능들을 공부하려던 찰나 우연히 마이크로소프트에서 핫 리로딩 기능을 지원한다는 정보를 찾게 되어 이를 포스팅하고자 합니다. 개요 Visual Studio에서 제공하는 핫 리로드 기능은 2022 버전부터 지원하는 기능(feature)로, 문서에 따르면 핫 리로드를 다음과 같이 설명합니다: 사용자의 애플리케이션 코드 파일을 편집하고 즉시 코드 변경 사항을 동작 중인 어플리케이션에 적용할 수 있습..
코딩한 부분들을 문서화하는 과정에서 소스 저작권과 관련된 내용이 문득 궁금해서 구글 서치를 하다가 우연히 알게된 사이트가 오픈 소스 및 저작권 관련 내용으로 잘 작성된 것을 발견하여 공유차 포스팅합니다(링크):오픈소스 가이드 - Open Source Guide기업에서 오픈소스를 사용하면서 어떻게 하면 최대한의 가치를 창출할 수 있을지를 고민하며 조직 전체에 올바른 오픈소스 문화가 확산될 수 있도록 환경과 시스템을 구축하고 있습니다. 그러haksung.gitbook.io 레퍼런스 참고 사이트 오픈 소스 가이드
빠르게 내용만 확인하실 분들은 아래 잡다한 서두를 무시하고 아래 본문을 살펴보시는 것을 추천합니다 _(_ _)_. C++ 언어는 C++11을 이후로 급격하게 발전하면서 다른 메이저 언어들과 견주어도 부끄럽지 않을 정도로 많은 패러다임과 최신 기술을 포함하고 있는 언어가 되고 있습니다(개발 편의성, 생산성 등의 비교는 하지 않겠습니다). 최근 C++20에서는 std::format의 도입으로 최신식 포맷 기술이 도입되면서 기존의 c에서 메이저하게 다뤄지던 printf, snpritnf, vsprintf류들과의 작별도 준비된 모습입니다. std::format에 대한 공식 스펙에 대해 알고 싶은 분은 여기를 참고하시기 바랍니다. std::format - cppreference.com template< class..
지난 포스팅에서 구글 프로토콜 버퍼에 대해서 간략히 알아보았습니다. 직접 구글 프로토콜 버퍼를 사용해보기 위해서 발품 팔았지만, 정보가 생각보다 쉽게 나오지 않아서 설치하면서 얻은 경험을 바탕으로 포스팅하고자 합니다. 설치 다운로드 먼저 구글 프로토콜 버퍼 패키지를 다운 받아야 합니다. 링크는 다음과 같습니다 : https://github.com/protocolbuffers/protobuf/releases/tag/v3.11.4 들어가시면 다음과 같은 그림을 볼 수 있습니다. 이 중에서 자신이 사용하고자 하는 언어의 패키지를 다운 받으시면 됩니다. 제 경우 cpp로 사용하고자 했으므로, cpp를 다운 받았습니다. 이후, 압축을 풀면, 다음과 같이 파일이 압축 해제되는데 여기서 눈 여겨 봐야할 것이 cmak..
저는 구글 프로토콜 버퍼를 좀 색다른 경로로 알게 되었지만, 포스팅을 작성하면서 검색한 결과 gRPC로부터 프로토콜 버퍼의 유입이 많다는 것을 알게 되었습니다. 구글 프로토콜 버퍼는 구글에서 오픈소스로 공개한 언어 및 플랫폼에 중립적이면서 프로토콜 통신, 데이터 저장 등에 대해 직렬화하여 사용할 수 있는 데이터 구조(data structure)입니다. 줄여서 protobuf, 더 줄여서 pb라고도 부릅니다. 구글에서는 프로토콜 버퍼를 다음과 같이 설명합니다 : 프로토콜 버퍼는 구조적 데이터(XML과 같은)를 직렬화하기 위한 유연하고 효율적인 자동화된 메커니즘이며, 작고 빠르고 간결합니다. 여러분이 여러분의 데이터가 어떻게 구조화되기를 원하는 지를 결정했다면, 다양한 언어를 사용하여 다양한 형태의 데이터 ..
객체 지향의 꽃이라고도 할 수 있는 객체들 간의 '관계'는 설계에 있어서 중요하다고 할 수 있습니다. 객체 간의 관계를 정의하는 키(key)라고도 볼 수 있습니다. 이 포스팅에서 is-a 와 has-a에 대해 간단히 알아 본 다음, 어떠한 상황에서 사용해야 하는지에 대해 알아보도록 하겠습니다. is-a is-a는 말 그대로 'A는 B이다'일 때의 '~이다'와 같습니다. 좀 더 구체적인 얘기를 위해 위키피디아의 내용을 발췌하였습니다 : is-a는 추상화(형식이나 클래스와 같은)들 사이의 포함 관계를 의미하며, 한 클래스 A가 다른 클래스 B의 서브클래스(파생클래스)임을 이야기합니다. 다른 말로, 타입 A는 타입 B의 명세(specification)를 암시한다는 점에서 타입 B의 서브타입이라고도 할 수 있습..
Visual Studio에서 Linux 프로젝트를 이용하여 간단한 프로젝트 작성을 하고 있었습니다. sigaction 함수를 사용하기 위해 struct sigaction 구조체를 정의하려고 할 때 나타나는 구문입니다. 다음 그림과 같이 인텔리센스가 '불완전한 형식은 사용할 수 없습니다' 에러를 뱉었고, 실제로도 원격 컴파일에서 컴파일에 실패하였습니다. 해결 두 가지 해결 방법이 있습니다. 첫 번째 방법은 컴파일러 표준을 c11에서 gnu11로 바꿔주는 것입니다(-std:gnu11). 이 경우, gnu11에서 정의된 struct sigaction이 활성화 됩니다. 이 경우, sigaction 이외에도 다양한 c표준은 아니지만 gnu 표준인 함수들까지 사용할 수 있게 되는 side effect를 발생시킵니다..
퍼포스(perforce)는 중앙 집중형 형상 관리 툴로서, git가 마찬가지로 클라이언트와 서버로 구분됩니다. git은 오픈 소스이고, 소규모 팀 또는 인디 개발 팀에게 높은 인기를 구사하여 많은 git 호스팅 업체들이 이러한 팀들을 위한 무료 플랜을 제공하고 있습니다. 하지만 퍼포스의 경우, 기업에서 많이 사용하는 툴로 git에 비해 개인에 대한 접근성이 쉽지 않고 이를 호스팅 해주는 사이트를 찾기 쉽지 않습니다. 제가 정리한 퍼포스 서버 호스팅을 지원하는 도메인 목록은 아래에서 설명합니다. 이와는 별개로 이번 포스팅은 Helix TeamHub 로 진행될 것을 알립니다. 서버 호스팅 사이트 목록 Assembla Assembla는 Git, SVN, 프로젝트 관리 뿐 아니라 Perforce 호스팅 역시 지..
- Total
- Today
- Yesterday
- MSVC C1083
- visual studio hot reload
- C# lambda expression
- 행렬
- game hot reload
- 구글테스트
- 코드 저작권
- Perforce Stream
- 구간합
- P4 Streams
- GoogleTest
- C# 람다식
- 퍼포스 개요
- visual studio 핫 리로드
- 알고리즘
- Perforce Streams
- DXGI
- c++ 핫 리로드
- Auto
- 퍼포스 스트림
- C++ Compile error
- C# 익명함수
- c++ hot reload
- C7568
- P4 Stream
- Visual Studio C1083
- C++
- code copyright
- UE4
- 언리얼 엔진
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |