목차 FastAPI에서의 상속은 주로 SQLAlchemy 모델, Pydantic 모델, 그리고 라우터에 적용된다. 한 줄 한 줄 더듬으며 개발하다 보니, 그리고 파이썬의 상속이 너무 간결하다 보니 그 기능을 오히려 잊게 될 때가 있는데, 또다시 잊어버렸을 나중의 나를 위해서 굳이 글을 분리해서 정리한다. SQLAlchemy 모델의 상속 SQLAlchemy는 ORM 라이브러리로, 디비 테이블을 파이썬 클래스로 표현한다. 이때 'Base'라는 SQLAlchemy의 클래스를 상속받아 사용해야 하는데, 이는 나의 경우 db.py에 다음과 같이 선언되어 있다. Base: DeclarativeMeta = declarative_base() 위와 같이 한 번만 선언하고 모든 모델에서 이 클래스를 상속받아 사용하게 되..
DI(의존관계 주입)는 특정 객체가 의존할 객체나 메서드를(즉, 의존관계를) 해당 객체 외부에서, 정확하게는 스프링 컨테이너에서 주입받는 디자인 패턴이다. 여기서 A가 B에게 의존한다는 말은 B의 구성이나 로직이 변하면 A에게 영향을 끼칠 가능성이 있는 관계라는 뜻이다. 이어서 주입이란 의존성을 사용하려는 객체에게 전달하는 것이라 받아들이면 되며, 디자인 패턴이란 공통적인 문제에 대한 재활용 가능한 솔루션이라 생각하면 된다. 또한 스프링 컨테이너란 객체의 생명주기를 관리하는 모듈이며, 스프링 컨테이너가 관리하는 객체를 빈(Bean)이라 부른다. 이는 스프링의 핵심 원칙인 IoC를 구현하는 수단이기도 하며, 객체의 설계와 사용이라는 관심사를 분리해 느슨한 결합으로 의존도를 낮추는 것이 그 목적이다. 구체적..
DI는 특정 객체가 의존할 객체나 메서드를(즉, 의존관계를) 외부에서 주입받는 디자인 패턴이다. 여기서 주입이란 위 그림에서 보듯이 의존성을 사용하려는 객체에게 전달하는 것이라 받아들이면 되며, 디자인 패턴이란 공통적인 문제에 대한 재활용 가능한 솔루션이자 컨셉이라 생각하면 편하다. 또한 DI는 스프링의 핵심 원칙인 IoC(제어 역전)를 구현하는 수단 중 하나인데, DI의 목표가 객체의 설계와 사용이라는 관심사를 분리함으로써 느슨한 관계로 이루어진 앱을 만드는 것이기 때문이다. 이는 코드의 가독성과 재사용성을 크게 높여주는 효과도 가지고 있다. 그렇다면 이렇게까지 주입하려는 의존성이란 무엇일까? 간략하게 알아보자. Dependency Dependency는 의존성, 의존관계라고 번역한다. 나는 처음엔 의존..
DI(Dependency Injection, 의존성 주입)는 스프링 프레임워크의 네 가지 특징 중 하나이다. 이전 글에서 다룬 적이 있지만, 간략하게 요약하면 다음과 같다. 2022.08.09 - [개발/Spring] - [Spring]Spring Framework, Spring Triangle [Spring]Spring Framework, Spring Triangle Spring Framework, 혹은 Spring은 Java/Kotlin을 기반으로 한 오픈소스 웹 프레임워크이다. 특히나 엔터프라이즈급 애플리케이션 개발에 필요한 기능이 종합적으로 포함되어 있는데, 대한민국 전자정부 gnidinger.tistory.com DI는 객체 간의 의존관계가 소스코드 외부에서 설정에 의해 정해지는 방식을 뜻한다...
지난 글에서 스프링은 스프링 컨테이너로 객체를 관리한다. 스프링 컨테이너에서 관리되는 객체를 빈(Bean)이라고 한다. BeanDefinition은 빈을 생성할 때 쓰이는 레시피이다. @Content, @Configuration, @Bean 등의 애너테이션을 통해 빈을 등록할 수 있다. 는 것에 대해 언급했다. https://gnidinger.tistory.com/454 [Spring]DI - 스프링 컨테이너(Container)와 빈(Bean) 지난번 글에서, IoC(Inversion of Control)는 DI(Dependency Injection)에 의해 구현된다고 했었다. 여기서 IoC는 제어 역전이라는 뜻을 가지며, 외부 프레임워크가 개발자의 코드를 호출해 실행된다. DI는 풀 gnidinger...
지난번 글에서, IoC(Inversion of Control)는 DI(Dependency Injection)에 의해 구현된다고 했었다. 여기서 IoC는 제어 역전이라는 뜻을 가지며, 외부 프레임워크가 개발자의 코드를 호출해 실행된다. DI는 풀어쓰면 의존성 주입이며, 객체 간의 의존관계가 소스코드 외부의 설정에 의해 정해지는 방식이라고 할 수 있다. https://gnidinger.tistory.com/450?category=992842 [Spring]Spring Framework, Spring Triangle Spring Framework, 혹은 Spring은 Java/Kotlin을 기반으로 한 오픈소스 웹 프레임워크이다. 특히나 엔터프라이즈급 애플리케이션 개발에 필요한 기능이 종합적으로 포함되어 있는..
Spring Framework, 혹은 Spring은 Java/Kotlin을 기반으로 한 오픈소스 웹 프레임워크이다. 특히나 엔터프라이즈급 애플리케이션 개발에 필요한 기능이 종합적으로 포함되어 있는데, 대한민국 전자정부 표준프레임워크의 기반 기술로도 쓰이도 있다. 엔터프라이즈급 애플리케이션 - 기업을 대상으로 하는, 대규모 데이터와 트랜잭션 처리가 이루어지는 앱 Framework(프레임워크) 특정 목적을 위해 설계된 구조 혹은 뼈대 소프트웨어의 설계와 구현을 위해 재사용이 가능한 일련의 클래스와 라이브러리를 제공하는 것 앱 개발을 위한 기초 프로그램이자 반제품 Framework = Design Pattern(재사용 가능한 솔루션) + Library, 즉 라이브러리를 포함한 개념 Library와 Framew..
- Total
- Today
- Yesterday
- 자바
- RX100M5
- 맛집
- 리스트
- spring
- Python
- 스프링
- 스트림
- 야경
- a6000
- 파이썬
- 면접 준비
- 동적계획법
- 알고리즘
- 세계여행
- 세계일주
- 여행
- 칼이사
- 유럽여행
- 지지
- java
- 유럽
- 남미
- 중남미
- BOJ
- 백준
- 세모
- 기술면접
- Algorithm
- Backjoon
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |