EazyRandom 으로 테스트 객체 랜덤으로 생성하기 Easy Random 이란 자바 객체를 랜덤으로 만들어주는 라이브러리 이다. You can think of it as an ObjectMoter for the JVM이라고 설명한다. 여기서 ObjectMother 은 한마디로 테스트 할때 예시 객체를 만들게 도와주는 객체의 하나라고 말할 수 있다. EazyRandom 깃허브 공식 사이트에 가면 더 많은 정보를 제공한다 URL : 깃허브 Seed EazyRandom 은 Seed라는 값을 통해서 랜덤 값을 생성한다. 즉 시드값은 랜덤 값 생성의 기준이 된다. 동일한 시드값을 가지고 있으면 항상 동일한 결과가 나오게 된다. 위를 보면 Default Seed 값이 잡혀있다. 자 그러면 이제 EazyRando..
Spring Boot 를 쓰다보면 AOP, Filter, Inteceptor를 통해서 어플리케이션의 공통 로직을 처리하는 일을 할때 자주 사용하게 된다. 이 세개의 차이점을 알고 사용한다면 더 클린한 코드를 쓸 수 있지 않을까 한다. 그래서 간략하게 AOP, Filter, Interceptor의 차이에 대해 기술해 보겠다. AOP, Filter, Interceptor 의 차이 Spring 으로 개발을 하다가 보면 공통적으로 처리해야 할 업무가 많다. 로그인, 토큰처리, 로그처리등 많은 업무들이 공통적 모든 프로젝트에 적용 되어야 한다. 하지만 모든 코드에 적용하다보면 코드가 난잡하고 가독성이 떨어지는 코드가 될 가능성이 높다. 그래서 Tomcat, Spring은 공통 업무를 따로 분리하여 처리하는 기능을..
Transaction(트랜잭션) 이란? 트랜잭션이란, 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 뜻한다. D의 상태를 변화시킨다는 것은 무얼 의미하는 것 인가? 간단하게 말해서 SQL을 이요하여 DB 에 접근하여 CRUD를 수행하는 것이다. 본격적으로 Spring 에서 제공하는 @Transcation 에 대해 알아보자 Spring Transaction VS Spring Boot Transaction @Transactional은 많은 편리성을 제공해준다. transcation begin, commit을 자동 수행해준다. 예외를 발생시키면, rollback처리를 자동 수행해준다. public class BooksImpl implements Books { @Transactional publi..
Spring Thread Pool 스프링 부트 다중 처리 요청에 대해 너무 잘 정리되어있는 블로그를 보고 나 또한 기록해 놓기로 하였다. 스프링 부트가 다중 처리 요청을 처리하는 것이 아닌, 내장되어있는 Servlet Container(Tomcat)에서 다중요청을 처리한다. 스프링 부트는 내장 서블릿 컨테이너인 Tomcat을 사용한다. Tomcat은 다중 요청을 처리하기 위해서, 부팅할 때 Thread의 컬렉션인 Thread Pool을 생성한다. 유저 요청(HttpServletRequest)가 들어오면 Thread Pool에서 하나씩 Thread를 할당한다. 해당 Thread에서 스프링부트에서 작성한 Dispathcer Servlet을 거쳐 유저 요청 을 처리한다. 작업을 모두 수행하고 나면 Thread..
- Total
- Today
- Yesterday
- GIS
- 스프링
- db
- 비동기
- spring
- TCP
- Excel
- 인덱스
- spring mvc
- jpa
- R-Tree
- thread
- 데이터베이스
- 쓰레드
- database
- 네트워크
- github
- 영속성 컨텍스트
- Spring Security
- 공간쿼리
- Index
- lock
- 다운로드
- 논블로킹
- oauth2
- jenkins
- java
- mysql
- spring boot
- DispatcherServlet
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |