터미널 글자색 컬러로 나오게 하는 방법. 우분투 서버 20.04 LTS

글 제목을 바꾸었다.
터미널 글자색 컬러로 나오게 하는 방법. 우분투 서버 18.04 LTS에서 터미널 글자색 컬러로 나오게 하는 방법. 우분투 서버 20.04 LTS 로.
그렇다. 우분투 서버 20.04 도 터미널 컬러는 아래와 같이 바꾸면 된다.

터미널 컬러는 왜 기본이 아닐까…
우분투 서버 18.04 LTS/우분투 서버 20.04 LTS 설치하고 제일 먼저 해야하는 일.

홈디렉토리 이동 후 .bashrc 를 편집한다.

아래 줄을 찾아서 주석을 해제하자.

.bashrc 파일을 적용.

이전 글 우분투 서버 14.04 에서는 /etc/skel/.bashrc 파일을 가져와서 홈디렉토리의 .bashrc 파일을 덮어 썼는데 18.04 에선 바뀌었나…
어쨋든 위 방법으로 해결했다.

20.04 버전에서 설치하자마자 확인해 봤는데 /etc/skel/.bashrc 파일과 홈의 유저 디렉토리의 .bashrc 파일은 똑같았다.
그냥 force_color_prompt=yes 요걸 주석 해제하는 방법으로 가야한다.
 
 
관련글: 터미널 글자색 컬러가 나오게 하는 방법. 우분투 서버 14.04 LTS

golang 테이블 쿼리시 필요없는 컬럼은 빼고 가져오기

golang 에서 데이터베이스의 테이블 데이터를 가져올 때, Scan을 사용하면서 작성한 쿼리 결과의 컬럼 수 만큼 변수를 지정해서 가져와야 하는데,
필요없는 컬럼(당장 쓸일이 없지만, 혹시 몰라 넣어두는 작성일이나 갱신일 같은 컬럼)의 데이터는 빼고 가져오는 방법이 있어서 여기에 올려둔다.

필요한 컬럼만 쿼리하면 되는데 왜 이런걸 쓰냐…할 수도 있는데,
컬럼 수가 많으면 select * 으로 해버리는게 편하고, 컬럼 이름 일일이 쓰는게 귀찮기도 하니까 그렇다.

바로 테스트할 수 있도록 소스코드를 다 올리지만, Scan 부분과 TrashScanner 만 보면 된다.
 
 
참고글: database/sql の Rows.Scan で不要なカラムデータを読み捨てる – https://qiita.com/wanko/items/2e6b5dd4867adaa24ec6
일본어다.
 
 

Golang Postgresql 접속시 jdbc URI 사용할 때 이스케이프

Golang 에서 Postgresql 접속시 익숙한 JDBC URI 방식으로 접속 정보를 쓰고 싶었는데, 패스워드에 특수문자가 있어서 제대로 접속이 안된다. 패스워드의 특수문자는 이스케이프 해서 사용하는 방법을 설명한다.

Go 에서 Postgresql 접속하기

Go 에서 Postgresql 접속하는 방법을 검색하면 DB 접속 정보를 넣는 방법을 아래처럼 쓰고 있다.

위 코드에서는 호스트, 포트를 지정하지 않는데, 기본값인 localhost, 5432를 사용할 때는 지정하지 않아도 된다. 아래 lib/pq 문서를 보면 기본값이 나와있다.

lib/pq 문서 – https://pkg.go.dev/github.com/lib/pq?tab=doc

하지만, 고 어플리케이션을 항상 DB가 있는 서버에서 돌릴 것도 아니고, 호스트랑 포트만 써도 아래처럼 길어지게 된다.

난 간결한 URI 방식이 좋다. 다행히 lib/pq 문서에 보면 지원한단다. 바꿔서 써보자.

필요한 정보만 모아서 쓰니까 알아보기가 쉽다. 이게 잘 돌아가면 좋은데 말이지.
딱 보면 패스워드 부분의 특수문자가 문제가 되게 생겼다. 실제로 돌려보면 아래처럼 에러가 나고…

해결방법은 문제가 되는 패스워드를 이스케이프 처리하면 된다.

