정적 팩토리 메서드란?
·
노빠꾸 개발일지/JAVA
장점 이름을 가질 수 있다. 호출될 때마다 인스턴스를 새로 생성하지 않아도 된다. 반환 타입의 하위 타입 객체를 반환할 수 있는 능력이 있다. 입력 매개변수에 따라 매번 다른 클래스의 객체를 반환할 수 있다. 정적 팩터리 메서드를 작성하는 시점에는 반환할 객체의 클래스가 존재하지 않아도 된다. 단점 상속을 하려면 public이나 protected 생성자가 필요하니 정적 팩터리 메서드만 제공하면 하위 클래스를 만들 수 없다. 정적 팩터리 메서드는 프로그래머가 찾기 어렵다. 정적 팩터리 메서드 명명규칙 from 매개변수를 하나 받아서 해당 타입의 인스턴스를 반환하는 형 변환 메서드 ex) Date d = Date.from(instant) of 여러 매개변수를 받아 적합한 타입의 인스턴스를 반환하는 집계 메서..
Spring Security 5.7.x 이후 버전에서 WebSecurityConfigurerAdapter 클래스의 deprecation 이유와 대안 방법
·
노빠꾸 개발일지/SPRING
소개 Spring Security에서 제공하는 WebSecurityConfigurerAdapter 클래스는 웹 애플리케이션의 보안 구성을 위해 사용되는 중요한 클래스입니다. 그러나 스프링 시큐리티 5.7.x 버전 이후부터는 이 클래스가 deprecation 되었습니다. 이번 피드에서는 WebSecurityConfigurerAdapter 클래스의 deprecation 이유와 대안 방법에 대해 알아보겠습니다. WebSecurityConfigurerAdapter 클래스란? WebSecurityConfigurerAdapter 클래스는 스프링 시큐리티에서 제공하는 클래스로, HTTP 요청에 대한 보안 구성을 설정하는 메서드를 제공합니다. 예를 들어, 로그인 폼, 로그아웃, 인증에 대한 설정을 추가할 수 있습니다...
스프링부트 프로젝트 기본 생성 방법 및 간단한 정리
·
노빠꾸 개발일지/SPRING
스프링 부트 프로젝트 생성해보기 스프링 부트 프로젝트 생성방법 스프링부트 프로젝트를 생성하는 방법에는 대표적으로 2가지 방법이 있다. Spring initializr 사이트 이용 IDE 메뉴를 통한 프로젝트 생성 ℹ 스프링부트 버전마다 지원하는 라이브러리 버전이 다르므로 버전에 맞게 라이브러리를 추가하여 프로젝트를 생성하여야 한다. 스프링부트 프로젝트 실행해보기 스프링 부트 프로젝트를 생성하게되면, 아래와 같이 프로젝트가 생성이 된다. 스프링 부트 프로젝트는 생성 후, 별다른 설정없이 바로 프로젝트를 실행해 볼 수 있다. 아래의 프로젝트 구조 예시는 특별한 설정없이 생성한 스프링부트 프로젝트이다. src/main/java 해당 영역은 자바파일이 관리되는 폴더이다. Controller, Service, D..
인텔리제이 라이브 템플릿(Live Template)
·
노빠꾸 개발일지
라이브템플릿(LIVE TEMPLATE) 코드를 작성하다보면, 반복적으로 사용하는 코드들이 있다. 인텔리제이에는 이런 반복작업을 손쉽게 작업할 수 있도록 도와주는 기능이 있는데 바로 Live Template이다. 인텔리제이에서는 Live Template을 아래와 같이 설명하고 있다. 라이브 템플릿은 코딩속도를 높이는데 도움이 되는 강력한 기능입니다. 템플릿에 미리 정의된 약어를 입력하기만 하면 작업에 표준 코드 구성을 빠르게 삽입할 수 있습니다. 반복적으로 사용하는 코드 스니펫을 삽입하는데 사용할 수 있는 고유한 사용자 템플릿을 만들 수도 있습니다. 라이브템플릿(Live Template) 적용방법 1. 단축키 ⌘ + , 를 이용하여 Preferences를 열고, live template을 검색한다. 2. ..
마크다운이란?🤔 마크다운 기본 문법 정리
·
노빠꾸 개발일지
🤔 마크다운이란 무엇일까.... 문서를 작성하다 보면 마크다운 형식을 제공하는 문서를 종종 보곤 한다. Github, Notion, Slack... 등등 주변에서 쉽게 마주할 수 있다. 마크다운(Markdown)은 일반 텍스트 기반의 경량 마크업 언어이다. 일반 텍스트로 서식이 있는 문서를 작성하는데 사용되며, 일반 마크업 언어에 비해 문법 이 쉽고 간단한 것이 특징이다. 포스팅 및 메모관리를 마크다운 형식으로 작성해보려고 마크다운의 기본사용 문법을 정리해 보려고 한다. 1. 기본문법 • Headings # 제목1 ## 제목2 ### 제목3 #### 제목4 ##### 제목5 ###### 제목6제목1 제목2 제목3 제목4 제목5 제목6 • Bold 마크다운 문법 ** 문자 굵게 표시 ** Test문자 굵게..
스프링 부트(Spring Boot)란?
·
노빠꾸 개발일지/SPRING
🤔 스프링 부트는 스프링 기반으로 독립실행형 애플리케이션을 쉽게 만들 수 있게 해준다. ● 스프링 부트 특징 1. 독립형 Spring 애플리케이션 생성, Tomcat, Jetty 또는 Undertow를 직접 포함(WAR 파일을 배포할 필요 없음) - 별도로 설치된 컨테이너(Tomcat.. 등)로 배포하지 않고 독립실행형(Standalone) 자바 애플리케이션으로 동작한다. 2. 빌드 구성을 단순화하기 위해 독자적인 '스타터' 종속성을 제공합니다. - 스프링부트는 검증된 라이브러리 구성, 의존관계와 적용할 버전, 각 라이브러리의 세부구성과 디폴트 설정을 제공한다. 3. 가능할 때마다 자동으로 Spring 및 타사 라이브러리 구성 4. 코드 생성이나 XML 설정이 필요하지 않다. 참고 : https://sp..
마이크로 서비스 아키텍처(MSA) & 모놀로식 아키텍처 정리
·
노빠꾸 개발일지
이번 피드에서는 마이크로 서비스 아키텍처(MSA)와 모놀로식 아키텍처에 대해 알아보는 피드를 정리해 보겠습니다. 마이크로 서비스 아키텍처(MSA) 와 모놀로식 아키텍처는 상반되는 개념의 아키텍처로 비교하여 알아두면 좋다. 마이크로 서비스 아키텍처(MSA) 마이크로 서비스 아키텍처는 마이크로서비스(Micro Service)라는 작은 단위의 컴포턴트로 구성되어있다. 서비스 전체 기능을 독립된 작은 단위로 나누어 분리하고, 각각의 컴포넌트는 독립된 시스템 형태로 개발하고 운영한다. 장점 1. 하나의 마이크로 서비스는 하나의 비지니스 기능을 담당하므로 다른 마이크로 서비스와 간섭이 최소화 된다. 2. 대용향 데이터를 저장하고 처리하는데, 비교적 자유롭다. 3. 각각의 서비스가 느슨하게 결합되어 있어, 어떤 서비..
[스프링 시큐리티] 스프링 시큐리티 기본
·
노빠꾸 개발일지/SPRING SECURITY
스프링 시큐리티는 인증과 접근제어를 위한 맞춤구성이 가능한 강력한 프레임워크이다. 스프링프레임워크를 사용하고 있다면, 스프링시큐리티를 이용하여 손쉽게 애플리케이션 레벨의 보안을 적용 할 수 있다. 스프링시큐리티에 대한 세부 내용은 아래의 스프링시큐리티 공식URL에서 확인이 가능하다. https://spring.io/projects/spring-security#overview Spring Security Spring Security is a framework that focuses on providing both authentication and authorization to Java applications. Like all Spring projects, the real power of Spring Sec..
[JAVA] 정적팩토리메서드(Static Factory Method)란?
·
노빠꾸 개발일지/JAVA
이번 피드에서는 정적팩토리메서드(Static Factory Method)에 대해 간단히 정리해 보도록하겠습니다. 정적팩토리메서드란. 간단히 표현하면 객체를 생성하는 역할을 하는 메서드입니다. 객체를 생성하기 위해서는 일반적으로 생성자를 이용하여 생성하는 방식을 많이 알고 사용되고 있습니다. new 키워드를 이용하여 클래스의 객체를 직접 생성하는 방식인데, 정적팩토리메서드를 이용하면 직접 new 키워드를 사용하지 않고 클래스의 객체를 제공받을 수 있습니다. 정적팩토리메서드가 객체를 제공해주기때문에, 해당 메서드를 호출하는 것만으로 객체를 제공받을 수 있게 되는 것입니다. 정적팩토리메서드의 대표적인 예시로는 Optional의 of가 있습니다. Optional클래스에서 of() 메서드를 이용하여 객체를 전달받..
[GITHUB] 깃 저장소(Repository)에 폴더 생성해보기
·
노빠꾸 개발일지/GIT
이번 피드에서는 깃허브를 이용해서 깃 저장소(Repository)에 폴더를 생성하는 방법에 대한 피드를 정리해보겠습니다. 폴더를 여러개 생성하면, 한개의 저장소에서 각각 구분된 미니 프로젝트를 여러를 관리해 볼 수도 있습니다. 한개의 깃 저장소(Repository)에서 여러 프로젝트를 관리하는 방법은 폴더로 구분하는 방법 말고도, 서브트리(subtree)를 이용하여 각각의 독립된 저장소(Repository)를 가진 프로젝트들을 한개의 저장소(Root Repository)에 통합해서 관리하는 방법도 있지만 이번 피드에서는 간단히 한개의 저장소에서 폴더를 생성해서 관리해보는 방법을 정리해보겠습니다. 서브트리 관련해서는 다음에 한번 정리해 보도록 하겠습니다. 우선 깃 저장소(Repository)를 생성해 줍니..
No Backing
'노빠꾸 개발일지' 카테고리의 글 목록 (2 Page)