qwlake's Blog

어서오세요, 반갑습니다 :)

[Spring] Spring-graphql 라이브러리 리뷰

spring-graphql Introducing Spring GraphQL spring-projects/spring-graphql Spring GraphQL 1.0.0-M1 API 패키지 org.springframework.graphql - GraphQL request를 처리하기 위한 최상위 추상화 단계. GraphQlService로...

[Spring] Spring webflux(w/r2dbc) performance test - webflux, tomcat, jdbc, r2dbc 를 교차로 조합하여 nGrinder로 성능을 비교한다

테스트 읽기 / 쓰기 모두 1k / 10k / 30k / 50k / 70k / 100k 건 에 대해 각각 총 소요시간 측정 (vuser: 10) 성능 테스트 대상 읽기 비교 : 단순 데이터 1건 조회 데이터 30건 조회 쓰기 비교 :...

[Spring] Spring Webflux 정리

webflux Building a Reactive RESTful Web Service Reactor 언제 어떤 Operator를 써야 할까? Java - Reactor switchIfEmpty 사용시 주의점(Lambda, 람다 Lazy Evaluation) DatabaseClient R2DBC 03 스프링 데이터 R2DB...

[Testing] nGrinder로 Spring Boot WAS의 성능을 테스트해보자

nGrinder naver/ngrinder 설치 및 실행 1 2 3 4 5 docker pull ngrinder/controller docker run -it -v ~/ngrinder-controller:/opt/ngrinder-controller --name controller -p 80:80 -p 16001:16001 -p 12000-1200...

[Spring] JPA

JPA 김영한님 Jpa 책 정리 블로그 프록시( proxy )와 지연로딩 [Spring JPA] 프록시( proxy )와 지연로딩 즉시 로딩은 어떤 엔티티를 조회 했을 때 그 엔티티와 연관된 엔티티가 join이 일어나서 같이 조회 되는 것이고, 지연 로딩은 엔티티가 실제로 사용되는 시점까지 기다리다가...

[Spring] Spring Data JDBC

Spring Data JDBC https://www.baeldung.com/spring-data-jdbc-intro SpringData JDBC는 SpringData JPA만큼 복잡하지 않은 지속성 프레임 워크입니다. 캐시, 지연로드, write-behind 또는 기타 JPA의 많은 기능을 제공하지 않습니다. 그럼에도 불구하고 자체 ORM이 ...

[CS] Transactional

Transactional Transactional을 구현하려면 정의된 비즈니스 로직 앞 뒤에 트랜잭션의 시작(begin)과 끝(commit)을 추가해 주어야 한다. 이를 Spring에선 AOP로 구현하고 있으며, 일반적인 AOP 방법은 2가지. AOP 구현 방법 JDK Proxy (Interface based) spring.aop.pr...

[CS] Refactoring

리펙토링 (리펙터링 2판 - 마틴 파울러) 리펙토링을 할 때는 작은 작업을 한 후 빌드 - 테스트 - 커밋 과정을 꼭 거쳐야 한다! 리펙토링 순서 로직 개선 반복문 쪼개기 (8.7절) : 변수 값을 누적시키는 부분을 분리한다. ...

[CS] Code Complete 정리

Code Complete 고품질 코드 작성 Class 추상 데이터형(abstract data type; ADT), 132p 클래스와의 차이 ...

[CS] API Call limit - 구현을 위한 여러 접근방법과 데이터 조작 방법

자료조사 Techniques for enforcing rate limits (비율 제한을 적용하는 기법) 토큰 버킷: 토큰 버킷은 롤링 및 누적 사용 예산을 토큰의 잔액으로 설정합니다. 이 기법은 서비스에 대한 모든 입력이 요청과 1:1로 대응하지는 않는다는 점을 전제로 합니다. 토큰 버킷은 토큰을 일정한 비율로 추가합니다. ...