GitHub Copilot 사용기

깃헙 코파일럿을 몇 개월간 php 개발에 써 본 후기.

결론부터 말하자면 “구글링을 확 줄여줄 정도로 아주 발전되고 편리한 자동완성 기능” 그 이상 이하도 아닌 듯.

예를 들어 a만 쳐도 a로 시작하는 함수와 메소드가 나오고, 어떤 변수를 넣어야 하는지 알려주는 자동완성 기능은 원래 편집기에 있었다. 그 덕분에 str로 시작하는 함수가 어떤 것은 _가 들어가고 어떤 것은 안들어가도, strpos에는 찾는 단어가 두번째 인자인데, preg_match에는 찾는 단어가 첫번째 인자인 식으로 개판이어도 우리는 매번 구글 검색 안해도 별로 실수를 하지 않는다.

깃헙 코파일럿은 여기에서 더 나아가서, 함수를 만드는 단위도 자동완성을 시켜준다. 주석을 영문으로 해도 좋지만, 한글로 쳐도 꽤 자동완성을 시켜준다. 또한 반복적이거나 뻔한 내용이면 아주 지능적으로 다음에 입력할 몇 줄을 변수명 바꿔가며 자동완성 시켜주기도 한다.

하지만 함정이 있다. 유튜브에서는 마치 주석만 입력해도 개발을 다 해줄 것처럼 묘사하는 영상이 있지만 생각처럼 그런 경우는 많이 없다. 오히려 자동완성된 함수에서 미묘하게 틀린 부분이 있어서 그걸 찾아내는데 시간이 더 걸린 경우도 있다. 배열로 받아야 하는데서 boolean으로 받아 놓고 한참 뒤에 그거 foreach 돌리고 있는데 예외처리까지 되어 있어서 에러는 안나고 왜 결과가 안나오지? 하게 만든다던지, 한번 쓱 보기엔 문제가 없고, IDE의 기능으로도 문제를 검출하지 못하는데 자세히 봐야 결함을 알 수 있는 경우가 많다. 자동완성식으로 작동하는 AI의 특징인듯.

즉 코파일럿은 디버깅이나 코드 읽는 것이 꽤 되는 사람이 쓸 수 있는 기능이다. ‘부조종사’라고 하기엔 좀 무섭다. 조종간은 꼭 붙잡고 있어야 하는 것이 테슬라의 오토파일럿과 비슷하달까. php말고 파이썬 같은게 훨씬 정확하다는 말도 있던데 글쎄 안써봐서…

의외로 좋았던 점은 주석 넣기 자동완성이었다. 개인적으로 주석을 쓰고 코딩을 하기도 하지만 마구 코딩을 하고 나서 나중에 주석을 추가하는 경우가 많은데, //를 입력하면 해당 코드에 적절한 주석을 제안해주는 경우가 꽤 많았다. 심지어 내가 자주 사용하는 날짜 이름 내용 형식까지 흉내 내서 주석을 제안해주니 편하더라.

어째튼 저작권 문제를 논외로 하면 편하고 쓰면 좋은 서비스인데, 월 10달러는 너무 심하고, 5달러면 아깝지 않겠는데…싶다. ChatGPT로 눈높이가 높아져만 가는 상황이라 더더욱.

ps. Tabnine 도 써봤는데, 코파일럿의 하위호환이다. 한글로 소통이 안된다는게 가장 단점이고, 무료로도 제한적인 기능(한줄 완성)으로 쓸 수 있다는 점 정도가 장점.

ps. 깃헛 코파일럿은 유로라서 쓰기 싫고, 무료 중에 비슷한 것을 원한다면 Codeium이 가장 나은 선택이다. 똑똑함은 깃헙 코파일럿보다 20% 모자라긴 한데, 언어 지원도 좀 더 폭 넓고 나름 비슷하게 자동완성을 해주고, 한글도 잘 인식한다. 채팅기능도 있어서 ChatGPT처럼 활용 할 수도 있고 코드 리뷰도 해준다.

데이터그립(DataGrip) 테이블들이 갑자기 안보일 때

