[챗GPT로 코딩 공부] 구글링 대신 GPT 사용하기

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

구글링 대신 GPT 사용하기

모르는 게 생기면 보통 구글링을 많이 하게 됩니다. 그러다가 스택오버플로 같은 사이트 등에서 해결하게 되죠. 하지만 이와 같이 해결할 경우 시간이 상당히 소요됩니다. 검색하고, 굴 읽고 검색어 고민하고, 글보고 판단하고, 구글링으로 소요되는 시간들을 GPT를 사용하여 단축할 수 있습니다.
구글 검색과 비교했을 때, GPT가 훨씬 빠르고 검색어에 대한 고민도 없고, 크게 어렵지 않은 코드라면 에러도 잘 잡아냅니다. 문제가 발생한 원인이나, 더 휴얼적인 코드 작성법 또한 알려주게 되구요.
물론 이때 너무 의존하게 되면 안 됩니다. 물어보되, 본인이 몰랐던 부분은 확실히 짚고 넘어가야 합니다. 이전에 검색한 내용을 또 묻는 사태가 발생하면 안 됩니다. 한번 묻고 끝 내면 그걸로 끝이니, 물어보고 모른 게 있었으면 계속 공부해 나가야 합니다. 이렇게 하면 그동안 구글링, 스택오버플로등 사이트를 돌아다니며 걸렸던 시간을 대폭 낮출 수 있습니다.
물론 그렇다고 모든 걸 다 해결할 수는 없습니다. 이상한 답변을 할 때도 많고, 복잡한 문제일 경우 보통 인터넷에서 서치를 다시 하게 됩니다. 이 경우 보통 스택오버 플로나, 깃에서 답을 얻게 되는 경우가 많은데, 이때 등록된 글이 이해가 잘 되지 않을 때가 있습니다.
이럴 때, GPT한테 도움을 받아 더 쉽게 이해할 수 있습니다. 우선 게시글 전문을 복사해서 GPT한테 붙여 넣은 후, 이해하기 쉽게 해설해 달라고 합니다. 읽어 내리면서 이해가 안 되는 부분, 잘 모르는 부분을 콕 집어 그 부분에 대해 상세히 알려달라고 합니다. 그럼에도 불구하고 이해가 잘 되지 않는다면, 예시를 그려달라고도 합니다. 이해하기 힘든 어려운 글이어도, 이해할 때까지 계속 물어보게 된다면, 결국 해낼 겁니다.

사용 예시

예시로 else ifwhen 의 차이점을 물어봅니다.
 
프롬프트: else if 와 when의 차이점을 알려줘
 
else ifwhen은 둘 다 조건문을 처리하기 위한 구문이지만, 사용 목적과 방식에서 차이가 있습니다. else if는 전통적인 조건문 처리를 위한 구문이고, when은 Kotlin에서 보다 유연하고 간결한 조건문 처리를 위해 제공되는 구문입니다. 차이점을 자세히 살펴보겠습니다.

else if

else if는 연속적인 조건문을 처리할 때 사용하는 구문입니다. 여러 조건을 순차적으로 평가하여, 첫 번째로 참이 되는 조건에 해당하는 코드를 실행합니다.
val num = 10 if (num < 0) { println("Negative") } else if (num == 0) { println("Zero") } else if (num > 0 && num <= 10) { println("Positive and less than or equal to 10") } else { println("Positive and greater than 10") }

when

whenelse if와 유사한 역할을 하지만, 더 간결하고 유연한 방식으로 여러 조건을 처리할 수 있습니다. 특히, 특정 값에 대한 매칭이나 여러 조건을 더 간단하게 표현할 수 있습니다.
val num = 10 when { num < 0 -> println("Negative") num == 0 -> println("Zero") num > 0 && num <= 10 -> println("Positive and less than or equal to 10") else -> println("Positive and greater than 10") }

주요 차이점

  1. 구문 구조:
      • else ififelse if, else의 조합으로 구성됩니다.
      • when은 단일 블록 내에서 여러 조건을 처리할 수 있는 구문으로, 각 조건을 > 연산자로 구분합니다.
  1. 간결성:
      • else if는 조건이 많아질수록 코드가 길어지고 중첩됩니다.
      • when은 여러 조건을 더 간결하게 표현할 수 있어 가독성이 좋습니다.
  1. 다양한 매칭 가능:
      • else if는 주로 불리언 조건식을 사용합니다.
      • when은 특정 값에 대한 매칭, 값의 범위, 객체 타입 등에 대한 매칭을 더 간단하게 표현할 수 있습니다.
 

