# 개요
학원 다니면서 개인 프로젝트로 플래너 개발을 해보기로 했다.
처음에는 학원에서 배운 내용 + 내가 알고 있었는데 잊었던 것들 + 이번 개인 프로젝트로 새로 배우고 싶었던 것들 세 가지를 적절히 섞어 구현할 예정이다.
기존 직접 구현한 웹 서버를 Tomcat을 추가하고 Servlet을 추가했다.
# Embedded Tomcat 추가
책을 참고하며 Embedded Tomcat 라이브러리를 추가하고 직접 구현한 WebServer를 Tomcat Server를 실행하는 것으로 대체 했다.
Tomcat에 추가하는 Context는 주로 웹 어플리케이션의 설정과 속성을 정의하는데 사용한다.
addContext()로 브라우저를 통해 "localhost:8080/"로 요청을 보내면 WEB_APP_DIR_LOCATION 디렉토리에 있는 html 파일에 접근할 수 있도록 설정했다.
WebResourceRoot를 이용하여 Gradle 빌드 시 생성되는 클래스 파일 경로인 build/classes를 읽도록 설정했다.
# Servlet 추가
Plan에 대한 create 기능 Servlet을 추가했다.
Create
# Chat GPT 질문
Embedded Tomcat을 사용하는 과정에서 계속 오류가 발생했는데 누군가에게 질문하기 애매한 내용이었다. 계속 구글링 해 봐도 내가 원하는 답이 나오지 않아서 고민하다가 Chat GPT를 이용해 봤는데 굉장히 잘 알려줘서 깜짝 놀랐다.
좀 이상하게 알려주는 경우도 가끔 있긴 한데.. 질문 내용을 조금 수정해서 다시 물어보거나 하면 잘 알려주는 것 같다.
https://chat.openai.com/share/648da557-d0fa-4025-a88b-6d7c366e330a
위 링크는 내가 질문 하면서 해결 한 후에 해결한 내용을 기반으로 다시 질문한 내용이다. 실제로 질문할때는 더 많이 물어보고 삽질도 많이 했다
# 간단 회고
이 작업을 할 때 쯤부터 블로그에 개발 일지를 작성하기 시작했는데, 그 때 작성한 일지 보면 회고에 커밋 메시지 관련 얘기가 많이 있다. 그 때와 비교해보면 지금은 그래도 커밋 단위가 좀 작게 쪼개져 있긴하다. 그리고 한글도 그냥 사용하기로 했다 ㅋㅋ..
Embedded Tomcat 사용하려고 할 때 삽질을 엄청 많이하기도 했고, 예제 코드, 블로그, 책 등을 참고했었는데.. 문득 그냥 Spring boot 쓸까? 라는 생각을 많이 했다. 사실 Jdbc사용할 때도 메서드마다 SQL 작성하는점, 필드 추가/삭제에 유연하지 못한 점 때문에 그냥 JPA 쓸까? 라고 생각했었다.
그럼에도 불구하고 low level부터 이해하자라는 생각을 가지고 계속 삽질했다. 거기에 동반해야할 점은 코드 라인들이 무슨 일을 하는지 이해하는게 중요하다고 생각했다. Embedded Tomcat에 Context 추가하고 Class 디렉토리 설정하는 작업들은 처음에 그냥 예제 코드 복붙해서 사용했는데, 이해를 확실하게 하고 가기 위해 Chat GPT에게 이것 저것 계속 물어봤고 지금은 이해가 된다!
'Java > 플래너 개발 일지' 카테고리의 다른 글
플래너 개발 일지(9) DAO 클래스 작성 (1) | 2024.04.07 |
---|---|
플래너 개발 일지(8) 팀 프로젝트로 변경 (0) | 2024.04.06 |
플래너 개발 일지(6) 배포 및 미니 프로젝트 발표 (1) | 2024.02.24 |
플래너 개발 일지(5) - Console view to Web view 변환 (1) | 2024.02.24 |
플래너 개발 일지(4) - Database 연결 (1) | 2024.02.24 |