수십억건에서 Query DSL 사용 팁 우아콘 2020 유튜브 영상을 보고 정리 1. Repository 에서 쿼리 dsl 를 사용하려면 아래와 같은 구조로 만듭니다. 불필요하게 전부 Repository를 만들지 않고 JPAQueryFacory 만 사용하기 동적쿼리 BooleanExpression 사용 성능개선 - select exist 메소드 금지 조회를 하면 1,0으로 조건으로 주면 안된다 그 이유는 null로 반환되기 때문입니다. Java/Spring Boot 2022.05.16
[docker] Could not find tools.jar 필자의 개발환경은 mac 입니다. 혹시 비슷한 환경일수도 있지만... 혹시나해서 명시해둡니다.. 실제 로컬 자바는 1.8로 설치가 되어 있었고 해당 팀원이 도커기반으로 로컬 환경설정을 하자고 하여 주도적으로 능력자분이 도커 컴포즈로 설정을 하여 배포까지 완료하였습니다. 막상 실행을 하려고 하지만 두둥..... 해당 도커는... 실행이 되고 있어서 원인을 찾아보니... 환경변수 문제로 되었습니다. /usr/libexec/java_home -V | grep jdk 하여 두가지 값이 나왔고. 전에 환경설정은 앞에 1.8.301.09 (x86_64) 으로 잡혀 있어서 나타났습니다. 현재는 잘 설정이 되어 있고 해당 내용은 alias ll='ls -al' export JAVA_HOME=/Library/Java/J.. Java/Spring Boot 2021.08.14
spring boot global exception 처리 [본글은 지극히 개인 글입니다. 설명이 틀릴 수도 있습니다.] 토이프로젝트를 하면서 고민거리에 대한 내용입니다. 많은 개발자들은 에러처리에 대한 처리를 공통화해서 관리를 하고 싶어한다. 개발자들이 개발할떄 나의 경험상 예외처리 방식은 다양하다. 1. 메서드 내에 예측하여 try/ catch 문으로 예외를 처리한다. 필자는 이런방식으로 선택을 해봤다 2. 스프링 시큐리티 이용해서 예외처리 3. 해당 내용에 if문으로 예외처리 true / false 기반으로 예외처리 이러한 예외처리들을 적용하다보면 비즈니스 코드에 예외처리대한 내용 떄문에 코드 로직이 복잡해진다. 그렇게 되면 인수인계 받은 사람도/ 내가 개발을 하면서도 유지보수가 어려워진다. 그리고 에러코드 관리도 상당히 힘들고 혹시나 예러가 발생하면 일일.. Java/Spring Boot 2021.08.14
[Spring boot] AOP 란 본 글은 내가 이해한 내용 그대도 명시해뒀습니다. AOP가 필요한 상황 - 모든 메소드의 호출 측정 - 공통 관심 사항 vs 핵심 관심 사항 ex) 회원가입시간, 회원 조회 시간을 측정하고 싶다면? 문제 package hello.hellospring.service; @Transactional public class MemberService { /** * 회원가입 */ public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMember(member); //중복 회원 검증 memberRepository.save(member); return member.getId(); } finally { .. Java/Spring Boot 2021.01.27
[Spring Boot] AWS EC2 서버 환경 구축하기 안녕하세요 오개발입니다. 스프링부트 공부중에 기록용으로 남깁니다. AWS aws는 프리티어로 진행하였습니다. 인스턴스 시작 클릭 저는 우분투 18.04 사용하였습니다. 자신이 자신있는 서버로 선택하시면 될꺼 같아요 참고적으로 키 페어가 있어야되고 기본으로 SFTP로 시작합니다. 디폴트로 설정은 SSH post 22로 설정이 되어 있습니다. 서버 접속 저는 Xshell 6 으로 사용하였습니다. 디폴트는 "ubuntu" 입니다. sudo apt-get update get --version sudo apt install openjdk-11-jre-headless java --version // 11버전인지 확인 mkdir apps // 파일 만들기 git clone https://github.com/devSe.. Java/Spring Boot 2021.01.19
Spring bin 등록하기 어노테이션으로 설정하기 @Service public class MemberService { private final MemberRepository memberRepository; @Autowired public MemberService(MemberRepository memberRepository) { this.memberRepository = memberRepository; } 참고적으로 위에 어노테이션 @Service은 자동으로 스프링 빈으로 등록된다. @Component 애노테이션이 있으면 스프링 빈으로 자동 등록된다. @Controller 컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 때문이다. @Component 를 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록된다. @Contr.. Java/Spring Boot 2021.01.01
배민 팀장 김영한님 vs 백기선님 스프링 입문 강의 www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Java Spring MVC Spring Boot 온라인 www.inflearn.com 개발 처음 시작떄 java 공부를 하였던 시절이 있었다. 뭐 생각해보니 java를 배웠지만 어느덧 php 4년차 개발자가 되었다. 처음에 김영한님 .. Java/Spring Boot 2020.12.07