🚀 오늘의 공부기록 한 눈에 보기
인텔리제이(InteliJ)의 IDEA를 사용하다보면 아래 이미지와 같은 부분을 볼 수 있는데 이 부분의 차이를 오늘에서야 알게 되었다! 이 부분에 대해 진작 궁금했지만, 제대로 알아볼 생각은 미처 하지 못했었다. Spring으로 넘어오면서 이들에 대해 알게 되었는데 아래에 정리해보았다.
새 프로젝트를 생성할 때 Build system
을 선택하도록 되어있는 부분을 확인해볼 수 있다.
메이븐과 그레이들, 이 둘은 모두 자바 생태계에서 사용하는 빌드 관리 도구
이다.
우리가 사용하는 소스 코드는 사용자가 바로 사용할 수 없는 형태이기 때문에 사용자가 애플리케이션 형태로 사용할 수 있는 모습을 갖추려면 빌드
라는 과정을 거쳐야한다고 한다. 이런 빌드 과정에서 필요한 것들을 관리하고 자동화하는 도구를 빌드 관리 도구
라고 한다.
이 과정에는 의존성 내려받기
, 코드 패키징
, 컴파일
, 테스트 실행
등이 포함되어 있다.
그리고 예전에는 메이븐을 많이 사용했지만, 요즘은 그레이들을 많이 사용하는 추세라고 한다.
그레이들(Gradle)의 특징
- 메이븐에 비해 가독성이 좋고 설정이 간단하다.
- 자바, 코틀린, 그루비 등 다양한 언어를 지원하며 원하는대로 빌드 스크립트를 작성할 수 있다.
- 빌드와 테스트 속도가 메이븐에 비해 더 빠르다.
메이븐에 비해 가독성이 좋고 설정이 간단하다는 이유에서 그레이들을 많이 사용하는 추세로 바뀌었던걸까?
이 3가지만으로 변경했다면 왜 이전에는 메이븐을 더 많이 사용했을까? 안정성이 보장되지 않았던걸까? 더욱 궁금해졌다.
이렇게 상세하게 궁금해지는 궁금증은 그 때 그 때 해소하는 것이 제 맛!
그레이들을 더 많이 사용하게 된 계기를 알려면 메이븐에 대해서 정확하게 짚고 이해하는 편이 좋겠다는 생각이 들어 메이븐에 대해 먼저 알아보았다.
음 내용이 길어져서 오늘의 공부기록 한 눈에 보기로 게시물을 따로 만들었다!
궁금한 점을 해소하다가 추가적으로 알게된 것은 빌드 관리 도구에 `Maven과 Gradle만 있었던 것이 아닌, 초창기에는 Ant도 있었다는 것이다!
>> 궁금증 해소 : 왜 메이븐(Maven)보다 그레이들(Gradle)을 더 많이 사용하게 되었을까? 보러가기
🔥 한줄 요약
공부할 시간이 부족하더라도 짚고 넘어가고 싶다는 생각이 들면 알아보는 것이 좋지 않을까 싶었다
원래는 Spring을 먼저 차근차근해야하지만, Spring 입문 강의를 모두 들었고, 강의가 조금 미흡한 면이 있어서 (도저히 해당 강의만으로 과제를 할 자신이 없었음) 구매해놓았던 책을 보며 따라해보기로 결정했다.
스프링부트 기본서를 보며 똑같이 잘 따라했는데도 왜? 오류가 발생하고 컴파일 에러는 왜 발생하지? 라는 생각에 1분 정도 고민하다가 모르겠어서 ChatGPT
에게 물어보게 되었다.
추천으로 나오는 영문이 비슷하다는 생각에 Tab을 눌러 자동완성했다가 잘못 입력된 것을 뒤늦게 확인하고 수정하게 되었다.
하지만 이 한가지로 해결되지 않았고 오류메세지는 build.Gradle
을 바라보았기에 해당 부분도 도움을 받아보았다.
r
을 빼먹은 나.. 정말 멋지다..
그래도 수정하고 나니 정상적으로 작동해서 다행이라고 느꼈다. 앞으로는 눈을 더 크게 뜨고 꼼꼼히 살펴봐야겠다고 느꼈다.
build.Gradle
을 수정한 후 다시 임포트 했다. (새로고침!)
생성했던 클래스를 다시 실행해보니 이렇게 성공한 콘솔창을 확인해볼 수 있었다! (30초 동안 박수치며 기뻐함)
책을 읽어보니 맨 아래에 있는 이 부분을 확인해보라고 했다.
스프링 애플리케이션이 시작되었음을 의미하는 코드
라고 한다!
제대로 실행됬다는 것을 알 수 있다!
404에러페이지인데 뭐가 제대로 실행됬느냐 물으신다면, localhost:8080을 요청함면 index.html을 찾도록 설정되어 있는데 index.html 파일이 없기 때문!
index.html 파일을 넣고 나면 오류 페이지가 나오지 않고 연결한 파일이 잘 나오는 것을 확인해볼 수 있었다!
🔥 한줄 요약
냅다 도전했을 때 가장 큰 즐거움을 느껴서 조금 당황했다
🚀 오늘의 추천 트렌딩 Top3
오늘 읽은 트렌딩 글 중에 추천하고 싶은, 기억하고 싶은 글을 5개로 추려보았다.
01. Spring Framework?? 그게 뭔데?
02. IoC? DI? 그게 뭔데?
03. 스프링 Bean, IoC Container, DI가 뭔데!!