hELLO 스킨을 적용한 후 PC에서 보면 이미지가 본문 영역을 벗어나는 것을 확인했다.이를 해결하고자 스킨 편집에서 아래와 같이 (기존에 있던 코드는 삭제하고) max-width, margin-left, margin-right 부분을 추가했다. 적용 완료 후에도 동일하게 떠서 확인해 봤더니 글 작성 시 세 번째가 아니라 첫 번째(본문 폭 맞춤) 으로 해줘야 하는 것이였다. 기존 이미지들은 모두 세 번째 (가운데 정렬)로 되어 있었다.첫 첫째(본문 폭 맞춤)으로 설정해주니 아래와 같이 이미지가 콘텐츠 영역 밖으로 나가지 않았다. + 다른 이미지들은 모두 다 세 번째로 되어있는데 다 바꾸기에는 힘들 것 같다.. 이제부터라도 잘 적용하기..
하고자 하는 동작은 테이블이 있다면 해당 테이블의 모든 데이터를 삭제하는 것이다.아래와 같이 코틀린으로 테스트 코드를 작성했다.private fun resetDatabase() { val tables = jdbcTemplate.queryForList("SHOW TABLES", String::class.java) tables.forEach { table -> jdbcTemplate.execute("TRUNCATE TABLE $table") }} 아래와 같은 오류가 발생했다. 구글링을 해보니 테이블 간 연관관계가 맺어져 있어서 오류가 나는 것이였다. 내 프로젝트에서 연관관계는 다음과 같이 작성되어 있다.Member 와 Note : 일대다Member 와 Quiz : 일대다Not..
코틀린으로 만들어진 스프링부트 프로젝트에서 jacoco를 추가하는 방법을 알아보자. 1. JaCoCo란?JaCoCo(Java Code Coverage)는 자바 프로그램의 코드 커버리지를 측정하기 위한 오픈 소스 도구이다. 코드 커버리지는 테스트가 코드의 몇 퍼센트를 실행하는지를 측정하는 지표이다. JaCoco로 다음과 같은 작업을 수행할 수 있다. 코드 커버리지 분석JaCoCo는 어떤 코드가 테스트되었는지, 어떤 코드가 테스트되지 않았는지를 보여준다. 이를 통해 테스트가 부족한 부분을 찾아낼 수 있다. 리포트 생성JaCoCo는 HTML, XML, CSV 등 다양한 형식의 리포트를 생성하여 커버리지 결과를 시각적으로 제공한다. CI/CD 통합JaCoCo는 Jenkins, GitLab CI/CD 등 다양..
프로젝트를 진행하며, 이때까지 jar 파일을 로컬에서 빌드하고 scp를 이용하여 jar 파일을 배포 서버에 올리고 nohup java -jar jar파일명.jar & 명령어로 배포를 진행하였다. 하지만.. 이렇게 해서는 안된다는 것을 알고 있었기에, 이번에는 CI/CD 까지는 아니더라도 (지식이 부족해서...........) 다음과 같은 목표를 가지게 되었다. 우분투에 깃 원격저장소를 연결하고 pull 받은 후 script를 사용하여 기존에 돌아가던 jar 파일을 멈추고 pull 받은 상태의 프로젝트를 새로 빌드 후 실행시키는 것! 크게 깃 설치 및 레포 연결, 쉘 스크립트 부분으로 나눌 수 있다. 01. Ubuntu에 Git 설치 1. 깃 설치 sudo apt install git 2. 레포를 저장할 ..
요구사항 BaseEnetity 클래스의 createdAt 필드와 lastModifiedAt 필드를 자동화 하는 것! 모든 테이블에 공통으로 들어가는 필드인 createdAt과 lastModifiedAt 필드를 다음과 같이 BaseEntity에 작성했다. @Getter @MappedSuperclass public abstract class BaseEntity { @Column(name = "created_at") private LocalDateTime createdAt; @Column(name = "last_modified_at") private LocalDateTime lastModifiedAt; } 그리고 이 필드들이 다른 테이블에 들어갈 수 있게 아래와 같이 작성했다. // 상위 어노테이션 생략 (e..
요구사항 지난번에는 ConstraintViolationException이 발생했을 때 응답을 커스터마이징 했다. 하지만 Exception은 하나의 애플리케이션에서 여러 개가 발생할 수 있다. 이 때 마다 응답 형식이 다르면 일관성이 없어보일 수 있지 않을까? 라는 생각을 했다. 그래서 이번에는 Exception에 대한 응답 형식을 만들고, 해당 형식에 맞게 응답을 반환하는 것을 구현하고자 한다. 구현 먼저, global 패키지의 exception 패키지에 enum 타입인 ErrorCode를 작성한다. ErrorCode에는 세 개의 속성이 있는데, code는 오류 코드를 식별하는 문자열로, message는 응답에 포함되는 오류 메시지, status는 HTTP 응답에서 사용될 상태 코드이다. package ..
요구사항 프론트에서 받은 값을 백엔드에서 처리할 때, 값이 비어있는 경우에 대한 검증을 하고 오류 메세지를 응답으로 내려주고자 한다. 다음과 같은 코드가 있다. api/account/check-id?id=thisIsId 경로로 요청이 들어오면 응답으로 불린 타입을 리턴해 주는 Controller 를 작성한 것이다. package kr.go.data.member.controller; import jakarta.validation.constraints.NotEmpty; import kr.go.data.member.service.MemberServiceImpl; import org.springframework.http.HttpStatus; import org.springframework.http.Respons..