전체 글

Archive

웹어셈블리 소개

웹어셈블리란 무엇인가? 웹이 발전하면서 많은 어플리케이션이 웹으로 넘어왔지만, 웹 브라우저들은 아직도 자바스크립트라는 프로그래밍 언어만을 지원한다. 이는 얼핏 보기에 코드 한번에 모든 브라우저에서 작동한다고 생각될 수 있지만, 웹 브라우저 제작사마다 구현 방식이 조금씩 다르기 때문에 일일이 테스트를 해봐야 작동 여부를 정확히 확인할 수 있다. 또 C, C++, Rust와 같은 프로그래밍 언어에 비교하면 성능도 떨어지기 때문에 웹 브라우저 제작사들은 이를 해결할 방안을 모색하기 시작했다. 그리하여 구글, 마이크로소프트, 애플, 모질라가 개발한 것이 바로 웹어셈블리(Web Assembly, WASM)다. WASM은 거의 대부분의 브라우저에서 네이티브 속도로 실행 가능한 저수준 어셈블리와 같은 언어다. WAS..

Archive

유니티 리소스 구할 수 있는 곳 리스트

이 사이트에서 darkgenesis.zenithmoon.com/monster-set-of-free-resources-for-game-design/ 본문 내용 그냥 긁어왔다. 7년 전 글이라 작동 안하는 링크들도 많은거 같다. Books, Books and more books http://itdiscover.com/links/free-c-c-sharp-c-plus-plus-books-online-programming – Massive set of free language books http://blogs.msdn.com/b/mssmallbiz/archive/2012/07/27/large-collection-of-free-microsoft-ebooks-for-you-including-sharepoint-vi..

C | C++

C++ unique_ptr 스마트 포인터에 대한 매우 자세한 설명

C++ unique_ptr 스마트 포인터의 개념 C++ 표준에서는 unique_ptr, shared_ptr, weak_ptr의 3종류의 스마트 포인터를 제공하는데, 이번 포스팅에서는 unique_ptr 스마트 포인터의 특징과 사용법에 대해 설명한다. unique_ptr 포인터는 스마트 포인터의 일종으로 "적절한 타이밍에 자동으로 힙 메모리 공간을 해제"하는 기능도 있다. shared_ptr 포인터와의 가장 큰 차이점은 unique_ptr 포인터가 가리키는 힙 메모리를 다른 unique_ptr과 공유할 수 없다는 것이다. 이것은 각 unique_ptr 포인터가 가리키는 힙 메모리 공간의 참조 횟수가 1일 수 있음을 의미한다. unique_ptr 포인터가 가리키는 힙 메모리 공간의 소유권을 포기하면 공간이 ..

C | C++

C++ Vector reserve( )와 resize( )의 차이

C++ Vector reserve( )와 resize( )의 차이 둘의 차이는 한마디로 end( )의 위치가 다르다. resize( )를 하게 되면 그만큼의 생성자(constructor)가 실행된다. 이 개념이 왜 중요하냐면, size와 capacity 때문이다. 간단히 설명하자면 메모리에 이미 할당되어 있는 vector의 크기가 capacity이고 이 안에 원소의 수가 size이다. size가 capacity를 넘어가려고 하면 메모리의 더 큰 공간에 새로운 capacity를 만들고 vector를 이동하는 식으로 구현이 되어 있다. 맨처음 예시처럼 vector를 선언만 하는 경우 begin( )과 end( )가 같고 size와 capacity는 모두 0이다. 만약에 이 vector를 resize(5)하게..

냉국
Hardcore Graphics Engineering