when의 추가 기능

  • 값 매칭:
val num = 10 when (num) { 0 -> println("Zero") in 1..10 -> println("Between 1 and 10") else -> println("Greater than 10") }
  • 타입 매칭:
fun describe(obj: Any): String = when (obj) { is Int -> "Integer" is String -> "String" else -> "Unknown" } println(describe(123)) // Integer println(describe("Hello")) // String println(describe(3.14)) // Unknown

요약

  • else if는 전통적인 조건문 처리를 위한 구문으로, 여러 조건을 순차적으로 평가합니다.
  • when은 Kotlin에서 제공하는 더 간결하고 유연한 조건문 처리 구문으로, 값 매칭, 타입 매칭 등 다양한 조건을 간단하게 표현할 수 있습니다.
else ifwhen을 상황에 맞게 선택하여 사용하면, 코드의 가독성과 유지보수성을 높일 수 있습니다.
 
 
프롬프트: 어떤 상황에서 else if가 좋고 어떤 상황에서 when이 좋아? 상황에 맞게 선택하라는데, 그 상황에 어떻게 맞추는지 모르겠어
 
else ifwhen은 각각 장단점이 있으며, 상황에 맞게 선택할 수 있습니다. 어떤 상황에서 어떤 구문이 더 적합한지에 대한 기준을 아래에 설명하겠습니다.

else if가 좋은 상황

  1. 간단한 조건문:
      • 조건이 몇 개 되지 않고, 논리적으로 명확하게 분기되는 상황에서는 else if가 더 직관적일 수 있습니다.
val age = 20 if (age < 18) { println("Minor") } else if (age < 65) { println("Adult") } else { println("Senior") }
  1. 중첩 조건:
      • 중첩된 조건문이 필요할 때 else if가 자연스러울 수 있습니다.
      val temperature = 30 if (temperature > 0) { if (temperature > 25) { println("Hot") } else { println("Warm") } } else { println("Cold") }

when이 좋은 상황

  1. 여러 값 매칭:
      • 특정 값들에 대해 매칭할 때 when이 훨씬 간결하고 명확합니다.
val dayOfWeek = 3 when (dayOfWeek) { 1 -> println("Monday") 2 -> println("Tuesday") 3 -> println("Wednesday") 4 -> println("Thursday") 5 -> println("Friday") 6 -> println("Saturday") 7 -> println("Sunday") else -> println("Invalid day") }
  1. 범위나 타입 매칭:
      • 값의 범위나 타입에 따라 분기할 때 when이 매우 유용합니다.
val number = 15 when (number) { in 1..10 -> println("Between 1 and 10") in 11..20 -> println("Between 11 and 20") else -> println("Outside range") }
fun describe(obj: Any): String = when (obj) { is Int -> "Integer" is String -> "String" is Boolean -> "Boolean" else -> "Unknown" } println(describe(123)) // Integer println(describe("Hello")) // String println(describe(true)) // Boolean
  1. 복잡한 조건 분기:
      • 여러 조건을 복잡하게 체크해야 할 때 when이 가독성이 높습니다.

요약

  • else if:
    • 간단한 조건문이나 중첩된 조건이 필요할 때 적합.
    • 논리적으로 명확하고, 조건이 몇 개 안 되는 상황에 좋음.
  • when:
    • 여러 값에 대해 매칭하거나, 범위 또는 타입에 따른 분기가 필요할 때 적합.
    • 복잡한 조건을 처리할 때 가독성이 높아짐.

실제 코드 작성 시 상황에 맞게 선택하는 방법

  1. 조건의 수와 복잡도를 고려합니다. 조건이 많고 복잡하다면 when이 더 적합합니다.
  1. 매칭해야 할 값이 여러 개인 경우 when을 사용하면 가독성이 높아집니다.
  1. 조건이 간단하고 논리적으로 명확한 경우 else if가 더 직관적일 수 있습니다.
예를 들어, 사용자가 입력한 명령어에 따라 다른 동작을 수행해야 한다면 when을 사용하는 것이 좋습니다. 하지만 특정 조건에 따라 두세 가지로만 분기해야 한다면 else if가 더 간단할 수 있습니다.
 
GPT와 위와 같은 방식으로 문답을 하다 보면, 이해하기 쉽고 검색 시간을 매우 크게 단축할 수 있습니다.
 

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

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