Posts
da-nyee
Cancel

기본 설정 다운로드 공식 사이트에서 압축 파일을 받고, 압축을 푼다. % wget https://download.redis.io/releases/redis-6.2.6.tar.gz % tar xzf redis-6.2.6.tar.gz 설치 아래 명령어를 순서대로 입력한다. % cd redis-6.2.6 % make ... Hint: It's...

JpaRepository와 MongoRepository의 save() vs saveAll()을 고민하다가, NoSQL에서도 트랜잭션을 지원하는지? 궁금증이 들었다. TMI JpaRepository에서 save()와 saveAll()은 DB를 찌르는 횟수는 동일하나, 프록시 객체 참조를 n번하는지 vs 1번하는지에 따라 성능 차이가 발생...

최근에 Spring Batch를 사용하고 있는데, 이때 스케줄링을 접목할 필요가 생겼다. Spring Batch를 공부하며 참고했던 블로그를 보면, 보통 Quartz를 이용해서 스케줄링을 한다고 설명한다. 하지만 이번에는 Jenkins를 써야 해서 이를 활용했다. Jenkins의 아이템 - 구성 - 빌드 유발 - Build periodically를 ...

읽기 연산으로만 이루어진 서비스 로직에 붙이는 @Transactional(readOnly = true). 어떤 특징을 가지고 있는지 알아보자 ! 읽기 전용 트랜잭션 사용 스프링 프레임워크는 트랜잭션에 readOnly = true 옵션이 있으면, 하이버네이트 세션의 플러시 모드를 MANUAL로 설정한다. 이렇게 하면 플러시를 강제로 호출...

그동안 OSIV를 잘못 알았어서, 제대로 이해하기 위해 정리한다 ! OSIV? Open Session In View 영속성 컨텍스트를 뷰까지 열어둔다는 뜻이다. 영속성 컨텍스트가 살아있으면, 엔티티는 영속 상태로 유지된다. 따라서 뷰에서도 지연 로딩을 사용할 수 있다. 과거 OSIV - 요청당 트랜잭션 OSIV의 핵심...

@RequestParam과 @PathVariable은 Request URI에서 값을 얻는다는 공통점이 있다. 한편, 값을 얻는 방식에는 차이점이 있다. 어떻게 다를까? @RequestParam Query String으로부터 값을 얻는다. 👉 key=value 형식이다. e.g. https://pick-git.com/posts...

CAP Theorem? CAP 정리는 분산 시스템이 C, A, P 성질을 다 만족할 수는 없다는 의미이다. 현실에서는 네트워크 장애가 발생할 수 밖에 없다. 따라서 C 또는 A 중에 하나를 선택하고, P는 기본으로 가져간다. Consistency 일관성 클라이언트가 어떤 노드와 연결되었는지 상관없이, 즉 다수의 노드로부터 ...

BigQuery? 서버리스 멀티 클라우드 데이터 웨어하우스 GCP에서 제공한다. 높은 확장성과 합리적인 비용을 갖추고 있다. with 키워드 BigQuery는 SQL의 서브쿼리를 지원하지 않는다. 그렇지만, with 키워드를 사용해서 동일한 결과를 얻을 수 있다. 예시 깃-들다(우아한테크코스 팀 프로젝트)...

코틀린의 관용구를 파헤쳐보자 ! DTO data 키워드를 사용한다. 아래 항목은 자동으로 생성된다. getter setter val (X) var (O) equals() hashCode() ...

코틀린의 기본 문법을 파헤쳐보자 ! 함수 리턴값이 있는 경우 // Application.kt fun main(args: Array<String>) { runApplication<Application>(*args) print(sum(1, 2)) } fun sum(a: Int, b: Int): In...