sabzil

December 2, 2017

KVM 스터디(with go)

주의, 이 글은 KVM이 뭔지도 제대로 모르면서 학습한 내용을 정리한거라서, 정확하지 않은 내용이 다수 포함되어 있을 수 있습니다. 틀린 내용은 지적해 주시면 수정해서 반영하도록 하겠습니다. 0. 준비물 노트북(우분투 16.04) 1. KVM이 뭔가요? 하이퍼바이저? 위키백과에 나와 있는 정의( https://ko.wikipedia.org/wiki/%ED%95%98%EC%9D%B4%ED%8D%BC%EB%B0%94%EC%9D%B4%EC%A0%80 ) 를 보면 이렇게 나와 있다. “다수의 운영 체제를 동시에 실행하기 위한 논리적 플랫폼” 여기에 우리가 잘 알고 있는 VmWare, VirtualBox와 같은것도 있고, Xen, KVM 같이 좀 낯선 것들도 있다. ... Read more

November 1, 2017

diray_201711

20171112 [linux] etc 디렉토리는 설정(관리)파일이 존재한다 192.168.10.0/24의 의미는 서브넷표시를 위해 구분한 숫자이다.(http://www.godols.pe.kr/index/3742?ckattempt=1)

October 4, 2017

diray_201710

20171008 strings 패키지의 EqualFold는 대소문자 상관없이 두 문자열이 동일한지 판단한다.

August 1, 2017

core파일 만들기

go
Go언어에서도 core dump를 떨구는 방법이 있었다. 데이브 체니님이 정리해 놓은 무려 2015년도의 글이다. https://dave.cheney.net/2015/11/29/a-whirlwind-tour-of-gos-runtime-environment-variables 환경변수로 GOTRACEBACK 을 crash로 설정만 해주면 된다. 이것도 모르고 Go언어에서는 dump 떨굴수 없다고 말하고 다녔다…; 근데 위에 처럼 환경변수 설정하고도 core파일이 안생긴다면, 다음 블로그의 글을 참고해 보면 좋을것 같다. http://lapan.tistory.com/68 블로그의 내용처럼 ulimit -a 로 확인 해보니 core file size가 0으로 되어 있다. ulimit -c unlimited 로 해주었다. 이제 panic을 발생시켜 보면 core 파일이 잘 만들어져 있는걸 확인 할 수 있다. ... Read more

August 1, 2017

diray_201708

20170801 protocol buffer 삭제(https://www.howtoinstall.co/en/ubuntu/xenial/protobuf-compiler?action=remove)

July 27, 2017

docker 스터디

docker ce 설치 오래된 버전 제거 $ sudo apt-get remove docker docker-engine docker.io 패키지 인덱스 업데이트 ```Shell $ sudo apt-get update apt가 https를 통해서 저장소를 사용할 수 있도록 패키지를 설치 $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common docker의 공식 GPG 키를 추가 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - fingerprint를 확인 $ sudo apt-key fingerprint 0EBFCD88 안정화 버전의 저장소를 추가 ... Read more

June 18, 2017

delve를 사용한 Go언어 디버깅

delve는 Go언어를 위한 debugger 이다. delve 설치 설치를 하기위해서는 Go 1.5 이상의 버전이 필요하다. 지금 시점에 Go 1.5를 사용하지 않을테니… 다음의 명령으로 설치한다. $ go get github.com/derekparker/delve/cmd/dlv 이제 설치 끝! (Windows랑 MAC은 모르겠다.) delve 사용 프로세스 실행 제어, 변수, 스레드/goroutine 상태, CPU 레지스터 상태 등을 확인 할 수 있다. Commands attach: 실행중인 프로세스에 연결해서 디버깅을 한다. $ dlv attach pid [executable] 실행주인 프로세스에 디버그 세션을 연결해서 프로세스를 제어한다. ... Read more

June 1, 2017

diray_201706

20170610 virt 관련 링크(아직 읽기 전) virt-install로 게스트 생성하기: https://thebook.io/006718/part02/ch04/04/01/ virt-tools(qemu, kvm, libvirt, libguestfs, virt-manager, libosinfo): http://www.virt-tools.org/ virt-manager: https://github.com/virt-manager getting started with virtualization: https://fedoraproject.org/wiki/Getting_started_with_virtualization Quick Start Guide for installing and running KVM: https://www.ibm.com/support/knowledgecenter/en/linuxonibm/liaai/kvminstall/liaaikvminstallstart.htm Installing KVM Guests With virt-install On Ubuntu 11.04 Server(1,2,3): https://www.howtoforge.com/installing-kvm-guests-with-virt-install-on-ubuntu-11.04-server 20170605 특정 브랜치를 checkout하고 싶을때 https://blog.outsider.ne.kr/641 git checkout 로컬과 리모트의 특정 브랜치를 삭제하고 싶을때 ... Read more

May 25, 2017

build

go
Go언어로 개발을 하다보면 debug모드 release모드 같이 별도의 빌드 환경을 구성하고 싶을때가 있다. 그래서 build 옵션으로 특정한 환경별로 결과를 달리 할 수 있는 방법에 대해서 테스트한 내용을 정리해본다. go 파일들을 빌드하기 위해서는 일반적으로 다음과 같이 한다. $ go build Go언어 문서중에 보면 Build Constraints(https://golang.org/pkg/go/build/#hdr-Build_Constraints) 에 관한 내용이 있다. 이 내용은 build 할 때 조건을 줄 수 있다는 내용이고 방법은 다음과 같이 하면 된다고 한다. 코드의 상단에 “// +build linux” 하고 한 칸을 띄우고 “package blah” 를 시작한다. ... Read more

May 25, 2017

diary_201705

20170531 commit message를 작성할때 이슈번호 기입을 위해서(gitlab을 사용하지만 참고용으로 좋은것 같다) https://confluence.atlassian.com/bitbucket/resolve-issues-automatically-when-users-push-code-221451126.html 일반적인 이슈번호를 위해서는 “ref”를 기입하면 될 것 같다. 이슈의 라벨은 일단 “Task”, “Defect”, “Enhancement” 정도만 사용하면 좋을것 같다. “dev/null 2>&1” 의 의미 http://ohgyun.com/328 결론은 “조회한 내용과 발생한 에러 모두 표시하지 않겠다” 20170525 정규표현식을 시험 해볼 수 있는 사이트 http://regexr.com/ 최초에 한번만 실행이 되도록 하기 위해서는 sync 패키지의 Once를 사용한다. https://golang.org/pkg/sync/#example_Once 노트북의 터치패드가 토글이 안되는 경우 ... Read more

© sabzil 2016