• Git,  Programming

    [Git] Submodule 추가

    Git에서 하나의 프로젝트 내에 또 다른 프로젝트의 소스를 포함해야 할 때가 종종 발생한다. 만약 해당 프로젝트의 디렉토리를 그대로 포함시키려고 하면 git에서 error log를 발생시킨다. 이 때 필요한 기능이 submodule 개념이다. Submodule 추가 우선…

  • C / C++,  Programming

    [C/C++] Non-static Member Function Pointer in Class

    C 또는 C++를 사용하다 보면 function pointer를 다루는 경우가 간혹 생긴다. Non-class Function Pointer func1 func2 func3 위 코드는 class 또는 struct를 사용하지 않는 프로그램에서 사용 가능하다. 그러나 class의 member function으로 사용하는 경우는…

  • C / C++,  Programming

    [C/C++] 접근 지정자

    C++에서 제공하는 접근지정자 (public, protected, private)은 크게 두 가지 종류로 역할이 나뉜다. 우선 각 접근 지정자에 대한 정의는 다음과 같다. public: 조건 없이 어디서든 접근 가능 protected: 상속받을 시 접근 가능 private: 해당…

  • English,  Fancy Expression

    [English] 딱히 / 의외로 / 아무렇지도 않게 / 어쩔 수 없이 / 점차

    딱히 “딱히”라는 의미를 표현하기 위해서 “particularly” 또는 “per se”를 사용하면 된다. 의외로 “의외로”라는 표현을 하기 위해서 “surprisingly”를 사용하면 된다. 아무렇지도 않게 “아무렇지도 않게”라는 표현을 하기 위해서 “like it was nothing”으로 직역과 같이 사용하면…

  • English,  Fancy Expression

    [English] even if / even though

    even if “~을 할 수 있다 하더라도” 라는 의미를 표현하기 위해서 “even if”를 쓰면 된다.even if + I could 형태로 자주 사용된다. Example 이번주에 비가 온다 하더라도 우리는 나가서 운동 할꺼야.Even if it…

  • C / C++,  Programming

    [C/C++] undefined reference to ‘vtable for X’

    C++ code를 build하다보면 virtual keyword를 종종 사용하게 되는데, 간혹 다음과 같은 error를 볼 수 있다. 이는 virtual keyword를 사용하고 난 뒤에 상속받은 class에서 해당 function을 구현해주지 않아 발생한 문제다. 아래 예시 코드를 보자.…

  • Linux,  Programming

    [Linux] tmux 사용법

    tmux 구성 요소 Session: 여러 window로 구성 Window: terminal 화면, session 내에서 탭처럼 사용 가능 Pane: 하나의 window 내에서 분할된 화면 Session 관련 명령어 Command Description tmux new -s [session_name] 새로운 session 생성…

  • Programming,  Vim

    [Vim] 문자열 치환

    Command Usage Range Expression Example Description 시작 행, 종료 행 1, 10 1~10행 사이에서 치환 . 1,. 1행부터 현재 커서가 위치한 행 까지 $ .,$ 현재 커서 위치부터 마지막 행 까지 % %…

  • Git,  Programming

    [Git] Rebase 사용법

    Git에서 rebase는 주로 merge를 진행 할 때 사용되지만, 그 외에도 commit log 수정 또는 삭제에도 사용된다. 우선 Example로 git commit log를 보면 다음과 같다. 만약 특정 commit을 수정 또는 삭제를 위해서 다음과 같은…