Skip to main content

Command Palette

Search for a command to run...

intellij github copilot tool 경험해보고 나서..

두렵네요...

Updated
•3 min read•View as Markdown
intellij github copilot tool 경험해보고 나서..

Github Copilot 을 경험한 내용을 기록해보고자 합니다. 사용경험으로 기본적인 함수 이름으로 기능을 수행할수 있는 코드를 자동 작성이 가능했고 주석, tool 채팅 명령으로도 (ChatGPT 사용성과 매우 유사했습니다.) 개발시 생산성을 높일수 있었습니다.

환경 설정

공식 주소 : https://github.com/features/copilot

우선 copilot 구독형 서비스를 구매를 해야합니다. 개인 사용시 월 $10 년 $100 정도 비용이 듭니다.

구매후 intellij에서 tool을 설치 및 github 연동을 진행합니다.

Github Copilot Chat

사용성은 chatGPT 와 매우 유사했으며 코드이외 내용은 무시합니다.

Github Copilot Hint 기능

주석 혹은 함수명으로 코드를 작성을 진행해 줍니다.

주석에 QuickSort Algorithm Test 작성후 (이것도 힌트로 자동완성이 됩니다.)

copilot이 작성해준 코드 입니다.

@Test
    fun quickSortTest() {
        val arr = intArrayOf(10, 7, 8, 9, 1, 5)
        val n = arr.size
        quickSort(arr, 0, n - 1)
        println("Sorted array")
        printArray(arr)
    }


    fun quickSort(arr: IntArray, low: Int, high: Int) {
        if (low < high) {
            val pi = partition(arr, low, high)
            quickSort(arr, low, pi - 1)
            quickSort(arr, pi + 1, high)
        }
    }

    fun partition(arr: IntArray, low: Int, high: Int): Int {
        val pivot = arr[high]
        var i = low - 1
        for (j in low until high) {
            if (arr[j] < pivot) {
                i++
                val temp = arr[i]
                arr[i] = arr[j]
                arr[j] = temp
            }
        }
        val temp = arr[i + 1]
        arr[i + 1] = arr[high]
        arr[high] = temp
        return i + 1
    }

    fun printArray(arr: IntArray) {
        for (i in arr.indices) {
            print("${arr[i]} ")
        }
        println()
    }

다음은 이진 탐색 알고리즘을 요청해보았는데요

@Test
    fun binarySearchTest() {
        val arr = intArrayOf(2, 3, 4, 10, 40)
        val n = arr.size
        val x = 10
        val result = binarySearch(arr, 0, n - 1, x)
        if (result == -1) {
            println("Element not present")
        } else {
            println("Element found at index $result")
        }
    }

    fun binarySearch(arr: IntArray, l: Int, r: Int, x: Int): Int {
        if (r >= l) {
            val mid = l + (r - l) / 2
            if (arr[mid] == x) {
                return mid
            }
            return if (arr[mid] > x) {
                binarySearch(arr, l, mid - 1, x)
            } else {
                binarySearch(arr, mid + 1, r, x)
            }
        }
        return -1
    }

작성된 테스트는 둘다 성공이었습니다.

마지막으로 블록체인 특정 지갑에 대한 잔액 조회 구현을 해볼까 합니다.

메인넷 주소와 wallet address 만 수정해서 간단히 결과는(wei 단위와 eth 단위 출력으로 하였습니다.)

예전 디버깅용으로 balanceOf nodejs로 만들어논 것과 결과는 동일했습니다. (1만개)

결론

개발시 채팅 및 Hint (실재 코딩중에 다양한 힌트가 노출되었고 대부분 문맥에 맞는 내용으로 노출되었습니다.) 맥 기준 "option" + "[" 키를 이용해 다른 선택지를 확인 및 선택도 가능했습니다.

완벽하다라고 볼순 없지만 도움이 된다 라고 저는 개인적으로 생각되어 지는데 개인 프로젝트를 진행하면서 좀더 경험치를 높여 실무에서도 과연 가능할까 라든지등 추후에 포스팅 해보도록 하겠습니다.

More from this blog

로컬 LLM 환경 구축기: Ollama + Openclaw

솔짂히 말하면 처음엔 그냥 호기심이었다. 아이언맨의 자비스를 아시나요? 영화 아이언맨을 아시나요? 자비스와 함께 슈트를 제작하고 전투하는 장면을 장면을 보며 혹시 저련 인공지능 비서를 가지고 싶다라는 생각을 해보시진 않았나요? 올해 열풍을 일으킨 오픈클로 솔직히 말하면 처음엔 그냥 호기심이었다. "ChatGPT 쓰면 되지, 굳이 로컬에?"

Mar 29, 202610 min read
로컬 LLM 환경 구축기: Ollama + Openclaw

Code Rabbit 경험기

요즘 여러가지 AI Tool들을 보면서 경험을 하고 있는데 git과 관련된 code rabbit 이라는 tool에 관심을 가지게 되어 간략히 사용한 경험을 기록해보고자 합니다. 시작하기 code rabbit : https://app.coderabbit.ai/ 가입 및 로그인후 비교적 간단히 Github 연동이 가능 합니다. 개발 Tool은 intellij를 사용하는데 intellij에는 플러그인이 따로 존재하지 않습니다. VS code ...

Jul 18, 20252 min read
Code Rabbit 경험기

@forlks.blog

13 posts

South Korea.