일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ocp
- DB
- java
- 삽입 이상
- 자료구조
- Kotlin
- buildSrc
- 정규화
- Dirty Checking
- 페이지네이션
- well-know port
- 자바
- AWS
- HTTP
- 스레드 풀
- 캐시 오염
- Kafka
- 데이터베이스
- JPA
- 네트워크
- Redis
- Spring
- gatway
- 비관적 락
- null
- 삭제 이상
- 낙관적 락
- MSA
- 갱신 이상
- 3-way handshaking
- Today
- Total
728x90
목록
728x90
2024/07 (4)
어 나 갱수.
OCP를 통해 기능 확장에 강하고, 외부 변경에 강건한 소프트웨어를 만들고자 로버트 마틴이 명명한 객체지향 5대 원칙 중 하나입니다. OCP는 소프트웨어를 설계하면서, 기능이나 모듈의 확장에 대해서는 개방(OPEN) 되어야 하고, 기존의 것의 변경에 대해서는 폐쇄(CLOSE) 되어야 한다는 원칙입니다.간단하게 말하면, 새로운 기능이 추가되더라도 기존의 코드를 변경하지 않고도 확장이 가능해야 한다는 점입니다. 아래의 코드는 OCP를 적용시키지 못한 코드라고 말할 수 있습니다. JavaMailSendPort는 제대로 추상화된 인터페이스라고 불릴 수 없습니다. 추상화된 인터페이스에서 구현 라이브러리인 JavaMail의 이름을 사용해 버렸기 때문에 1:1로 밖에 구현클래스를 사용할 수밖에 없기 때문입니다. 다양..
프로젝트를 하면서 캐싱 기능을 추가해 보기로 했습니다. Spring에서는 @Cacheable, @CachePut, @CacheEvict 어노테이션을 통해서 캐시를 구현할 수 있습니다. Spring에서 캐시를 사용하려면 캐싱 기능을 사용할 스프링부트 애플리케이션에@EnableCaching이라는 어노테이션을 붙여준다. 이 어노테이션을 붙여주면 이제 해당 애플리케이션에서 캐싱 기능을 활성화시켜서 캐시를 통해 데이터를 불러올 수 있습니다.@SpringBootApplication@EnableCachingclass V2Application{ val log = LoggerFactory.getLogger(this::class.java.name)!! @PostConstruct fun timeZone() { TimeZo..
동시성(Concurrency)동시성은 여러 작업이 시간을 나누어 사용하여 마치 동시에 실행되는 것처럼 보이게 하는 기술입니다. 동시에 실행하는 것이 아니라 CPU가 작업마다 시간을 분할해 적절하게 컨텍스트 스위칭을 해서 동시에 실행되는 것처럼 보이게 합니다.동시성의 가장 중요한 목표는 효율을 좋게 하기 위함이 있습니다. 병렬성(Parallelism)병렬성은 동시성처럼 여러 작업이 동시에 이루어지는 것 처럼 보이게 하는 것이 아니라 실제로 여러 개의 작업들을 동시에 처리하는 것을 말합니다. 병렬성은 멀티코어 컴퓨터에서 많이 사용되며, 실행 시간을 줄이거나 처리량을 늘리는 데에 사용된다.병렬성을 통해, 대규모 데이터 처리나 복잡한 계산 작업을 빠르게 처리할 수 있습니다. 차이점동시성과 병렬성의 가장 큰 차..
Cache란많은 시간이나 연산이 필요한 일에 대한 결과를 저장해 두는 것한번 읽은 데이터를 임시 저장, 필요에 따라 전송, 갱신, 삭제하는 기술임시로 저장해 두고 같은 데이터를 불러올 때 빠르게 불러옴Cache의 문제점캐시를 사용하게 된다면 데이터 정합성 문제가 발생할 수 있습니다.데이터 정합성문제란 간단하게 말하면 캐시에 있는 데이터의 값과 데이터베이스에 있는 데이터의 값이 다른다는 것을 의미합니다.캐시를 사용하지 않았을 때는 그냥 데이터베이스에서 값을 가져오면 되기 때문에 정합성 문제가 발생하지 않았지만 캐시에 데이터가 있다면 캐시에서 데이터를 가져오기 때문에 캐시와 데이터베이스에 값이 다르다면 데이터 정합성 문제가 발생할 수 있습니다.Cache 전략캐싱 전략은 웹 서비스 환경에서 시스템 성능 향상을..