키보드워리어

개발자인 내가 chatGPT 환영하는 이유 본문

개발 관련

개발자인 내가 chatGPT 환영하는 이유

꽉 쥔 주먹속에 안경닦이 2023. 3. 23. 17:07
728x90

안녕하세요 【키보드 워리어】

 

⌨🗡🧑


블로그 방문자 여러분, 반갑습디다..


chatGPT 너무나도 뜨겁고 핫한 기술입니다.
유튜브에 조승연님께서도 다루시면서 "갓문을 갓문하라"는 명언까지 남겨주셨는데요!

출처: https://www.youtube.com/watch?v=GXm7WRtRbhA 

유튜버 조승연님의 chatGPT소개

저도 개발 공부를 하면서 참 여러 방면으로 놀랄만한 퍼포먼스를 ChatGPT가 보여주는 거 같다고 느끼고 있었고 이에 대해 공유하고자합니다.

일례로 저는 java Spring Boot를 보면서 localhost:8080으로 웹서비스를 배포하는 공부를 하고 있었습니다.

강사님께서 알려주는 내용으로 GetMapping을 하면 HTTP요청을 해서 URL을 얻는 내용이었어요.

 

@RequestMapping("/api")
public class CoursesController {
	@GetMapping("/courses"
//@RequstMapping,@GetMapping은 HTTP요청을 Spring Boot 특정 URL에 매핑하는데 사용합니다.

	public List<Course> getAllCourses(){
//모든 과목들을 가져옵니다.
		return Arrays.asList(new Course(1,"Learn Microservice","in28minutes"),
			new Course(2, "Learn Full Stack with Angular and React", "in28minutes"));
	}
//현재 2개의 과목이 있습니다.

예시로 이런 코드가있다고 가정하고 SpringBootApplication을 실행해 보면


이렇게 localhost:8080/api/courses URL을 얻을 수 있어요.

localhost:8080
localhost:8080/api/courses

그리고 강사님은 새로운 URL을 얻고자 한다면 아래와 같이 맵핑을 할 수 있다고 알려주셨어요.

	@GetMapping("courses/1")//새로운 URL연결
	public Course getCoursesDetail(){
		return new Course(1,"Learn Microservice","in28minutes");

	}

그러면 다음과 같은 결괏값을 얻어요.

localhost:8080/api/courses/1

만일 이런 상황에서 과목이 여러 가지라면, 이 모든 URL을 직접 일일이 만드는 건 굉장히 힘든 작업일 거예요.

그런데 ChatGPT로 하나의 메서드로 과목별 Mapping을 해줘.라고만 한다면 어떻게 될까요?

결과는 아주 놀라웠어요.

@RestController // Spring Boot 애플리케이션에서 HTTP 요청 및 응답을 처리할 수 있습니다.
//Component 하위 어노테이션
@RequestMapping("/api")
public class CoursesController {
	@GetMapping("/courses")
    //@RequstMapping,@GetMapping은 HTTP요청을 Spring Boot 특정 URL에 매핑하는데 사용합니다.
	public List<Course> getAllCourses(){

		return Arrays.asList(new Course(1,"Learn Microservice","in28minutes"),
			new Course(2, "Learn Full Stack with Angular and React", "in28minutes"));
	}
    @GetMapping("/courses/{courseId}")
    public Course getCourseById(@PathVariable("courseId") int courseId) {
        List<Course> courses = getAllCourses();

        return courses.stream()
                .filter(course -> course.getId() == courseId)
                .findFirst()
                .orElseThrow(() -> new RuntimeException("Course not found"));
    }
}

매우 놀랍습니다. 저를 위해 코드를 제공해 주었고 가독성을 높여주었습니다.

 

chatGPT는 함수형 코드로 저한테 제공해 주었고

일일이 객체를 하나씩 만든 게 아니라 제가 갖고 있는 courseId로 Mapping을 연결시켜 줄 뿐 아니라

만약에 ID가 아닌 courseId를 가져오면 에러메시지까지 띄우게 해 주네요;; 디테일 무엇;;

개발자를 준비하면서 이런 툴이 개발됐다는 것은 정말 축복받은 일이 아닐 수 없다는 생각이 듭니다.

728x90

'개발 관련' 카테고리의 다른 글

[Build.gradle]  (0) 2023.06.07
마이크로서비스 아키텍처란?  (0) 2023.05.26
JVM 구조에 관하여  (0) 2023.05.24
포트 끄기 lsof 명령어  (0) 2023.04.19
【Web Server】서버 운용법 기초(feat.생활코딩 유튜버님)  (0) 2022.05.08