| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- GIT
- 알고리즘
- mysql
- CI/CD
- Java
- LV03
- 일정관리프로젝트
- 포트폴리오
- LV0
- S3
- spring boot
- 프로그래머스
- Lv.0
- SQL
- 디자인 패턴
- JPA
- jvm
- Join
- 일정관리 프로젝트
- LV.02
- Redis
- docker
- 연습문제
- 데이터 베이스
- CoffiesVol.02
- 이것이 자바다
- LV02
- LV01
- Kafka
- 코테
- Today
- Total
목록전체 글 (205)
코드 저장소.
목차1.문제상황 및 해결 방안 2.적용 1.문제상황 및 해결 방안만들고 있는 기능 중에 회원의 위치를 기준으로 해서 가까운 거리에 있는 카페를 카카오맵으로 보여주는 기능에서 서버에서 카카오맵api를 사용해서 가게 정보를 가져오는데 가끔씩 연결이 끊기는 문제가 생겨서 데이터를 못가져오는 경우가 간간히 발생. 그래서 스프링에서 제공을 하는 @Retryable을 사용하면 api의 재시도와 예외처리를 설정을 할 수 있어서 적용하기로 했습니다. 2.적용2-1.build.gradle에 주입을 한다.implementation 'org.springframework:spring-aspects'implementation 'org.springframework.retry:spring-retry' 2-2.설정 클래스 작성@E..
목차1.Docker-Compose? 2.Docker-Compose의 필요성?3.예제 1.Docker-Compose?Docker-Compose는 복수의 컨테이너를 정의하고 실행하기 위한 도구입니다. docker run을 통해서 실행하는 모든 어플리케이션은 docker-compose 명령어를 사용하여 실행할 수 있습니다.2.Docker-Compose의 필요성?도커를 사용하다보면 여러 개의 컨테이너가 하나의 애플리케이션으로 동작할 때 테스트하려면 각 컨테이너를 하나씩 생성해야 합니다. docker run --name mysql -d alicelk106/composetest:mysql mysqlddocker run -d -p 80:80 \\--link mysql:db --name web \\alicek106/c..
목차1.문제상황2.적용 1.문제상황서버가 한대인 경우에는 해당 서버에 세션 정보를 저장해서 사용을 할 수 있지만, 현재 진행중인 프로젝트의 경우에는 Scale-out을 적용한 환경에서는 세션 불일치 문제가 발생을 할 수 있습니다. 세션 불일치?웹 애플리케이션에서 사용자 세션의 상태가 일관되지 않거나 예상치 못하게 변경될 때 발생하는 문제를 세센 불일치라고 합니다. 세션 불일치를 해결하는 방식에는 크게 3가지가 있습니다. Stikcy-SessionSession-ClusteringSession-Storage 이중에서 제가 적용을 할 것은 Redis를 Session-Storage로 사용할 것입니다. 우선 Redis를 사용한 이유는 다음과 같습니다. 확장성: 모든 서버가 중앙 세션 스토리지(예: Redi..
목차1.퍼사드 패턴? 2.퍼사드 패턴 특징3.구현 1.퍼사드 패턴?퍼사드(Facade) 패턴은 소프트웨어 디자인 패턴 중 하나로, 복잡한 시스템의 인터페이스를 단순화하는 데 사용됩니다. 퍼사드 패턴은 하나 이상의 클래스에 대한 접근을 단순화하는 인터페이스를 제공하여, 클라이언트 코드가 더 쉽게 시스템과 상호작용할 수 있도록 합니다. 이 패턴은 특히 복잡한 서브시스템이 많은 경우 유용하며, 서브시스템 간의 결합도를 줄이고 코드의 유지보수를 용이하게 합니다.2.퍼사드 패턴 특징1. 단순화된 인터페이스 제공 퍼사드 패턴은 복잡한 서브시스템에 대해 단순화된 인터페이스를 제공하여 클라이언트가 더 쉽게 시스템과 상호작용할 수 있도록 합니다. 클라이언트는 여러 서브시스템 클래스를 직접 사용할 필요 없이, 퍼사드를 통..
목차1.문제점2.분리를 했을시의 이점3.적용 1.문제점현재 진행이 되고 있는 프로젝트(Coffies Vol.02)에서는 현재 하나의 Redis서버를 사용해서 Session과 Cache를 사용하고 있습니다. 하지만 댓글에 리뷰평점기능을 현재 redis를 사용해서 평점을 적고 있는데 평점이 많으면 많을수록 댓글 평점을 매번 SQL을 사용해서 적으면 성능에 저하가 일어날것이라고 예상이 되어서 이를 개선하고자 합니다.2.분리를 했을시의 이점우선은 Redis를 서버와 캐시 서버로 나누면 다음과 같은 이점이 있습니다.성능 최적화분리된 자원 관리: 인증 기능과 캐시 기능이 각각 독립된 환경(docker,localhost)에서 실행됨으로써, 각 기능이 필요로 하는 리소스를 개별적으로 최적화할 수 있습니다. 이는 전체 ..
목차1.도커?2.도커 특징 1.도커?도커는 리눅스 컨테이너에 리눅스 어플리케이션을 프로세스 격리기술을 사용해서 더 쉽게 컨테이너로 실행을 하고 관리를 할 수 있게 해주는 오픈소스 프로젝트입니다. 2.도커 특징도커의 주요 개념과 장점은 다음과 같습니다:컨테이너(Container):컨테이너는 애플리케이션 코드, 라이브러리, 종속성 등을 포함하는 표준 단위입니다.동일한 환경을 제공하여 개발, 테스트, 배포 간의 일관성을 유지할 수 있습니다.호스트 운영체제의 커널을 공유하지만, 각각의 컨테이너는 독립된 사용자 공간을 가집니다.이미지(Image):컨테이너를 생성하는 데 필요한 모든 파일과 설정을 포함하는 템플릿입니다.이미지는 변경되지 않으며, 컨테이너는 이미지를 기반으로 생성됩니다.도커 허브(Docker Hub..