회사에서 DB 개발툴로 데이터그립을 사용 중인데 돈 내고 쓰는 유료 툴인데도 미묘하게 마음에 안 드는 부분이 많다.

특히 가끔 테이블이나 뷰나 루틴이 일부 사라져서 겁나게 하는데, 실제로 사라진 것은 아니고 캐시가 꼬인 것이다.

그 때는 해당 데이터소스에서 오른쪽 버튼을 눌러서 나오는 메뉴에서 진단 > 캐시된 스키마 잊기 를 선택하고 다시 스키마를 불러오면 된다.

데이터그립 버전 2022.3.3 기준.

유료 앱이 이딴 버그나 있고 말이야…

Visual Studio Code의 sftp 확장에서 우분투 서버 접속문제

현상 : 키를 이용해서 vscode sftp로 우분투 서버에 접속하려고 하면 인증문제가 계속된다. 터미널에서 ssh는 접속 가능한데 vscode에서만 안됨.

해결방법

우분투 서버에서
sudo nano /etc/ssh/sshd_config
마지막 줄에
PubkeyAcceptedKeyTypes=+ssh-rsa
추가해 준 뒤 저장
sudo systemctl restart sshd
로 sshd를 재시작.

그럼 vscode 에서 sftp 접속이 잘 된다.

원인 : 내가 설정한 서버가 아니라서 알게 뭐야…

“오늘 우산 필요해?”사이트 오픈

https://draco.kr/

아내는 매번 외출 할 때 나에게 묻는다. “오늘 비와?” “우산 필요해?”

그 때 내가 대답할 내용은 “오늘 비 올 확률은 몇 %이고…”가 아니다. “우산 가져가.” 이런 식의 간단한 답이다.

그걸 앱으로 구현한 것이 이 사이트이다. PWA로도 만들어서 아내의 폰에 설치해 놨더니 무척 만족해 하고 있다.

기상청 API가 예보가 틀리는 경우가 다소 있는 점이 아쉽지만, 더 월등한 API를 얻기 전까진 별 다른 수가 없어서…

티즐 제로 자몽블랙티

유튜브 안될과학 채널의 궤도님이 좋아한다고 알고 있었는데, 편의점에서 2+1 하길래 사 본 음료. 할인 전 정가는 1개당 2천원.

맛은 얼그레이 우려내고 자몽청 크게 한숟가락 넣은 느낌. 자몽향은 나름 강해서 해당 향이 싫은 사람은 못 먹을 것 같다. 홍차향은 뒤에 조금 딸려 온다. 나는 두가지를 다 좋아해서 괜찮았다. 단맛은 콜라 보다는 약간 덜 한 정도로 ‘2% 부족할 때’와 비슷하게 달다. 절반 정도만 달았으면 나에겐 베스트였을 듯.

성분표에는 카페인 표기가 없는데, 인터넷글을 검색해 보면, 어떤 사람이 제조사 고객센터에 문의해 본 결과 500ml 제품에 25mg의 카페인이 함유되어 있다고 한다. 카페인에 엄청나게 예민한 사람이 아니면 느낌 없을 듯.

종합하자면, 맛과 향이 내 취향인데, 자몽향과 달달함이 내가 원하는 것의 2배 정도인 그런 제품. 얼음을 타 먹으면 딱이겠는데 귀찮다.

ps. 티즐 제로 유자그린티는 유자향이 강하고 달고, 티즐 제로 피치우롱티는 의외로 복숭아향이 적절하고 단맛이 덜 달아서 가장 무난하게 마실 수 있었다.

고전SF 매니아의 밀리의 서재 써보기

KT 사용자가 오랫동안 안바꾸고 충성을 바쳐봐야 주는 보상은 소용도 없는 멤버쉽 포인트 좀더 주고, 장기혜택쿠폰을 주는 것이다. 그런데 저 장기혜택쿠폰도 다른게 아니라 데이터/통화/시즌 플레인 이용권 3가지인데, 데이터와 통화는 이미 대부분 무제한이거나 충분한 요금제를 쓰니 소용이 없고, 시즌 서비스는 별로라 정말 쓸데가 없다.

