우분투(Ubuntu) 16.04에 아나콘다(Anaconda) 설치하는 방법

|

Ubuntu 16.04에 Anaconda 설치

Ubuntu에 아나콘다를 설치하는 방법은 다음과 같습니다.

먼저 아나콘다 홈페이지에 가서 설치 스크립트 파일을 다운로드 합니다. 현재 Python 3.6 버전에 64비트 버전 기준으로 약 500MB가 조금 넘습니다.

그리고 터미널로 가서 다음 명령어를 입력해줍니다.

bash Anaconda3-5.0.1-Linux-x86_64.sh

이 때부터 Enter 키와 yes 타이핑 등을 차례로 요구하기 때문에 천천히 설치를 진행합니다.

설치 경로는 보통 /home/[userid]/anaconda3로 지정이 될 것이며, 그 후 .bashrc에 패스 등록까지 해줍니다.

그 후

source ~/.bashrc

명령어를 통해 .bashrc를 한 번 더 수행해주면 됩니다.

그 이후 conda list 등의 명령어가 정상적으로 동작하는지 확인하면 됩니다.

ROS2 Coding Convention for C++

|

ROS 2.0 Coding Convention for C++

ROS 2.0에서 추천하는 코딩 스타일은 다음과 같습니다.

  • ROS 2.0은 C++14 기반
  • Google C++ Style Guide 기반

  • 한 라인의 문자 수 = 100
  • 클래스의 멤버 변수는 가급적 private로 선언
  • Exception도 허용함
  • 람다 사용시 std::function이나 std::binding 모두 허용
  • Boost 라이브러리는 정말 필요한 경우 아니면 가급적 사용안할 것
  • Documentaion을 위해 주석은 /// 또는 /** */ 사용 추천
  • 포인터 표현 시 char * c 형태로 사용하는 게 좋음. char* cchar *c는 사용하기 곤란한 경우가 있음(ex. char* c, *d, *e;)
  • private:, public: 등 키워드 앞에는 공백 없는 것 추천
  • Nested Template에는 공백 사용 안하는 것 추천(ex. set<list<string>>)
  • if, else, do, while, for 등 다음에 구문이 라인이 하나뿐이더라도 중괄호는 무조건 사용할 것
  • function, class, struct 등에는 open braces, if, else, while 등에는 cuddle braces 사용 추천


올바른 예시

int main(int argc, char **argv)
{
  if (condition) {
    return 0;
  } else {
    return 1;
  }
}

if (this && that || both) {
  ...
}

// Long condition; open brace
if (
  this && that || both && this && that || both && this && that || both && this && that)
{
  ...
}

// Short function call
call_func(foo, bar);

// Long function call; wrap at the open parenthesis
call_func(
  foo, bar, foo, bar, foo, bar, foo, bar, foo, bar, foo, bar, foo, bar, foo, bar, foo, bar,
  foo, bar, foo, bar, foo, bar, foo, bar, foo, bar, foo, bar, foo, bar, foo, bar, foo, bar);

// Very long function argument; separate it for readability
call_func(
  bang,
  fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo,
  bar, bat);


나쁜 예시

int main(int argc, char **argv) {
  return 0;
}

if (this &&
    that ||
    both) {
  ...
}


올바른 예시

ReturnType LongClassName::ReallyReallyReallyLongFunctionName(
  Type par_name1,  // 2 space indent
  Type par_name2,
  Type par_name3)
{
  DoSomething();  // 2 space indent
  ...
}

MyClass::MyClass(int var)
: some_var_(var),
  some_other_var_(var + 1)
{
  ...
  DoSomething();
  ...
}


나쁜 예시

ReturnType LongClassName::ReallyReallyReallyLongFunctionName(
    Type par_name1,  // 4 space indent
    Type par_name2,
    Type par_name3) {
  DoSomething();  // 2 space indent
  ...
}

MyClass::MyClass(int var)
    : some_var_(var),             // 4 space indent
      some_other_var_(var + 1) {  // lined up
  ...
  DoSomething();
  ...
}

우분투(Ubuntu) 16.04 노트북 터치패드 스크롤 방향 바꾸기

|

터치패드 스크롤 변경

MacOS 또는 Windows에서의 2손가락 제스처와 Ubuntu에서의 제스처의 방향이 달라서 헷갈리는 경우가 많습니다. Windows의 경우 과거에는 제스처를 아래로 내리면 아래로 스크롤이 되고, 위로 올리면 위로 스크롤이 되었지만 현재는 ‘Natural Scrolling’이라는 이름으로 그 방향이 바뀌었습니다. 스마트폰 등 화면에 직접 제스처로 스크롤하는 경우가 보편화되면서 터치패드의 스크롤도 화면에 스크롤하는 것과 같은 방향으로 바뀌었습니다.

Ubuntu 16.04 LTS 버전 기준으로 노트북의 터치패드 스크롤 방향 변경하는 방법입니다.

  • System SettingsMouse & Touchpad
  • Natural scrolling 항목 체크

