일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JPA
- 영속성 컨텍스트
- Hackathon
- CI/CD
- Java
- Container
- vm
- 배포
- 스프링 배치
- 스프링
- computer science
- virtualization
- 가상화
- Spring
- 컨테이너
- 스프링 시큐리티
- spring cloud
- ORM
- 해커톤
- mysql
- spring boot
- 도커
- 데이터베이스
- 자바
- 백엔드
- 웹 서버
- Spring Security
- 스프링 부트
- Redis
- CS
- Today
- Total
목록전체 글 (157)
개발 일기

https://cloud.spring.io/spring-cloud-netflix/reference/html/#netflix-eureka-client-starter Spring Cloud NetflixThis project provides Netflix OSS integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations you can quickly enable and configure the common patcloud.spring.io쿠버네티스를 도입하려다가 데드..

Segment Tree 초기화 Segment Tree 구간 합 구하기 Segment Tree 값 업데이트 (기존 값과 바꿀 값의 차를 통한 업데이트) diff를 활용한 update방식보다 해당 코드가 더 직관적인듯 시간 복잡도트리 초기화 (init)세그먼트 트리는 완전 이진 트리로, 전체 노드 개수는 O(2N) (약 4N)init 함수는 한 번의 호출당 O(1), 전체적으로 O(N)시간 복잡도: O(N)구간 합 조회 (sum)이진 트리의 높이는 O(log N)sum 함수는 트리를 따라 내려가며 분할 정복, 최악의 경우 O(log N) 개의 노드를 방문시간 복잡도: O(log N)값 업데이트 (update)특정 위치의 값을 변경하면, 관련된 모든 부모 노드를 업데이트해야 함update 함수는 이진 트리..

회원 가입을 하면 쿠폰을 제공하고 있는 로직의 코드를 보자.package 관점에서 볼 때 멤버에서는 쿠폰 서비스를 사용하기 때문에 멤버에서 쿠폰으로 의존성이 발생하고 있고 쿠폰 서비스는 인자로 인해 쿠폰에서 멤버로의 의존성이 발생하고 있다.→ 즉, 이로 인해 "의존성 사이클 발생", 이를 해결하기 위해서는?인터페이스를 통한 의존성 역전이벤트 처리등을 통해 해결할 수 있는데 이때 이벤트에 조금 더 집중해 보겠다.멤버에서 회원 가입을 하면 다이렉트로 쿠폰 서비스를 호출하는 것이 아니라 멤버가 회원가입했다는 이벤트만 발행한다.그러면 쿠폰 패키지 내부의 리스너가 이 발행된 이벤트를 듣고 이를 처리하는 코드를 작성하면 된다.그렇게되면 위에서와 같이 의존성 사이클이 해결된다. 이를 통해 해결 가능그렇다면 인터페이스는?

이전에 컴퓨터 네트워크 시간에 열심히 배웠었지만 한 순간에 까먹어버렸고 중간 중간 개발 공부를 하다보면 튀어나오는 이 용어에 대해 다시 기억을 되살릴 필요가 있다고 생각되어 정리해보게 됐다.OSI 7계층SI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것으로 각 레이어 별로 역할이 다르다.하나씩 뜯어보자.Application Layer(응용 계층)사용자와 직접 연결되어 네트워크 접근을 돕는 계층데이터 전송을 위한 인터페이스 제공사용자로부터 입력 받은 정보를 하위 계층에 전달한다. Presentation Layer(표현 계층)데이터를 응용 계층에 사용하는 표현으로 변환해주는 계층데이터의 인코딩과 디코딩이 이루어 진다. ex) 문자열을 아스키 코드로Session Layer(세션 계층)..

Q1. S3 Transfer Acceleration & 멀티파트 업로드각 대륙의 데이터를 하나의 S3 버킷에 집계하려면 S3 버킷에서 S3 Transfer Acceleration 을 켜고 멀티파트 업로드를 사용하여 사이트 데이터를 대상 S3 버킷에 직접 업로드한다.여러 글로벌 사이트의 데이터를 단일 Amazon S3 버킷으로 신속하게 집계하는 가장 효율적이고 운영상 간단한 솔루션을 제공 S3 Transfer AccelerationAmazon CloudFront의 글로벌 네트워크를 활용하여 S3 버킷으로 데이터를 더 빠르게 업로드하거나 다운로드할 수 있도록 설계된 기능. 사용자는 가장 가까운 CloudFront 엣지 로케이션으로 데이터를 업로드하면, AWS 백본 네트워크를 통해 S3 버킷으로 데이터를 ..

Spring에서 외부 API를 요청하는 방법으로 크게 3가지 정도 있다.RestTemplate, WebClient, OpenFeign 등이 있는데 이번에 RestTemplate, WebClient 이 두가지에 대해 집중적으로 알아보겠다.RestTemplateSpring 3.x에서 도입된 동기식 HTTP 클라이언트Multi-Thread, Blocking IO로 동작현재는 maintenance mode로 개발자에게 WebClient사용을 권장한다.Restful 형식에 맞추어진 템플릿Header, Content-Type등 설정하여 외부 API 호출Http 요청 후 json, xml, String 같은 응답을 받을 수 있다.RestTemplate 동작 방법 및 문제점위에서 언급했듯이 RestTemplate은 M..

💡 I/O란 무엇인가요?I/O는 Input/Output의 줄임말로, 컴퓨터 시스템에서 데이터의 입출력을 의미우리가 키보드를 통해 입력을 하거나, 파일을 저장하는 행위 모두 I/O의 일종즉, I/O는 프로그램과 외부 세계(또는 다른 프로그램) 간의 소통 수단입니다.🧾 I/O의 종류I/O는 다양한 방식으로 분류 가능하다.File I/O파일을 읽거나 쓰는 작업입니다. 예: 로그 기록, 설정 파일 불러오기 등Device I/O키보드, 마우스, 프린터 등과의 통신입니다.Pipe I/O프로세스 간의 통신(IPC)을 위한 방법입니다. 예: 리눅스에서 | 파이프 명령 사용Network(Socket) I/O네트워크를 통해 다른 컴퓨터 또는 서버와 데이터를 주고받는 방식입니다. 오늘은 이 Socket I/O에 대해 좀..