그런데 올해 9월부터 시즌 플레인 이용권이 밀리의 서재로 변경된다고 한다. 오호… 전자책이면 쓸모가 있겠는 걸? 어릴 때 읽었던 추억의 작품들 다시 보고 싶었는데 잘 됐어. 찾아보자.

….단편집과 라마와의 랑데뷰 말고는 없네?

그럼 최신 작가들 꺼는?

마션은 그래도 있네.

환타지 쪽은?

호빗이랑 반지의 제왕은 재출간되서 있고, 어슐러 할머니 꺼는 어스시가 없네.

따님 보여줄 해리 포터도 없다.

그나마 따님이 제일 좋아하는 히로시마 레이코 것은 있음.

아드님이 좋아하는 마법천자문은 다 있네.

내가 좋아하던 작품들은 전자책 이전 세대들 책들이고, 워낙 매니아적이라 없을거라 예상은 했지만, 정말 없네.
그만 알아보자.

UpNote 장단점

UpNote는 최근에 사용하게 된 메모 앱이다. 타락 중(?)인 에버노트의 대체 서비스로 많은 사람들이 이용 중이라고 한다. 아주 훌륭하지만 장단점을 정리해 두면 누군가에게 참고가 될 것 같다.

장점

  • 빠르다. 앱의 반응속도가 상당히 빨라서 글을 입력하기 편하다. 동기화나 앱 실행도 시원시원한 편.
  • 평생 이용 요금제가 존재한다. 요즘 서비스들은 월구독 가격만 존재하는 경우가 많은데, 2.8만원 정도에 한번 결제로 평생이용이 가능하다.
  • 검색에 중간단어 검색이 가능하다. 한글의 경우 띄어쓰기나 조사문제로 단어단위만 검색되면 검색이 불완전해 지는데, 이 앱은 중간단어 검색이 가능하다. “네이버”를 검색하면 “네이버”뿐 아니라 “네이버맵”도 검색되고, “길동”을 검색하면 “홍길동”도 검색된다.
  • 리눅스를 지원한다. 윈도우/맥/리눅스/iOS/안드로이드를 지원한다.
  • 로컬 자동 백업 기능을 지원한다. 설정된 간격으로 자동백업되게 할 수 있다.
  • 앱 디자인이 공돌이 감성이 별로 없고 예쁜편이다.
  • 마크다운 지원
  • 집중 모드, 타자기 모드 등 지원
  • 웹브라우저 클리핑 확장기능 지원. 다만 단독작동은 아니고 앱이 실행중이어야 작동한다. 스마트폰에서는 공유기능으로 저장하면 링크만 저장됨.

단점

  • 제작사가 베트남 회사이다. 중국만큼은 아니겠지만 공산주의 국가의 회사이다 보니 프라이버시를 어느 정도 엄격히 할지는 모를 일이다. 일단 고객의 데이터를 미국서버에 업로드 중이고, 외부에 판매하거나 광고 목적으로 사용하지 않고 문제가 있을 경우에만 권한부여를 하겠다는 설명이 있기는 하다. https://getupnote.com/privacy.html
  • 평생 요금제가 있는 것은 장점이지만, 과연 그 돈으로 지속적인 운영이 가능한가?는 의문이다. 서비스회사의 월급과 서버 이용료는 월지출일테니. 그래서 그런지 평생 요금제가 시기가 지날 수록 조금씩 인상되고 있기도 하다.
  • 암호화 저장을 하지 않는다. 통신 단계에서 암호화만 하는 듯.
  • 로그인 2단계 인증이 없고, 엉뚱한 IP로 로그인 한다고 해서 추가적인 보안조치를 하지 않는다. 비밀번호를 더 엄격하게 설정해야 한다.
  • 업로드 파일은 1개당 20MB 제한이 있다. 간단한 영상이나 pdf문서 파일을 올리고 싶은 사람들에겐 불편할지도.
  • 웹 앱이 없다. 윈도우/맥/리눅스/iOS/안드로이드의 앱 설치를 통해서만 작업이 가능하다.
  • 모바일 앱 UI가 조금 완성도가 떨어진다. 검색어를 넣고 엔터키를 누르면 검색어가 줄바꿈이 된다거나, 검색을 하고 나서 검색된 결과를 들어가면 검색 키워드가 풀린다거나 하는 자잘한 문제가 있다.
  • 날짜 삽입 기능이 있는데, 데스크탑 앱에서는 정해진 한가지 포맷만 가능하고(데스크탑 OS 속성 따라가는 듯?), 안드로이드 앱에서는 6가지 정도 포맷들 선택이 가능하다.
  • 문서끼리 서로 연결시키는 기능이 없다.
  • AI 같은 첨단기능은 없다

