Java/Spring
-
폴링, 롱 폴링, SSE 방식이 필요한 이유폴링, 롱 폴링, SSE 등의 방식이 필요한 이유는 HTTP 프로토콜의 주요 특징인 비연결성 때문이다.실시간 알림 기능은 서버가 클라이언트에게 데이터를 보내면 클라이언트가 이를 인지하여알림을 띄워야하는 구조인데 HTTP 프로토콜인 웹에서도 실시간 기능이 필요했다. 이러한 실시간 처리가 필요할때 사용하는게 폴링, 롱 폴링, SSE 등의 방식이다. Polling 이란?클라이언트가 주기적으로 서버로 요청을 보내는 방식이다.일정시간마다 클라이언트가 서버로 요청을 보내 데이터 갱신이 있는지 확인하고, 갱신 시 응답을 받는 방식이다. 폴링 방식의 구현은 간단하지만 클라이언트가 계속해서 서버로 요청을 하기 때문에 리소스 낭비가 심하다.보낼 데이터가 없지만 계속해서 서버로 요..
Polling(폴링), Long Polling(롱 폴링), SSE(Server Sent Events)폴링, 롱 폴링, SSE 방식이 필요한 이유폴링, 롱 폴링, SSE 등의 방식이 필요한 이유는 HTTP 프로토콜의 주요 특징인 비연결성 때문이다.실시간 알림 기능은 서버가 클라이언트에게 데이터를 보내면 클라이언트가 이를 인지하여알림을 띄워야하는 구조인데 HTTP 프로토콜인 웹에서도 실시간 기능이 필요했다. 이러한 실시간 처리가 필요할때 사용하는게 폴링, 롱 폴링, SSE 등의 방식이다. Polling 이란?클라이언트가 주기적으로 서버로 요청을 보내는 방식이다.일정시간마다 클라이언트가 서버로 요청을 보내 데이터 갱신이 있는지 확인하고, 갱신 시 응답을 받는 방식이다. 폴링 방식의 구현은 간단하지만 클라이언트가 계속해서 서버로 요청을 하기 때문에 리소스 낭비가 심하다.보낼 데이터가 없지만 계속해서 서버로 요..
2024.01.17 -
1️⃣ 람다식이란?JDK 1.8 부터 추가된 람다식(Lambda Expression)은 메서드를 하나의 식(Expression)으로 표현한것이다.람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있다.이러한 람다식은 메서드의 이름과 반환값을 제거할 수 있어 "익명함수" 라고도 한다. 람다식 형태// 람다식 형태(매개변수, ...) -> { 실행문 }// 일반 메서드public int sum(int a, int b){ return a + b;}// 일반 메서드를 람다식으로 변환(int a, int b) -> { return a + b; }; 위와 같이 람다식 형태는 익명함수처럼 메서드의 이름과 반환 타입을 제거하고 선언부와 몸통 사이에 -> 를 추가한다.-> 가 있음으로써 왼쪽 매개변수를 이용해서 중괄..
Java 람다식, 이중 콜론 연산자(메소드 참조 표현식)1️⃣ 람다식이란?JDK 1.8 부터 추가된 람다식(Lambda Expression)은 메서드를 하나의 식(Expression)으로 표현한것이다.람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있다.이러한 람다식은 메서드의 이름과 반환값을 제거할 수 있어 "익명함수" 라고도 한다. 람다식 형태// 람다식 형태(매개변수, ...) -> { 실행문 }// 일반 메서드public int sum(int a, int b){ return a + b;}// 일반 메서드를 람다식으로 변환(int a, int b) -> { return a + b; }; 위와 같이 람다식 형태는 익명함수처럼 메서드의 이름과 반환 타입을 제거하고 선언부와 몸통 사이에 -> 를 추가한다.-> 가 있음으로써 왼쪽 매개변수를 이용해서 중괄..
2024.01.16 -
개발환경 : Spring Boot 3.2.1, JDK17 1. Spring Boot Project 생성 New > Other > Spring Boot > Spring Starter Project 를 통해 프로젝트를 생성한다. 2. Node.js 설치 및 vue cli 설치https://nodejs.org/ko/download/Node.js 홈페이지에서 Windows Installer 를 통해 다운받는다. 설치한 후 시작프로그램에서 Node를 검색하면 이러한 커맨드가 나오는데 실행한다. 실행한 후 커맨드 창에 아래와 같은 키워드로 Vue Cli 를 설치해준다." npm install -g @vue/cli " * vue-cli란vue-cli는 기본 vue 개발 환경을 설정해주는 도구입니다. vue-cl..
Spring Boot 에 Vue.js 사용 및 Vue.js 프로젝트 기본구조개발환경 : Spring Boot 3.2.1, JDK17 1. Spring Boot Project 생성 New > Other > Spring Boot > Spring Starter Project 를 통해 프로젝트를 생성한다. 2. Node.js 설치 및 vue cli 설치https://nodejs.org/ko/download/Node.js 홈페이지에서 Windows Installer 를 통해 다운받는다. 설치한 후 시작프로그램에서 Node를 검색하면 이러한 커맨드가 나오는데 실행한다. 실행한 후 커맨드 창에 아래와 같은 키워드로 Vue Cli 를 설치해준다." npm install -g @vue/cli " * vue-cli란vue-cli는 기본 vue 개발 환경을 설정해주는 도구입니다. vue-cl..
2024.01.03 -
extends (상속) 이란?상속이란 부모 클래스의 메소드를 그대로 물려받아 오버라이딩할 필요 없이 그대로 사용 가능하도록 하는 기술상속하는 과정에서 개발된 클래스를 재 사용하여 중복되는 코드를 최대한 줄여주며 부모의 클래스를오버라이딩 하여 수정할 수 있다. 상속을 받더라도 부모 클래스의 모든 것들을 물려받는게 아니다.필드나 메서드의 접근제어자가 public 또는 protected 일 때만 상속이 가능하다. 다중상속 불가능Java 는 다중 상속이 불가능하다.예를 들어, 상속받은 여러개의 부모 클래스들에서 동일한 이름의 필드나 메서드가 존재할 경우?어떤 부모 클래스의 필드와 메서드를 상속받을 것인가?어떤 부모 클래스에 접근할 것인가?위 처럼 모호함이 발생하여 다중 상속이 불가능하다. Java 상속 방법..
Java extends(상속), superextends (상속) 이란?상속이란 부모 클래스의 메소드를 그대로 물려받아 오버라이딩할 필요 없이 그대로 사용 가능하도록 하는 기술상속하는 과정에서 개발된 클래스를 재 사용하여 중복되는 코드를 최대한 줄여주며 부모의 클래스를오버라이딩 하여 수정할 수 있다. 상속을 받더라도 부모 클래스의 모든 것들을 물려받는게 아니다.필드나 메서드의 접근제어자가 public 또는 protected 일 때만 상속이 가능하다. 다중상속 불가능Java 는 다중 상속이 불가능하다.예를 들어, 상속받은 여러개의 부모 클래스들에서 동일한 이름의 필드나 메서드가 존재할 경우?어떤 부모 클래스의 필드와 메서드를 상속받을 것인가?어떤 부모 클래스에 접근할 것인가?위 처럼 모호함이 발생하여 다중 상속이 불가능하다. Java 상속 방법..
2023.11.28 -
Spring Boot 에서 Context path 를 설정하지 않으면 기본적으로 '' 빈값으로 설정되어http://localhost:8080/ 로 접근할 수 있다.Controller 를 통해 RequestMapping 을 "/test" 로 설정하게 되면 http://localhost:8080/test 로 접근할 수 있다. Spring Boot 에서는 application.properties 또는 application.yml 을 통해 context path 를 설정하도록 권장하고 있다. 1. application.yml 을 통해 Context Path 설정하기본인은 .yml 을 통해 설정한다. (application.properties 와는 비슷하기 때문에 참고 바랍니다.) 설정하는 방법 server.se..
Spring Boot Context Path 설정하는 방법Spring Boot 에서 Context path 를 설정하지 않으면 기본적으로 '' 빈값으로 설정되어http://localhost:8080/ 로 접근할 수 있다.Controller 를 통해 RequestMapping 을 "/test" 로 설정하게 되면 http://localhost:8080/test 로 접근할 수 있다. Spring Boot 에서는 application.properties 또는 application.yml 을 통해 context path 를 설정하도록 권장하고 있다. 1. application.yml 을 통해 Context Path 설정하기본인은 .yml 을 통해 설정한다. (application.properties 와는 비슷하기 때문에 참고 바랍니다.) 설정하는 방법 server.se..
2023.11.23 -
Spring Boot 로 어플리케이션을 개발하는 도중에 VM arguments 를 사용하는 상황이 있었다.프로젝트 오른쪽 버튼 > Run As > Run Configurations > 왼쪽 프로젝트 클릭 > Arguments 선택 아래와 같이 Arguments 를 선택하여 설정할 수 있다. Program arguments어플리케이션에 전달되는 인수main(String[] args) method 의 args 배열을 통해 접근할 수 있다. VM ArgumentsJVM 에 전달되는 인수로 JVM 실행 방법을 구성하고 조정하는데 사용된다.JVM 에 전달되어 VM 의 동작방식 및 시스템 속성을 정의한다고 보면 된다. -X 옵션 : JVM Heap Memory(메모리 설정), Permanent Generati..
Spring Boot VM argument (VM Options), Program argumentsSpring Boot 로 어플리케이션을 개발하는 도중에 VM arguments 를 사용하는 상황이 있었다.프로젝트 오른쪽 버튼 > Run As > Run Configurations > 왼쪽 프로젝트 클릭 > Arguments 선택 아래와 같이 Arguments 를 선택하여 설정할 수 있다. Program arguments어플리케이션에 전달되는 인수main(String[] args) method 의 args 배열을 통해 접근할 수 있다. VM ArgumentsJVM 에 전달되는 인수로 JVM 실행 방법을 구성하고 조정하는데 사용된다.JVM 에 전달되어 VM 의 동작방식 및 시스템 속성을 정의한다고 보면 된다. -X 옵션 : JVM Heap Memory(메모리 설정), Permanent Generati..
2023.11.09