이스케이프 처리

아래 특수문자를 퍼센트 인코딩하면 된다.

wikipedia percent encoding
Wikipedia Percent-encoding – https://en.wikipedia.org/wiki/Percent-encoding

이스케이프한 패스워드는 아래처럼 된다.

이걸로는 접속 안된다. 콤마는 이스케이프 안해도 되더라. 콤마는 그대로 둔 아래 코드로 접속에 성공했다.

결론은 파싱에 방해가 되는 특수문자만 이스케이프 처리해 주면 되는듯하다.
 
 
패스워드에 특수문자 넣기 좋아하는 나 같은 사람들이나 생기는 문제라 이 글이 도움될 사람은 별로 없을 것 같은데, 이렇게 써두지 않으면 나중에 내가 또 같은 함정에 걸리게 되니까 포스팅해 둬야한다. ㅋ

여담

자바에서도 같은 문제가 있나해서 해 봤는데 애초에 유저명과 패스워드는 URI 에 포함하지 않고 따로 입력하게 되어 있어서 이스케이프 처리 없이도 잘 접속 되더라.
golang 에 lib/pq 도 같은 방식으로 만들지…
 
 
접속 테스트에 사용한 golang 에서 postgresql 접속해서 select 하는 소스코드
GOLANG POSTGRES 접속해서 필요없는 컬럼은 빼고 가져오기

DBeaver 포터블판 jre를 찾지 못해서 실행 안되는 문제

DBeaver(디비버) 포터블판 jre(자바 경로)를 찾지 못하는 문제를 해결해 보자.

디비버는 이클립스와 같은 플랫폼으로 만들어져 있는데, 이클립스도 요즘은 jre를 포함해서 배포되고 해서 안그렇지만, 예전엔 이렇게 자바 경로를 못찾아서 똑같은 에러가 나고 그랬다.
자바 경로를 제대로 찾지 못할 경우에는 디비버를 실행하면 아래와 같은 에러가 표시 된다.

dbeaver jre error

dbeaver.ini 편집

디비버 디렉토리에 있는 dbeaver.ini 파일을 열어서 -vmargs 바로 윗줄에 jre 나 jdk 의 bin 디렉토리까지의 전체경로를 적어준다.

저장하고, 디비버 실행해 보면 잘 실행될 것이다.

별것도 아닌데 검색해 봐도 잘 나오질 않아서 글을 써 본다.

DB툴로 디비버는 추천

블로그에 사용하는 워드프레스는 mysql계열만 지원하고,
나는 개인적으로 postgresql를 선호해서 여러 디비를 사용할 때 디비버 같은 툴이 아주 편하다.

디비버 단점은 메모리를 많이 먹는다는거.
같은 플랫폼에서 개발된 이클립스도 같은 문제인데 요즘은 컴 성능이 상향평준화 되어서 메모리 많이 먹는건 불평거리가 못되는것 같고, 단지 로딩이 좀 느릴뿐이다.

가벼운걸 원하면 일본 개발현장에선 a5m2라고 하는 툴(정식 명칭이 A5:SQL Mk-2. 길다)을 많이 쓰는데 못생기고 기능이 디비버만큼 많지는 않지만,
딱 필요한 기능은 다 있어서 일할 때는 잘 쓰고 있다.

개인PC에서 사용할때는 컴 사양이 좋다보니 그냥 이쁘고 이것저것 다 되는 디비버가 좋은듯하다.
사실 오래전에 설치만 해두고 안쓰고 있다가 요즘 며칠동안 써 봤는데 일단 이쁘고. 화면 구성이 복잡하긴 한데 메뉴들이 직관적이라 헤매지는 않아서 좋다.
 
 
디비버는 커뮤니티 에디션만 무료다. 인터프라이즈 에디션은 시험버전만 사용가능.
DBeaver 다운로드 페이지 – https://dbeaver.io/download/

윈도우 환경에서 vscode github ssh 공개키 방식으로 연결해서 패스워드 입력 생략