image

우분투(Ubuntu) 16.04 한글 키보드 설치

|

한글 키보드 설치

Ubuntu 16.04 LTS 버전 기준으로 한글 키보드를 설치하는 방법입니다.

먼저 아래의 명령어를 수행해서 fcitx-hangul 패키지를 설치합니다.

sudo apt-get install fcitx-hangul

그리고 아래의 절차를 진행합니다.

  • System Settings 실행
  • Language Support 아이콘 실행
  • 언어팩을 설치하라는 팝업창이 뜨면 ‘설치’ 선택
  • ‘Keyboard input method system’ 항목을 fcitx로 변경
  • 재부팅


오른쪽 한/영키(Alt 키)를 이용한 한/영 전환

Unbuntu에서는 기본적으로 오른쪽 Alt 키가 커맨드 실행 기능으로 맵핑이 되어 있습니다. 한/영 전환 키로 활용하고 싶으면 다음과 같이 세팅하시면 됩니다.

  • System Settings에서 Keyboard 실행
  • Shortcuts 탭 선택한 후 Typing 항목 선택
  • 모든 항목(Switch to next source, Switch to previous source, Alternative Characters Key)을 Disabled로 설정(Back 키를 누르면 Disabled가 됨)
  • Compose Key 항목을 Right Alt로 변경
  • Switch to next source를 선택한 다음 오른쪽 Alt 키(한/영 키)를 누르면 Multikey라는 항목으로 값이 설정됨


fcitx 설정

  • 오른쪽 상단 상태바에서 fcitx 아이콘 선택 → Configure Current Input Method 선택
  • + 버튼을 눌러 Hangul 항목 추가(+ 버튼 누른 창에서 Only Show Current Language 체크 버튼 해제해야 보임)
  • Global Config 탭으로 변경하여 Trigger Input Method 항목을 한/영 키로 설정(Multikey라고 표현됨)
  • Extra key for trigger input methodDisabled

Visual Studio Code에 Go 개발 환경 세팅

|

Visual Studio Code에 Go 개발 환경 세팅

Visual Studio Code(이하 vscode)에서 Go 언어 개발 환경 세팅 방법을 포스팅 해봅니다.


go 플러그인 설치

Image

먼저 vscode에서 위 이미지와 같이 ‘go’ 플러그인을 설치합니다.


개발 디렉토리 설정

그리고 소스를 관리할 개발용 디렉토리를 설정합니다. 저같은 경우는 Windows에서는 C:\Workspace\vscode_go로 세팅했고, Linux에서는 /home/snowdeer/Workspace/go 아래에 설정했습니다.

그리고 GOPATH 환경 변수 설정을 해야 합니다. Windows에서는

Image

환경 변수 편집 화면에서 GOPATH 항목을 등록해주면 되고, Linux에서는 터미널에서 export 명령어를 이용하면 됩니다.

export GOPATH="/home/snowdeer/Workspace/go"

그리고 해당 디렉토리에는 각각 src, pkg, bin 이름의 하위 디렉토리를 만들어줍니다.


추가 파일 설치

이제 vscode에서 Go 프로그래밍을 위한 실행 파일들을 다운로드하고 설치하는 작업을 합니다. 위에서 만든 디렉토리의 src 폴더 아래에 main.go 파일을 작성하고 vscode에서 열어봅니다.

그러면 vscode에서 아래 이미지와 같이 필요한 파일들을 설치할 것인지를 물어볼 것입니다.

Image

그냥 Install All을 선택해서 모든 파일들을 설치하면 됩니다. 모든 파일들을 설치하는데는 약 5분 정도의 시간이 걸릴 수 있습니다.

Installing 9 tools at C:\Workspace\vscode_go\bin
  gopkgs
  go-outline
  go-symbols
  guru
  gorename
  godef
  goreturns
  golint
  dlv

Installing github.com/uudashr/gopkgs/cmd/gopkgs SUCCEEDED
Installing github.com/ramya-rao-a/go-outline SUCCEEDED
Installing github.com/acroca/go-symbols SUCCEEDED
Installing golang.org/x/tools/cmd/guru SUCCEEDED
Installing golang.org/x/tools/cmd/gorename SUCCEEDED
Installing github.com/rogpeppe/godef SUCCEEDED
Installing sourcegraph.com/sqs/goreturns SUCCEEDED
Installing github.com/golang/lint/golint SUCCEEDED
Installing github.com/derekparker/delve/cmd/dlv SUCCEEDED

All tools successfully installed. You're ready to Go :).


테스트 코드 및 실행

다음 코드로 실행 테스트를 해봅니다.

package main

import "fmt"

func main() {
	fmt.Println("Hello, snowdeer")
	fmt.Println("안녕. 스노우디어")
}

코드 작성 후 F5 키를 눌러 실행을 해봅니다. 브레이크 포인트(Break Point)를 걸고 디버깅을 해볼 수도 있습니다.

Image