[챗GPT로 코딩 공부] 프로젝트에 GPT를 사용하는 법

내일배움캠프 수료생들은 챗GPT를 어떻게 개발 공부에 활용할까요?
Jul 09, 2024
[챗GPT로 코딩 공부] 프로젝트에 GPT를 사용하는 법
✍🏼
챗GPT, 개발 공부에 있어서 든든한 친구 같은 존재이죠. 내일배움캠프의 수강생들도 혼자 공부할 때에는 챗GPT의 도움을 받고 있는데요. 오늘은 내일배움캠프 수료생들의 챗GPT 경험담을 보고, 여러분의 개발 공부에 적용해봅시다.

프로젝트에 GPT를 사용하는 법

GPT를 개발에만 쓰진 않았다. 발표 자료를 만들거나, 내가 학습한 부분에서 틀린 부분이 있는지 체크하여 보거나, 게임 제목을 정해보거나, 이력서 수정이나 오타 체크, 일정 관리, 부트 캠프 진행 중 필요한 프로그램이나 사이트들을 추천받는 용도로도 사용하였다.
실제로 GPT는 이러한 부분에서 가장 크게 도움 되었다. 인터넷에서 정보를 취합해서 답변을 해 주기 때문에, 내가 원하는 자료를 찾는데 필요한 시간을 크게 단축할 수 있었다.
예시를 몇 개 들자면 우리 팀의 최종 프로젝트는 Photon을 이용한 멀티 게임이었는데, 그래서 그런지 Photon에 대한 질문을 자주 했었다. Photon에 대한 정보는 구글에도 많지만, 이해하기 쉽게 요약하는데 자주 사용했다.
그리고 개발에 필요한 수학이나 컴퓨터 공학에 대한 것도 조금 질문했다. (수학이라고 지레 겁먹을 필요 없이, 부트 캠프 단계에서는 기초적인 수학과 삼각함수 정도만 알아두면 괜찮았다. *삼각함수는 필수다. 까먹었다면 반드시 복습해야 한다.) (컴퓨터 공학의 경우, 튜터님들이 쉽고 재밌게 필요한 부분만 알려주시니 걱정하지 않아도 된다.)

사용 예시

