반응형

개발일지 9

Arthas 란

Arthas 란 알리바바 미들웨어팀이 오픈소스로 공개한 자바 진찰도구 요구사항 JDK 6 이상 Linix, Mac, Windows 설치 curl -O https://arthas.aliyun.com/arthas-boot.jar wget https://arthas.aliyun.com/arthas-boot.jar 실행 java -jar arthas-boot.jar 감지된 jvm을 선택한다 Arthas With Spring boot with docker 도커 컨테이너에서 실행되는 어플리케이션(JVM)에 접근하기 위해서는 컨테이너 내부에 arthas를 설치해야한다... jre만으로는 arthas가 정상작동 안하며 jdk를 설치해야한다.. 단지서버에서 가용되는 openjdk:11-jre-slim-buster (JR..

개발 일지 2022.11.25

DID 란

DID란 탈중앙화 식별자 (Decentralized Identity, DID) 검증가능하고 탈중앙화된 디지털 신원을 위한 새로운 형식의 식별자 특징 (요구사항) 탈 중앙화 : 중앙 발행 기관의 부재 지속성 : 식별자는 지속적, 운영은 지속적이지 않음 암호로 검증 : 식별자에 대한 제어를 암호로 증명 분해성 : 식별자로 메타데이터를 검색할 수 있음 개인정보를 사용자 단말기에 저장 개인 정보 인증 시 필요한 정보만 골라서 제출 가능하도록 만든 시스템 발급기관 : 최초의 본인 확인 및 분산ID 발급정보를 저장하는 책임을 가짐 단말기(사용자) : 발급기관으로부터 받은 분산ID를 가지고, 각 서비스 이용기관에 분산ID를 제출하여 인증을 진행 이용기관 : 사용자에게 분산ID를 받아서 블록체인을 통해 해당 분산ID를..

개발 일지 2022.11.25

MDC 란

MDC란 Mapped Diagnostic Context 멀티 클라이언트 환경에서 다른 클라이언트와 값을 구별하여 로그를 추적할 수 있도록 제공되는 map ThreadLocal을 통해 구별할 수 있는 키 값을 저장하여 Thread가 살아있는 동안 해당 키값 활용 사실상 쓰레드안에서 공유되는 Map을 할당하여 사용하는 개념 Interface Singleton으로 생성됨 Map과 비슷하게 CRUD 인터페이스 제공 동작원리 MDC class 내부적으로 MDCAdapter라는 인스턴스를 singleton하게 가지고 있으며 해당 어댑터를 통해서 interface들을 제공 MDCAdapter public MDCAdapter getMDCA() { return new LogbackMDCAdapter(); } 기본적으로 ..

개발 일지 2022.11.23

QuerydslPredicate 란

개요 spring-data-commons 라이브러리에서 제공하는 기능 목적은 컨트롤러의 파라미터를 이용하여 간단하게 Querydsl 조건문을 생성 예시 parameter value QueryDSL predicate (in Controller) SQL member.name test1 member.name.eq("test1") SELECT .... FROM member WHERE name = 'test1' member.name test1 member.name.in("test1", "test2") SELECT .... FROM member WHERE name in ('test1', 'test2') member.name test2 동작 Flow QuerydslBindings 클래스 pathSpecs : 특정 k..

개발 일지 2022.11.23

Nginx vs HAProxy

HAProxy란 Reverse proxy 형태의 LB 동작원리 일반적인 reverse proxy 형태로 동작 event-driven 방식으로 동작 접속한 서버정보를 쿠키로 관리하여, 연결 되었던 서버로 계속 연결 고가용성 주요 Feature URL rewriting. PROXY Protocol support. Gzip compression. Supports caching. API Support. SPOE Support. gRPC Support. Offers advanced debugging and tracing features. Detailed logging. Multithreading. CLI for server management. Supports HTTP authentication. Dynamic ..

개발 일지 2022.11.23

OIDC 란

개요 OAuth2.0 (RFC6749) 프로콜의 확장판 OAuth2.0 프로토콜 중 Client가 End-User의 신원 확인을 보다 쉽게 할 수 있는 형태로 표준이 정해짐 OAuth2.0 표준 프로토콜은 Client가 사용자 토큰을 통해 제한적으로 Resource에 접근할 수 있으며, End-User의 신원에 대한 정보를 획득하는 표준이 없음 4가지 방식을 제공한다. Authorization Code 방식 Implicit 방식 Hybrid 방식 Third-Party 방식 (RP와 OP가 같을 시) 관련표준 SAML 2.0 : 2001년 OASIS에서 정의한 개방형 Authentication(인증) 및 Authorization(인가) 표준이며, 엔터프라이즈 애플리케이션의 SSO(Single Sign On..

개발 일지 2022.11.23

Logstash 란

개요 원작자는 Jordan Sissel 초기 개발 목적은 다양한 데이터 수집과 저장을 위해 개발된 프로젝트 Logstash가 출력 API로 ElasticSearch를 지원 이후 통합됨 개발언어는 JRuby로 JVM위에서 동작한다. 라이센스는 Apache 2.0을 따른다 FLow DataSource로 부터 데이터를 컬랙팅하여 뒤로 넘기는 파이프라인 역할을 한다. 다양한 종류의 DataSource에서 데이터를 받을 수 있으며, 다양한 application으로 데이터를 넘길 수 있는 interface를 제공한다. pipeLine 내부에서는 필터링 등 설정에 의한 비즈니스를 수행한다. LogStash 동작 원리 dataSource로 부터 설정된 이벤트 단위로 Queue에 입력받는다. 특정 모듈이 Queue로부터..

개발 일지 2022.11.23

[외부자료] Java ClassLoader 요약 글

Java의 ClassLoader 관련하여 좋은글이있어 개인적으로 공부하면서 요약을 진행했다. 자세한 내용은 원본글 참조 부탁드립니다. https://homoefficio.github.io/2018/10/13/Java-%ED%81%B4%EB%9E%98%EC%8A%A4%EB%A1%9C%EB%8D%94-%ED%9B%91%EC%96%B4%EB%B3%B4%EA%B8%B0/ Java 클래스로더 훑어보기 Java ClassLoader 훑어보기아주 예전에 SCJP 시험볼 때나 살펴본 이후로 자바의 클래스로더를 직접 다뤄야 할 일은 솔직히 없었다. 그래서 거의 잊고 살아왔는데 요즘 Quartz를 다루면서 Quartz에 없는 기 homoefficio.github.io JAVA 8 Classloader Classloader..

개발 일지 2022.11.22

JsonPath란

JsonPath는? XML 진영에 node를 컨트롤하기 위한 XPath가 있다. Json 진영에는 비슷한 개념의 json-path가 있다. json node들에 대한 컨트롤이 가능한 라이브러리이다. JsonPath 기초 라이브러리 import com.jayway.jsonpath json-path 2.7.0 API Class Method Desc JsonPath compile(...) JsonPath를 생성하는 static 메서드 parse(...) DocumentContext를 생성하는 static 메서드 read(...) 내부적으로 parse()를 호출하는 메서드 DocumentContext - ReadContext와 WriteContext를 상속받은 인터페이스 JsonContext가 구현체이다. Js..

개발 일지 2022.11.22
반응형