apt install을 하는데 다음과 같은 에러가 나오는 경우가 있습니다.
apt-get update failed because certificate verification failed because handshake failed on nodesource
위 에러는 우분투 리눅스에 설치된 certification에 문제가 생겼기 때문입니다.
다음과 같이 재설치하면 해결됩니다.
sudo apt install ca-certificates
apt install을 하는데 다음과 같은 에러가 나오는 경우가 있습니다.
apt-get update failed because certificate verification failed because handshake failed on nodesource
위 에러는 우분투 리눅스에 설치된 certification에 문제가 생겼기 때문입니다.
다음과 같이 재설치하면 해결됩니다.
sudo apt install ca-certificates
우분투 리눅스(Ubuntu)를 터미널로 접속해서 Copilot을 사용하려면 Neovim을 사용해야 합니다.
귀찮게 설치하지 않고 Copilot을 안쓰면 되겠지만 Copilot을 사용하면 생산성이 너무 좋기 때문에 도저히 포기할 수 없습니다.
그래서 Neovim과 Copilt을 Ubuntu에 설치하려고 하면 간단하게 되지 안고 몇가지 문제가 생깁니다.
서버 마다 이걸 반복해서 하다보니 귀찮아서 설치법을 정리했습니다.
다음은 설치 순서요약입니다.
우선 Copilot을 쓰려면 Github 계정이 있어야 하므로 계정을 먼저 준비하세요.
그 다음의 문제가 있는데 apt로 설치를 할 수 없는 것이 Node js 12와 Neovim 0.6입니다.
apt로 설치하면 Node.js와 Neovim이 상당히 낮은 구버전이 설치됩니다. 그래서 Copilot을 쓸 수 없습니다.
다음과 같이 하면 됩니다.
먼저 Node.js 12는 다음과 같이 설치합니다.
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs
Neovim를 설치하기 위해 snap을 설치합니다. apt로 설치하면 0.6 보다 낮은 구버전이 설치되는데 그 버전으로는 Copilot을 쓸 수 없습니다.
sudo apt install snap
snap install nvim --classic
이제 Copilot 확장을 설치합니다. Github 레파지토리에서 그대로 클로닝을 해서 ~/.config 아래에 넣어주는 것이 전부입니다.
git clone https://github.com/github/copilot.vim.git ~/.config/nvim/pack/github/start/copilot.vim
이제 Neovim을 실행해서 Copilot을 활성화해야 합니다.
Neovim에서 “:Copilot setup‘ 을 입력합니다.
원타임 인증 코드를 보여줍니다.
하이픈을 포함해서 9개의 글자를마우스로 드래그해서 복사하세요.
웹브라우저를 열고 https://github.com/login/device 주소를 입력해서 인증 페이지로 이동합니다.
인증페이지에서 위에서 복사한 코드를 그대로 붙여넣으세요.
문제가 없다면 인증이 완료됩니다.
Neovim으로 돌아오면 인증이 완료된 것을 볼 수 있습니다.
Copilot이 작동하는것을 볼 수 있습니다.
이제 터미널에서도 Copilot를 쓰면서 편하게 작업할 수 있겠습니다.
젯브레인 툴(JetBrains IDE)에서 소스 코드에 빨간 밑줄이 쳐지면 오류가 있다는 표시입니다.
빨간 줄 위에 마우스를 올리고 조금 기다리면 툴팁(풍선 처럼 뜨는 작은 팝업)으로 오류 메세지를 보여줍니다.
오류를 쉽게 인지하고 수정할 수 있게 해주기 때문에 상당히 유용한 기능입니다.
이걸 Error Description Tooltip 이라고 부르는데
그런데 마우스 올리고 시간이 조금 지나야 보이기 때문에 빨리 보려면 기다리는 시간이 답답할 때가 있습니다.
단축키를 기억하고 있으면 툴팁을 바로 나오게 할 수 있습니다.
Error Description 툴팁을 바로 나오게 하는 단축키 입니다.
MeCab 형태소분석기에 대해서 간단히 설명하려고 합니다.
MeCab은 이제 우리나라에서 상당히 유명한 형태소 분석기가 되었지만 Mecab(메카부)는 일본어 형태소 분석기입니다.
영어로는 “미캡”이라고 읽어야 하는 것이 맞겠지만 원래 프로젝트 페이지에 카타가나 일본어 표기로 “메카부”라고 되어 있고 일본인들도 대부분 메카부라고 읽기 때문에 “메카부”라고 읽는 것이 맞습니다. 사실 이건 그리 중요하지는 않습니다.
어쨌든 이 포스트에서도 메카부로 읽고 쓰겠습니다.
원래 NTT(일본 통신)에서 배포하는 오픈소스 일본어 형태소분석기이고 제작자는 구글로 이직한 것으로 알려져 있습니다.
상당히 좋은 성능으로 오랫동안 일본에서 가장 많이 쓰이는 오픈소스 형태소분석기 중 하나였습니다.
한국에는 변변한 오픈소스 형태소분석기가 없었던 시절 일본어와 문법체계가 비슷한 한국어를 위해 Mecab를 한국어 용으로 포팅한 은전한닢이라는 프로젝트가 생겨 Mecab를 한국어 용으로 사용하면서 한글 및 한국어 자연어처리 발전에 상당히 기여했습니다.
없습니다. 일본어는 한국어와 다르고 일본어에는 필요 없는 것과 한국어에만 있는 것을 적용하는 작업이 필요한데 그 작업을 해 놓은 것이 은전한닢입니다.
세종계획 말뭉치와 다른 소스를 사용하고 있다고 알려져 있고 세종계획말뭉치로 학습을 해서 사용해보면 거의 같습니다.
메카부는 C++로 작성했습니다. C++만든 모듈은 대부분의 언어에 바인딩을 할 수 있기 때문에 대부분의 언어에서 지원이 가능합니다.
C++, Java, Python, R 등이고 모두 패키지가 있습니다. 물론 안되는 것도 많습니다.
현재는 여러곳에서 파생된 패키지와 소스를 받을 수 있습니다.
https://en.wikipedia.org/wiki/MeCab
https://fasiha.github.io/mecab-emscripten/
https://github.com/fasiha/mecab-emscripten#mecab-on-the-web
은전한닢을 ElasticSearch7에서 쓸 수 있게 해놓은 것이 있습니다.