카테고리 글 보관함: 개발환경

윈도우에서 golang 1.14 개발 환경 구축

구글이 개발한 go라는 언어를 알고부터 항상 해 보고 싶었는데 VPS 서버도 생겼겠다 다시 한번 뭔가 만들어 봐야겠다는 생각이 들어서 다시 손을 대봤다.

go 와 vscode 를 포터블판으로 설치해서 개발환경 구축하는 방법에 대해 새로 글을 썼다.
윈도우10 golang vscode 개발환경 구축

go 설치

고 자체는 공식 사이트(https://golang.org/)에서 (윈도우의 경우는) MSI 버전으로 설치하면 PATH 설정도 전부 해 주니, 인스톨만 하면 간단.
수동으로 설치할 경우에는 PATH에 go/bin 디렉토리를 넣어주고, GOROOT는 go 디렉토리, GOPATH는 다운받은 팩키지 소스등을 넣어줄 곳이니 마음대로 지정하면 된다.
셋 다 중요하니 처음 고를 설치할 경우에는 그냥 MSI 인스톨러로 설치하자.

IDE 설치

IDE는 이클립스에 goclipse 플러그인을 설치 해 봤는데 현재 고버전(1.14)에서는 자동완성 기능이 더이상 작동하지 않는다.
아래 IDE 투표에서 1위를 자랑하는 비주얼 스튜디오 코드(VSCode) 를 설치하자.

2019 스택오버플로 개발 환경 투표
2019 스택오버플로 개발 환경 투표 결과. 출처:https://insights.stackoverflow.com/survey/2019#technology-_-most-popular-development-environments

https://code.visualstudio.com/
설치 버전이든 포터블 버전이든 아무거나 쓰면 된다.
설치 후 VSCode 디렉토리에 Code.exe 파일을 실행하자.

VSCode go 확장기능 설치

이미 설치 후라 인스톨 버튼 대신 언인스톨 버튼이 보인다.

빨간 박스로 표시한 왼쪽 아이콘을 누르고, 검색에 go 를 넣고, 아래에 go 0.13.1 Rich Go language… 를 선택하면, 오른쪽에 자세한 내용이 보이는데 인스톨 버튼을 누르자.

설치 후에 Ctrl + Shift + P 를 누르고 go install 로 검색하면, 나오는 모든 내용을 체크한 후에 OK 버튼을 누른다.
다 설치하는데 시간이 좀 걸린다…

Language Server

코딩할 때 꼭 필요한 자동완성 기능을 도와주는 것인데, 처음에는 무효화 되어 있다.
File -> Preferences -> Settings 에 들어가서 검색 gopls 을 하면 나오는 Go: Use Language Server 에 체크하면 사용할 수 있는데, 이걸 사용할 경우에 메소드 후보들이 빨리 표시 되는 반면에 그닥 정확히 필요한게 나오지는 않는 것 같다.
끄면 느린 대신에 딱 필요한것만 나오는 것 같고. 끈 경우와 켠 경우 다 써 봐야 할듯.

이상 Go 개발 환경 구축 끝.

DB서버 외부에서 안전하게 접속하는 방법. DBeaver로 SSH 터널링 접속

2022/10/14 Update. 우분투 22.04 LTS 시대 기준 DBeaver 22.2.2버전에서는 암호화 알고리즘 ed25519을 사용할 때 SSH 터널 설정 화면 아래에 Advanced Setting -> Implementation를 SSHJ로 선택해야 한다.
그리고, Putty접속용의 .ppk파일이 아니라 오리지널 개인키를 써도 된다.

보통 유동 IP를 사용하는 집에서는 mysql/mariadb나 Postgresql 서버에 접속하기 위해서 외부 접속 설정을 모든 IP에 대해서 허용해야한다.
SSH 같은 경우는 공개키 접속 방식으로 개인키 파일이 털리지 않는한은 절대로 접속이 불가능하게 되지만, DB 서버의 경우는 아이디/패스워드가 전부이기 떄문에 외부 접속을 열어두기가 아무래도 꺼림칙하다.

그래서 공개키 접속을 사용한 SSH 터널링으로 DB 서버에 접속하면 훨씬 안전하게 접속 할 수 있는데, 이미 공개키 방식으로 SSH 접속을 하고 있다면 설정은 별로 어려울 것도 없다.
DBeaver 등의 SSH 터널링을 지원하는 DB 툴로
DB 접속 호스트는 localhost 를 지정하고
포트, 아이디/패스워드등 나머지는 그대로.

SSH 터널링 설정을 들어가서 DB 서버의 IP 주소, SSH 유저 아이디, SSH 인증 방식을 공개키 방식으로 하고 개인키 파일을 지정하면 끝.

문제 해결

ssh-keygen으로 생성한 파일을 넣으면 이런 에러가…

DBeaver에서는 개인키 파일을 ssh-keygen으로 만든걸 썼더니 에러를 뿜어서 Putty 접속용으로 변환된 .ppk 파일을 등록하니 잘 접속 된다.
접속이 안되서 또 애꿋은 방화벽 탓을 하다가 발견… 메시지가 방화벽과 전혀 관계가 없는데도 방화벽 탓을 하게 된다.

그리고, 마지막으로.
SSH 터널링으로 접속이 잘 될 경우에는 잊지 말고 반드시 DB의 외부 접속 허용 설정을 끌 것.

ssh 공개키/개인키 접속하는 방법 참고 https://storycompiler.tistory.com/112