amplitude.init("2e2e5a386856efdf3237cf254a9d14d9"

[챗GPT로 코딩 공부] 챗GPT 어떻게 사용해야 할까?

내일배움캠프 수료생들은 챗GPT를 어떻게 개발 공부에 활용할까요?
Jul 10, 2024
[챗GPT로 코딩 공부] 챗GPT 어떻게 사용해야 할까?

Chat GPT 어떻게 사용해야 할까?

그렇다면 대체 왜 Chat GPT를 사용하는 게 효율적이라고 한 걸까? 앞서 말했듯 Chat GPT는 직접적인 코드 작성 말고 이해되지 않는 개념을 이해하기 위한 도구로 사용하는 게 좋다.
또한 실제로 코드를 작성할 때 가끔 더 나은 방법이나, 잘 모르겠는 부분이 생기기 마련인데 이때도 해당 개념에 대한 간단한 예시를 부탁함으로써 이해한 내용을 바탕으로 내가 원하는 코드 스타일을 만드는 데 도움이 된다.
(다만 이 방법은 어느 정도 내가 코드를 설계하는 게 익숙해지고 난 뒤 해야 정확히 원하는 개념을 익히는 데 도움이 되니, 처음에는 꼭 내 손으로 코드를 치도록 하자.)
 

Chat GPT 이렇게 쓰면 좋다

이론 학습 편

Chat GPT는 이론이나 개념에 대한 학습에 활용할 시 정말 극강의 효율을 자랑한다.
구글링을 통해 원하는 개념을 알고 싶을 경우, 크게 2가지 문제에 부딪히게 되는데, 첫 번째로는 해당 개념에 대한 이해가 부족하기 때문에 이해를 위해 어떤 것을 찾아봐야 할지 모른다는 것이다.
예를 들어 kotlin을 공부하며, 왜 함수에 전달된 매개변수 중 ArrayList같은 타입은 함수가 실행되고 나면 원본의 내용이 변하는 건지 궁금하다고 해보자.
우선 대체 어떤 키워드로 저걸 알아봐야 할지 벌써 머리가 어질 하다. 생각이 나는 대로 kotlin, 함수, 전달, array, 원본, 변경 키워드로 검색을 해본다. 주로 array에 대한 설명이 대부분 검색되지만 어찌어찌 참조값을 복사해서 그렇다는 것과 array는 참조형 데이터 라는 것을 알게 되었다.
notion image
그렇다면 참조란 무엇이고 참조값이 복사되었는데 왜 원본값이 바뀌는 걸까?
이제 참조값 복사에 대해 찾아본다. 깊은 복사, 얕은 복사라는 내용이 또 등하는데 내용을 살펴보니 원본 객체의 주소값을 참조하는 것을 의미하는 것이 얕은 복사라고 한다.
나는 분명히 array가 바뀌는 이유를 알고 싶었을 뿐인데 왜 객체까지 튀어나온 걸까?
notion image
이처럼 구글링은 내가 원하는 부분을 알고 있어야, 해당 정보를 찾는 게 수월하다. 알고자 하는 내용이 정확히 뭔지 모른다면, 그저 검색의 굴레에 빠져 허우적거리게 된다.
그렇다면 Chat GPT를 사용할 때는 어떨까?
Chat GPT 4를 무료로 사용할 수 있는 서비스인 뤼튼
Chat GPT 4를 무료로 사용할 수 있는 서비스인 뤼튼
똑같은 질문에 대해서 왜 그런 현상이 생기는 것인지, 다른 상황의 내용들은 어떤 것인지에 대해 정확히 설명해 준다. 적어도 30분 이상을 찾아 헤매도 시원한 대답을 얻기 힘들었던 구글링과 달리 순식간에 핵심을 짚어준다.
또한 구글링을 위해서는 내가 알고자 하는 개념에 대해서 찾기 위해 적절한 키워드를 찾아야 하는데, 아무것도 모르는 상태에서 검색을 위해 키워드를 찾는 데만도 한참을 소모하게 되는 이상한 경우가 생기기도 한다.
특히 외국의 자료가 많은 개발의 특성상 영어로 자료를 찾는 게 좋은데, 이때 우리가 흔히 생각하는 표현들도 영어 자료에서는 다르게 쓰는 경우가 많아 생각대로 쳐도 좋은 자료가 안 나오는 경우가 많다. 그럴 때 역시 Chat GPT를 사용하면 보다 빠르게 키워드를 알아낼 수도 있다.
무한 스크롤이라고만 생각했는데 Loop와 Circular라는 키워드를 추천받을 수 있다. 실제로 해당 키워드로 지칭되는 자료가 많이 나온다.
무한 스크롤이라고만 생각했는데 Loop와 Circular라는 키워드를 추천받을 수 있다. 실제로 해당 키워드로 지칭되는 자료가 많이 나온다.
내가 원하는 동작을 설명하고 영어로 검색해야 할 키워드를 추천받으면 생각도 못했던 키워드를 추천받는 게 가능하다.
 
두번째로, 구글링의 큰 문제점은 자료를 찾더라도 빈약한 내 지식으로는 이해하기가 힘든 자료들이 상당히 많다는 것이다.
실제로 비전공자가 상당히 많은 내일배움캠프의 특성상 자료를 찾더라도 이게 당최 무슨 말인지 이해하지 못하는 사람이 많을 것이다. 나 역시 그랬고, 뭔가 그들만 아는 단어들로 쓰인 글들을 볼 때면 다시 그 단어들을 알기 위해 많은 시간을 쏟아야만 했다.
내가 Chat GPT를 이용하며 가장 좋았던 부분은 바로 이런 수준에 상관없는 설명을 제공받을 수 있다는 것이었다. 이전에 확인해 봤던 값에 의한 참조에 대한 답변으로 돌아가보자.
이게 당최 뭔말이여…
이게 당최 뭔말이여…
분명 한국말인 건 맞는데 이해가 가지 않는다. 구글링을 한다면 저런 단어들을 일일이 찾아보며 해당 개념에 대해 익혀야 한다.
(물론 장기적으로 볼 때는 그렇게 하는 게 맞다고 생각한다. 기본을 잘 익혀야 전반적인 이해도가 올라간다. 하지만 캠프기간 중에 우리는 시간이 없기 때문에 그렇게까지 파고들기엔 힘들다.)
하지만 Chat GPT에게는 아무리 내 머리가 나빠도 이해가능한 설명을 만들어주는 마법의 문장이 있다.
notion image
 
마법의 문장과 함께라면 당장 복잡한 기본 지식을 없이도 해당 개념을 얼추 이해하는데 지장이 없는 설명을 제공받을 수 있다.
 
notion image
 
이처럼 Chat GPT는 이론에 대해 알고자 하는 경우 정말 극강의 효율성을 자랑한다. 내 머릿속의 정리되지 않은 내용을 적기만 하면 알아서 정리하고 분석해서 알맞은 해답을 제공해 준다. 그렇다면 이론 말고 코딩을 하면서는 어떨까?
 

코딩편

아마 캠프를 진행하며 코딩을 하다 보면 언제나 이렇게 코드를 짜는 게 맞을까?라는 생각을 참 많이 하게 된다. 특히 클래스의 설계나 여러 가지 디자인 패턴을 구현하려고 하다 보면 어떤 게 올바를 사용법인지 알기가 힘들다.
이럴 때 Chat GPT를 사용하면 내가 원하는 방법이나 더 좋은 방법을 알게 되는데 상당한 도움을 준다.
 
예를 들어 Facade패턴을 구현해보고자 할 때 어떻게 하는 게 좋을지 모르겠다. 그럴 경우 간단한 예제를 구현해 보여달라는 요청을 통해 우리는 어렴풋이 만 알고 있던 Facade 패턴이 실제 코드로는 어떤 방식으로 구현되는지 알 수 있게 되고, 이 방식을 바탕으로 프로젝트에 해당 방식을 적용해 볼 수 있게 된다.
심지어 마음에 들지 않으면 다른 상황을 주문하는 것도 가능하다.
심지어 마음에 들지 않으면 다른 상황을 주문하는것도 가능하다.
심지어 마음에 들지 않으면 다른 상황을 주문하는것도 가능하다.
위와 같은 상황 외에도 내가 만든 코드가 좀 더 효율적이면 좋겠다든지, 가독성을 위해 줄이고 싶을 경우와 같이 다양한 상황에서 직접 내가 짠 코드를 입력한 뒤 개선을 받을 수도 있다.
(물론 이런 경우에는 어떤 코드가 좋은지에 대해 조금은 알고 있어야 좋은 것은 습득하고 나쁜 것은 배제할 수 있다.)
 

내일배움캠프가 여러분의 러닝메이트가 되어드리겠습니다

내일배움캠프의 많은 수강생들이 부트캠프 생활을 수료하고 현업에서 개발자로 활약하고 있습니다. 내일배움캠프는 모든 운영진이 교육, 특강, 12시간 밀착 케어, 찐한 관리, 인재 채용까지 열과 성을 다해 수강생들의 꿈을 지원하고 있습니다. 수많은 장애물을 넘을 수 있도록 내일배움캠프가 든든한 러닝메이트가 되어드리겠습니다. 내일배움캠프과 함께 여러분의 개발자 여정을 시작하세요.
 
글 | 배영수 내배캠 수료생
편집 | 김진원 팀스파르타 객원 에디터
 
 

취업 준비, 어디서부터 시작해야 할지 모르겠다면?

 
🧐비전공자인데 IT 업계 취업할 수 있을까?
😟프로젝트 경험이 부족한데, 어떻게 준비해야 할까?
🥺IT 기업으로 이직하고 싶은데 뭐부터 시작해야 할까?
 
이런 고민을 하고 있다면, 내일배움캠프의 IT 취업 컨설팅을 받아보세요.
취업 코칭 전문가들이 여러분의 고민을 해결해 드립니다.
 
다음 링크에 이메일을 입력하시면 메일로 1:1 커리어 상담권과 취준 자료집을 보내드릴게요.
 
Share article
Subscribe to our newsletter
RSSPowered by inblog