본문 바로가기

전체 글102

QueryDsl 설정하기 ( Gradle 5.0 이상 ) 기존에 쓰던 QueryDSL 설정이 안되서 다른 설정의 코드를 가져왔습니다. 정리용도이므로 참고만 해주시면 감사하겠습니다. 제 다른 블로그에서 쓰던 글을 이전시킵니다. build.gradle 파일에 추가한다. buildscript { ext { queryDslVersion = "5.0.0" } } plugins { // 추가 id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10' } dependencies { // 추가 implementation "com.querydsl:querydsl-jpa:${queryDslVersion}" // Test Code에서 적용하기 위한 의존성 implementation "com.querydsl:querydsl-apt:${que.. 2022. 3. 11.
로깅 라이브러리(@Slf4j) 사용시 log 메서드의 올바른 사용법 애플리케이션 계층에서 우리가 로그를 남길 때 사용하는 방식은 다 다르다. 이번에 강의를 들으면서 알게된 방법이 있어서 공유하게 되었음. 직접 예시 코드를 작성해본다.. String test = "test"; log.info("log Test = " + test); // 1 log.info("log Test = {} ", test); // 2 정확하진 않지만 대표적으로 로그 라이브러리를 사용할 떄 위와 같은 2가지 방식으로 쓰는 것으로 알고 있다. 나 같은 경우 1번 방식이 손에 익었기 떄문에 주로 1번방식을 사용했는데, 결론부터 말하자면 1번방식을 사용하면 안된다는 것이다. 이것은 자바언어와 관련이 깊은데, 1번 방식이 이루어지는 과정은 이러하다. 1. 'test' 라는 변수에 값이 치환이된다 2. "l.. 2021. 12. 18.
MySQL) Partitioning ( Range , List ) 우선 , 파티션이란 DBMS 하나의 서버에서 테이블을 분산하는 것이다. 여기서 테이블의 분산은 특정한 원격서버간의 분산이 아니다. 좀더 쉽게 말하자면 특정 테이블에 대한 데이터들을 분산해서 조회하고 이를 통해서 기존의 테이블 전체를 검색하는게 아니라 특정 범위의 데이터를 조회할 수 있게 함으로써 성능적인 면에서 우위를 얻을 수 있게 해주는 것이 주된 기능이라 보면 된다. 해당 기능은 MySQL 5.1 버전부터 제공되게 되었다. 파티션의 기능은 4가지 방법으로 Range, List, Hash, Key 의 방법이 존재한다. 파티션 또한 마찬가지로 인덱스처럼 무조건 적으로 적용한다고 해서 좋은 방법은 아니다.. 파티션은 데이터와 인덱스를 조각화 하여 물리적 메모리를 효율적으로 사용하게 해준다. --- 주의사항.. 2021. 9. 19.
Spring Boot Logback 설정으로 로그파일 생성 최근 회사에서 예외처리(에러) 및 엔드포인트에 대한 응답에 대한 데이터를 확인하기 위해서 직접 Slf4j 를 통해서 작성을 했으나 현재 동작시키고 있는 리눅스에서 백그라운드로 실행한다지만 좀더 실용성 있게 로그에 대한 정보를 파악하고 수집하고자 로그에 대한 정보를 파일로 저장해서 만들었으면 한다고 사수님께서 요청을 해주셨다. 직접 하는 과정에서 알아두면 좋을거 같고 혹여 다른 프로젝트를 스프링 프레임워크로 사용할 때도 적용시키면 괜찮을거 같아서 작성해본다. 기본적으로 스프링 부트는 프로퍼티파일에서 로그에 대한 레벨을 설정해서 사용이 가능하다. 보통 로그레벨은 TRACE < DEBUG < INFO < WARN < ERROR 순으로 설정되어있고 지정한 레벨에 따라서 그 하위 레벨의 로그까지 같이 찍을 수 있.. 2021. 9. 4.
Linux) JAVA_HOME 설정 적용 최근에 프로젝트를 만들어서 연습하던 EC2 계정을 삭제했다. 진행을 하고 있지 않아서 내버려 뒀는데 엄청난 과금메세지와 함께 잠을 못이뤘다.. 그래서 S3, RDS, 인스턴스를 모조리 삭제하고 계정까지 삭제해둔상태이다. 사실 Free 티어 기간이 끝나서 더이상 사용하면 안됐던것도 있다.. 그래서 이번에 직접 Docker 를 통해서 Amazon Linux를 설치해서 서버에 대한 연습을 좀 해볼 겸 하다가 문제가 발생해서 적어본다. 기본적으로 EC2 인스턴스를 생성해서 접속했을 때 설정하고 동일한 설정을 이루어야 한다. 1. Java 설치 ( jdk ) 2. 타임존 설정 3. git 설치 일단 기억이 잘안나서 예전에 EC2 처음 설정해볼때 작성했던 노션을 확인했다. 방법은 다음과같다. 1. /etc/prof.. 2021. 8. 15.
java) LocalDateTime , String 형식 변경 사실 Date 클래스들의 경우 검색을 해서 사용하는 경우가 대부분이다. 그렇지만 날짜 관련 클래스의 사용빈도는 의외로 많이 있었다. 게임쪽을 예를 들면 타임어택과 같은 컨셉이나 이벤트성 미션 그리고 현금성류의 할인등등에 마찬가지로 쓰이는 클래스라고 할 수 있다. 최근에 날짜 클래스를 다루기도 했고 간단하게 LocalDateTime 과 String 타입 데이터를 서로 변환하는 방법에 대해서 써보려고 함. 1. LocalDate 클래스들의 현재시간 구하기 // Test Class private final LocalDateTime localDateTimeNow = LocalDateTime.now(); private final LocalDate localDateNow = LocalDate.now(); priva.. 2021. 8. 1.