Java/Spring
-
개발환경 : Spring 4.4 버전, JDK 1.8 문제 좀 오래된 버전의 프로젝트를 실행 했을때 나오는 에러였다. STS 버전은 현재날짜 최신버전인 sts-4.18.1.RELEASE 였다. 에러 내용은 아래와 같다. 이 문제는 STS ini 파일을 보면 vmargs 에 들어갈 내용에 --add-opens 가 포함되어 있다. STS 버전은 높지만 Java 8 버전에서 사용할 수 없는 옵션이 있었다. Java 8 에서는 --add-opens 옵션을 지원하지 않는다고 한다. 해결방법 프로젝트의 vm args 값을 수정 해줘야한다. 프로젝트 마우스 오른쪽 버튼 > Run As > Run Configurations... > 톰캣 또는 Spring Boot App 에서 프로젝트 선택 > Arguments > V..
Java 1.8 버전 에러 - Unrecognized option: --add-opens=java.base/java.lang=ALL-UNNAMED개발환경 : Spring 4.4 버전, JDK 1.8 문제 좀 오래된 버전의 프로젝트를 실행 했을때 나오는 에러였다. STS 버전은 현재날짜 최신버전인 sts-4.18.1.RELEASE 였다. 에러 내용은 아래와 같다. 이 문제는 STS ini 파일을 보면 vmargs 에 들어갈 내용에 --add-opens 가 포함되어 있다. STS 버전은 높지만 Java 8 버전에서 사용할 수 없는 옵션이 있었다. Java 8 에서는 --add-opens 옵션을 지원하지 않는다고 한다. 해결방법 프로젝트의 vm args 값을 수정 해줘야한다. 프로젝트 마우스 오른쪽 버튼 > Run As > Run Configurations... > 톰캣 또는 Spring Boot App 에서 프로젝트 선택 > Arguments > V..
2024.01.31 -
접근 제한자(접근 제어자)란?Java 접근 제한자는 말 그대로 접근을 제어하기 위한 키워드이다.여기서 접근이란 클래스 및 메서드 등 이들이가지고 있는 정보를 클래스, 인터페이스 등다른 패키지에서 사용하지 못하도록 막을 필요가 있다.또한 객체 생성을 못하게 하거나 필드나 메서드를 사용하지 못하도록 막아야 하는 경우도 있다. 이때 접근 제한자 키워드를 사용해 제한할 수 있다.접근 제한자의 종류에는 public, protected, default, private 접근 제한자가 존재한다. 접근 제한자 종류 public외부 패키지에 존재하는 클래스들이 자유롭게 사용할 수 있다.같은 패키지내에서나 다른 패키지에서 자유롭게 접근할 수 있다.라이브러리 같은 외부 개발자들이 사용할 수 있도록 개발한다면 public 접..
Java 접근 제한자(접근 제어자)접근 제한자(접근 제어자)란?Java 접근 제한자는 말 그대로 접근을 제어하기 위한 키워드이다.여기서 접근이란 클래스 및 메서드 등 이들이가지고 있는 정보를 클래스, 인터페이스 등다른 패키지에서 사용하지 못하도록 막을 필요가 있다.또한 객체 생성을 못하게 하거나 필드나 메서드를 사용하지 못하도록 막아야 하는 경우도 있다. 이때 접근 제한자 키워드를 사용해 제한할 수 있다.접근 제한자의 종류에는 public, protected, default, private 접근 제한자가 존재한다. 접근 제한자 종류 public외부 패키지에 존재하는 클래스들이 자유롭게 사용할 수 있다.같은 패키지내에서나 다른 패키지에서 자유롭게 접근할 수 있다.라이브러리 같은 외부 개발자들이 사용할 수 있도록 개발한다면 public 접..
2024.01.19 -
폴링, 롱 폴링, 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