본문 바로가기

개발14

DI(Dependency Injection : 의존성 주입) 의존성이란? 한 객체가 다른 객체와 상호참조하고 있다면, 현재 객체는 다른 객체에 의존성을 가진다. 의존성 주입이란? DI 를 간단히 말해 외부에서 의존 객체를 생성하여 넘겨주는 것을 의미합니다.따라서 의존 관계가 내부가 아닌 외부의 설정 파일에 의해서 결정되게 됩니다. 소프트웨어 프로그래밍의 관점에서 Dependency Injection 즉 의존성 주입을 간단히 설명한다면 하나의 객체(C)가 다른 객체(B)를 필요로하는 특정 객체(A)에게 의존성을 대신 간접적으로 전달해주는 역할이라고 말할 수 있습니다. 아래의 예시를 보겠습니다. A라는 특정 객체가 B라는 다른 객체를 참조하고 싶다면 이전 같은 경우에는 A가 B를 직접적으로 참조하였습니다. 그러나 의존성 주입을 활용한다면 C라는 하나의 객체가 A라는 .. 2020. 11. 10.
싱글턴 디자인 패턴 싱글턴 패턴이란 ? 전역변수를 사용하지 않도록 객체 하나만을 생성하도록 하며, 생성된 객체는 어디서든 참조할 수 있도록 하는 디자인패턴 싱글톤 패턴은 다음과 같은 상황에 적용할 수 있다. 프로그램 내 에서 어떤 객체가 단 1개만 존재해야 한다. 프로그램 내부의 여러 부분에서 이 객체를 공유하며 사용한다. 위와 같은 상황에서, 싱글톤 패턴은 객체가 프로그램 내부에서 단 1개만 생성됨 을 보장한다. 멀티 스레드에서 이 객체를 공유하며 동시에 접근하는 경우에 발생하는 동시성 문제도 해결할 수 있다. class Node { private static Node singleton; // 싱글톤의 특성은 생성자가 private이다. // 그러므로 외부에서 new로 선언할 수가 없다. private Node() { }.. 2020. 11. 10.
Web Pack이란 무엇인가 단순 정의 WebPack이란 모듈을 번들링하는 도구다. WebPack 공식 홈페이지의 메인화면에서 돌아가는 이미지를 보면 보다 쉽게 이해가 될 것이다. 대충봐도 복잡한 의존성 모듈들을 묶어서 정적 요소로 합쳐주는 것이다. 다음은 공식 홈체이지에 잇는 예제이다. src/index.js import bar from './bar'; bar(); src/bar.js export default function bar() { // } webpack.config.js const path = require('path'); module.exports = { entry: './src/index.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle... 2020. 11. 6.
타입스크립트 정리하기 5. Enum 본 글의 모든 내용은 https://goalkicker.com/ 에서 다운로드한 TypeScript Notes For Professionals 를 번역한 내용입니다. 본 글의 목적은 본인의 학습 및 참고자료로 사용하기 위함입니다. 5. Enum 5-1. 특정한 값을 가진 Enum enum의 기본값은 각 요소가 풀어질 때 숫자 값이 할당된다. enum MimeType { JPEG, PNG, PDF } MimeType의 PDF를 사용하게 되면, 값은 2가 된다. 이 때, 각 요소에 값을 할당할 수 있다. enum MimeType { JPEG = 'image/jpeg', PNG = 'image/png', PDF = 'application/pdf' } 이제 MimeType의 PDF를 사용하게 되면, 값은 'ap.. 2020. 4. 19.
Type Script 정리 - 2. 타입스크립트를 언제 또 왜 사용해야 하는가? 본 글의 모든 내용은 https://goalkicker.com/ 에서 다운로드한 TypeScript Notes For Professionals 를 번역한 내용입니다. 본 글으 목적은 본인의 학습 및 참고자료로 사용하기 위함입니다. 2-1. 안전성 타입스크립트는 정적 분석을 통해 타입에러를 잡아낸다. function double(x: number) : number { return 2*x; } double('2'); // ~~~ Argument of type '"2"' is not assignable to parameter of type 'number'. 2-2 가독성 타입스크립트는 에디터에서 상황에 맞는 문서를 제시한다. 2-3. 자동완성 타입스크립트는 에디터가 자동으로 소스코드를 지정한 형태로 포맷을 자.. 2020. 4. 13.
반응형