본문 바로가기
컴퓨터 기술 및 유지보수/ChatGPT

ChatGPT | 챗gpt 활용법 - 코딩

by typenine9 2023. 4. 28.
300x250

 

요즘들어 챗GPT를 자주 사용하고 있다.

블로그 글 쓸 때 특히 사용하고 있는 중이다. 생각해보면 챗GPT로 활용하는 분야가 글쓰는 데 밖에 없었다. 글쓰는 거 말고도 다른 방면으로도 활용될 수 있는 도구인데. 너무 한 쪽으로만 활용하고 있는건 아닌지 싶으면서 활용할 수 있는 다른 방면을 찾아보았다. 찾아보니 코딩에도 도움 받을 수 있다 한다. 직업이 전산직이라 그래도 코딩을 하는 경우가 여러 있는데 그 속에서 챗GPT는 활용하질 않았다. 몰랐다기 보다는 어떻게 활용해야 하는지 감이 잡히지 않아서 그렇다. 그래서 이번 글을 통해 챗GPT를 코딩에 어떻게 활용할 수 있는지 알아보았다.
 


챗GPT 활용법 - 코딩

 

우선, 챗GPT를 활용하는 방법 중 하나로는 코드 스니펫 생성이 있다.

여기서 스니펫(snippet)이란 작은 조각으로 코드 스니펫은 재사용 가능한 소스코드, 기계어, 텍스트의 작은 부분을 뜻한다. 코드를 재사용함으로써 반복 타이핑을 줄일 수 있게 도와준다. 이 기능을 사용하면, 특정 언어나 문제에 대한 코드 예제를 생성할 수 있다. 예를 들어, Python으로 구현된 연산을 처리하는 코드를 생성할 수 있다. 이를 통해, 코드 작성에 필요한 시간을 절약할 수 있다는 장점이 있다.
 

 
챗GPT에게 코드 스니펫을 설명할 만한 간단한 예제를 요청했다.
이에 챗GPT는 코드 스니펫 설명을 위해 간단한 javascript 예제를 소개해주었다.
 

function multiply(a, b) {
  return a * b;
}

const result = multiply(2, 5);
console.log(result);

 
챗GPT는 코드 제공과 함께 다음과 같이 코드 설명을 덧붙여주었다.
 


위 코드는 두 수를 곱하는 multiply 함수를 정의하고, 이를 호출하여 결과를 출력하는 예제입니다.

1. multiply 함수는 매개변수로 두 개의 숫자를 받아서 곱한 값을 반환합니다.

2. 이후 multiply 함수를 호출하여 결과를 result 변수에 저장합니다.

3. 마지막으로 console.log 함수를 사용하여 result 값을 출력합니다.

위와 같은 간단한 코드 스니펫을 사용하여 함수 작성, 변수 선언 및 사용, 출력 등의 기본적인 코딩 개념을 설명할 수 있습니다.


 
예시의 코드는 단순하지만 요청하기에 따라 좀 더 심도 있는 코드도 요청하면 그에 맞는 코드 스니펫을 챗GPT는 제공해줄 것이다.
 

 

또한, 챗GPT를 활용하여 코드 리뷰를 받을 수도 있다. 

코딩 작성 중 어려운 문제가 발생했을 때, 챗GPT에게 질문을 하면서 코드 작성에 대한 피드백을 받을 수 있다. 이를 통해, 더욱 효율적으로 문제를 해결할 수 있으며, 빠른 시간 내에 코드 작성이 가능해진다.
 
챗GPT에게 코드리뷰 받는 과정은 다음과 같이 이루어진다.
 
1. 코드 리뷰를 받고자 하는 코드를 챗GPT에 입력합니다.
2. 챗GPT는 코드의 문제점과 개선 방안을 제안하는 메시지를 생성합니다.
3. 챗GPT가 제안한 내용을 바탕으로 코드를 개선합니다.
4. 수정한 코드를 다시 챗GPT에 입력하여 추가적인 리뷰를 받습니다.
5. 이 과정을 반복하여 최종적으로 코드를 개선합니다.
 
챗GPT는 코드 리뷰에 대해 다음과 같은 예시를 소개해 주었다.
 


