
23.09.17 업데이트 현재 LeetHub 자체는 더이상 유지보수가 되지 않으며, 아래 방법으로도 연동 문제가 해결되지 않을 수 있습니다. 이를 유저들이 인지하였는데 확장 스토어에서 LeetHub v2를 다운로드하여 최신 버전의 ui에서 손쉽게 github를 연동할 수 있으며 아래 링크를 남겨둡니다: Chrome 웹 스토어 - 확장 프로그램 (google.com) LeetHub v2 Automatically integrate your Leetcode & GeeksforGeeks submissions to GitHub chrome.google.com 서두에 잡소리가 길기 때문에 바쁜 분들은 아래 연동 문제 해결하기 섹션에서 찾아뵙겠습니다. 제가 미천한 학부생이던시절, 갓 배운 c언어로 콘솔 슈팅 게임을 ..
빠르게 내용만 확인하실 분들은 아래 잡다한 서두를 무시하고 아래 본문을 살펴보시는 것을 추천합니다 _(_ _)_. 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 호스팅 역시 지..

앞서서 펜윅 트리에 대해서 소개한 적이 있습니다[링크]. 위 링크에서 세그먼트 트리와의 비교점 역시 쓰여있으므로, 차이점을 알고 싶으신 분들은 위 링크를 방문해 주시면 되겠습니다. 따라서 이 포스팅에서는 순수하게 세그먼트 트리에 대해서 설명하도록 하겠습니다. 세그먼트 트리 역시 부분합을 빠르게 찾을 수 있는 자료구조입니다. 위키피디아에서는 다음과 같이 정의하고 있습니다 : 통계 트리(statistic tree)라도고 하는 세그먼트 트리(Segment tree) 는 세그먼트나 간격에 대한 정보를 저장하는 트리 자료구조입니다. 주어진 지점에서 포함된 세그먼트들을 쿼리할 수 있습니다. 이론적으로 정적 구조체이며, 이 말은 한번 만들어지면 수정될 수 없음을 의미합니다. 유사한 데이터 구조로 간격 트리(inter..
- Total
- Today
- Yesterday
- 알고리즘
- GoogleTest
- DXGI
- C# 람다식
- c++ hot reload
- Perforce Streams
- C++
- 언리얼 엔진 5
- C++ Compile error
- 행렬
- c++ 핫 리로드
- 퍼포스 개요
- Visual Studio C1083
- delaying 2 processes from spawning due to memory pressure
- 구간합
- UE4
- P4 Streams
- Unreal Engine 5
- C# lambda expression
- visual studio hot reload
- C7568
- Perforce Stream
- P4 Stream
- game hot reload
- visual studio 핫 리로드
- MSVC C1083
- 언리얼 엔진
- C# 익명함수
- 퍼포스 스트림
- Auto
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |