카테고리 보관물: 미분류

git 오류 fatal: unable to connect to cache daemon: Permission denied

git pull 또는 push를 할 때 다음과 같은 오류가 나오는 경우가 있습니다.

fatal: unable to connect to cache daemon: Permission denied

sudo를 사용하거나 권한을 잘못 변경하고 git를 사용하다가 발생한 문제인데 ~/.cach/git/credential 디렉토리의 권한을 현재 사용자에게 소유권을 다시 넘겨주면 해결됩니다.

다음과 같이 합니다.

sudo chown $(whoami) ~/.cache/git/credential/

Go언어 문자열에서 앞 또는 뒤 문자열 제거하기

Trim이라고 하는 그것입니다.

문자열에서 앞 또는 뒷쪽의 특정 문자열을 제거하는 코드입니다.

// Go program to illustrate 
// how to trim a string
package main
  
import (
    "fmt"
    "strings"
)
  
// Main method
func main() {
  
    // Creating and initializing string
    // Using shorthand declaration
    str1 := "!!Welcome to GeeksforGeeks !!"
    str2 := "@@This is the tutorial of Golang$$"
  
    // Displaying strings
    fmt.Println("Strings before trimming:")
    fmt.Println("String 1: ", str1)
    fmt.Println("String 2:", str2)
  
    // Trimming the given strings
    // Using Trim() function
    res1 := strings.Trim(str1, "!")
    res2 := strings.Trim(str2, "@$")
  
    // Displaying the results
    fmt.Println("\nStrings after trimming:")
    fmt.Println("Result 1: ", res1)
    fmt.Println("Result 2:", res2)
}

apt-get update failed because certificate verification failed because handshake failed on nodesource

apt install을 하는데 다음과 같은 에러가 나오는 경우가 있습니다.

apt-get update failed because certificate verification failed because handshake failed on nodesource

위 에러는 우분투 리눅스에 설치된 certification에 문제가 생겼기 때문입니다.

다음과 같이 재설치하면 해결됩니다.

sudo apt install ca-certificates

우분투(Ubuntu)에 Neovim + Copilot 설치

우분투 리눅스(Ubuntu)를 터미널로 접속해서 Copilot을 사용하려면 Neovim을 사용해야 합니다.

귀찮게 설치하지 않고 Copilot을 안쓰면 되겠지만 Copilot을 사용하면 생산성이 너무 좋기 때문에 도저히 포기할 수 없습니다.

그래서 Neovim과 Copilt을 Ubuntu에 설치하려고 하면 간단하게 되지 안고 몇가지 문제가 생깁니다.

서버 마다 이걸 반복해서 하다보니 귀찮아서 설치법을 정리했습니다.

설치순서 요약

다음은 설치 순서요약입니다.

  • Node.js 12 이상 설치하기
  • Neovim 0.6 이상 설치하기
  • copilot.vim 설치하기
  • copilot.vim 활성화하기

우선 Copilot을 쓰려면 Github 계정이 있어야 하므로 계정을 먼저 준비하세요.

그 다음의 문제가 있는데 apt로 설치를 할 수 없는 것이 Node js 12와 Neovim 0.6입니다.

apt로 설치하면 Node.js와 Neovim이 상당히 낮은 구버전이 설치됩니다. 그래서 Copilot을 쓸 수 없습니다.

다음과 같이 하면 됩니다.

설치 방법

Node.js 12 설치

먼저 Node.js 12는 다음과 같이 설치합니다.

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs

Snap을 설치하고 Snap으로 Neovim 설치

Neovim를 설치하기 위해 snap을 설치합니다. apt로 설치하면 0.6 보다 낮은 구버전이 설치되는데 그 버전으로는 Copilot을 쓸 수 없습니다.

sudo apt install snap
snap install nvim --classic

Copilot Neovim 확장 설치

이제 Copilot 확장을 설치합니다. Github 레파지토리에서 그대로 클로닝을 해서 ~/.config 아래에 넣어주는 것이 전부입니다.

git clone https://github.com/github/copilot.vim.git ~/.config/nvim/pack/github/start/copilot.vim

Copilot 활성화

이제 Neovim을 실행해서 Copilot을 활성화해야 합니다.

Neovim에서 “:Copilot setup‘ 을 입력합니다.

원타임 인증 코드를 보여줍니다.

하이픈을 포함해서 9개의 글자를마우스로 드래그해서 복사하세요.

웹브라우저를 열고 https://github.com/login/device 주소를 입력해서 인증 페이지로 이동합니다.

인증페이지에서 위에서 복사한 코드를 그대로 붙여넣으세요.

문제가 없다면 인증이 완료됩니다.

Neovim으로 돌아오면 인증이 완료된 것을 볼 수 있습니다.

Copilot이 작동하는것을 볼 수 있습니다.

이제 터미널에서도 Copilot를 쓰면서 편하게 작업할 수 있겠습니다.

JetBrains IDE에서 오류메세지 보는 단축키

젯브레인 툴(JetBrains IDE)에서 소스 코드에 빨간 밑줄이 쳐지면 오류가 있다는 표시입니다.

빨간 줄 위에 마우스를 올리고 조금 기다리면 툴팁(풍선 처럼 뜨는 작은 팝업)으로 오류 메세지를 보여줍니다.

오류를 쉽게 인지하고 수정할 수 있게 해주기 때문에 상당히 유용한 기능입니다.

이걸 Error Description Tooltip 이라고 부르는데

그런데 마우스 올리고 시간이 조금 지나야 보이기 때문에 빨리 보려면 기다리는 시간이 답답할 때가 있습니다.

화면 예시

Error Description shortcut

단축키를 기억하고 있으면 툴팁을 바로 나오게 할 수 있습니다.

Error Description 툴팁을 바로 나오게 하는 단축키 입니다.

  • 윈도우 Windows: CTRL + F1
  • 맥 Mac: CMD + F1