개인적으로 너무 애정하는 "GitHub Copilot"은

OpenAI의 GPT3을 기반으로 소스코드를 추가적으로 학습한 Codex를 가지고 만들어진

AI 기반 프로그래밍 어시스턴트로써 2021년 10월에 Beta로 발표했고, 22년 6월에 상용화되었다.

 

 

비주얼 스튜디오 코드, 비주얼 스튜디오, Neovim, 젯브레인즈 통합 개발 환경 등

다양한 IDE의 Extension 형식으로 설치하여 기본적으로는 자동 완성 기능의 형태로 suggestion 해주는 방식이다.

 

소스코드 파일에 주석을 작성하면 function 단위 또는 block 단위로 제안을 해주기도 하고

코드를 작성하다보면 auto-completion과 같이 제안을 해주기도 한다.

 

 

이런 와중에 ChatGPT가 전무후무한 대박이 터지고 GPT4까지 발표하게 되면서

GitHub에서는 아니, MicroSoft에서는 물 들어온김에 노젓는다고....

첫 등장한지 얼마 되지도 않은 Copilot을 또 레벨업을 하게 된다.

 

기존 ‘Copilot’에 GPT-4를 결합하고 새로운 기능을 추가한 ‘Copilot X’를 3월 23일 발표했다.

아직은 Wait-List를 통해 신청해야만 사용해볼 수 있다.

 

 

차례가 되면 이메일로 당첨(?) 소식을 알려주는데,

"Visual Srudio Code Insider + GitHub Copilot Nightly Extension" 조합으로 사용해볼 수 있다.

 

 

'Visual Studio'까지는 지원을 해주는데,

아직 다른 IDE는 지원하지 않고 있는 것 같다.

 

 

설치하고 나면 위와 같이 오른쪽에 Chat 버튼이 생긴다.

 

 

이제 정말 외롭지 않게(?) copilot과 함께 대화하면서 코딩 할 수 있다. (개발자는 이제 혼자가 아니야!!!)

 

 

단순한 소스 코드라서 그런 것일 수도 있겠지만, unittest 코드도 잘 만들어주는 것 같다 ^^

 

 

우와~~~ 혹시나 했지만, 한글도 된다 !!!!!

 

 

개선 코드 제안도 정말 깔끔하게 정말 정말 잘 해준다!!! 우와!!!

 

 

커밋 메시지를 어떻게 작성할 것인지에 대해서도 정말 잘 알려준다!!!

 

 

Copilot을 잘 사용하던 중 ChatGPT가 등장하면서

과연 Copilot에서는 어떻게 대응할까 궁금했었는데.... (Chat 방식으로 코드 생성을 해주는 것과의 비교)

이렇게 접목을 하니... 정말... 개발자들의 생산성이 높아지지 않을 수가 없는 상황이 되었다.

 

음... 이런걸 보고하면.... 이런 말이 나올까봐 무섭다.

 

"야! 그러면 개발자들 몇 명 짜를 수 있냐?"

 

개발자 각자의 생산성이 높아지는 것이고 pair 프로그래밍을 할 수 있는 것이지

AI가 1명의 독립적인 역할을 하는 것이 아닌데...

 

설명을 해도 높은 곳에 있는 분들은 이해를 ... 하려하지 않는 ... 하고싶어하지 않는 ...

 

좋은 도구가 나와서 좋아야 하는데, 왜 우울하지!?

 

반응형

GitHub-Actions를 어떻게 사용했는지 기억도 잘 떠오르지도 않고

Secret을 어떻게 다뤘는지도 기억이 가물거려서 간단한 예제 겸 교육자료로 써먹고자 진행해봤다.

 

1. git clone

  - 각자 상황에 맞는 Repository를 이용하면 된다.

❯ git clone git@github.com:whatwant-school/node-web.git

 

 

2. coding

  - 예제를 위해, node.js 웹 서비스를 하나 만들어 보자.

