목록전체 글 (33)
dev-hamster
퍼블리싱 속도를 높이고 레이아웃을 잡는 연습을 하기 위해 2024.11.10부터 4주간 퍼블리싱 스터디에 참여했다. 동일한 Figma 디자인 시안으로 퍼블리싱을 진행해 다른 스터디원의 노하우를 엿볼 수 있었다. 스터디에 참여하면서 grid, flex를 더 적극적으로 활용할 수 있게 되었고, 퍼블리싱 팁뿐만 아니라 디렉토리 구조에 대해서도 지식을 넓힐 수 있었다.week01TL;DR이미지 사이즈를 주는 방법은 3가지로 있고, 적재적소에 알맞게 사용하는게 좋다.scss도 module을 지원한다. 하지만 CSS-in-JS가 선호되는 이유를 알겠다.Figma 디자인 시안scss개인적으로 CSS로 처리할 수 있는 작업은 CSS를 사용하는 것을 선호해 SCSS로 스타일링을 시도해보았다. 하지만 SCSS에서는 변수를..
Replace문자열 S에서 From를 찾아 한 번만 To로 교체하는 Replace를 구현하세요. 리터럴 타입을 이용해 조건부로 넘겼지만, From이 '' 케이스인 경우 통과하지 않는다.type Replace = S extends `${From}${infer T}` ? `${To}${T}` : S extends `${infer T}${From}${infer X}` ? `${T}${To}${X}` : S;From이 공백 문자열인지 확인하는 분기를 추가하면 된다.type Replace = From extends '' ? S : S extends `${From}${infer T}` ? `${To}${T}` : S extends `${infer T}${From}${infer X}` ? `${T}$..
Promise.allType the function PromiseAll that accepts an array of PromiseLike objects, the returning value should be Promise where T is the resolved result array.09번은 너무 어려워서 패스하고 다음에 도전해본다!Type Lookup때때로 유니온 타입의 특정 속성을 기준으로 조회할 수도 있습니다.이 챌린지에서는 유니온 타입 Cat | Dog에서 공통으로 사용하는 type 필드를 기준으로 해당하는 타입을 얻고자 합니다. 다시 말해서, 다음 예시에서는 LookUp으로 Dog 타입을, LookUp으로 Cat 타입을 얻을 수 있습니다.type LookUp = U extends { type..
문제 풀기에 앞서…문제 풀기에 앞서 아직 헷갈리는 내용을 짚고 넘어가보자. 정적 타입 검사:타입스크립트는 프로그램을 실행시키지 않고 오류를 검출한다. 점진적 타입 시스템:타입스크립트는 타입 검사를 점진적으로 적용해 동적 타입처럼 자유롭게 타입을 작성할 수 있다.let a = 10; // 타입스크립트가 자동으로 number로 추론 (자동 타입 추론)let b; // 타입 명시가 없으므로 b는 암시적으로 any 타입을 가짐b = "hello"; // b에 어떤 값이든 할당 가능 (any 타입)b = 42; // any 타입이기 때문에 타입 오류 없음 구조적 타입 시스템이란:타입스크립트 컴파일러는 두 타입의 명시적 선언이 아닌 프로퍼티를 비교하여 타입을 비교한다. 그러니까 타입 Hamst..
연결 리스트란?[value][pointer] -> [value][pointer] -> [null]연결 리스트는 데이터와 포인터를 가지고 있는 노드로 구성되어 있는 한 줄로 연결된 자료 구조이다.장점으로는 데이터 추가와 삭제시 O(1) 시간이 걸린다. 단점은 데이터를 검색시 O(n)의 시간이 걸린다. 구현Node 클래스data와 다음 노드를 가리킬 next를 가진다. lass Node { constructor(data, next = null) { this.data = data; this.next = next; }}LinkedList 클래스 초기화head를 null로 size는 0으로 초기화 한다.constructor() { this.head = null; this.size = 0;}데이터..