C++ - 유저 정의 클래스에서 간단하게 확장 for 문을 사용할 수 있도록 하는 방법
출처 STL 컨테이너를 public 상속한 경우 유의해야 할 것은 STL 컨테이너의 소멸자는 virtual 이 아니다 예를 들면 부모 클래스의 포인터로 업 캐스트하고 delete 하면 자식 클래스의 소멸자가 호출되지 않는다. 코드 예 #include <iostream> #include <vector> using namespace std; using VectReal...
더 읽기
C++17 - atomic::is_always_lock_free
C++ 17은 atomic 클래스 템플릿에 is_always_lock_free라는 정적 멤버 상수가 정의 되어 있는데 C++11의 is_lock_free()의 static 멤버 버전이라고 생각하면 좋다. is_lock_free()를 사용하기 위해서는 atomic 클래스 오브젝트를 만들어야 하지만 is_always_lock_free는 만들지 않는다. namespace std { template < class T> class atomic {...
더 읽기
C# - .NET 로컬 툴 사용법
출처 .NET Core도구? .NET core 글로벌 툴 .NET Core 2.1에서 NuGet에 게재된 콘솔 응용 프로그램을 CLI 상에서 인스톨/실행/업데이트/언인스톨 하는 구조가 생겼다. 이들의 애플리케이션을 총칭해서 “.NET Core 툴” 이라고 부른다. npm에서 말하는 npm install -g tool 같은 것이다. 장점은 아래와 같다....
더 읽기
MQ - EMQ 소개
얼랭으로 만든 MQ
더 읽기
Rust - 오픈 소스 리스트
스트림 처리를 위한 큐잉시스템 선택법
C# - 프로젝트에 C# 8과 null 허용 참조 타입 대응시키기
출처 C# 7의 클래스 라이브러리를 null 허용 참조 타입을 사용하는 C# 8로 업그레이드 하는 사례에 관한 글이다. 여기에 사용된 Tortuga Anchor 프로젝트는 MVVM 형식의 기본 클래스와 리플렉션 코드, 다양한 유틸리티 함수를 모아 놓은 것이다. 적당히 작고, 관용적 패턴과 일반적이지 않은...
더 읽기
git - GitSheet
출처 Git의 브랜치 조작 git branch 모든 로컬 브랜치를 나열한다. git branch -a 원격 및 로컬 브랜치를 나열한다. git checkout -b branch_name 로컬 브랜치를 생성하고 전환한다. git checkout branch_name 기존의 브랜치로 전환한다. git push origin branch_name 브랜치를 원격으로 푸쉬한다. git...
더 읽기
git - 자주 사용하는 git 명령어
출처 자신의 commit을 pull request 할 때까지 git pull #로컬 저장소를 최신으로 git checkout -b <branchName> #브랜치 작성과 이동 #파일 편진 git status #편집한 파일을 확인 git diff #차분을 확인 git add . #"."은 현재 디렉토리 이하의 파일을 모두 add...
더 읽기