Open Seoya0512 opened 1 year ago
const raiseCustomError = (message, statusCode) => { const err = new Error(message); err.statusCode = statusCode; throw err; }; // 사용 예시 if (!total_price || orderInfo.length === 0) { raiseCustomError("BAD_REQUEST", 400); }
customError가 발생했을 때, 에러 메세지를 반환해 주는 함수 입니다. 다양한 경우의 수를 고려해서 에러 핸들링을 해야하는데, 이 때 이를 모듈화해 사용하면 간결한 코드를 완성할 수 있어서 좋았습니다.
구성 요소들이 수평적인 레이어로 조직화되어 있는 다층 구조 입니다. 모든 구성요소가 연결되어 있지만 분리되어있고 총 4개의 계층이 있습니다. 각각의 계층(레이어)는 하위에 있는 레이어에만 의존하는 단방향 의존성 특징을띄고 있습니다.
클래스간 의존성을 클래스 외부에서 주입하는 것을 의미하며 객체가 의존하는 또 다른 객체를 외부에서 선언하고 이를 주입받아 사용하는 것입니다. 이를 사용하는 이유는,
이번 기간을 통해 함수형 프로그래밍을 더욱 잘 활용할 수 있길 기대해 봅니다 : )
type SomeFunctionReturnString = () => string function delay(f: SomeFunctionReturnString, seconds: number): Promise<string> { return new Promise((resolve, reject) => { setTimeout(() => { try{ resolve(f()); } catch(err) { reject(err); } }, seconds * 1000) } )} const success = () => { return "successfully done"; }; const fail = () => { throw new Error("failed"); }; delay(success, 2) // 2초 뒤에 successfully done 로그 .then((res) => console.log(res)) .catch((e) => console.log(e)); delay(fail, 2) // 2초 뒤에 failed 로그 .then((res) => console.log(res)) .catch((e) => console.log(e));
결과값
$ ts-node delay.ts successfully done Error: failed
과제를 수행하면서 아직 배워가야하는 것들이 많다는 생각이 들었습니다. 해당 기간을 통해 함수형 프로그래밍 과 더 좋은 코드가 무엇인지 고민하며 성장해가고 싶습니다.
1. 본인이 작성했던 코드 중 공유하고 싶은 코드를 이유와 함께 마크다운 code block 을 사용해 올려주세요
customError가 발생했을 때, 에러 메세지를 반환해 주는 함수 입니다. 다양한 경우의 수를 고려해서 에러 핸들링을 해야하는데, 이 때 이를 모듈화해 사용하면 간결한 코드를 완성할 수 있어서 좋았습니다.
2. Layered Architecture(계층 아키텍처)에 대해서 설명해 주세요
구성 요소들이 수평적인 레이어로 조직화되어 있는 다층 구조 입니다. 모든 구성요소가 연결되어 있지만 분리되어있고 총 4개의 계층이 있습니다. 각각의 계층(레이어)는 하위에 있는 레이어에만 의존하는 단방향 의존성 특징을띄고 있습니다.
3. Dependency Injection(의존성 주입)의 개념과 함께, 왜 필요한지 작성해 주세요
클래스간 의존성을 클래스 외부에서 주입하는 것을 의미하며 객체가 의존하는 또 다른 객체를 외부에서 선언하고 이를 주입받아 사용하는 것입니다. 이를 사용하는 이유는,
4. 본인이 사용하는 언어의 Functional Programming(함수형 프로그래밍) 스펙을 예제와 함께 소개해 주세요
이번 기간을 통해 함수형 프로그래밍을 더욱 잘 활용할 수 있길 기대해 봅니다 : )
5. (코드 작성) 다음 스펙을 만족하는 delay 함수를 작성해 주세요 (hint: Promise 사용)
결과값
6. 강의를 통해서 기대하는 바, 또는 얻고 싶은 팁을 적어주세요
과제를 수행하면서 아직 배워가야하는 것들이 많다는 생각이 들었습니다. 해당 기간을 통해 함수형 프로그래밍 과 더 좋은 코드가 무엇인지 고민하며 성장해가고 싶습니다.