우주먼지
Memo - Library
Framework/Spring 2023. 2. 28. 20:29

💡 Library # 📌 [ Dependencies ] *** > ⭐ [H2] runtimeOnly 'com.h2database:h2' > ⭐ [Lombok] compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' > ⭐ [MapStruct] __Processor__가 롬복보다 뒤에 있어야 함 implementation 'org.mapstruct:mapstruct:1.5.3.Final' annotationProcessor 'org.mapstr..

Memo - Annotations
Framework/Spring 2023. 2. 28. 20:27

💡 Annotations Spring Basic Annotations @Target(ElementType.TYPE) , @Retention(RetentionPolicy.RUNTIME), @Documented = Custom Annotation 생성 시 사용 @BeforeEach 테스트 메소드 실행 전 실행됨 @AfterEach 테스트 메소드 이후에 실행됨 @DisplayName("") 테스트 클래스or메소드의 이름 정의 가능 @Disabled("") 테스트 클래스or메소드를 비활성화 @Autowired 필요한 의존 객체의 '타입'에 해당하는 빈을 찾아 의존성 주입, getBean(.class)와 동일하다고 보면 됨 @Component 스프링 빈 등록, 이름을 지정 하려면 ("")로 지정하되, 첫글자는 무..

Memo - Spring
Framework/Spring 2023. 2. 28. 20:26

💡 Spring Memo 개념 ApplicationContext 스프링 컨테이너, AnnotationConfigApplicationContext의 상위 인터페이스 AnnotationConfigApplicationContext AnnotatedBeanDefinitionReader를 사용해서 AppConfig.class를 읽고 BeanDefinition을 생성함, getBean() 등 더 많은 기능을 쓰려면 얘를 생성해야함 보통 ApplicationContext ac = new AnnotationConfigApplicationContext(); 로 선언해서 사용함 Spring Bean key,value 형태로 값 저장 Bean Definition 스프링이 다양한 형태의 설정정보를 BeanDefinition으..

article thumbnail
Node.js 란?
Framework/ETC 2023. 2. 20. 11:38

💡 Node.js Node.js는 Chrome V8 JavaScript 엔진으로 빌드 된 JavaScript Runtime이며 nvm. 즉, 노드를 통해 다양한 자바스크립트 어플리케이션을 실행할 수 있으며, 서버를 실행하는데 많이 사용된다. JavaScript를 서버에서도 사용할 수 있도록 만든 프로그램이다. V8 이라는 JavaScript 엔진 위에서 동작하는 자바스크립트 런타임(환경)이다. 서버사이트 스크립트 언어가 아닌 프로그램(환경)이다. 웹 서버와 같이 확장성 있는 네트워크 어플리케이션을 제작하기 위해 만들어졌다. 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도 소프트웨어 없이 동작한다. 사용 이유 Node.js를 사용하려면 JavaScript를 배워야 한다. Jav..

article thumbnail
API Gateway 개념 & 구축
Framework/Spring 2023. 2. 11. 03:11

💡 API Gateway API Gateway란? 클라이언트의 마이크로 서비스 호출에 대한 접근 인증 및 ACL을 적용하여 중요 데이터를 보호하는 트래픽 관리 외부 클라이언트와 백엔드 서비스 간 통신을 최적화하여 클라이언트에게 원활한 경험 제공 확장성과 고가용성을 보장하며 클라이언트의 모든 API 호출을 가져와 적절한 마이크로 서비스로 라우팅 함. (로드밸런서와 유사한 구조) API Gateway를 사용하는 이유 마이크로 서비스는 각각 자체기능을 필요로 하기 떄문에 어플리케이션을 느슨하게 결합된 여러 서비스로 분해 가능 더 쉽게 개발, 배포 및 유지 관리를 할 수 있지만 고객이 어플리케이션에 빠르고 안전하게 액세스 하기가 더 어려워진다 Non-Blocking I/O가 지원되는 플랫폼에 구축하는것이 가장 ..

Web RTC 란?
Framework/ETC 2023. 1. 4. 08:14

💡 Web RTC Web Real-Time Communication 이란? 별도의 플러그인 설치 없이 실시간으로 미디어(Audio, Video, File, Text 등) 를 서버를 거치지 않고 Peer To Peer 전송을 가능하게 해주는 오픈소스 웹 기술 WebRTC의 구현 방식은 Mesh, SFU, MCU 방식이 있으며 하기 내용은 Mesh 방식으로 진행 구조 Signaling Server Peer 끼리 연결을 위한 SessionControl Messages, Error Messages, Codec, bandwith 등 다양한 정보를 SDP 프로토콜을 이용하여 전달하는 Signaling 프로세스를 처리하는 서버 Client와 Signaling은 양방향 WebSocket 통신을 사용함 Stun Serv..

article thumbnail
Project Reactor
Framework/Spring 2022. 11. 29. 06:07

💡 Project Reactor 완전한 Non-Blocking 통신 지원 Publisher 타입으로 Mono[0|1] , Flux[N] 존재, 숫자는 가능한 데이터 emit의 수 MSA 기반 Application에 적합한 Library BackPresure 전략 사용 BackPresure 전략이란? Subscriber의 emit 데이터 처리 속도가 Publisher의 emit 속도를 따라가지 못할때 제어하는 전략 💡 Marble Diagram Reactor의 데이터 타입 중 하나인 Mono 마블 다이어 그램 (1) 원본 Mono에서 시작되는 Sequence를 타임라인으로 표현 (2) Sequence에서 구슬 1개가 생기는걸 데이터 Emit으로 표현 (3) 수직 막대바( | ) -> Sequence 정상 ..

검색 태그