(이용해 보며 계속 내용 추가 중)

호스팅케이알 클라우드 DNS로 바꾸고 망함

얼마전 호스팅케이알에 클라우드 DNS라는 기능이 있길래, 기존 DNS보다 좋은가? IPv6도 지원하네? 한번 해보지. 하고 설정했는데…

방문자 폭락.

클라우드 플레어나 구글 DNS같은 해외 유명 DNS를 쓰는 경우 잘 들어올 수 있지만, 국내 통신사나 기타 여러 DNS들에서는 내 도메인에 대한 응답이 안되는 이상한 상태.

호스팅케이알에 문의해 봤지만 답이 없다 -_-

차라리 DNS를 빨리 바꾸는 것이 답일지도.

ps. 갑자기 일요일 12시 25분에 전화가 옴.
호스팅케이알쪽 책임자라고 LG U+쪽에 DNS응답을 잘 못하는 문제가 있어서 확인 중이라고 -_-

그걸 이제야 확인중이라는 거는 좀 어이없지만, 일요일에도 일하고 있는 사람에게 뭐라고 하기 뭐해서 그냥 네네 하고 끊음.

ps. vultr 쪽 DNS로 변경 후에 완전히 복구되었다.

커키 키보드 보라색 사용자 테마

구글 Gboard의 보라색 테마를 선호해서, 최대한 비슷하게 만들어 본 커키 키보드용 사용자 테마.

커키 키보드의 사용자테마는 파일을 사용하는 것이 아니라, 색상 코드가 있는 문자열을 클립보드로 복붙하는 식이다. 아래 코드를 복사해 사용하면 됨.

[45289f, f2eef8, 664db2, 664db2, ffffff, 53389f, 53389f, f2eef8, 53389f, 53389f, f2eef8, 664db2, 664db2, 53389f, ffffff, false, 0f, 8f, false, darkGray]

홍미노트8T에 픽셀익스피리언스12+ 롬 설치

샤오미 홍미노트8T가 1월 7일에 MIUI 12.5 안드로이드 11로 업데이트 되었다. 그런데 메모리 관리를 너무 심하게 하는 지, 리프레쉬라고 불리는 앱 강제종료 현상이 너무 심했다.

어느 정도냐면, 은행앱 실행하고 인증 문자, 인증 전화 받았다고 해당 앱으로 갔다가 되돌아오면, 은행앱이 재시작되서 처음부터 다시해야 한다거나, 쇼핑몰앱에서 결제앱을 띄우면 쇼핑몰앱이 재시작된다거나, 앱에서 링크를 눌러 크롬 커스텀 탭으로 웹페이지 하나 보고나서 되돌아오면 원래의 앱이 재시작되거나 하는 정도였다.

그리고 MIUI 12에서 잘 되던 LDAC연결이 안된다.

그래서 참다참다 이번에 언락하고 픽셀익스피리언스12+를 깔았다.

  1. 홍미노트8T 부트로더 언락을 한다. (2주 정도 걸림)
    참고 : https://en.miui.com/unlock/download_en.html
    https://saysensibility.tistory.com/1417
    https://saysensibility.tistory.com/1421
  2. TWRP 리커버리를 설치한다.
    (픽셀익스피어런스의 리커버리는 작동안함)
    https://twrp.me/xiaomi/xiaomiredminote8.html
  3. 픽셀익스피어런스 롬을 설치한다.
    https://download.pixelexperience.org/ginkgo
    https://wiki.pixelexperience.org/devices/ginkgo/install/

