프로그래밍/일반
-
[Git] git 비어있는 브랜치 생성하기프로그래밍/일반 2018. 7. 26. 06:16
Git 명령어를 통해 비어있는 브랜치 생성하기git을 사용하다 보면 여러가지 브랜치를 만드는 경우가 생긴다. 보통의 경우에는 현재 진행중인 프로젝트의 새로운 기능을 추가하기 위해서 브랜치를 분화하므로, 브랜치를 분화할 때 기존 코드 베이스를 그대로 가져간다. 그러나, 문서를 위한 브랜치나 github.io 와 같은 리포지토리 홈페이지를 생성하기 위한 브랜치의 경우에는, 코드들을 베이스로 가져가 필요가 없다. 다행히도 git 커맨드라인을 통해서 매우 쉽게 git empty branch를 생성할 수 있다. xxxxxxxxxx1git checkout --orphan [브랜치 이름]2git rm --cached -r .보통 새로운 브랜치를 생성할 때 git checkout -b 브랜치이름 혹은 git branc..
-
c++] 람다함수 사용하기프로그래밍/일반 2018. 7. 8. 18:22
C++ 람다함수 사용하기기본 구조x[/*캡쳐할 변수*/](/*사용할 인자*/){/*함수내용*/};기본적으로 람다 함수의 구조는 위와 같다. [] 의 안에는 람다 함수의 바깥에서 사용되는 변수 중에서 람다함수 내에서 사용하고 싶은 변수를 지정하면 되고, () 안에는 일반적인 함수 선언 시 처럼 함수의 인자로 받아올 변수들을 선언하면 된다. {} 에는 당연히 함수의 실제 동작 코드를 작성하면 된다. 이처럼 작성된 람다함수는 생성 즉시 실행하고 해제하거나, 변수에 할당하여 일반 함수처럼 사용할 수 있다. xxxxxxxxxx[](int a) {printf("%d", a)} (10); // 10을 출력. 그 자리에서 람다함수를 사용auto printer = [] (int a) {printf("%d", a)}; ..
-
Typora 마크다운 에디터프로그래밍/일반 2018. 3. 2. 12:22
예전 글을 올릴 때에는 하루패드 (Haroopad)를 사용하여 마크다운 언어를 통해 글을 작성하였다. 최근에 다시 문서 정리를 시작하면서 새로운 마크다운 에디터를 발견하여 소개하고자 한다. Typora 마크다운 에디터Typora는 최근에 출시된 마크다운 에디터로써 마크다운에디터가 가지고 있어야할 다양한 기능들을 모두 포함하면서도 매우 심플하고 사용하기 편한 UI를 갖고 있다. 하루패드와의 차이점 1하루패드와 유사하게 코드 펜스 기능까지 제공하며 다양한 컬러 스킴을 지원하고 있다. 하루패드와의 가장 큰 차이점은 마크다운 프리뷰에 있다. 하루패드의 경우 위와 같이 Text 컬럼과 Preview 컬럼을 분리하여 실시간으로 마크다운에 대한 렌더링 화면을 제공하는 반면, Typora는 하나의 View 컬럼에서 작..
-
Atom vim 모드로 사용하기프로그래밍/일반 2017. 10. 23. 04:59
Atom을 VIM 모드로 사용하기원래 기존에 항상 vim으로 개발을 해왔고, 마우스가 필요없는 개발이라는 아주 훌륭한 장점덕택에 벗어날 수 없었던 vim. 아톰을 설치하고 나서도 마우스를 쓰고 싶지 않아서 익숙한 vim처럼 사용하게 해주는 패키지가 있는지 찾아보았다. 역시나 많은 사람들이 원하기 때문에 vim-mode-plus라는 패키지가 이미 존재하고 있었다. vim-mode패키지는 더 이상 업데이트 되지 않으니, vim-mode-plus를 사용하도록 하자. vim-mode-plus 설치하기설치는 매우 간단하다. ATOM에서 쉬운 패키지 installer를 제공하고 있으므로, 해당 기능을 이용해서 설치하면 된다. 인스톨러는 메뉴의 file->settings에서 install메뉴를 클릭하면 찾을 수 있다..
-
아톰 설치하기프로그래밍/일반 2017. 10. 22. 03:17
아톰 설치하고 살펴보기기존에 개발을 할때에는 항상 vim을 사용하여왔다. 모든 언어에 대해서 vim을 사용하였고, ctags, cscope와 You Complete Me (YCM) 애드온을 통해서 빠르고 쉬운 코드 분석 및 개발을 해왔다. 라고 생각했다.그러나 분석에는 확실히 문제가 없으나, 개발하는 언어가 엄청 다양해지다보니 vim으로는 역량 부족이라는 것을 알았다. c/c++을 통한 프로그램을 개발할대는 ycm 플러그인으로 부족했던 autocompletion과 실시간 태그 서치 및 컴파일시 발생할 수 있는 오류 실시간 탐지 기능을 아주 훌륭히 써왔다. 그러나 개인 프로젝트를 통해 python, php, html, javascript, css, java 등의 다양한 언어를 사용하기 시작했더니 자동완성 ..
-
C/C++ 옵션 파싱하기 (Option parsing)프로그래밍/일반 2016. 4. 7. 16:26
C/C++ 옵션 파싱 (Option parsing) C/C++ getopt() 함수 사용하기 필요한 인자 getopt()의 동작 optind opterr optopt getopt()의 반환 값 getopt() 함수 리턴 값 (Return value) getopt() 함수 추가 변수 반환 getopt_long(), getopt_long_only() C/C++ 옵션 파싱 (Option parsing)C/C++를 이용하여 프로그램을 만들때 자주 사용하는 것 중 하나가, 실행시 옵션을 통해 원하는 옵션을 주거나 원하는 흐름제어를 하는 것이다. //...... int main(int argc, char* argv[]) { if (argc < 2) { return -1; } //.... for (int i = 0;..
-
마크다운 (Markdown) 문법 간단 소개프로그래밍/일반 2016. 4. 1. 19:50
마크다운은 일종의 마크업 언어로 쉬운 에디팅을 지향하는 에디팅 언어이다. 요즘 여러 사이트에서 마크다운을 사용하고 있으며, 특히 내가 주로 사용하는 GitHub에서 기본 언어로 지원을 하고 있다. 기본적으로 GitHub에서 간단히 README.md 파일등을 수정할 때 사용하므로 자세한 설명 없이 내가 실제로 사용할때 쓰는 것들만 정리하도록 한다. 자세한 내용은 잘 정리된 블로그, 위키피디아, 나무위키 등을 참고하자. 이 블로그는 나 편하려고 작성하는 곳이다. 아래에서 " " 로 묶여 있는 경우 " "는 무시한다. 보기 편하려고 구분해놓은 것이다. # 문법 제목 수준을 지정할 때 사용한다. # 한개를 쓰면 태그 수준을, 두개를 쓰면 태그 수준을 의미하고, 갯수가 늘어날 수록 제목 수준이 내려간다. (글씨체..
-
GitHub 원격 (remote) 브랜치 (branch) 생성/삭제하기프로그래밍/일반 2016. 3. 30. 20:41
GitHub 원격 (remote) 브랜치 (branch) 생성하기 1) 자신의 로컬 PC에서 원하는 브랜치를 생성하고 이동한다. git checkout -b test 2) 원격 저장소에 자신이 만든 브랜치와 동일한 브랜치를 생성한다. git push origin test 3) 다음 push/pull 사용시 원격 저장소의 test 브랜치를 자동 지정하도록 세팅한다. git branch --set-upstream-to=origin/test GitHub 원격 (remote) 브랜치 (branch) 삭제하기 1) 삭제하려는 브랜치 외의 다른 브랜치로 이동한다. git checkout master 2) 로컬 브랜치를 삭제한다.git branch -D test 3) 원격 브랜치를 삭제한다. git push orig..