일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- python
- Spring
- @Component
- 알고리즘
- 구조체배열
- C++
- 스프링
- TypeORM
- 가상면접사례로배우는대규모시스템설계기초
- OpenCV
- 카카오
- nestjs auth
- 프로그래머스
- 해시
- 코테
- 파이썬
- C언어
- Nodejs
- @Autowired
- 시스템호출
- git
- 카카오 알고리즘
- 카카오 코테
- nestjs typeorm
- nestJS
- 컴포넌트스캔
- AWS
- 코딩테스트
- thymeleaf
- spring boot
- Today
- Total
목록전체 (333)
공부 기록장 💻
보호되어 있는 글입니다.
보호되어 있는 글입니다.
Linux Commadns 1. ls list 파일이나 디렉토리를 보는 명령어 옵션 a- : 전부 표시 (숨김 파일, 디렉토리 포함) -l : 상세 정보 (소유자, 크기, 수정 시간 등) -S : 크기별 정렬 -h ㅣ 단위 표현 변경 (KB, GB 등) $ ls -al 2. cd Change Directory 디렉토리 이동 절대 경로, 상대 경로로 이동 가능 $ cd /users/data $ cd .. $ cd ./downloads 3. pwd Print Working Directory 현재 작업중인 디렉토리를 보여줌 $ pwd 4. mkdir Make Directory 신규 디렉토리 생성 5. rmdir Remove Direcotry 디렉토리 삭제 (삭제 시 디렉토리 내에 파일이 없어야 함) $ mkd..
인프런 - 스프링 핵심 원리 기본편 정리 전략 패턴이란? 할인 서비스를 제공하는 시스템에서, 클라이언트가 직접 할인의 종류(고정 할인 정책, 비율 할인 정책)를 선택할 수 있는 상황을 가정하면, 디자인 패턴 중 하나인 전략 패턴(strategy pattern)에 기반하여, 동일한 타입 내의 모든 스프링 빈을 조회하는 방식으로 이를 구현할 수 있다. 전략 패턴의 단어 정의를 간단히 살펴보면 다음과 같다. 전략 패턴(strategy pattern) 또는 정책 패턴(policy pattern)은 실행 중에 알고리즘을 선택할 수 있게 하는 행위 소프트웨어 디자인 패턴이다. 전략 패턴은 특정한 계열의 알고리즘들을 정의하고 각 알고리즘을 캡슐화하며 이 알고리즘들을 해당 계열 안에서 상호 교체가 가능하게 만든다. 전..
Shortcut / Action Ctrl+B Go To Declaration Navigate to the initial declaration of the instantiated class, called method, or field. 선언된 특정 인터페이스와 클래스가 다른 곳에서 어떻게 쓰이고 있는지 확인하고자 할 때, Ctrl + B 단축키를 클릭하면 다음과 같이 어디서 import 되었는지, 어디서 필드로 사용되고 있는지 목록을 통해 확인할 수 있다.
인프런 - 스프링 핵심 원리 기본편 정리 동일한 타입이면서 이름만 다른 스프링 빈이 2개 이상 조회되는 경우 발생하는 문제를 해결하기 위해 @Qualifier를 적용하여 지정된 이름으로 스프링 빈을 구분할 수 있는 방법이 있었다. 그러나 @Qualifier("mainDiscountPolicy") 와 같이 문자를 적는 경우, 컴파일 시 타입 체크가 되지 않는다는 문제가 있다. 이를 해결하기 위해 애노테이션을 직접 만들어보자. @interface MainDiscountPolicy 만들기 core 패키지 아래 annotation 폴더를 만들고 MainDiscounPolicy라는 이름의 애노테이션을 만들어보자. @Qualifier 애노테이션에서 사용하고 있는 모든 애노테이션을 가져오도록 한 후, @Qualifi..
인프런 - 스프링 핵심 원리 기본편 정리 조회되는 스프링 빈이 2개 이상일 때, 문제가 발생한다. (NoUniqueBeanDefinitionException @Autowired 는 기본적으로 타입(Type)으로 조회한다. 타입으로 조회하기 때문에, DiscountPolicy 타입에 대하여 @Autowired private DiscoutPolicy discountPolicy 는 ac.getBean(DiscountPolicy.class) 와 유사하게 동작한다고 볼 수 있다. 이전에 스프링 빈 조회 시 선택된 빈이 2개 이상일 때 문제가 발생함을 배웠다. 아래 예시로, DiscountPolicy를 구현하는 RatedDiscountPolicy, FixedDiscountPolicy에 모두 @Component를 붙..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
인프런 - 스프링 핵심 원리 기본편 정리 생성자와 Getter, Setter 등 작성해야 하는 코드를 간결하게 줄여주는 Lombok 라이브러리에 대해 알아보자. 롬복이란? Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java. Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more. 롬복은 Java 라이브러리로 반복되는 getter,..
인프런 - 스프링 핵심 원리 기본편 정리 @Autowired 를 이용하여 스프링 빈의 의존 관계를 자동으로 주입하는 방법들에 대해 배웠다. 생성자를 통해 의존 관계를 주입하는 경우, 스프링 빈으로 필수적으로 등록되어야 한다는 전제가 있었지만, setter와 같은 수정자 또는 메서드를 사용하여 DI 수행 시, 주입할 스프링 빈이 없어도 동작이 가능하다. 주입할 스프링 빈이 없어도 동작할 수 있도록 옵션을 처리하는 방법들에 대해 학습해보자. 자동 주입 대상을 옵션으로 처리하는 방법 3가지 스프링 빈으로 등록되어 있지 않은 의존 관계를 옵션으로 처리하는 방법에는 다음과 같이 3가지가 있다. @Autowired(required=false): 자동 주입할 대상이 없으면 수정자 메서드 자체가 호출되지 않음 org...
인프런 - 스프링 핵심 원리 기본편 정리 스프링의 컴포넌트 스캔 기능을 이용하여, 자동으로 스프링 빈을 컨테이너에 등록하고, 생성자에 적용된 @Autowired를 통해 해당 빈의 의존 관계를 자동으로 주입(DI) 한다는 것에 대해 학습하였다. 이번에는 @Autowired를 활용해 의존 관계를 주입하는 방법 4가지와 각각의 특징에 대해 배워보자. 그리고, 왜 생성자를 통한 의존 관계 주입을 사용해야 하는지 이유를 알아보자. 의존 관계 주입 방법 4가지스프링 컨테이너가 관리하는 스프링 빈에 대하여, 의존 관계를 주입하는 방법에는 다음과 같이 크게 4가지의 방법이 있다.생성자 주입수정자 주입 (setter 주입)필드 주입일반 메서드 주입 단, 의존 관계 자동 주입은 스프링 컨테이너가 관리하는 스프링 빈이어야 ..
보호되어 있는 글입니다.
인프런 - 스프링 핵심 원리 기본편 정리 스프링 컨테이너에 스프링 빈을 자동으로 등록하고 의존 관계를 주입해주는 컴포넌트 스캔에 대해 학습을 하였고, 이번에는 컴포넌트 스캔에서 같은 빈 이름이 등록되는 경우 발생하는 충돌에 대해 알아보자. AOP에 대해 학습하며 발생한 오류가 스프링 빈 중복 등록인 줄 알았던 며칠 전.. 스프링 입문 강의를 수강하며 AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)에 대해 학습하던 중, 스프링 컨테이너와 컴포넌트 스캔에 대한 충분한 이해가 바탕이 되지 않은 상태로 Configuration 설정 정보를 구성하여 오류가 발생한 경험이 있는데, 해당 오류 발생 원인이 스프링 빈 중복 등록으로 인한 충돌이라고 생각했던 경험이 있었다. (아래 글)..
인프런 - 스프링 핵심 원리 기본편 정리 지난번 AutoAppConfig의 @ComponentScan을 이용하여 스프링 컨테이너가 자동적으로 @Component 애노테이션이 추가되어 있는 컴포넌트들을 스프링 빈으로 등록하고, @Autowired를 통해 의존 관계를 자동으로 주입하는 컴포넌트 스캔 기능을 사용하였다. 이번에는 컴포넌트 스캔의 기본 탐색 위치와, 직접 지정을 통한 스캔 대상에 대해 학습해보자. 컴포넌트 스캔의 탐색 위치 모든 자바 클래스를 전부 다 컴포넌트 스캔하면 시간이 오래 걸리기 때문에, 꼭 필요한 위치부터 탐색하도록 시작 위치를 지정할 수 있다. 기본 스캔 대상 아래와 같이 지정하지 않는 경우는, 디폴트 값으로 @ComponentScan이 붙은 설정 정보 클래스 패키지가 시작 위치가 ..