def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

 
이 코드를 챗GPT에 입력하면, 챗GPT는 "재귀 함수를 사용하여 계산할 경우, n이 너무 큰 경우 스택 오버플로우가 발생할 수 있습니다. 이를 방지하기 위해 반복문을 사용하는 것이 좋습니다."와 같은 메시지를 생성할 수 있다.
 
따라서, 이 메시지를 바탕으로 코드를 개선하면 아래와 같이 수정할 수 있다:
 

def factorial(n):
    result = 1
    for i in range(1, n+1):
        result *= i
    return result

 
수정된 코드를 다시 챗GPT에 입력하여 추가적인 리뷰를 받으면 더욱 완성도 높은 코드를 얻을 수 있습니다.


 
챗GPT는 오류 있는 코드와 개선된 코드를 둘 다 제공하였으며 오류 있는 코드의 원인을 분석하고 그에 맞는 처방하는 과정을 보여주었다. 챗GPT가 놀라운게 단순히 오류만 찾는 것이 아니라 오류의 원인이 무엇인지 찾고 그것을 개선하는 방안까지 한꺼번에 제공한다는 것이다. 보면 볼수록 신기한 기술이다.
 

 

마지막으로, 챗GPT를 활용하여 코딩에 필요한 지식을 습득할 수도 있다. 

챗GPT를 활용하면, 특정 언어나 프레임워크, 라이브러리에 대한 정보나 문법적인 내용 등을 쉽게 검색할 수 있다. 이를 통해, 코딩 작성에 필요한 지식을 보다 효과적으로 습득할 수 있으며, 코딩 역량을 향상시킬 수 있다는 장점이 있다.
 
이에 챗GPT에게 코딩 공부에 유용한 지식 소개를 요청했다.
 


물론입니다! 코딩을 공부하는 데에는 다양한 지식들이 필요합니다. 그중에서도 특히 중요한 것들을 몇 가지 소개해드릴게요.

알고리즘과 자료구조: 코딩을 하는 데 가장 기본이 되는 것은 알고리즘과 자료구조입니다. 알고리즘은 문제를 해결하기 위한 일련의 절차나 방법이고, 자료구조는 데이터를 저장하고 조작하기 위한 구조를 의미합니다. 이 둘은 코딩을 할 때 가장 기초적인 지식이며, 많은 문제를 풀기 위해서는 이를 잘 이해하고 있어야 합니다.

컴퓨터 구조와 운영체제: 코딩을 할 때는 컴퓨터의 구조와 운영체제에 대한 이해도 중요합니다. 컴퓨터의 하드웨어와 소프트웨어의 작동 방식을 이해하면, 코딩을 할 때 더욱 효율적으로 코딩할 수 있습니다.

네트워크: 인터넷이 발전하면서 네트워크 지식은 매우 중요한 역할을 합니다. 코딩을 할 때는 데이터를 전송하고 받는 일이 많기 때문에, 네트워크에 대한 이해가 필요합니다.

데이터베이스: 데이터를 다루는 작업이 많은 코딩에서는 데이터베이스에 대한 이해도 중요합니다. 데이터베이스는 데이터를 저장하고 검색할 수 있는 구조를 의미합니다.

웹 프로그래밍: 인터넷에서 동작하는 웹 애플리케이션을 만드는 데에는 HTML, CSS, JavaScript 등 웹 기술들에 대한 이해가 필요합니다.

이러한 지식들은 코딩을 하는 데에 꼭 필요한 지식들입니다. 이외에도 코딩을 하면서 필요한 다양한 지식들이 있으니, 차근차근 배워나가면 좋겠죠!


 
문법적인 요청 뿐만 아니라 이렇게 공부 방향을 잡는 데도 챗GPT는 도움을 준다. 챗GPT에게 어떻게 도움을 받을 수 있지 고민했었는데 그냥 생각나는데로 다 물어보면 될 것 같다. 분야가 무엇이든 프로그래밍 언어가 어떤 것이든 챗GPT는 답할 준비가 되어 있었다. 설령 답을 모르면 차선책으로라도 답을 주려고 하니 이제 코딩 작업할 때도 자주 활용해봐야겠다. 코딩 작성은 어려운 일이지만, 챗GPT를 활용하여 더욱 효율적이고 빠른 작성이 가능하다는 것을 알게 되었다. 앞으로 코딩 작성에 대한 경험을 바탕으로, 챗GPT를 활용하여 보다 더 뛰어난 개발자가 되어보고 싶다. 

<