일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- '0'
- singly Linked List
- 총정리
- Algorithm
- sstream
- sort
- STL
- c++
- 알고리즘
- connected_component
- template
- qsort
- function_template
- deletion
- 문법
- 백준
- Biconnected_Component
- Heap
- Critical_Path_Analysis
- Pair
- class_template
- 자료구조
- data_structure
- list
- 13305
- 구현
- Articulation_Point
- 예제
- red-black tree
- 5397
- Today
- Total
- Today
- Total
- 방명록
목록2024/02/08 (3)
어제의 나보다 성장한 오늘의 나
JS로 벡엔드를 개발할 때 DI를 어떻게 설계 해야할 지 고민이 될 것이다. 이 때 tsyringe는 좋은 선택이다. JS 의존성 주입 라이브러리로 tsyringe는 코드 관리에 아주 좋다. 왜냐하면 다른 라이브러리에 비해 코드의 양이 매우 짧다. 그 이유는 이 라이브러리는 의존성을 데코레이터 기반으로 Container에 등록 해주는 방식인데 클래스에 데코레이터가 붙어있으면 자동 으로 container에 등록해주기 때문에 코드의 양이 줄어든다. ( 마치 스프링 같다. ) 그럼 사용하는 방법에 대해 코드로 알아보자 1) 설치 방법 // npm npm install --save tsyringe // pnpm pnpm add tsyringe // yarn yarn add tsyringe 2) tsconfig...
개발팀 내에서 빠른 생산성을 위해 fastify를 사용하기로 하였고 개발 도중 의존성 주입에 필요성을 느끼게 되어 awilix를 도입하고자 하였다. 이에 따라 오늘은 fastify에서 awilix를 어떻게 사용하는 지에 대해서 알아보자. 자바스크립트로 의존성 주입을 설계 하다보면 해당 클래스나 함수에 필요한 의존성들을 미리 등록해 두어야 한다. 이를 Awilix에서는 container로 관리한다. 필요한 의존성들은 미리 container에 등록(register) 해두고 필요한 곳에서 꺼내서(resolve) 사용한다. 1) 설치 npm i @fastify/awilix awilix 2) 플러그인 연결 fastify와 awilix를 연결해 주는 작업을 진행한다. const { fastifyAwilixPlugi..
벡엔드를 공부 하다보면 한 번쯤 의존성 주입에 대해 들어본 적 있을 것이다. 중요하다는 건 알겠는데 대체 무엇일까?? 의존성 주입은 의존성(Dependency)과 주입(Injection)이 합쳐진 말이다. 그래서 의존성에 대해서 먼저 이해해야 한다. 코드와 함께 보자 예시 1) 의존성 X class Person { driveCar() { console.log("차를 운전합니다."); } } const driver = new Person(); driver.driveCar(); // 차를 운전합니다. Person 클래스에서 driveCar 메서드를 실행 시키는 단순한 구조이다. Person 클래스는 현재 다른 클래스와 어떤 의존성도 가지고 있지 않은 독립적인 구조이다. 예시 2) 강한 결합 ( 높은 의존성 ..