| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Hackathon
- 가상화
- Spring Security
- spring cloud
- spring boot
- mysql
- 도커
- Spring
- CI/CD
- 컨테이너
- 영속성 컨텍스트
- Redis
- vm
- virtualization
- Container
- Java
- JPA
- 스프링 배치
- 웹 서버
- 백엔드
- 스프링 부트
- 해커톤
- 데이터베이스
- 스프링 시큐리티
- ORM
- computer science
- CS
- 배포
- 자바
- 스프링
- Today
- Total
목록전체 글 (159)
개발 일기
https://ai-back-end.tistory.com/98 [Redis] Redis(Remote Dictionary Server) 이해하고 사용하기OAuth2.0+JWT에서 Refresh Token을 백엔드 단에서 소유하고 있기 위해 Redis에 저장했다. 그냥 다들 그렇게하니까 그렇게 처리해봤는데 정확히 알고 쓴다는 느낌이 없어서 이번 기회에 Redis에 대해 이해ai-back-end.tistory.com 작년 9월에 한 번 Redis에 대해 공부했지만, 이제는 Redis와 더 친숙해졌고 어떨때 사용되는지 더 와닿고 있는데, 그래서 이번에는 단순한 사용법이 아니라 내부 동작 원리까지 깊게 이해하고자 합니다.최근 SLASH 23 - 실시간 시세 데이터 안전하고 빠르게 처리하기 영상을 보았는데, 발표자..
처음 https://www.acmicpc.net/problem/10986 해당 문제에서 누적합을 활용해서 이중 for문을 통해 계산을 했었다.// 처음 내 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken(..
https://www.acmicpc.net/problem/20291백준 20291 파일정리 실버3 문제에서 TreeMap을 적용해볼 기회가 있어서 TreeMap을 적용해봤다.import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter((new OutputStreamWriter(System.out))); int T = I..
EC 스터디 📁 INTRO HTTP (Hypertext Transfer Protocol) 웹에서 데이터를 주고받기 위한 통신 규약(프로토콜)OSI 7계층 중 L7 즉, Application Layer에 해당클라이언트-서버 구조 (Request ↔ Response)우리가 주로 개발할때 가장 흔하게 접할 수 있는 프로토콜이며 아래 DevTools에서 네이버 화면을 띄웠을때도 h2 즉, HTTP/2.0이 사용되는 것을 확인할 수 있다.현재는 위 오른쪽 그림과 같이 HTTP/2.0이 주로 사용되고 있으며 유투브, 구글 등에서는 h3까지도 사용되고 있다. 🌱 HTTP/0.9 (1991년)HTTP의 시작은 1989년 팀 버너 리(Tim Berners-LEE)에 의해 제안된 인터넷의 하이퍼 텍스트 시스템으로 최초..
워크플로(Workflow)란?특정 순서에 따라 발생하는 반복적인 프로세스와 작업을 관리하는 시스템이다.즉, 마이크로서비스 기준으로 보면, 하나의 비즈니스 로직을 처리하기 위해 여러 개의 마이크로서비스가 순차적 또는 병렬적으로 협업하는 일련의 흐름을 의미한다. 각 마이크로서비스는 자신만의 책임 영역을 가지고 있으며, 전체적인 프로세스가 성공적으로 완료되기 위해서는 이들 서비스 간의 올바른 상호작용이 필요하다. 앞 챕터들에서는 마이크로서비스 간 통신을 다뤘고 이번 챕터는 여러 마이크로서비스가 협력해서 비즈니스 프로세스를 구현하는 방법에 대해 다룬다.분산 시스템에서 워크플로우를 모델링하고 구현하는 것은 쉽지 않을 수 잇다.이를 해결하기 위해 분산 트랜잭션을 사용하는 것과 그와 관련된 함정을 살펴보고, (필자 ..
마이크로서비스 아키텍처를 구축할때 어떻게 모델링을 하면 좋을지? 서비스 간 경계를 어떻게 결정하는 것이 좋을지?에 대한 답변이 있는 챕터이다.🔹 마이크로서비스의 경계우선, 올바른 마이크로서비스 경계를 구성하는 데 필요한 세 가지 핵심 개념인 정보 은닉, 응집력, 결합에 대해 정리해보자. 1️⃣ 정보 은닉 (Information Hiding)모듈 경계를 정의하기 위해 David Parnas가 만든 개념. 모듈(또는 마이크로서비스) 경계 뒤에 가능한 한 많은 세부 정보를 숨기려는 욕구를 나타낸다. 따라서 다른 서비스와의 결합을 최소화하고, 각 서비스가 다른 서비스에 대해 필요한 것만 공유하고 필요한 최소한만 공개 되도록 하여 독립적인 변경과 안전한 배포를 가능하게 한다.향상된 개발 시간 : 독립적인 모듈..
최근 분산환경에 관심이 생겨 해당 도서를 학교 도서관에서 관련 도서를 빌렸고 필요한 부분을 골라 읽으면서 주요 내용을 정리해보고자 한다.https://github.com/iamindian/References_Books/blob/master/Building%20Microservices%20Designing%20Fine-Grained%20Systems%202nd%20By%20Sam%20Newman.pdf References_Books/Building Microservices Designing Fine-Grained Systems 2nd By Sam Newman.pdf at master · iamindian/References_BMy reference books. Contribute to iamindian/R..
Java Garbage Collector(GC)는 자바에서 메모리 관리를 자동화하는 핵심 기능입니다. 수동으로 메모리를 해제해야 하는 C/C++과 달리, Java에서는 동적으로 할당했던 메모리 영역(Heap 영역) 중 GC가 더 이상 사용되지 않는 객체를 자동으로 감지하고 메모리에서 제거할 수 있다 . why? 사용이 끝난 객체가 메모리에 계속 남아있으면 메모리 누수(Leak)가 발생 → OutOfMemoryError이를 방지하고 효율적인 메모리 회수를 위해 GC가 필요함[GC 알고리즘 - Reference Counting]개념Root Space : Stack 변수와 전역 변수 등 heap 영역 참조를 담은 변수Heap영역에 선언된 객첵들이 각각 reference count라는 별도의 변수를 들고있음해당..