IT191 [요점 정리] 난생처음 만드는 Vite 플러그인 - 이은재 브라우저는 .jsx, .vue 이런 확장자를 모른다. 누가 js로 변환해줄까?> vite rollup 이란?> webpack은 웹을 만들기 위한 번들러라면, rollup은 라이브러리를 만들기 위한 번들러> vite를 만들 때 rollup plugin을 그대로 사용할 수 있게 만듬 vite plugin 구성 - resolveId(source, importer, options) - load(id) - transform(code, id) resolveIdsource 보고, 우리가 다룰 수 있는건지 확인 (처리할 수 있니?)다룰 수 있으면 응답을 내려주고 그렇지 않으면 null 반환응답을 내려주면 vite가 load fn을 실행 loadid를 보고 파일의 정보를 메모리에 올려 반환해준다. transfrom메모리.. 2024. 9. 11. [요점 정리] 인프런 아키텍처 2024-2025 - 이동욱 글로벌 진출을 위해 트래픽 비용절감무료 강의를 제공 후 결제 하지 않으면 트래픽 비용만 나가는 셈. 트래픽 비용을 최소화 이미지avif로 변경. caniuse 에서는 iOS 14는 지원 안됨..성과: png, jpeg 기준 대비 약 60프로 감소 API 응답WAS에 로컬캐쉬 넣어서 DB 트래픽은 낮췄지만, 여전히 부족함로드 벨런서 앞에 CDN을 두어서 캐쉬로 응답성과: 일 150GB, 월 4.5TB 트래픽 EC2에서 처리안함**주의: API 응답을 CDN 캐쉬 설정 시 기본 값으로 설정하면, 해더도 캐쉬가 됨.해더가 캐쉬가 되니, set-cookie 값도 같이 전달되어 처음 캐쉬 구을 때 유저의 새션 정보도 같이 저장되어 캐쉬로 얻은 유저는 제일 처음 접속한 유저의 페이지로 보여지게 됨 인프런 아키텍처.. 2024. 9. 10. [typescript] fattenObject 함수 type 만들기 아래 함수에 대해 Type을 정의해보자function flattenObject(obj: any, result: any = {}){ for (let key in obj) { if (obj.hasOwnProperty(key)) { if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) { flattenObject(obj[key], result); } else { result[key] = obj[key]; } } } return result;}const a = { .. 2024. 8. 21. [typescript] infer 개념조건부 타입에서 사용하는 기능으로, 컴파일러가 특정 타입을 추론하도록 도와주는 역할infer를 이용해 타입 시스템 내에서 타입을 유추하고, 그 유추된 타입을 다른 타입 계산에 활용 기본 사용법T extends U ? X : Y `T`가 `U`를 상속하거나 extends 하면 타입 `X`를 사용하고, 그렇지 않으면 타입 `Y`를 사용. 이 패턴에서 `infer`를 사용하면 `T`의 일부 타입을 유추하고 이를 타입 시스템 내에서 사용 할 수 있다. 예제type MD = T extends (...args: any[]) => infer R ? R : any;type D = MD number> //type: numbertype E = MD //type: any `MD`는 함수 타입 `T`의 반환 타입(retu.. 2024. 8. 14. [typescript] 함수타입(Function Type) 인자형 이게 왜 가능하지?processNumberAndString에서는 string을 받을 수도 있는데, number만 받는 wide에 넣었더니 문법 오류가 나지 않는것일까? function processNumber(x:number) {}function processNumberAndString(x:number | string) {}let wide: (x:number) => voidwide = processNumber // Works!wide = processNumberAndString // Works! when A ≤ B, A → X ≥ B → XA가 B의 subtype이고 반환형이 같을 때, B를 인자로 갖는 함수는 A를 인자로 갖는 함수의 서브타입 processNumberAndString에서 number 또.. 2024. 8. 14. [typescript] subtype 타입 = 집합 number type ≥ number literal type - number는 number literal의 슈퍼타입 - number literal은 number의 서브 타입 타입 호환성 - number - number literal const b:42 = 42const d:number = bconst e:number = 42const f: 42 = e //Type 'number' is not assignable to type '42'.(2322) 정리작은거는 큰거에 넣을 수 있고 큰거는 작은거에 못 넣는다. 2024. 8. 14. 이전 1 2 3 4 5 6 7 ··· 32 다음