목록프로그래밍👩🏻💻 (110)
suyeonme
1. Dependency Injection(DI)이란? 스프링 컨테이너가 스프링 빈(bean)간의 의존 관계를 외부에서 주입해주는 것을 말한다. 의존 관계 주입을 하기 위해서는 먼저 스프링 컨테이너에 스프링 빈으로 등록해야한다. 스프링에서 제공하는 DI를 사용하지 않으면, 개발자가 직접 의존 관계가 있는 클래스들을 new 키워드를 사용하여 일일이 연결해야하는데 이는 매우 번거롭다. // new 키워드 사용 public class MemberService { private MemberService memberRepository = new MemberRepository(); } // 스프링의 DI 사용 @Service public class MemberService { private final MemberR..
1. Spring Container란? xml이나 annotation등을 사용하여 bean을 생성한다. 스프링 컨테이너는 Bean에 의존성을 주입(dependency injection)한다. 스프링 컨테이너는 인스턴스의 생명주기(생성~소멸) 및 의존성을 관리한다. 따라서 개발자는 비즈니스 로직에만 집중할 수 있다. 2. Spring Bean이란? 스프링 컨테이너가 생성한 객체를 Bean 이라고 한다. 스프링은 스프링 컨테이너에 빈(bean)을 등록할 때 기본적으로 Singleton Scope로 등록한다. 따라서 스프링 빈은 기본적으로 싱글톤(Singleton)이다. 따라서 한개의 인스턴스이며 전역에서 공유된다. 2.1 스프링 컨테이너에 Bean 등록 스프링 컨테이너에 빈을 등록하는 방법은 크게 두가지이다..
자바의 빈 클래스의 특징은 아래와 같다. 1. 데이터 표현을 목적으로 하는 클래스 (getter, setter) 2. Bean Factory라고도 불리운다. 3. Java Beans Convention을 지켜야 한다. 1. 클래스는 인자(Argument)가 없는 기본 생성자(Default constructor)를 갖는다. 2. 클래스의 멤버 변수는 프로퍼티(Properties)라고하며 private 접근 제한자를 가져야 한다. 3. 클래스의 프로퍼티들은 Getter/Setter를 통해 접근할 수 있어야 한다 4. Getter의 이름은 get{프로퍼티 이름} 이며, Setter의 이름은 set{프로퍼티 이름}이다 5. Getter/setter의 접근 제한자는 public이어야 한다. 6. 프로퍼티의 타입이..
1. TSDoc이란? TSDoc은 타입스크립트 코드에서 사용되는 doc comments로 , API 문서를 작성하고 코드에 대한 메타 데이터를 정의할 수 있다. 타입스크립트는 정적 타이핑을 제공하기 때문에 TSDoc을 사용하면 코드에 대한 디테일을 수월하게 기술할 수 있다. VScode에서 TSDoc 을 지원하므로 TSDoc의 태그를 사용하여 커멘트를 남기면, 하이라이팅이 되어 손쉽게 커멘트를 식별할 수 있으며 코드에 대한 힌트를 얻을 수 있다는 장점이 있다. 규칙은 아래와 같다. 커멘트는 /**로 시작한다. 태그는 @를 사용한다. (e.g. @returns) 2. 태그(Tag) 종류 태그를 사용하여 커멘트의 사용 용도를 분류할 수 있다. 자주사용할 것 같은 태그를 정리하였다. @deprecated 더이..
정규 표현식을 자주 사용을 안 하다보니, 사용할 때마다 디테일한 문법들이 기억이 잘 나지 않아서 그 때 그 때 필요한 부분을 찾아서 사용을 하곤한다. 오늘은 복습 차원에서 정규 표현식을 다시 정리해보았다. 1. 정규 표현식(Regular Expression)이란? 정규 표현식은 문자열에서 특정 문자 조합을 찾기 위한 패턴이다. 정규 표현식은 아래의 두 가지 방법으로 만들 수 있다. 1.1. Literal 스크립트를 불러올 때 컴파일 바뀌지 않는 정적인 패턴의 경우 사용 const regex = /ab+c/ 1.2. Regex Constructor 런타임에 컴파일 동적으로 바뀌는 패턴의 경우 사용 const regex = new RegExp('ab+c'); // 동적으로 값을 할당하는 경우 const re..
1. Lombok이란? 자바 코드를 작성하다보면 반복적으로 작성하게되는 로직들이 있다. constructor, getter, setter등이 대표적인 예시이다. 이 때 롬복 라이브러리를 사용하여 반복되는 boilerplate 코드를 최소화하여 간결하고 편리하게 코드를 작성할 수 있다. 2. 설치하기 Gradle 환경에서 Lombok을 설치하는 방법은 아래와 같다. 1. build.gradle에 롬복 라이브러리를 추가한다. // build.gradle configurations { compileOnly { extendsFrom annotationProcessor } } dependencies { ... compileOnly 'org.projectlombok:lombok' annotationProcessor..