이런저런 자질구레한 질문들이 많아서 마지막에 적은 개발에 필요한 수학에 대한 답변만 올리겠다.
Unity 개발에는 다양한 수학적 개념들이 필요하며, 특히 게임의 물리적 행동과 그래픽 처리에 관련된 요소에서 중요합니다. 아래는 Unity 개발에 필요한 기본적인 수학 지식의 주요 항목들입니다. 1. 기초 수학 산술 연산: 덧셈, 뺄셈, 곱셈, 나눗셈은 프로그래밍의 기본입니다. 기하학: 점, 선, 각도, 삼각형, 사각형 등 기본적인 기하학 개념이 필요합니다. 2. 대수학 방정식과 함수: 선형 방정식, 이차 방정식, 함수의 그래프를 이해하는 것이 중요합니다. 벡터와 행렬: 위치, 방향, 회전을 나타내는 데 사용됩니다. 벡터 연산 (덧셈, 뺄셈, 내적, 외적)과 행렬 연산 (회전, 스케일링, 변환)을 이해해야 합니다. 3. 삼각함수 사인, 코사인, 탄젠트: 회전, 주기적 운동, 파동 등을 나타내는 데 사용됩니다. 라디안과 도: 각도를 측정하는 두 가지 방법을 이해하고 변환하는 방법을 알아야 합니다. 피타고라스의 정리: 직각 삼각형의 변 길이 계산에 사용됩니다. 4. 물리학 뉴턴의 운동 법칙: 물체의 운동을 시뮬레이션하는 데 필요합니다. 중력, 마찰, 충돌: 게임에서 현실감 있는 물리 효과를 구현하는 데 사용됩니다. 5. 변환과 회전 좌표계 변환: 월드 좌표계, 로컬 좌표계 간의 변환을 이해해야 합니다. 쿼터니언: 회전을 나타내는 데 사용되며, 짐벌락(Gimbal Lock)을 피할 수 있습니다. 6. 프로그래밍과 알고리즘 선형 보간: 두 값 사이를 부드럽게 전환하는 방법입니다. 랜덤 수 생성: 무작위 이벤트나 상황을 시뮬레이션할 때 사용됩니다. Unity에서의 적용 사례 벡터와 좌표 Unity에서 Vector3는 3D 공간에서 위치나 방향을 나타내는 데 사용됩니다. 예를 들어, 두 점 사이의 거리를 계산하려면 다음과 같이 할 수 있습니다: Vector3 pointA = new Vector3(1, 2, 3); Vector3 pointB = new Vector3(4, 5, 6); float distance = Vector3.Distance(pointA, pointB); 회전 Unity에서는 오일러 각도(Euler angles)와 쿼터니언(Quaternion)으로 회전을 나타낼 수 있습니다. transform.rotation = Quaternion.Euler(0, 90, 0); // 오브젝트를 y축을 기준으로 90도 회전 충돌 감지 충돌 감지는 물리 엔진을 통해 이루어지며, 이를 위해 기본적인 물리학 지식이 필요합니다. 예를 들어, 충돌 감지 메서드는 다음과 같습니다: void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == "Enemy") { // 적과 충돌 시 수행할 작업 } } 참고 자료 Khan Academy: 수학과 물리학 개념에 대한 무료 온라인 강의 Unity 공식 문서: 수학과 물리 관련 API 및 예제 코드 3D Math Primer for Graphics and Game Development: 게임 개발자를 위한 수학 기초 책 이와 같은 기본적인 수학 지식을 이해하고 응용하는 것은 Unity 개발에 큰 도움이 됩니다.
이렇게 필요한 부분과 실제 적용 사례, 참고 자료 등까지 알차게 알려준다.
이쪽 부분은 다시 물어봐도 똑같은 질문을 할 것 같다.(애초에 이런 자질구레한 질문들은 대부분 캠프가 거의 다 끝난 시점에 했다.) 여러분도 개발과 별개로 막히는 부분이 있다면 GPT에게 질문해 보는 것도 좋은 방법이다. 일단 잘 모르는 분야에서는 GPT가 내 구글링 속도보단 확실히 빠르다.
 

GPT 사용에 대한 생각

GPT는 개발에 전반적으로 크게 도움이 된다. 하지만 너무 맹신하거나, 과하게 사용하는 것은 지양해야만 한다. GPT는 여러분이 질문해 준 내용 '만' 고려하기 때문에, 질문 자체가 디테일하고 정확하지 않다면 마치 코딩과 똑같이 원하는 답변을 얻기가 어렵다.
그러니까 초보자가 개발에서 GPT를 통해서 정확한 답을 얻기 위해 노력하는 것은 사실상 그냥 일을 두 번 하는 거나 마찬가지인 것이다.
기능 구현에 있어서 GPT를 의존해서는 안된다. GPT는 물론 여러분이 원하는 기능을 질문하면 뚝딱 하고 만들어 준다.(작동도 안 하는 이상한 코드를 줄 때도 있다.) 하지만 그것은 스스로 짠 코드가 아니므로, 자신에게 전혀 도움이 되지 않는다.
더욱이 그게 팀 프로젝트라면? 상황은 더 심각해진다. 예를 들어 부트 캠프의 팀 프로젝트는 모두가 클라이언트 프로그래머로서 각자 맡은 부분을 구현하게 되는데, 필연적으로 다른 팀원의 코드와 연결되고, 상호 작용하게 된다. 여기서 본인이 맡은 파트의 코드를 완벽하게 이해하고 있어야 이 과정에서 문제가 발생하지 않는다. 하지만 초보자가 GPT가 짜준 코드를 생각 없이 신나게 써버렸다면 설명이나 연결은 고사하고 본인 파트 수정도 못하는 경우가 생길 수 있다.
 

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

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