일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Value annotation
- 프로그래머스
- RestControllerAdvice
- Session Fixation Protection
- AWS
- Spring Security
- HttpRequestMethodNotSupportedException
- self-hosted runners
- 14891
- RequiredArgsConstructor
- 12100
- amazon-ecr-login
- 1916
- Session Registry
- aws-mysql-jdbc
- tailsamplingprocessor
- 자바
- 백준
- openTelemetry
- Spring
- github
- ConcurrentSessionControlAuthenticationStrategy
- 1260
- Java
- SpringCloudConfig
- 14889
- Spring Authorization Server
- github actions
- 15686
- 17144
- Today
- Total
목록전체 글 (30)
한울이

회사에서 spring cloud conifg를 사용하면서 있었던 일 개발환경은 properties를 설정파일을 외부로 분리하고 Spring Cloud Config를 사용하여 읽어오도록 되어있다. local에서 개발환경으로 프로젝트를 띄우기 위해 profile을 dev로 설정하고 Spring Cloud Config을 사용하여 개발환경 properties를 읽어왔다. 그리고 몇가지 properties를 local에 맞게 override를 하려고 환경변수에 추가했는데 override되지 않고 계속 Spring Cloud Config를 사용하여 읽어온 값으로 설정되었다. (사진의 값들은 예시) 그래서 찾아본 결과 remote properties는 따로 설정을 하지 않으면 override가 되지 않는다고 한다. ..

## Reactive Programming 리액티브 프로그래밍은 데이터 스트림과 변경 사항 전파를 중심으로하는 비동기 프로그래밍 패러다임 ## Java 비동기 1. Callback 방식 - callback 지옥에 빠질수 있음. 2. Future 방식 - Future를 외부에서 완료시킬 수 없다. (단, 취소하거나, get()에 타임아웃을 설정할 수는 있다.) - callback 지옥은 피할 수 있으나 블로킹 코드(get())를 사용하지 않고서는 작업이 끝났을 때 콜백을 실행할 수 없다. - Future에서는 return되는 결과값을 가지고 무언가를 하려면 get()이후에만 가능하다. - 여러 Future 조합을 사용할 수 없다. (ex. Event 정보를 가져온 다음 Event에 참석하는 회원 목록을 가..

개요 오픈소스 APM인 Scouter는 JVM(WAS, Standalone application)을 사용하는 어플리케이션 및 OS 자원에 대한 모니터링 모니터링 기능을 제공한다. 구성모듈 Agent: 성능 데이터를 수집하여 수집 서버로 전송 Server (Collector): Agent가 전송한 데이터를 저장하고 Client 요청시 Client에게 적절한 데이터를 전송 Client (Viewer): 수집된 데이터를 보기 위한 RCP 기반 Client 프로그램. (OSX Big Sur 미지원) Web API (Since @1.8.0) : 성능 카운터, XLog, 프로파일등의 정보를 HTTP 프로토콜을 통해 제공 적용 Requirement JDK 7+ (& JAVA_HOME 환경변수 설정) Windows /..

출처 1. https://ldap.or.kr/1373-2/ 2. https://zero-gravity.tistory.com/221 OTP는 One Time Password의 약자로 1회용 인증수단을 의미 OTP의 종류는 값을 생성하는 방법에 따라 크게 HOTP(HMAC Based OTP)와 TOTP(Time Based OTP) 등 2가지가 존재 HOTP HOTP는 HMAC기반(HMAC은 Hash와 MAC이 합쳐진 개념) Hash는 일방향 암호화라고도 하며 양방향 암호화와 다르게 한번 암호화 된 값 복호화X * 양방향 암호화의 종류 : 대칭키 암호화, 비대칭키 암호화 MAC은 Message Authentication Code의 약자로, 송수신자 사이 메시지(데이터)가 변경되지 않았음을 확인할 수 있는 기술..

DockerFile을 빌드할 때 gradle dependency가 캐시를 사용하도록 하는 DokcerFile 작성 법 도커는 도커파일을 실행하면서 명령어가 이전과 같고, 명령어가 적용될 파일의 변화가 없으면 캐시를 사용한다. 따라서, gradle 만 copy해서 dependecy 들을 먼저 build 하면 다음 빌드때 dependecy는 변화가 없고 소스코드만 바뀌었다면 dependecy build가 캐시를 사용하므로 Docker build 속도가 빨라진다.
static 변수에는 @Value annotaion을 사용할 수 없음 (사용하려면 setter를 통해 사용) 이유: static은 ApplicationContext 초기화 이전에 메모리에 올라가기 때문에 ApplicationContext에 의존적인 값은 사용할 수 없고 스프링의 관리 대상이 아님 ### 참고 초기화 순서 클래스 변수 클래스 메서드 인스턴스 변수 인스턴스 메서드 로컬 변수 로컬 메서드 클래스변수(static)가 클래스초기화 되면서 제일 먼저 초기화가 실행 하지만 static변수가 인스턴스변수나 인스턴스 메서드를 참조하고 싶어도 아직 다른 객체들은 생성되기 전 시점 따라서 클래스 멤버에서 인스턴스 전용 키워드인 this를 사용하면 컴파일 에러가 발생 객체가 생성되지도 않았는데 객체를 참조하려..