일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 캐시 오염
- 데이터베이스
- 자바
- 자료구조
- 스레드 풀
- ocp
- null
- AWS
- Redis
- Dirty Checking
- MSA
- Kafka
- 갱신 이상
- 3-way handshaking
- 정규화
- JPA
- well-know port
- 네트워크
- 삭제 이상
- 삽입 이상
- HTTP
- DB
- 페이지네이션
- Spring
- buildSrc
- gatway
- 낙관적 락
- Kotlin
- 비관적 락
- java
- Today
- Total
728x90
목록
728x90
분류 전체보기 (70)
어 나 갱수.
API Gateway를 MSA에서 많이 도입하는 이유는 MSA와 같이 각각 다른 마이크로 서비스 다양을 요청을 하는 프로젝트에서 API Gateway로 요청을 하게 되면 요청을 중앙 집중화하여 처리함으로써 마이크로간 통신을 단순화 시킬 수 있기 때문입니다. API Gateway 간단하게 설명하자면 모든 API 요청에 대한 통로라는 개념으로 생각하면 됩니다. MSA 프로젝트의 경우 많은 서비스가 존재할 건데 이 많은 서비스를 클라이언트에서 직접 요청하는 것이 아니라 API Gateway로 호출하면 됩니다. API Gateway를 고속도로의 톨게이트에 빗대어 생각해 보겠습니다. 자동차는 어느 지역을 가던지 고속도로를 이용하기 위해서는 톨게이트를 지나쳐야 합니다. 이걸 MSA 프로젝트에 빗대어 보면 어떤 클라..
SpringBoot로 개발하다 보면 @Bean, @Component 어노테이션을 정말 많이 볼 수 있다. 저 두 어노테이션을 많이 들어는 봤지만 두 개가 무엇인지 정확히 알지는 못한다. 오늘은 저 두개의 어노테이션에 대해 알아보고 둘의 차이점도 한 번 알아보려고 한다. @Bean @Bean의 경우 개발자들이 컨트롤하지 못하는 외부 라이브러리를 ioc 컨테이너에 Bean으로 등록시키고 싶을 때 사용하는 어노테이션이다. Spring Security로 예를 들어보자 Spring Security는 Spring Security 개발자들의 의해 만들어진 외부 라이브러리이다. 이 외부 라이브러리 Spring Security에서 제공하는 PasswordEncoder 클래스도 외부 라이브러리 중 하나이다. Passwor..
웹 소켓(Web Socket) 프로토콜이란? 웹 소켓은 클라이언트와 서버를 연결시켜놓고 실시간으로 통신이 가능하게 하는 첨단 통신 프로토콜이다. 쉽게 말하면 웹 소켓은 Socket Connection을 유지한 채로 실시간으로 양방향 통신 혹은 데이터 전송이 가능한 프로토콜이다. 오늘날 채팅 어플리케이션에서 많이 사용되는 프로토콜이다. 웹 소켓의 특징 웹 소켓의 가장 큰 장점이라고 말할 수 있는 특징 중 하나는 양방향 통신이라는 것이다. 기존의 HTTP통신은 클라이언트에서 서버로 Request를 보내면 서버에서 클라이언트로 Response를 보내는 단방향 통신이지만, 웹 소켓의 경우 클라이언트에서 서버로 별도의 Request를 보내지 않아도 저절로 서버에서 Response를 보낼 수 있습니다. 또 실시간 ..
Redis란? Redis는 오픈 소스로서 NoSQL로 분류되기도 하고, Memcached와 같이 인 메모리 설루션으로 분류되기도 한다. 성능은 Memcached에 버금가면서 다양한 데이터 구조체를 지원함으로써 다양한 용도로 사용된다. Redis는 Remote Dictionary Server의 약자로 외부에서 사용 가능한 Key-Value 쌍의 해시 맵 형태의 서버라고 볼 수 있다. 그래서 값을 불러올때 쿼리 값 없이 Key를 통해 빠르게 값을 불러올 수 있다. 또한 디스크에서 데이터를 관리하는 구조가 아니라 메모리에서 데이터를 관리하기 때문에 성능상으로도 작업속도가 매우 빠릅니다. 특징 영속성을 지원하는 인 메모리 데이터 저장소 다양한 자료 구조를 지원함 읽기 성능 증대를 위한 서버 측 리플리케이션을 지..
Kotlin으로 개발을 하다 보면 물음표(?)와 느낌표 두 개(!!)를 사용하는 경우가 많다. 두 개 모두 null의 사용과 관련되어 있는 문자이다. Kotlin의 특징 kotlin은 기본적으로 변수에 null 값을 넣지 못한다. 변수에 맞는 문자(? or !!)를 데이터 형식 뒤에 붙여주어야 한다. 물음표(?)의 사용 null이 들어올 수 있는 변수에는 타입뒤에 저렇게?를 붙여야 한다. var notNull:Int = null//오류 var notNull:Int? = null//정상 느낌표 두개(!!)의 사용 null값이 절대 들어오면 안 되는 경우에 붙여준다. var notNull:Int = 0//기본값은 null허용x var okNull:Int? = 10//null이 들어올 수 있음을 의미 notN..
UUID 란? 네트워크 상에서 교유성이 보장되는 id를 만들기 위한 표준 규약이다. UUID는 Universally Uniqure IDentifier의 약어이고 범용 고유 식별자라고 한다. 로컬에서 ID를 관리한다면 어떤 아이디들이 생성되었는지 확인한 후 중복을 체크하는 것이 가능하지만, 네트워크 상에서는 이야기가 다르다. "중복되는 확률이 0에 가까운, 매우 낮은 확률을 가지는 ID를 만드는 방법" 이 방법이 바로 UUID이다. UUID는 계속 생성되어도 중복이 생길 가능성이 0에 가깝다. UUID의 구성 UUID는 8-4-4-4-12 형태의 문자이다. 각 문자는 16진수 숫자이며, 예를 들면 아래와 같은 형태이다. 05474f5e-52fa-44a4-8a93-edf7e0634097 각 부분에 대한 설명..
대부분의 시스템에서는 회원 서비스가 존재한다. 그래서 그 회원에 대한 인증 인가 처리를 꼭 해주어야 한다. SpringBoot에서는 이런 인증 인가처리를 SpringSecurity에서 처리하고 관리해 준다. 오늘은 이 SpringSecurity에 대해 알아보도록 하겠습니다. Spring Security란? Spring Security는 Spring 기반의 애플리케이션의 보안(인증, 인가)을 담당하는 스프링 하위 프레임워크입니다. Spring Security는 Filter 흐름에 따라 인증 인가 처리를 하고 있습니다. Spring Security는 인증 인가 처리 말고도 보안 관련된 다양하고 체계적인 옵션을 많이 제공해서 개발자가 보안적인 부분을 직접 신경 쓸 필요가 없다는 큰 장점도 있습니다. 인증(Au..
AWS RDS란 데이터 베이스 인프란 및 업데이트들을 AWS 측에서 관리해 주고 데이터베이스의 설치, 운영, 그리고 관리 등의 서비스들을 지원하는 AWS의 관계형 데이터베이스이다. 현재 AWS RDS는 MySQL, Oracle, SQL Server, PostgreSQL, MariaDB, microsoft SQL Server 등을 제공한다. AWS에서 DB를 사용하는 방법 AWS EC2를 이용할 때, EC2 인스턴스에 관계형 데이터베이스를 직접 설치하거나 AWS RDS를 이용하는 데이터베이스를 사용하는 2가지의 방법이 존재한다. EC2에 직접 설치 : EC2에 직접 데이터베이스를 설치할 경우, 사용자가 데이터베이스에 대한 관리를 직접 해야 하는 단점이 발생합니다. RDS를 사용 : RDS를 사용할 경우, ..