Backend/프로젝트

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..
맥북 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..
기존에 MySQL workbench를 사용했지만, 튕기는 오류도 계속해서 생기고 DB 이전을 계획하고 있던터라 DBeaver라는 DB 관리 툴을 설치했습니다.  설치 방법에 대해 간단히 공유하고자 포스팅을 작성합니다. 1. DBeaver 란 무엇인가 우선, DBeaver에 대해 간단히 설명드리겠습니다.  DBeaver란 JDBC를 기반으로 DB 연결을 하기에 매우 다양한 데이터베이스를 지원하는 DB 관리 도구입니다.(MySQL, PostgreSQL, Oracle, SQLite, SQL Server등 관계형 데이터베이스는 물론 MongoDB, Cassandra, Redis 등의 NoSQL 데이터베이스도 지원) Commuity Edition을 이용하면 라이선스가 무료인데다가, Window, Linux, Ma..
프로젝트 진행 중 회원 기능을 구현하기 위해 JWT 인증 방식을 도입하기로 했습니다.  그런데 세션 방식에 비해 어떤 이점이 있기에 JWT를 많이 쓰는 것인지, 개발하는 입장에서는 사용자의 정보를 가져올 때, 세션이든 JWT든 어디서든 가져오기만 하면 되는 것 아닌가? JWT 토큰 보안이 잘 이루어지는게 맞는지? 같은 여러 의문이 생겼습니다.  이번 포스팅에서 그 의문점에 대해 정리해보겠습니다.  1. 세션 방식과 JWT 방식 비교 우선 서버에서 사용자를 어떻게 인증하는지에 대해 살펴보겠습니다.  만약 한 웹 사이트를 만들었다고 가정하겠습니다. 이 웹사이트에서 로그인한 사람만 웹 사이트를 구경할 수 있게 하고 싶다면 어떻게 해야할까요?  보통 세션 방식(좌)과 JWT 방식(우) 두 가지를 제시합니다.  ..
동구름이
'Backend/프로젝트' 카테고리의 글 목록 (2 Page)