일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- eclips
- JAVA기초
- 데이터베이스
- 알고리즘
- 프로그래밍언어
- 이클립스
- JShell
- github
- 프로그래밍기초
- 초보코딩
- 자바프로그래밍
- 자바 스프링
- 프로그래밍
- 메소드
- 컴퓨터과학개론
- Java
- 기초코딩
- 코딩초보
- 자바기초
- 배열
- Git
- 스프링 기초
- 클래스
- Elk
- spring
- 초보코딩탈출
- 스프링
- 자바
- 리눅스
- 제이쉘
- Today
- Total
키보드워리어
개발자인 내가 chatGPT 환영하는 이유 본문
안녕하세요 【키보드 워리어】
⌨🗡🧑
블로그 방문자 여러분, 반갑습디다..
chatGPT 너무나도 뜨겁고 핫한 기술입니다.
유튜브에 조승연님께서도 다루시면서 "갓문을 갓문하라"는 명언까지 남겨주셨는데요!
출처: https://www.youtube.com/watch?v=GXm7WRtRbhA
저도 개발 공부를 하면서 참 여러 방면으로 놀랄만한 퍼포먼스를 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을 얻을 수 있어요.
그리고 강사님은 새로운 URL을 얻고자 한다면 아래와 같이 맵핑을 할 수 있다고 알려주셨어요.
@GetMapping("courses/1")//새로운 URL연결
public Course getCoursesDetail(){
return new Course(1,"Learn Microservice","in28minutes");
}
그러면 다음과 같은 결괏값을 얻어요.
만일 이런 상황에서 과목이 여러 가지라면, 이 모든 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를 가져오면 에러메시지까지 띄우게 해 주네요;; 디테일 무엇;;
개발자를 준비하면서 이런 툴이 개발됐다는 것은 정말 축복받은 일이 아닐 수 없다는 생각이 듭니다.
'개발 관련' 카테고리의 다른 글
[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 |