❯ nano app.js

  - 그냥, 간단히 어느 host에서 서비스를 하고 있는 것인지를 보여주는 웹페이지이다.

const http = require('http');
const os = require('os');
console.log(“node-web server starting...");
var handler = function(request, response) {
  console.log("Received request from " + request.connection.remoteAddress);
  response.writeHead(200);
  response.end("You've hit " + os.hostname() + "\n");
};
var www = http.createServer(handler);
www.listen(8080);

 

 

3. write Dockerfile

  - 위에서 작성한 웹서비스를 구동할 container image를 어떻게 구성할지를 작성해보자.

❯ nano Dockerfile

  - 내용은 심플하다.

FROM node:latest

ADD app.js /app.js

ENTRYPOINT ["node", "app.js"]

 

 

4. ready DockerHub

  - Actions를 이용해 만들어진 container image를 업로드할 DockerHub의 Repository를 준비하자.

  - 이미 1.0 버전이 있지만 해당 버전을 업데이트하는 방식으로 구성할 것이다.

 

 

5. get Token

  - Actions에서 DockerHub로 업로드 하기 위해서는 계정 인증이 필요하고, 이 때 사용할 Token을 발행해보자.

  - Write 권한을 필수로 넣어줘야 한다.

 

 

6. mkdir

  - Repository 내부에 Actions workflow를 작성할 경로를 생성하자.

❯ mkdir -p .github/workflows/

 

 

7. write Action

  - 내가 사용할 Action workflow를 작성하자.

❯ nano .github/workflows/deploy-image.yml

  - 일부 내용은 각자의 상황에 맞춰서 업데이트 하면 된다.

name: Build and Push Docker Image
on:
  push:
    branches:
      - main  
jobs:
  build-and-push-image:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2

    - name: Set up Docker Buildx
      uses: docker/setup-buildx-action@v1

    - name: Login to DockerHub
      uses: docker/login-action@v1
      with:
        username: ${{ secrets.DOCKERHUB_USERNAME }}
        password: ${{ secrets.DOCKERHUB_TOKEN }}

    - name: Build and push
      id: docker_build
      uses: docker/build-push-action@v2
      with:
        push: true
        tags: whatwant/node-web:1.0

 

 

8. Set Secret

  - Action workflow에서 사용하는 Secret 변수 값을 입력하자.

  - USERNAME과 TOKEN을 입력하면 된다.

 

 

 

9. push

  - 이제 준비는 끝났다. push 해보자.

❯ git add -A

❯ git commit -m "make action's workflow"

❯ git push origin main

 

 

10. Actions

  - 입력한대로 잘 동작했는지 확인해보자.

  - 상세 내용도 확인해볼 수 있다.

 

  - 로그 레벨로도 확인해볼 수 있다.

 

  - 정말 DockerHub에 업로드까지 잘 되었는지 확인해보자.

 

 

여기까지~

 

반응형

최근 SW 개발자들이라면 `Git`이라는 버전관리 도구를 무조건 한 번 이상 사용해봤을 것이다.

 

사실 대부분 회사일로던 개인적인 사유로던 `GitHub` 계정이 이미 있을 것이고

Repository 하나 이상쯤은 만들어봤고, clone도 받아봤을 것이다.

 

`Git` 외에 다른 버전관리 도구들이 다양하게 존재하긴 하지만

일단 `Git`이 SW 개발자의 기본 소양이 되어버렸다는 사실은 그 누구도 부정하지 못할 것이다.

 

 

`StackOverflow Survey 2021` 에서 개발자들의 약 93%가 Git을 사용한다고 답한 것을 보면 확실하다!!!

'22년 Survey에서도 결과를 확인할 수 있으면 좋았을텐데, Git 항목이 2022년에는 빠져서... 아쉽다.

  - https://insights.stackoverflow.com/survey/2021#other-tools

 

 

그러면, 여러 Global 기업들도 모두 Git을 사용할까?!

`결론은 대부분 Git을 사용한다!` 이지만, 지금은 이걸 알아볼 때가 아니니 다음 기회로 넘기기로 하고...

 

Facebook(현 Meta)에서는 어떤 개발환경을 사용하고 있을까!?

  - 버전관리: Mercurial

  - 코드리뷰 및 태스크 관리: Phabricator

 

https://engineering.fb.com/2014/01/07/core-data/scaling-mercurial-at-facebook/

https://secure.phabricator.com/book/phabricator/article/introduction/

 

 

그런데, 위에 있는 링크를 타고 들어가보면 알겠지만,

Meta에서는 Mercurial을 그대로 사용하지 않고 상당히 많은 customizing을 가해서 사용하고 있었다.

 

Mercurial 자체도 Git과의 호환성을 보장하지만,

Meta에서는 특히 Git을 중심에 두고 GitHub 지원도 강화하기 위해 막대한 투자를 했다고 한다.

 

그리고 이렇게 Meta에서 10년 동안 열심히 개발한 버전관리 도구를 "Sapling"이라는 이름으로 공개했다!

  - https://engineering.fb.com/2022/11/15/open-source/sapling-source-control-scalable/

 

 

어떤 도구인지 직접 한 번 설치해 보고 사용해봤다.

개발환경 구성이니만큼 Ubuntu 20.04 환경에서 진행했다.

 

사실 Ububtu 18.04 환경에서 하고자 했으나, Sapling이 Ubuntu 20.04/22.04 버전만 지원한다.

 

 

1. GitHub CLI

  - Sapling에서 GitHub 연결할 수 있도록 하기 위해 GitHub CLI 도구를 설치하자

  - https://cli.github.com/

 

 

  - Ubuntu 환경에서의 설치는 아래 링크에 친절히 나와있다.

  - https://github.com/cli/cli/releases/download/v2.20.2/gh_2.20.2_linux_amd64.deb

 

  - 1회성으로 다운로드 받아서 설치할 수도 있다.

  - https://github.com/cli/cli/releases

 

❯ wget https://github.com/cli/cli/releases/download/v2.20.2/gh_2.20.2_linux_amd64.deb

❯ sudo dpkg --install gh_2.20.2_linux_amd64.deb

❯ gh --version                                             
gh version 2.20.2 (2022-11-15)
https://github.com/cli/cli/releases/tag/v2.20.2

 

  - 인증 정보도 등록하자

❯ gh auth login --git-protocol https

 

 

 

2. Sapling Install

  - 본래 주력으로 사용하고 있는 Ubuntu 18.04에서 테스트 진행하려다 보니... 안타깝게도 18.04는 지원하지 않는다.

  - 빌드를 직접 해보면 될지 모르겠지만, 귀차니즘으로... 그냥 20.04 환경에서 진행했다.

 

  - 설치 과정은 다음 링크를 참조하면 된다.

  - https://sapling-scm.com/docs/introduction/installation#linux

 

❯ wget https://github.com/facebook/sapling/releases/download/0.1.20221118-210929-cfbb68aa/sapling_0.1.20221118-210929-cfbb68aa_amd64.Ubuntu20.04.deb

❯ sudo dpkg --install sapling_0.1.20221118-210929-cfbb68aa_amd64.Ubuntu20.04.deb

❯ sl --version                                                                  
Sapling 0.1.20221118-210929-cfbb68aa

❯ sl config --user ui.username "whatwant <whatwant@gmail.com>"

 

 

3. clone

  - 기본적인 사용법은 git 명령어 체계를 따라가는 것 같다.

❯ sl clone https://github.com/whatwant/whatwant               
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
오브젝트 묶음 푸는 중: 100% (6/6), 15.87 KiB | 7.93 MiB/s, 완료.
https://github.com/whatwant/whatwant URL에서
 * [새로운 레퍼런스] babeb04a267ae7ac642532df70c03517d1ea86ca -> remote/main
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

 

  - 기본적인 모습은 조금 특이하긴 하다.

  - clone을 받았을 때 `.git` 디렉토리가 아니라 `.sl` 디렉토리가 생긴다.

  - `sl` 명령어를 치면 지금 현재 브랜치 정보를 보여준다.

❯ cd whatwant

❯ ls -al
합계 76
drwxrwxr-x 3 chani22 chani22  4096 11월 24 15:25 .
drwxr-xr-x 3 chani22 chani22  4096 11월 24 15:25 ..
drwxrwxr-x 6 chani22 chani22  4096 11월 24 15:29 .sl
-rw-rw-r-- 1 chani22 chani22   443 11월 24 15:25 README.md
-rw-rw-r-- 1 chani22 chani22 58078 11월 24 15:25 career.md

❯ sl
@  babeb04a2  2021-10-17 04:04  whatwant  remote/main
│  Create career.md
~

 

 

4. commit

  - committ 생성 과정을 살펴보자.

  - `git` 하고 차이는 마지막에 `sl` 명령어를 쳤을 때 나오는 정보 뿐이다.

❯ touch sapling.txt 

❯ sl add .                                     
adding sapling.txt

❯ sl commit -m 'my first commit with Sapling'                 

❯ sl                                         
  @  f63c3b928  6 seconds ago  whatwant
╭─╯  my first commit with Sapling
│
o  babeb04a2  2021-10-17 04:04  whatwant  remote/main
│  Create career.md
~

 

 

5. web (SmartLog)

  - Sapling은 멋지게도 web 인터페이스를 제공해주는데 ... 그냥 실행하면 에러 나온다.

❯ sl web                                     
ERROR: `node` is required to run Interactive Smartlog, but it was not
found on the $PATH. For information on installing Node.js, see:
https://nodejs.dev/en/learn/how-to-install-nodejs/

 

  - nodejs 설치하자

❯ sudo apt install nodejs npm

❯ nodejs --version                           
v10.19.0

 

  - 이제 다시 web !!

❯ sl web

  - 깔끔하고 예쁘다.

 

 

6. Pull-Request

  - PR 생성도 그냥 명령어 한 줄이면 된다.

❯ sl pr 
pushing 1 to https://github.com/whatwant/whatwant
created new pull request: https://github.com/whatwant/whatwant/pull/1
updated body for https://github.com/whatwant/whatwant/pull/1

 

  - 실제 GitHub에 생성되었는지 확인해보자.

 

 

여기까지 간단한 사용법을 살펴봤는데... 그냥 Git을 사용하는 것과의 큰 차이는 느끼지 못하겠다.

 

Git과의 차이점을 설명해주고는 있다.

  - https://sapling-scm.com/docs/introduction/differences-git

 

Staging Area가 없는 것과 몇 가지 차이가 보이기는 하지만,

사실 대용량 Repository일 때 Sapling의 장점이 돋보일 것 같기는 한데...

 

실제 작업하면서 사용을 해봐야 제대로 느껴볼 수 있을 것 같다.

 

 

이번 포스팅은 그냥 Sapling 맛만 보는 것으로...

 

 

반응형

DeepLearning 공부 내용을 GitHub로 관리하려다 보면 매번 수식 입력 부분 때문에 고생을 했었다.

GitHub의 MarkDown에서 기본적으로 수식 입력을 지원하지 않았기 때문이다.

 

그래서 보통은 Online Latex Equation Editor 사이트 등을 통해 수식 작성 후

이미지 파일로 다운로드 받아서 MarkDown에 입력하는 방법을 사용하곤 했다.

 

  - http://www.sciweavers.org/free-online-latex-equation-editor

 

 

수식을 깔끔하게 표현을 할 수는 있지만, 너무나 불편한 방식이다.

수식을 수정하려고 하면 다시 사이트에 가서 작성한 다음에 이미지로 만들고 업로드 하고...

 

그러던 중 반가운 소식이 들려왔다.

 

  - https://github.blog/2022-05-19-math-support-in-markdown/

 

 

우와~ MarkDown에서 수식 입력을 지원하다니 !!!

 

지원해주는 형식은 code block 방식과 inline 방식의 2가지 이다.

 

  - code block: 가운데 정렬로 수식만 단독으로 출력

  - inline: 텍스트 중간에 수식을 표현

 

수식 입력을 위해 사용되는 문법은 기본적으로는 Tex이다.

Tex를 사용하기 편하게 만든 매크로가 LaTex이기에 기본적으로 Tex 문법을 사용한다.

 

  - https://ko.wikipedia.org/wiki/위키백과:TeX_문법 

 

 

실제로 잘 되는지 살펴보자.

 

inline 방식으로 사용하려면 `$` 사이에 수식을 정의하면 되고,

code block 방식으로 사용하려면 `$$` 사이에 수식을 정의하면 된다.

 

 

이렇게 적어주면 아래와 같이 깔끔하게 잘 나오게 된다.

 

 

GitHub MarkDown에서 LaTex를 랜더링하기 위해 JavaScript 기반의 MathJax라는 오픈소스 프로젝트를 활용하고 있다.

그래서 아래와 같은 마우스 오른쪽 버튼 메뉴를 활용할 수도 있다.

 

 

 

보다 깔끔하고 편리하게 수식을 입력하고 활용할 수 있게 된 GitHub를 더 많이 사랑해줘야겠다.

 

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

Meta의 Git 지원 버전관리 도구 Sapling 공개  (0) 2022.11.25
git 실수해도 괜찮아요  (0) 2022.07.02
Universe 2021 & GitHub Actions  (0) 2022.01.18
github.dev (Web-IDE)  (1) 2021.11.03
git switch/restore (git 새로운 명령어)  (1) 2021.10.17

 

GitHub에서는 1년에 한 번씩 Universe라는 대규모 행사를 하고

지역별로 Satellite 행사도 운영을 한다.

 

 

본래 Universe 행사는 샌프란시스코에서 열리는데,

요즘 트렌드(?)에 따라 이번 Universe 2021 행사도 온라인으로 진행되었다. (10월 27일/28일)

 

https://githubuniverse.com/

 

GitHub Universe 2021

The global developer event

githubuniverse.com

 

Universe 2020도 온라인이었던 것 같은데, 아쉽다.

 

 

 

Universe 2021 동영상이 영어라서 부담스러운 분들은

`손건` 이사님이 직접 데모를 포함해서 우리나라 말로 설명을 해주신 요약 영상을 봐도 좋다.

 

https://resources.github.com/webcasts/kr-Best-of-GitHub-Universe-thankyou/ 

 

Best of GitHub Universe

지난해 진행된 GitHub Universe 이후 GitHub는 엔지니어를 위한 일상적인 UX의 개선, 클라우드 개발 환경에 대한 지원, 보안 강화를 포함하여 20,000개 이상의 기능 개선 사항을 발표했습니다. 이번 웨비

resources.github.com

 

위 행사에서 `GitHub Universe Highlights` 뿐만 아니라

GitHub 본사에서 솔루션 아키텍트로 근무하시는 `Bryant Son(손지민)`님이

정말 Geek스러운 발표도 해주셨다.

 

`재미있고 어메이징한 깃허브 액션: 클라우드 프로비저닝, 리포트 작성, 그 외 깃허브 액션으로 할수 있는 많은 작업들`

 

발표 제목부터 Geek 스럽지 않은가!? ^^

발표 자료도...

GitHub Actions

 

Hands-On을 위한 자료도 정말 멋지다.

 

https://github.com/githubuniverseworkshops/GitHub-Actions-Planet-2021-Korea

 

GitHub - githubuniverseworkshops/GitHub-Actions-Planet-2021-Korea: 깃허브 유니버스 2021 에서 발표했던 내용을 기

깃허브 유니버스 2021 에서 발표했던 내용을 기반으로 다시 한글로 만든 레포 입니다. Contribute to githubuniverseworkshops/GitHub-Actions-Planet-2021-Korea development by creating an account on GitHub.

github.com

 

 

부디 돌아오는 Universe 2022 행사는 샌프란시스코에서 열리길 기원하며 ...

 

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

git 실수해도 괜찮아요  (0) 2022.07.02
GitHub에서 수식 입력 하기 (with LaTex)  (0) 2022.06.07
github.dev (Web-IDE)  (1) 2021.11.03
git switch/restore (git 새로운 명령어)  (1) 2021.10.17
git 설치 (Git 2.33.0, Windows 10)  (0) 2021.10.02

 

꽤 오랜 역사를 갖고 있지만,

최근 들어서 갑작스레 많은 관심을 받고 있는 Web-IDE & Cloud-IDE 이야기를 해보고자 한다.

 

학계(?), 업계(?)에서 명확히 구분해서 사용하고 있는 명칭은 아니지만

개인적으로 Web-IDE와 Cloud-IDE는 다음과 같이 구분을 하고 있다.

 

Web-IDE

- 웹 기반으로 소스코드 편집을 지원하는 IDE를 제공하는 서비스

- workspace(terminal) 환경을 제공하지 않는다.

 

Cloud-IDE

- Web-IDE 서비스 포함

- workspace(terminal) 환경도 포함

 

 

즉, `GitHub Codespaces` 서비스는 Cloud-IDE로 분류할 수 있다.

- https://github.com/features/codespaces

출처:  https://github.com/features/codespaces

 

 

아는 사람만 알고 있는 github.dev 서비스는 Web-IDE이다.

- https://www.whatwant.com/entry/githubdev (블로그 홍보^^)

 

 

최근에 preview로 공개한 github.dev의 사촌관계인 vscode.dev 서비스 역시 Web-IDE이다.

- https://vscode.dev/

 

 

많은 분들이 알고 있을 구름IDE는 Cloud-IDE 서비스이다.

- https://ide.goorm.io/

 

구름IDE는 아래 포스팅 내용 중에 소개한 적도 있다.

- https://www.whatwant.com/entry/한빛미디어-알쏭달쏭-C언어-180제

 

 

 

이번 포스트는 뭐 그냥 그렇다는 ...

그냥 기록용~

 

반응형

 

아는 사람만 알고 있다는 숨어있는(?) github.dev 서비스를 알고 있으신가요?

- https://github.dev/

- https://docs.github.com/en/codespaces/the-githubdev-web-based-editor

 

github.dev

 

안냇말을 잘 보면 어!? 하게 된다.

`.` 단축키를 이용하면 된다고!?

 

 

위와 같이 github.com의 특정 repository에서 키보드의 `.` 키를 누르면 된다.

 

 

그러면 github.dev 사이트로 이동하면서

해당 repository의 파일 내용과 함께 IDE 환경이 주어진다.

 

 

VSCode 환경에서 소스코드 편집을 할 수 있게 된 것이다.

수정 후에 git commit 및 push를 할 수도 있다.

 

 

아쉽게도 workspace(terminal) 환경은 제공되지 않는다.

 

workspace(terminal) 환경까지 필요하다면 codespaces 서비스를 돈 주고 사용해야 한다.

 

 

 

하지만,

무료로 VSCode를 웹으로 편하게 사용할 수 있다는 것만으로도 충분히 행복한 환경이다.

 

나만 그렇게 생각하나?!

반응형

 

주석만 작성해도, function 이름만 적어줘도 AI가 코드를 대신 작성해준다고 하는 Copilot !!!

 

광고/홍보를 그렇게 해놓고는...

한정된 사람들만 사용할 수 있게 해주는 불친절한 GitHub !! 아니 MS !!!

 

 

뭐 어떻게 어떻게 사용해볼 수 있기 기회를 얻어서

다음과 같이 사용해보았다.

 

Already enabled

 

내 본캐 계정에서는 아직도 대기중인데...

 

Extension

 

GitHub 웹사이트에서 바로 사용하는 것은 말이 안되기에 어떤 방식으로 제공해주나 했는데...

Visual Studio Code Extension 형태로 제공해준다 !!!

Extension 설치 !!!

 

VSCode Extension

 

21만명이 사용하고 있나보다.

별점이 4개 밖에 안되네!? ㅋㅋㅋ

 

Sign in to GitHub

 

당연하게도 GitHub 로그인 과정을 거쳐야 한다!!!

 

Authorize

 

token

 

열기 하니까 잘 되었다.

잘 안되는 사람들은 아래에 나오는 방식으로 진행하면 되겠죠 ?!

 

function

 

사용법은 간단하다.

함수 이름 작성 하고 파라미터 정의하고 `{` 입력하면 회색으로 갑자기 딱! Suggestion을 보여준다.

 

마음에 들면 `Tab`키 누르면 되고,

마음에 안들면 `Alt + [` 또는 `Alt + ]` 누르면 다른 suggestion 들을 보여주게 된다.

 

그런데, 속도 이슈인지 `Alt + [` 또는 `Alt + ]` 눌렀을 때에 전환이 잘 안되는 경우가 많았다.

 

Ctrl + Enter

 

Suggestion 목록을 한 번에 보고 싶으면 `Ctrl + Enter`를 누르면 된다.

위 그림과 같이 오른쪽에 suggestion 목록을 전체 보여준다.

 

속도 이슈로 한번에 나오지 않더라도 기다리면 주르륵 나온다.

`Alt + [` 또는 `Alt + ]`는 다른 suggestion이 없는 것인지 아직 로딩 중인지 알 수 없어서 불편한데

차라리 그냥 `Ctrl + Enter`를 이용해서 전체를 보고 하는 것이 좋을 것 같다.

 

주석

 

함수 이름만으로는 의도를 제대로 전달하기 어려울 수 있다.

그럴 때에는 주석을 앞에 적어주면 된다.

 

Framework

 

함수만 지원하는 것도 아니다.

Express server를 사용하겠다라는 주석만으로도 코드를 제안해준다.

 

 

 

지금까지 알아본 과정은 GitHub에서 제공해주는 Start Guide로 진행해보았다.

- https://github.com/github/copilot-preview/blob/main/docs/gettingstarted.md

 

혹시 웹 관련된 JS만 잘되는 것 아닐까?

 

Python

 

확장자가 `*.py`인 파일을 만들고

`Authentication to GitHub Enterprise instance`와 같이 주석을 작성해보았다.

 

와우! stackoverflow 검색 보다는 훨씬 빠르게 코드를 찾아준다.

다만, 내용을 살펴보니 내가 원하는 실제 사용가능한 수준으로까지는 없었다.

 

주석 내용을 조금 더 디테일하게... 구체적으로 적어줘야 원하는 내용을 제안해줄 것으로 보인다.

 

한글

 

한글도 지원을 잘 해줄까!?

 

위 그림과 같이 잘 해준다 !!!

 

한글로 된 주석이 github.com에 그다지 많지 않을거라

제한적인 상황에서만 유용할 것 같지만,

여하튼 한글도 된다 !!!

 

token

 

업로드 한 사람의 잘못이긴 하겠지만

위 그림과 같이 secret 값들도 그대로 suggestion 된다.

 

이런 부분은 주의해야할 것 같다.

 

 

결론적으로 원하는 사항에 대해서 잘 정의할 수 있으면

최소한 Stackoverflow 검색하는 것보다 빠른 시간 안에 code를 suggestion 받을 수 있는 재미있는 기능이다.

 

실무에서도 유용할 지에 대해서는 직접 프로젝트를 진행하면서 사용해봐야 할 것이고,

최소한 PoC 하거나 처음 해보는 사항에 대해서 접근할 때에는 상당히 유용할 것으로 보인다.

 

반응형

+ Recent posts