본문 바로가기

전체 글44

yarn berry로 workspace(monorepo) 구성하기 프로젝트를 진행하다보면 별도의 프로젝트라 생각하고, 서버, 프론트를 나누거나 프론트서버를 데스크탑, 모바일로 나눠 각자의 git repository를 만들어 관리하는 경우가 있습니다. 백엔드와 프론트는 사용 언어가 다를경우엔 공유할 코드가 없기 때문에 나누는게 여러모로 좋은점이 많지만, 백엔드 언어가 nodeJS라면 프론트도 특별한 경우가 아니면 자바스크립트로 이루어져 있기 때문에 프론트와 백엔드가 같은 언어를 사용하게 되고, 같은 언어를사용하면 validation이나 공통적으로 사용되는 함수들을 하나만 관리하여 사용할 필요가 있습니다. 이럴때 필요한것이 monorepo로 하나의 repository에서 2개이상의 프로젝트를 관리하는것입니다. 그럼 monorepo를 설정하기 위해 monorepo가 될 폴더.. 2021. 9. 20.
[리뷰] 갤럭시 워치 4 - 44m 착용기 이번 갤럭시 워치 살만한가요? 라고 물으시면 "네 이번껀 살만합니다" - 장점 1. OS - OS변경으로 인한 다양한 앱(당장은 타이젠보다 적어도, 금방금방 추가된다) 2. 디자인 - 호불호가 갈리는 부분일 수 있지만, 불호가 거의 없을만한 디자인 3. 속도 - 이전 갤럭시워치 처럼 버벅임이 심하지 않음.(버벅임이 없진않다) 4. 센서 - 체성분이 추가되면서 심박수/심전도/혈압/혈중산소/체성분이 가능해져, 활용도가 높아짐(정확도는 정말 인바디 수준) 5. 워치 페이스 - 1번의 연장선으로 워치페이스를 만들기 쉬워져서인지 커뮤니티에서 워치페이스 공유도 활발하고 워치스토어에 따라 많은 워치페이스가 존재. - 단점 1. 아이폰에서 사용불가능 2. 용량은 커졌지만, 줄어든 사용시간(OS과 AP때문인듯) 3. 워.. 2021. 8. 28.
[Typescript] Type과 interface의 차이 interface ExampleInterface1 extends ExampleInterface2 { age: number; } type ExampleType1 = ExampleType2 & { age: number; }; interface의 경우 extends로, type은 &으로 확장 interface ExampleInterface { id: number; name: string; } interface ExampleInterface { age: number; } Interface는 동일한 이름으로 다시 선언하여 확장이 가능 type GenericType = { [x: string]: number }; type NormalType = { x: number }; const obj1: NormalType =.. 2021. 7. 22.
[Typescript] Generic 타입스크립트의 제네릭은 선언 시점이 아니라 생성 시점에 타입을 명시하여 하나의 타입만이 아닌 다양한 타입을 사용할 수 있도록 하는 기법으로 한번의 선언으로 여러가지 타입에 재사용 할수 있다. function reverse(items: T[]): T[] { return items.reverse(); } 위와같이 제네릭을 선언하면 넘어오는 파라미터 타입에 따라 타입이 정해진다. function reverse(items: T[]): T[] { return items.reverse(); } const arg = [1, 2, 3, 4, 5]; // 인수에 의해 타입 매개변수가 결정된다. const reversed = reverse(arg); console.log(reversed); // [ 5, 4, 3, 2, .. 2021. 7. 15.