토이프로젝트 경로 문제 해결
문제
분명 건드린 것이 없는데, 프로젝트에서 갑자기 모든 페이지에서 css와 js를 불러오지 못하는 문제가 생겼다. 해결책을 찾기 위해 구글링을 해봤지만, 찾은 방법대로 프로필을 다시 설정해봐도 같은 문제가 계속 발생했다.
구글링을 하던 도중 ‘ai 쓰려고 시작한 프로젝트인데 내가 왜 이러고 있지’ 라는 생각에 도달, ai를 몇번 괴롭혀보니 적절한 해결책을 뽑아냈다. Spring 프로필에 정적 경로를 추가해주는 것인데, 그대로 경로를 추가해주고 html의 파일명들도 바꿔주니 해결되었다.
그러자 또 새로운 문제가 생겼는데, 이전에 로컬에 동적으로 저장된 파일을 웹은 이미 빌드된 jar 파일로 돌아가므로 인식하지 못하는 문제가 있었다.
이 문제는 webConfigurer를 적절히 건드려서 해결했었는데, 이 문제가 또 다시 발생하였다. 이 문제도 이왕 ai를 쓰기 시작한 겸 다시 ai를 괴롭혀주니 해결이 되었는데, ai가 명쾌하게 설명해주진 않지만 아마 스프링 프로필에서 설정해준 정적 경로와, WebConfigurer에서 설정해준 정적 경로가 충돌하여 일어난 일 같았다.
스프링 프로필의 정적 경로를 지우고 WebConfigurer로 통일해주니 해결되었다. 이 과정에서 ai의 사용에 대해 몇 가지 사실을 발견할 수 있었다.
생각들
AI는 아주 강력한 툴이다
사실 구글링으로 문제의 해결책을 찾는다는 것은 꽤 지난한 일이다. 사람마다 개발환경, 프로젝트 구조, 해결 방법이 모두 다를 뿐더러 거기서 나에게 맞는 해결책을 찾아서 적용한다는 것은 쉽지 않다.
그래서 나도 이전에 트러블슈팅을 할 때 앉아서 몇 시간씩 까먹는 것이 일상이었다. 그러나 AI는 이제 내 프로젝트 구조, 내 개발환경을 보고 해결책을 찾아준다. 코드 생산성 뿐만 아니라 이러한 트러블슈팅에서도 매우 강력함을 느낄 수 있었다.
AI는 문맥을 이해하지 못한다.
그럼에도 AI를 ‘잘’ 활용해야겠다는 생각을 한 것이, AI는 정말 내가 말한 것, 내가 던져준 파일만 보고 해결책을 생각했다. 필요하다고 느끼면 프로젝트를 스캔하기도 하지만, 그 말은 필요하지 않다고 느끼면 하지 않는다는 것이다.
AI를 활용할 땐 정확한 스크립팅으로, 적절한 파일들을 모두 제공하여 질문을 해야 적절한 대답을 얻을 수 있겠다는 생각을 했고, 이러한 스크립팅 기술도 배워야 하겠다는 생각을 하게 됬다.
AI를 사용하면 뭘 배우는가?
사실 너무 강력한 것도 문제이다. AI가 파일들을 모두 수정하고 문제를 해결해주다 보니 나는 아직도 스프링에서 파일의 정적 경로를 어떻게 설정하는가에 대해 정확히 알지 못한다.
하지만 모르는 상태에서 공부하는 것보단 해답을 아는 상태에서 공부하는 것이 더 좋음은 자명하다. AI를 남용한다면 분명 남는 것이 없는 프로젝트가 되겠지만, 이번 해결을 기회삼아 스프링의 정적 경로에 대해 공부한다면 나에게도 좋은 경험이 될 것이라 생각한다.
추천해주셔서 하게 된 프로젝트지만, 여러모로 하길 잘했다고 생각한다. AI를 프로젝트에 실사용 해봄으로써 많은 인사이트와 실용적인 테크닉들을 배우는 느낌이다. 스프링 예습에도 도움이 될 것 같다.
프로젝트를 어느정도 완성시키고, JPA와 스프링 부트를 배워 리팩토링하고, AI에게 추가할만한 기술을 물어보는 것 까지를 목표로 잡고 열심히 해보자.