Project/알고 사용하자

계기Repository를 만들 때 사용하지 않는 메서드들이 많은 JpaRepository대신 Repository를 상속받아서 쓰려고 했다./*public interface MemberRepository extends JpaRepository {}*/public interface MemberRepository extends Repository {} 이렇게 MemberRepository 인터페이스를 만들고 나서OCP를 지키기 위해 Config 클래스 코드를 짜다 보니 문제가 생겼다. Config 클래스에서 인터페이스를 사용하고자 @RequiredArgsConstructor와 MemberRepository 필드로 의존성을 주입해서 하자니 MemberRepository가 아닌 다른 MemberJpaReposit..
프로젝트에 MySQL을 사용하려고 버전을 확인해 봤다. 8.0을 사용하려고 하는데, 회사에서 사용했던 버전은 5버전대 였다. 8.0과 다른 버전들은 어떤 차이가 있는지 알아보자! 5.x 버전과 8.x 버전 MySQL 5.5~5.7 버전에서는 안정성과 성능 개선에 집중했다면, MySQL 8.0 버전으로의 업그레이드는 상용 DBMS가 가지고 있는 기능들을 장착하는 시기였다. 또한 8.0 버전으로 업그레이드하면서 몇몇 기능들이 향상되었다. 개선된 점 읽기 전용에서 I/O Bound 내림차순 인덱스를 지원하면서 I/O Bound 읽기 성능에서 크게 향상되었다. (I/O Bound에 의한 처리량 제한을 개선했다.) I/O Bound 계산을 완료하는 데 걸리는 시간이 입출력 작업 시간에 의해 결정되는 조건 개선되는..
프로젝트 개발 시 프런트를 JSP로 개발할지 Thymeleaf로 개발할지 고민했다. 회사에서 안 써본 Thymeleaf를 사용해보고 싶었다. 그렇다고 무작정 사용할 수는 없으니 Thymeleaf와 JSP 차이를 정리해 보자! jar 파일로 export 가능 여부 Thymeleaf와 JSP의 가장 큰 차이점은 jar 파일로 export가 가능한지 여부이다. spring 프로젝트를 빌드하면 기본적으로 jar가 빌드된다. war는 jar와 달리 Web Server나 WAS가 필요하고 사전에 정의된 구조만 사용해야 한다. 즉, spring 프로젝트에서는 jar로 export 되는 것이 더 편리하다. JSP는 jar 패키징이 불가능하고 war만 가능하다. 따라서 jar로 패키징이 가능한 Thymeleaf를 spr..
Lombok 사용을 지양하라는 말을 들은 적이 있어서 사용을 할지 말지 고민했는데 찾아보니 주의사항이 있었다... 주의사항을 알아보고 잘 지켜서 사용하면 문제없이 개발에 좋은 영향을 줄 것 같다. @AllArgsConstructor, @RequiredArgsConstructor 지양 @AllArgsConstructor @RequiredArgsConstructor @ToString public class User { private String id; private String password; } 위와 같이 User 클래스를 생성했을 때, 아래처럼 addUser 메서드를 작성한다. public void addUser(String id, String password) { User user = new User..
Spring Boot 프로젝트 설정을 application.properties 또는 application.yml 파일로 한다. 초기에 application.properties 파일로 설정되어 있지만, application.yml 파일이 가독성이 더 좋다고 해서 바꿔서 사용하고자 한다. 따라서 properties 파일과 yml 파일을 비교해 보자. properties vs yml properties properties 파일은 내부 구조를 key=value 형태로 설정한다. spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.url=jdbc:oracle:thin:@localhost:1521:orcl spri..
개인 프로젝트를 만들기 위해 Java LTS 버전 중 최신 버전이기도 한 21 버전을 사용하기로 했는데 그동안 Java 버전별로 어떤 특징이 있는지 알아보고 사용하자. JDK 1.5 2004년 9월에 출시, 이때부터 버전 중 앞의 1을 빼고 표기하기 시작했다. JDK 1.5 = Java 5 Autoboxing / Unboxing Java에는 Primitive(원시) 타입과 Reference(참조) 타입이 있다. - Primitive type (int, long, double, float, boolean, byte, short, char) int numA = 1; int numB = 1; System.out.println(numA == numB); // true - Reference type (Intege..
Spring Boot로 프로젝트를 진행하기 앞서 빌드 관리 도구로 Gradle과 Maven 둘 중 고민을 했다. 회사에서 Maven을 위주로 개발을 했어서 Gradle을 써보고 싶었고 더 좋다고 해서 선택했다. 그러면 Gradle이 왜 Maven 보다 좋은지 비교해 보자. 빌드 관리 도구 Gradle과 Maven 모두 빌드 관리 도구이다. build 빌드는 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정과 결과를 말한다. 즉,. java,. xml,. properties 등을 jvm이나 tomcat 같은 WAS가 인식할 수 있도록 패키징 하는 과정 및 결과물을 말한다. build tool 빌드 도구란 소스코드에서 애플리케이션을 생성하면서 여러 가지 외부 라이브러리를 사용하는데, ..
Yn3(인삼)
'Project/알고 사용하자' 카테고리의 글 목록