일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Kotlin
- Python
- 기능개발 python
- Kotlin in action 5장
- 20055 컨베이어 벨트 위의 로봇
- kotlin in action 정리
- 고급매핑
- 스프링 핵심 원리 - 기본편
- 20055
- 코틸린인액션
- 코틀린인액션
- 7장 고급매핑
- 싱글톤 컨테이너
- 코틀린
- 자바 ORM 표준 JPA 프로그래밍 7장
- 컨베이어 벨트 위의 로봇 Python
- KotlinInAction
- 스프링 핵심 원리 이해
- 스프링 컨테이너와 스프링 빈
- 백준
- Kotlin in action 3장
- 13460 구슬탈출 2
- 백준 20055 컨베이어 벨트 위의 로봇
- 백준 13460 Python
- 객체 지향 설계와 스프링
- Kotlin in action 10장
- 스프링 핵심 원리
- Kotlin In Action
- Kotlin in action 6장
- spring
- Today
- Total
목록개발/Research (14)
기록하는 습관

1) 지연 로딩 (Lazy Loading) 개념 클라이언트에게 데이터 요청이 들어올 때, Cache에 로딩한다. DB나 API에 접근하기 전, Cache에 접근하여 원하는 데이터가 존재할 경우 Cache 데이터를 활용한다. 없으면, DB나 API에 접근하여 데이터를 가져와 Cache에 올린다. 장점 요청받은 데이터만 Cache에 저장 (→ 파르토 법칙에 따라 엄청난 효율성을 불러온다.) 캐시에 존재하지 않는 데이터를 DB에서 가져오며, 후에 캐시에 저장하기 때문에 Cache Miss에 치명적이지 않다. 단점 캐시 미스가 많아질수록 딜레이가 심해진다. 캐시 미스 발생시, 캐시에 데이터를 쓴다. 이는, 캐시의 데이터가 최신의 상태를 유지 못할 수도 있음을 의미한다. 2) Write Through 개념 데이터..
batch insert insert rows 여러 개 연결해서 한 번에 입력하는 것을 Batch Insert라고 한다. Batch Insert는 하나의 트랜잭션으로 묶이게 된다. batch insert with jpa 쓰기 지연 엔티티 매니저는 트랜잭션을 커밋 하기 직전까지 데이터베이스에 엔티티를 저장하지 않고 내부 쿼리 저장소에 INSERT SQL을 모아둔다. 그리고 트랜잭션을 커밋 할 때 모아둔 쿼리를 데이터베이스에 보내는데 이것을 트랜잭션을 지원하는 쓰기 지연이라 한다. 옵션 설정 rewriteBatchedStatements=true 해당 속성이 있어야 batch insert 동작 MySQL Connector/J 8.0 Developer Guide : 6.3.13 Performance Extensi..
0. redis 자료 구조 Hashes Every hash can store up to 232 - 1 field-value pairs (more than 4 billion). → key 1개 당, 약 42억개의 field-value 저장 가능. Sets The max number of members in a set is 232 - 1 (4294967295, more than 4 billion of members per set). → key 1개 당, 약 42억개의 member 저장 가능. 참고 https://redis.io/topics/data-types#sets https://minsoolog.tistory.com/33 1. bulk Insert MySQL에서는 bulk insert를 지원하지만 Red..

##1. 개요 swagger를 사용하기 위해서 제공되는 라이브러리는 springfox와 springdoc이 있다. springfox는 2020년이 마지막 라이브러리 업데이트이며(swagger3), 그 사이에 springfox가 나왔고 springfox는 2022년까지 업데이트 중이다. springfox는 2015년까지 SpringMVC였다가 sprinfox로 이름이 바뀌었다. 2018년 업데이트까지만 해도 webflux를 지원하지 않았지만 2020년 업데이트 때 webflux를 지원하여 springdoc과 비슷해졌다. ##2. swagger 2 vs OpenAPI3 참고: https://nordicapis.com/whats-the-difference-between-swagger-and-openapi/ s..
hikaricp connection https://jaehun2841.github.io/2020/01/27/2020-01-27-hikaricp-maximum-pool-size-tuning/#GeneratedValue-strategy-x3D-GenerationType-AUTO tomcat property https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html hikaricp property https://freedeveloper.tistory.com/250 https://jamong-icetea.tistory.com/212

Spring Batch 벡엔드의 배치처리 기능을 구현하는 데 사용하는 프레임워크 장점 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기, 리소스 관리 등 대용량 레코드 처리에 필수적인 기능을 제공 최적화 및 파티셔닝 기술을 통해 대용량 및 고성능 배치 작업을 가능하게 하는 고급 기술 서비스 및 기능을 제공 배치가 실패하여 작업 재시작을 하게 된다면 처음부터가 아닌 실패한 지점부터 실행 중복 실행을 막기 위해 성공한 이력이 있는 Batch는 동일한 Parameters로 실행 시 Exception이 발생 참고 chunk 지향 프로세싱 transaction 경계 내에서 chunk 단위로 데이터를 읽고 생성하는 프로그래밍 기법 tasklet 단일 작업에 사용합니다 일반적으로 Resource ..
mybatis 가 동적이거나 커스텀이 강한, 다르게 말하면 데이터 가공이 쉽지만 데이터베이스 친화적인 성격이 강함. -> 어플리케이션에서는 독립적인 데이터셋에 대한 것을 리턴 받아 처리 되는 로직으로 인해 의존성이 데이터베이스에 종속적임. hibernate / queydel등의 ORM에서는 어플리케이션 관점에서 객체 지향적인 부분으로 데이터를 바라보고 있음. 컴파일 시점에 언어에 대한 부분을 검증 가능하지 않는 부분은 단점이 될 수도 있고 장점이 될 수 있음. JPA vs MyBatis JPA와 MyBatis의 차이 (ORM과 SQL Mapper)
2022. 1. 25 기준, 17.0.2 version 왜 흔히 Java8이 안전하다고 하는것인지? → 외부 툴과 연동할 때 Oracle JDK가 아닌, Open JDK를 사용해야 하며 생기는 이슈들이 생길 수 있음. Java8 2014년 오라클 인수 후 첫 번째 버전 2개의 버전으로 나뉨 (Oracle JDK, OpenJDK) Optional Stream 새롭게 추가된 날짜 API 애플릿 뷰어 도구 사용 가능 애플릿이란? 패널(Panel)을 상속하는 클래스로, 웹브라우저에 담겨서 실행되는 작은 응용 프로그램. String 문자열 관련 메소드가 적음 lambda 등장. lambda 파라미터에는 특수 변수 사용되지 않음 PermGen Area 제거 interface default method 추가 Java..