Languages/Java

리액티브 프로그래밍이란? 모든 데이터가 수신될때까지 기다리지 않고, 스트림 데이터에서 원하는 조건을 감지해 그에 맞는 처리를 해주는 프로그래밍 Reactive Streams 란? Java에서 논블로킹(비동기) 방식으로, Stream데이터를 다룰 수 있도록 해주는 기술 (리액티브 프로그래밍) ReactiveStreams 핵심 요소 4가지 Subscriber(구독자) - 퍼블리셔를 구독(감시) Publisher(퍼블리셔) - 구독자에게 받은 Request 처리 Subscription - 퍼블리셔와, 구독자가 연결된 관계 Processor - 현재 처리중인 작업 Reactor Spring WebFlux에서 지원되는, 기본 ReativeStreams Class( 구현체 ) Flux - rx연산자가 있는 Publ..
Stomp 간단한 텍스트 메시지 통신 규칙 Simple Text Oriented Messaging Protocol 기존 Spring에서 관리 과정 WebSocketHandler ... 웹소켓통신을 하는 Client => 저장 => 관리 => 다른 Client에게 전달 전부 구현해야함... Stomp 사용과정 채팅방 생성 => Topic 생성 채팅방 입장 => Topic 구독 ( 감시, subscribtion) Topic에 새로운 채팅 수신 => Topic을 구독하고 있는 모든 Client에게 메세지 전송
👉 Gradle이란? Java 빌드 툴 중 하나로, Maven을 대체하기 위해 나온 제품 Maven & Gradle 비교 Maven Gradle 수정된 작업만 실행 X O 다중 캐시 동시 사용시, 오버라이딩 방지 X O 설정을 많은 모듈에 공유하는 방법 상속 주입
👉 JPA란? Java Persistence API Java를 사용한 ORM중의 하나로 SQL을 사용하지 않고, 데이터베이스를 관리할 수 있다. 설치 ( with. Spring ) https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa 👉 사용법 1. pom.xml 에 종속성 ( dependency ) 추가 2. application.properties에 JPA설정 추가 # PORT server.port=8080 # DB spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localh..
👉 R2DBC 란? Java와 DB를 연결하는 드라이버 중 하나. Spring Framework version 5 - Spring WebFlux 추가 2019.12 - Spring Data R2DBC에서, 반응형 관계형 데이터베이스 드라이버 출시!! - 응답시간이 더 빠르고, 처리량이 높다. - 요청당 메모리와 CPU를 덜 사용한다. - JAR 파일의 용량을 줄일 수 있다. 👉 테스팅 1. CPU : 4코어 할당 2. 커넥션 풀 : 100개 3. HTTP 요청 - GET - SELECT 10 레코드, JSON 반환 4. 프라이밍 ( 서비스에 부하 주기 ) : 2초 5. 테스팅 반복수 : 5번 ( 평균 구함 ) 오류가 발생하지 않은 실행만 살펴봄 6. 테스팅 툴 : wrk https://github.com..
👉 어노테이션 @로 시작하는 자바 코드 - 컴파일러에 문법에러를 체크하여 빌드 또는 배치시, 코드를 자동으로 생성할 수 있도록 정보를 제공한다. 👉 Spring 어노테이션 @RestController @Controller 와 @ResponseBody가 합쳐진 어노테이션 Json 형태로 객체 데이터를 반환하는데 주로 사용한다. @GetMapping() API의 메서드 지정으로 GET방식의 API 지정하는 방식이다. 👉 lombok 어노테이션 @Getter / @Setter get메소드, set메소드를 자동 생성해주는 어노테이션 @RequiredArgsConstructor final이 붙거나, @NotNull이 붙은 필드의 성성자를 자동 생성해주는 어노테이션
👉 Jar( Java Archive ) Java 각종 설정 파일들을 압축해서 만들어진 하나의 어플 👉 War ( Web Application Archive ) Java 파일들을 , WAS 컨테이너 위에서 동작 할 수 있도록 빌드해 놓은 것.
👉 JSP란? 서블릿에서 처리하는 HTML과, 데이터의 조합을 더 쉽게 만들어주는 프로그래밍 언어 - HTML 형식으로 JAVA코드를 작성할 수 있다!! 👉 데이터 흐름 1. 브라우저 - HTTP요청 2. 웹서버(WS) - HTTP요청 받음, 서블릿 컨테이너 호출 3. 서블릿컨테이너(WAS) - JSP코드를 JAVA코드(서블릿)로 변환 4. 서블릿컨테이너(WAS) - JAVA코드로, 여러 데이터 조합해서 HTML 생성, WS에 전달 5. 웹서버(WS) - HTTP응답 👉 한계점 동일한 형식의 데이터를 반복으로 처리해야하는 경우, JAVA코드와 HTML코드가 섞여, 가독성이 떨어진다. 해결 ) EL / JSTL 문법개발!
👉 서블릿이란? Java를 사용해, HTML을 만들기 위한 기술 웹 컨테이너(서블릿 컨테이너)를 통해 관리된다. 👉 데이터 흐름 1. 브라우저 - HTTP요청 2. 웹서버(WS) - HTTP요청 받음, 서블릿 컨테이너 호출 3. 서블릿컨테이너(WAS) - JAVA코드로, 여러 데이터 조합해서 HTML 생성, WS에 전달 4. 웹서버(WS) - HTTP응답 👉 서블릿 컨테이너에서 HTML생성하기 out.println("" + username + "");
MOONCO
'Languages/Java' 카테고리의 글 목록