설치 후 앱 강제종료 문제가 속시원할 정도로 깨끗하게 사라졌다. 이제 내가 원하던 앱을 마음대로 설치하고, 런처와 위젯을 마음대로 사용해도 문제가 일어나지 않는다. 폰 작동도 더 부드럽고 빠르게 된다. 순정 안드로이드라 불필요한 앱이 없는 것도 좋은 점이다. LDAC 블루투스 연결도 이젠 잘 된다.

그리고 MIUI를 쓸 때 가끔 하루에 한두번 느꼈던, 2,3초 기기가 멈추어서 터치도 안먹다가 다시 작동하는 그런 문제도 사라졌고, 기기를 많이 쓰지도 않았는데 캐시가 4~5GB씩 쌓이던 이상한 문제도 사라졌다.

단점으로는 CJ대한통운 앱과 삼성화재앱이 루팅을 감지했다면서 작동하지 않는다. (루팅 안했다고) 은행, 카드, 쇼핑, 결제, 패스트푸드 주문앱(특히 악명높은 KFC앱)은 내가 사용하는 선에서는 정상 작동한다. 택배기사분들이 사용하는 PDA형태의 전화로 전화가 왔을 경우 픽셀 익스피어런스같은 AOSP롬들은 수신이 안된다는 말이 있는데, 아직 경험해 보지 않아 모르겠다.

픽셀 익스피어런스에 있는 기본 카메라앱이 너무나도 구린것도 문제인데, 구글 카메라 앱을 개조한 것을 설치하면 큰 문제 없이 카메라 기능들을 사용이 가능하다. https://www.celsoazevedo.com/files/android/google-camera/dev-suggested/
(여기서 Nikita’s 8.2 버전과 컨피그를 쓰면 한글도 지원되고 이래저래 쓸만한듯. 다만 가끔 강종된다)

2011년부터 써온 커스텀롬 생활을 2019년말 홍미노트8T를 사며 끝냈는데, 다시 2022년부터 어쩔 수 없이 커스텀롬을 써야 하게 되었다. -_- 결과는 여러모로 좋은데, 일단 더 사용하고 내용 추가 예정.

ps.
KT패스앱, CJ대한통운 앱, 삼성화재 앱 등이 커스텀롬임을 인식하고 실행이 안되는데, 방법은 있다.

  1. 볼륨-와 전원버튼을 길게 눌러 fastboot로 부팅.
  2. PC와 USB연결.
  3. TWRP 리커버리 이미지를 다운 받고,
    fastboot flash recovery 파일명
    명령으로 TWRP로 되돌아간다.
  4. 픽셀롬은 시스템 부팅하면 픽셀 리커버리로 되돌아가므로,
    볼륨+와 전원버튼을 길게 눌러 바로 TWRP로 부팅한다.
  5. TWRP의 마운트 메뉴에서 system 을 체크해서 시스템 마운트를 한다. (출시시 안드로이드 10미만인 폰만 시스템 수정 가능)
  6. adb pull /system/build.prop build.prop
    명령으로 build.prop 파일을 다운로드 한다.
  7. 편집기로 build.prop 파일을 열어,
    userdebug는 전부 user 로
    test-keys는 전부 release-keys 로 수정하고 저장한다.
  8. adb push build.prop /system/build.prop
    명령으로 build.prop 파일을 업로드한다.
  9. adb shell chmod 644 /system/build.prop
    명령으로 파일 권한을 수정한다.
  10. adb reboot
    명령으로 부팅한다.

ps.
배터리 소모는 체감상 10%정도 많은 것 같다. 하루 쓰기엔 충분하지만 조금 아쉽. -> 쓰다보니 최적화 되서인지 소모속도가 MIUI때 보다 줄어든 듯하다. 화면 켰을 때는 비슷하고, 화면 껐을 때 소모는 오히려 적다.

ps. OTA업데이트가 제대로 안되고 있다. 해결과제.