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 같은 것이다. 장점은 아래와 같다....
더 읽기

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...
더 읽기