젠킨스를 올바르게 설정했는데 9090 포트로 접속하니, 계속해서 접속이 되지 않는 상황이 생겼습니다. 세 가지를 확인해 해결했습니다. 1. 젠킨스 설정과 Docker부터 Docker-Compose까지 올바른지 전부 확인 docker-compose.yml파일이 올바른지 확인합니다. yml 파일을 작성할 때 주의해야할 점은 아래와 같습니다.1. 첫 줄에는 도커 컴포즈 버전을 적는다.2. 주 항목에는 services, networks, volumes가 있고, 들여쓰기를 해서 하위 항목들을 작성한다.3. 들여쓰기는 몇 칸이든 상관은 없지만, 2칸으로 하기로 했으면 모든 내용들이 2칸으로 동일해야한다.4. 이름 뒤에는 무조건 : 를 붙인다.5. : 과 - 뒤에는 반드시 공백이 하나 있어야한다. Docker ..
JaCoCo는 Java 코드의 커버리지를 체크해주는 라이브러리입니다. JaCoCo를 통해 테스트 결과가 커버리지 기준을 충족하지 못하면 프로젝트 빌드가 실패하도록 설정할 수 있습니다. 또 테스트 커버리지 결과를 html 등의 리포트로 확인할 수 있습니다. 리팩토링 중인 프로젝트에 Jacoco를 도입해보았습니다. JaCoCo 공식 문서와 우아한 기술 블로그(Gradle 프로젝트에 JaCoCo 설정하기) 를 참고했습니다. JaCoCo 플러그인 추가 우선 저는 Gradle 프로젝트에 해당 라이브러리를 추가했습니다. build.gradle 설정에 아래 코드를 추가합니다. plugins { id 'java' ... id 'jacoco' } jacoco { //JaCoCo 버전 (최신) toolVersion = "..
프로젝트 리팩토링 도중, 이틀을 고민한 부분이 있습니다. 바로 DTO가 어느 계층까지 내려와야하는 것인지에 대한 고민이었습니다. 지나고보니 그렇게까지 오래 고민할 필요는 없는 것 같지만..? 고민했던 부분들이 누군가에겐 도움이 되었으면 하는 바람에 이 글을 쓰게 되었습니다. 결론부터 말하면, 정해진 정답은 없다는 것입니다. 개발하는 서비스마다 다르고, 같은 서비스에서도 기능마다 다를 수 있습니다. 1. DTO란?우선 DTO란 계층간 데이터 교환을 위해 사용하는 객체입니다. 이때 계층은 Presentation(View, Controller), Business(Service), Persistence(DAO, Repository)로 나뉘게 됩니다. 스프링 프레임워크에 익숙한 개발자들은 보통 Controll..
https://dcloud.tistory.com/178 지난 포스팅에서 동적 웹 페이지를 위해 서블릿이 도입된 배경과 서블릿의 장점을 살펴보았다. 그리고 서블릿을 재정의해서 서블릿의 요청을 처리하는 것도 알아보았다. 이번에는 이어서, 서블릿의 핵심 개념인 서블릿 컨테이너를 다루어보고 스프링에서 어떤 점을 개선했고 현재의 스프링 형태가 되었는지 살펴보자. 서블릿은 어떻게 관리되고, 서블릿은 어떻게 호출될까? 1. 서블릿 컨테이너서블릿을 관리하기 위한 서블릿 컨테이너라는 것이 있다. 서블릿 컨테이너란 단어 그대로 서블릿을 담는 컨테이너이다. 우리가 자주 들어본 톰캣(Tomcat)이 대표적인 서블릿 컨테이너이자 WAS이다. 예를 들어, 사용자가 브라우저에서 HTTP 요청을 보내면 톰캣이 해당 요청을..
https://www.youtube.com/watch?v=PH8-V6ah0XQ&list=LL&index=1IT 늦공 김부장 - [Servlet - Jsp - MVC - Spring 진화과정에 대한 리뷰] 위 영상을 보고 서블릿부터 JSP, 스프링으로 이어지는 웹 변천사를 한눈에 이해할 수 있었다. 그리고 눈에 띄는 부분은 마지막 25분 32초 였다. 해당 부분에서는 Was의 구조와 개발 방법의 관계를 주제로, 서블릿과 JSP, 스프링의 WAR 파일 형식을 비교하는데 세 가지 방법의 WAR 파일이 모두 똑같은 형식을 유지하는 것을 알 수 있다. 이것은 사실 당연한 이유일 수도 있는데, 서블릿에서 스프링까지의 변천사가 기존의 기술을 조금씩 확장한 것이기 때문이다. 둘다 자바 기반의 서블릿 컨테이너..
맥북 OS를 sonoma 14.2.1 로 업데이트 이후 MySQL Workbench를 실행하면 계속해서 튕기는 현상이 발생했습니다. 결론부터 말하자면, MySQL의 이전 버전이 Sonoma(14)를 지원하지 않기 때문에 생기는 문제였습니다. 우선 mysql 서버가 잘 실행되고 있는지를 확인했습니다.잘 실행이 되고 있습니다. 구글링을 통해 알아보니, Sonoma 버전은 2023년 09월 27일에 출시되는 버전 이후부터 지원이 된다고 합니다. 제가 여태껏 사용한 버전은 8.0.31 버전이었습니다. 아래 사이트에서 새로운 버전을 다운 받을 수 있습니다.https://dev.mysql.com/downloads/workbench/ MySQL :: Download MySQL WorkbenchSe..