윈도우 환경의 VSCode에서 github 리파지토리를 연동해서 사용할때 아이디/패스워드를 생략하기 위해 SSH 공개키/개인키를 이용해서 접속하는 방법을 설명해 보겠다.

발단

VSCode에서 golang 개발을 하고 있는데 노트북과 데스크탑을 왔다갔다하니 소스코드 공유를 위해서 github를 쓰고 있다.
소스코드 공유를 해야되니 개발 도중의 코드도 자주 푸시할 수밖에 없는데 리모트에 뭐할 때마다 아이디/패스워드를 입력하라고 해서 너무 귀찮다.
그래서 알아보니 리파지토리를 HTTPS가 아니라 SSH를 사용해서 공개키/개인키를 사용해서 접속하면 아이디/패스워드 입력을 안해도 된다고 해서 그렇게 설정하니 너무너무 편하다.

SSH로 리파지토리 접속

먼저 기존에 사용하고 있던 공개키/개인키가 있으면 공개키를 github에 등록하고, 개인키는 윈도우의 유저폴더(c:\Users\USER_ID) 디렉토리 아래 .ssh 폴더에 넣으면 된다.
만들어 둔 공개키/개인키가 없으면 다음 순서대로 진행해서 만들자.

공개키/개인키 작성

github를 쓰고 있으면 git은 당연히 설치했을건데 git 설치폴더에 보면 git-bash.exe 파일이 있다. 실행하면 리눅스 커맨드창이 뜬다.
git이 없으면 이 글을 보고 설치하자. 윈도우10 git 설치와 vscode 에서 github 리파지토리에 파일 올리기

리눅스 커맨드창을 띄웠으면 일단 유저 폴더의 .ssh 폴더로 이동한다.

공개키/개인키 작성은 아래 커맨드를 입력하면 된다. -C 옵션 뒤에는 보통 이메일 주소 같은걸 쓰면 되는데, github에서 사용하는 메일주소를 넣자.

그 다음은 엔터 3번만 누르면 된다. 첫번째는 개인키 파일명인데 디폴트로 하기 위해서 엔터, 두번째와 세번째는 공개키/개인키에 패스워드 설정하기인데 그걸 생략하기 위해서 공개키/개인키 방식을 쓰는거니 입력하지 말고 엔터를 눌러 생략하자.

ssh-keygen을 실행한 .ssh 폴더에 id_rsa(개인키 파일)과 id_rsa.pub(공개키 파일)이 만들어진다.

github.com에 공개키를 등록

github에 로그인해서 오른쪽 위에 아이콘을 클릭하면 설정(Settings)이 나온다. 선택해서 설정 화면으로 이동. SSH and GPG keys 메뉴를 클릭하고 마지막으로 New SSH key 버튼을 누른다.

github 설정 ssh

Title은 적당히 아무거나 넣고, Key 부분에 공개키인 id_rsa.pub 파일을 열어서(메모장으로 열면 됨) 내용을 전체 복사한 다음 붙여넣으면 된다.

github 설정 ssh 등록

이걸로 github에 공개키 등록은 끝났다.

VSCode에서 github 리파지토리 SSH로 연동

기존에 사용하던 리파지토리를 지우고 SSH 주소로 다시 등록한다.

github 리파지토리에서 SSH 주소를 복사한다.

Use SSH 링크를 누르면

github ssh 주소

SSH 접속 주소가 나온다. 오른쪽 옆에 아이콘을 눌러서 복사하자.

github ssh address

우선 기존 등록된 git remote add origin 커맨드로 등록한 https 주소를 해제하자.
VSCode에서 로컬 리파지토리 경로에 폴더에서 터미널을 열고, 아래 커맨드를 실행한다. (.git 폴더가 있는 폴더에서 커맨드를 실행하면 된다. 일반 윈도우 커맨드창에서 실행해도 됨)

그리고 아까 복사해 뒀던 SSH 주소로 재등록.

테스트

git fetch 를 실행하면 알려진 호스트로 등록할거냐라는 메시지가 뜨고 yes 를 입력하면 아이디/패스워드 없이 리파지토리에 접속 되는 것을 확인할 수 있다.

해외에서 마비노기 모바일 하기