본문 바로가기

Spring17

[QueryDSL] QueryDSL이란? QueryDSL이란? 우선, DSL은 Domain Specific Language의 줄임말이다. 뜻은 특정 영역에 특화된 언어이다. 그렇기 때문에 QueryDSL은 쿼리 생성에 특화된 프레임워크이다. 우리가 QueryDSL를 사용하면 좋은 점이 무엇이 있을까? 그것에 관한 설명을 하기 전에 JPA와 JPQL에 관한 문제점에 대해 잠깐 알아보자. JPA JPA는 객체지향 어플리케이션과 RDBMS 사이의 패러다임 불일치를 해결해주는 역할을 하는 프레임워크이다. JPA 덕분에 우리는 객체지향 관점으로 개발할 수 있게 되고 JPA 프레임워크는 자동으로 SQL 쿼리문을 생성해준다. SQL문이 JPA에 의해 자동으로 생성되기에 개발자는 SQL 관점에서 프로그래밍을 하지 않아도 된다. 하지만, 그렇다하더라도 완전한 .. 2024. 3. 30.
[Spring] Spring에서 로그를 설정하는 방법 로그란? 컴퓨터의 처리 내용이나 이용 상황을 시간의 흐름에 따라 기록 개인용 컴퓨터 통신에서 통신 내용의 기록, 그 파일을 로그 파일 통나무 목선 log on(승선), log out(하선)으로 유래 목적 시스템 보안이나 유지보수 목적 사고가 발생했을 때 데이터의 복원이나 사고 원인의 규명에 도움 해킹 등의 사건이 발생했을 때, 로그 파일을 분석하여 사건의 원인 파악 로그를 설정하기에 앞서 로그는 로그 레벨로 나누어져 있다. 먼저, 로그 레벨에 관해 간단하게 알아보자. 로그 레벨이란? 로그 레벨은 로그 메시지의 중요도를 나타내는 수준을 의미 로그 레벨은 로깅 시스템에서 사용되며, 로그 메시지의 중요도에 따라 해당 메시지를 기록할지 결정 로그 레벨 TRACE 가장 상세한 로그 레벨로, 애플리케이션의 실행 흐.. 2024. 3. 27.
Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 완 나만의 작은 토이 프로젝트를 끝마쳤다. 중간에 정보처리기사 필기도 봐서 너무 늦어졌지만, 토이 프로젝트를 결국 마쳤다. 회고를 해보자면.. 아직 많이 부족한 것 같다. 클린 코드나 객체지향적 설계 그리고 테스트 코드까지 숙달이 필요하다. 그래도, 덕분에 최소한 이제는 코드와 관련하여 고민해볼 수 있는 사람이 된 것 같다. 학교에서 배운 것들이 조금씩 생각나며 이제는 올바른 코드를 작성할 수 있는 사람이 되어야겠다는 생각이 들은 것은 아주 좋은 현상이라고 생각한다. 가상머신으로 진행하여 애를 많이 먹었지만, 그래도 재미있었다. 잘 안풀릴 땐 솔직히 재밌진 않지만, 오기가 생겨 계속 하다가 성공할 때 참 재밌음을 느낀다. 나름 많은 것을 얻었다. AWS S3나 이메일 인증, CI/CD까지 새로운 것들을 해봐.. 2024. 3. 1.
Spring + Redis + S3 + 이메일 인증 + Docker + CI/CD - 8 이번 포스팅에서는 AWS S3 테스트와 API 명세서를 작성한 과정을 담는다. 우선, AWS S3를 사용하기 위해 MockS3를 사용한다. 그 이유는 S3에 테스트를 위해 생성한 파일들이 계속 저장되기도 하고 프리티어 계정에는 GET/POST 요청이 횟수 제한이 있기 때문이다. 따라서, 관련된 설정을 해줘야 한다. MockAwsS3Config 기존 AmazonS3 대신 MockAwsS3Config를 사용한다. 이때 사용되는 @Primary는 동일한 빈이 있을 때 우선순위를 설정해준다. @Configuration public class MockAwsS3Config extends AwsS3Config { @Bean @Primary @Override public AmazonS3 amazonS3Client() .. 2024. 2. 28.