TypeScript 제네릭 마스터 가이드: 제약 조건부터 실무 패턴까지 | 스타트업스쿨