전체 글103 [TS] OOP Class 타입스크립트에서는 타입을 기본적으로 설정을 해주어야 하는데, OOP를 만족하면서 코드를 작성해 주기 위해서는 결과물에 대한 타입을 먼저 설정해 주어야 합니다. type Smartphone = { color: string; brand: apple; }; 1. Encapsulation(캡슐화) 연관있는 데이터들을 하나의 오브젝트 안에 모아 두는 것이 캡슐화라고 합니다. 그리고 외부에서 보일 필요 없는 내부 데이터를 숨기기도 합니다. 그러므로 내부에 상태를 변경하지 않고 어떤 외부의 데이터가 들어오느냐에 따라 상태가 변하도록 만듭니다. static class 안에서 함수나 변수 앞에 static을 사용하면 class 레벨로 설정이 되며, 쉽게 말해서 만들고 있는 클래스에 고정된 데이터가 되는 것입니.. 2022. 3. 14. [TS] Type 타입스크립트에서 타입을 설정하는 방법은 다양합니다. 기본적인 부분만 정리해보려 합니다. 참고 할만한 핸드북 링크 - https://joshua1988.github.io/ts/ 1. 기본 타입 자바스크립드와 다르게 타입스크립트는 변수, 함수를 선언할 때, 타입을 꼭 설정해 주어야 합니다. 1. number const num: number = 3; 2. string const str: string = 'Hello World'; 3. boolean const bool: boolean = false; 4. void function World(): void { console.log('hello world'); return; } 함수가 어떠한 것도 리턴하지 않을 때 사용합니다. (생략 가능) 5. never fun.. 2022. 3. 7. [TS] Type Script 타입스크립트는 2012년도에 마이크로소프트 회사에서 만든 언어 입니다. 자바스크립트는 어떠한 변수에 타입을 지정해주지 않아도 되지만, 타입스크립트에서는 어떠한 타입이 들어가야 하는지 정적으로 설정해 주어야 합니다. (자바스크립트는 Dynamically typed, 타입스크립트는 Statically typed) 자바스크립트를 사용하다가 타입스크립트를 사용한다면 타입이라는 부분에 불편한 언어라고 생각 할 수 있지만, 자바스크립트는 가독성이 떨어집니다.(어떤 변수와 함수를 쓰는지 유추하기 어려움) 그리고 사용자가 사용하면서 에러가 발생하여 죽는 경우가 빈번해지는데, 타입스크립트는 코딩을 하면서 실시간으로 에러를 확인 할 수 가 있습니다. 뿐만 아니라 강력한 객체지향 프로그래밍(OOP)을 할 수 가 있습니다. .. 2022. 3. 6. [node.js] TDD / Jest(관련링크) 1. TDD TDD는 Test Driven Development의 약자로 '테스트 주도 개발', 개발하는 방식을 이야기 합니다. 쉽게 말해서 예상하거나, 원하는대로 코드가 동작하는지 확인 및 점검을하는 것 입니다. 수학문제를 풀 때 주로 하는 검산과 같은 맥락입니다. 이 검산을 자동으로 계속해서 반복하여 확인을 해주는 것 입니다. 만약 TDD를 구현하지 않으면 코드가 제대로 동작을 하는지 확인하기 위해서는, 모든 동작을 하나하나 일일이 눌러봐야하고, 시간이 굉장히 오래 걸립니다. 추가적으로 기능을 변경하거나 리팩터링을 하면서 결과값이 바뀌거나 버그가 생길 수 있습니다. 하지만 TDD를 작성한다면 이러한 문제점들을 신경쓰지 않고 쉽게 바로잡으면서, 시간절약과 동시에 빠르게 개발을 진행 할 수 있습니다. 또.. 2022. 3. 5. [Node.js] TDD를 위한 Dependency Injection 재사용성을 높여줍니다. 테스트에 용이. 코드 단순화. 종속적이던 코드의 수를 줄임. 코드의 가독성이 높아짐. 종속성이 감소. 구성 요소의 종속성이 감소하면, 변경에 민감하지 않습니다. 결합도(coupling)는 낮추면서 유연성과 확장성은 향상. 객체간의 의존관계를 설정 가능. 객체간의 의존관계를 없애거나 줄임. Dependency Injection은 의존성 주입으로써 위와 같은 장점을 가집니다. 의존성은 A객체에서 B객체의 기능을 필요로 하는 경우 우리는 A객체는 B객체를 ‘의존한다’ 라고 표현할 수 있습니다. 왜냐하면 A객체를 온전히 사용하기 위해선 B객체가 필요합니다. 즉, 의존대상 B객체가 변하게 되면, 그것이 A에 영향을 미치는 것입니다. 그래서 강한 결합으로써 커플링이라 부르기도 합니다. 주입은.. 2022. 2. 21. [Node.js] Sequelize ondelete ondelete 속성은 데이터를 삭제하는데 있어서 관련된 데이터를 삭제하는데 용이합니다. 1:N의 관계의 테이블에서 1의 데이터를 지우면 관련된 N을 지우게 됩니다. 예를들어 한 유저가 여러 게시물을 썼는데 그 유저가 회원 탈퇴를 하게 되면 그 유저가 쓴 게시물이 모두 사라지는 방식입니다. ondelete에 대해 쓰는 이유는 수없이 찾아보고 stackoverflow를 찾아 봤지만 동작이 되지 않았는데 결국 해결 방법을 찾았습니다. 아래는 user : photo = 1 : N 관계로 설정한 내용 입니다. 1(hasMany) : N(belogsTo) Model model - user.js (1) static associate(models) { user.hasMany(models.photo, { foreign.. 2022. 2. 15. 이전 1 2 3 4 5 6 7 ··· 18 다음