본문 바로가기

Javascript&Typescript3

[Typescript] Typescript에서 상수 관리하기 개인 프로젝트를 진행 중에 유저를 다양한 역할로 나눠서 관리합니다. 성인 미만 스포츠 팀과 관련된 프로젝트이기 때문에 코칭스태프, 선수, 학부모, 기타로 역할을 나누었습니다. 회원가입 시, 클라이언트에게 role(역할)에 대한 데이터를 요구하고, 요구한 role 데이터에 대한 유효성 검사를 할 필요가 있습니다.Controller Layer에서 유효성 검사를 진행하는 방법도 있지만, 코드가 복잡해지고 role에 대한 내용이 변동이 있을 때 마다 role 데이터에 대한 유효성 검사 코드가 작성된 모든 Controller 파일에서 수정이 이뤄져야 하기 때문에 좋은 방식은 아니라는 판단을 했습니다. 이런 상황에 사용할 수 있는 방법 중, DTO를 작성하고 DTO 파일 내부에서 클라이언트에서 보내오는 데이터에 대.. 2024. 6. 11.
이터러블(iterable)과 이터레이터(iterator) 디자인 패턴 관련 내용을 학습하던 중, 이터레이터 패턴(Iterator Pattern)에 관해 학습하게 되었다. 패턴 자체는 이해가 갔지만, 이터레이터가 무엇인지 그리고 이터러블은 무엇인지에 대해 알지 못하면 정확하게 이해하지 못한 것이라는 생각이 들어 따로 내용을 정리했다. # 이터러블(iterable) 자료를 반복할 수 있는 객체를 말하며 흔히 쓰는 배열, 문자열이 이터러블이라고 볼 수 있다. 또한, 이터러블한 객체는 이터러블 규약(iterable protocol)을 따르는 객체라고 보는데, 여기서 이터러블 규약은 for~of문, 전개연산자 등 연산자들과 함께 약속된 동작을 하도록 만들어진 규약을 의미한다. 그래서 이터러블한 객체란 이터러블 규약을 따르는 객체라고도 볼 수 있다. # 이터레이터(ite.. 2023. 2. 7.
Call Stack과 Memory Heap으로 알아보는 불변성을 지켜야 하는 이유 자바스크립트 엔진은 자바스크립트를 실행할 때 원시타입 및 참조타입을 저장할 때 Call Stack과 Heap 이라는 두 가지 메모리에 저장한다. # Call Stack (콜 스택) Call Stack에는 원시타입 값과 함수 호출을 하는 실행 컨텍스트를 저장한다. #Memory Heap(메모리 힙) Memory Heap에는 객체, 배열, 함수와 같이 크기가 동적으로 변할 수 있는 참조타입 값을 저장한다. 이렇게만 알면 복잡해보이기 때문에 동작원리를 알아보기 위해 예제문과 그 순서를 작성했다. let a = 10; let b = 35; let arr = []; function func() { const c = a + b; const obj = { "d" : c }; return obj; } let o = f.. 2023. 2. 2.