🏕️상황
- 로컬에서 프로젝트 빌드, 컴파일 시에 전혀 오류가 없었다.
- 로컬에서 각 기능들이 너무나 잘 돌아가는 것을 확인하였다.
- 그 상태로 깃허브에 올리고 ec2에서 git pull 받고 빌드를 시키니 오류가 아래와 같이 100개가 나왔다 :)
💦과정
이전 블로그에 올렸듯이 dev와 main 브랜치를 합치는 과정에서 많은 오류를 마주치고 해결하는 바람에 깃허브에 올린 코드가 아래의 사진처럼 2개씩 생긴 폴더나 파일이 있었다. (같은 폴더인데 구버전 : dto, 신버전 : DTO)
그래서 기뻤다.
왜냐? 이걸 고치면 오류가 100개씩이나 생기지 않을 것이라고 생각했다.
하지만 고쳐서 수정해도 달라지는 것은 없었다ㅎㅎ

🗝️해결
오류가 100개가 아니라 10개라면 일일이 고칠 테지만 100개를 하나하나 고치는 건 말이 안 되고, 검색을 하려고 해도 뭐라고 검색해야 할지도 몰라서 멘토(교수님)께 여쭤보았다.
이거 맨 처음 에러를 보여주실래요?
이게 100개가 났다고 다 고치는 게 아니라 맨 처음 발생한 오류 때문에 연달아서 에러가 나는 경우가 대부분이라
- 위의 말이 나의 개발 인생 중에 가장 띵언이 아닌가 싶다. (거의 감동을 먹었다.)
- 어떻게 보면 당연한(?) 말일 수도 있지만 전혀 생각지 못한 부분이다.
빌드를 쭈욱~하면 맨 아래에 error가 100개가 발생했다고 나와있고, 그걸 보고 천천히 올려다보며 좌절 + 어이가 없었다. 그래서 맨 처음 오류를 집중 깊게 들여다볼 생각을 못했다. - 이 오류 화면을 보여 드리니까 바로 원인을 말씀해 주셨다.
💚원인 : 깃허브(깃랩)에 있는 클래스의 이름과 파일의 명이 달라서, 해당 클래스를 필요로 하는 곳에서 주르륵 오류가 발생
- 인텔리제이에서 작업할 때 보면 Refactor 🔜 rename 기능을 통해 파일 이름을 바꾸면 알아서 클래스명도 바뀐다.
그래서 당연히 이런 부분은 생각을 하나도 못했다. (물론 오류를 처음부터 잘 봤으면 해결될 일이긴 하자만...ㅎ) - 사진에 보면 핑크/노랑 박스의 맨 앞글자가 다르다.
이 부분이 문제가 되었던 것이다. - 그래서 이 부분을 해결하니 바로 해결...
(이런 현상이 발생한 이유도 깃 merge 시에 충돌해결 하다가 그런 거 같다...ㅠㅠㅠ)
💖이런 현상에 대하여...
이런 현상이 발생하는 이유는 OS별로 파일 시스템에서 대소문자에 대한 민감도 설정이 달라서 그렇다고 한다.
윈도우 같은 경우에는 이 민감도가 낮아서 크게 구분하지 않는 반면에 리눅스는 대소문자를 민감하게 구분해서 commit 하는 단계에서 나는 윈도우를 사용하여 개발하다 보니 감지를 못한 거 같다고 하셨다.
이런 케이스가 현업에서도 많이 발생하니 원인과 해결방식도 이해하고 간다면 좋은 경험이 될 것이라고 하셨다.

'개발일지 > 2023_한이음' 카테고리의 다른 글
[aws] rds(mysql) - 테이블명, 컬럼명 리팩토링 (1) | 2023.09.02 |
---|---|
[개발 외] 한이음 공모전 1차 합격 (0) | 2023.09.01 |
[spring boot] branch merge시 대충돌 (0) | 2023.08.31 |
[spring boot] S3 게시판(이미지 처리) update 기능 완성 (0) | 2023.08.30 |
[spring boot] S3 게시판(이미지 처리) delete 기능 완성 (0) | 2023.08.29 |