Skip to content

Latest commit

 

History

History
97 lines (62 loc) · 76.1 KB

README.ko.md

File metadata and controls

97 lines (62 loc) · 76.1 KB

타입스크립트 타입 챌린지 모음



English | 简体中文 | 日本語 | 한국어

Intro

by the power of TypeScript's well-known Turing Completed type system

타입을 잘 선언하면 잠재적인 버그를 피할 수 있고 프로젝트의 유지보수를 향상시킬 수 있습니다.

타입을 잘 다듬어 줄 수 있는 좋은 유틸리티 라이브러리들이 있습니다.(ts-toolbelt, utility-types, SimplyTyped, 등등). 이중 이미 사용하고 있는 라이브러리들도 있을 수 있습니다.

이 프로젝트는 타입 시스템이 어떻게 작동하는지 이해하고, 자신의 유틸리티를 작성해보거나 챌린지를 재미있게 해보는 것을 목표로 하고 있습니다. 또한 현업에서 마주하게되는 질문과 해답을 위한 커뮤니티를 만들기 위한 목적도 있습니다! 이 또한 챌린지의 한 부분이 될 수 있겠죠!

Challenges

배지를 클릭해서 챌린지의 자세한 내용을 확인해보세요.

1
13・Hello World

13
4・Pick 7・Readonly 11・Tuple to Object 14・First of Array 18・Length of Tuple 43・Exclude 189・Awaited 268・If 533・Concat 898・Includes 3057・Push 3060・Unshift 3312・Parameters

72
2・Get Return Type 3・Omit 8・Readonly 2 9・Deep Readonly 10・Tuple to Union 12・Chainable Options 15・Last of Array 16・Pop 20・Promise.all 62・Type Lookup 106・Trim Left 108・Trim 110・Capitalize 116・Replace 119・ReplaceAll 191・Append Argument 296・Permutation 298・Length of String 459・Flatten 527・Append to object 529・Absolute 531・String to Union 599・Merge 612・KebabCase 645・Diff 949・AnyOf 1042・IsNever 1097・IsUnion 1130・ReplaceKeys 1367・Remove Index Signature 1978・Percentage Parser 2070・Drop Char 2257・MinusOne 2595・PickByType 2688・StartsWith 2693・EndsWith 2757・PartialByKeys 2759・RequiredByKeys 2793・Mutable 2852・OmitByType 2946・ObjectEntries 3062・Shift 3188・Tuple to Nested Object 3192・Reverse 3196・Flip Arguments 3243・FlattenDepth 3326・BEM style string 3376・InorderTraversal 4179・Flip 4182・Fibonacci Sequence 4260・AllCombinations 4425・Greater Than 4471・Zip 4484・IsTuple 4499・Chunk 4518・Fill 4803・Trim Right 5117・Without 5140・Trunc 5153・IndexOf 5310・Join 5317・LastIndexOf 5360・Unique 5821・MapTypes 7544・Construct Tuple 8640・Number Range 8767・Combination 8987・Subsequence 9896・GetMiddleElement 10969・Integer 16259・ToPrimitive 17973・DeepMutable

40
6・Simple Vue 17・Currying 1 55・Union to Intersection 57・Get Required 59・Get Optional 89・Required Keys 90・Optional Keys 112・Capitalize Words 114・CamelCase 147・C-printf Parser 213・Vue Basic Props 223・IsAny 270・Typed Get 300・String to Number 399・Tuple Filter 472・Tuple to Enum Object 545・printf 553・Deep object to unique 651・Length of String 2 730・Union to Tuple 847・String Join 956・DeepPick 1290・Pinia 1383・Camelize 2059・Drop String 2822・Split 2828・ClassPublicKeys 2857・IsRequiredKey 2949・ObjectFromEntries 4037・IsPalindrome 5181・Mutable Keys 5423・Intersection 6141・Binary to Decimal 7258・Object Key Paths 8804・Two Sum 9155・ValidDate 9160・Assign 9775・Capitalize Nest Object Keys 14188・Run-length encoding 15260・Tree path array

14
5・Get Readonly Keys 151・Query String Parser 216・Slice 274・Integers Comparator 462・Currying 2 476・Sum 517・Multiply 697・Tag 734・Inclusive Range 741・Sort 869・DistributeUnions 925・Assert Array Index 6228・JSON Parser 7561・Subtract

By Tags
#application12・Chainable Options 8767・Combination 6・Simple Vue 213・Vue Basic Props
#arguments191・Append Argument 3196・Flip Arguments
#array14・First of Array 533・Concat 898・Includes 3057・Push 3060・Unshift 15・Last of Array 16・Pop 20・Promise.all 459・Flatten 949・AnyOf 3062・Shift 3243・FlattenDepth 4425・Greater Than 5117・Without 5153・IndexOf 5310・Join 5317・LastIndexOf 5360・Unique 8767・Combination 17・Currying 1 2822・Split 5423・Intersection 8804・Two Sum 9160・Assign 9775・Capitalize Nest Object Keys 216・Slice 734・Inclusive Range 741・Sort 925・Assert Array Index
#built-in4・Pick 7・Readonly 43・Exclude 189・Awaited 3312・Parameters 2・Get Return Type 3・Omit 20・Promise.all
#deep9・Deep Readonly 553・Deep object to unique 956・DeepPick
#infer3312・Parameters 2・Get Return Type 10・Tuple to Union 2070・Drop Char 55・Union to Intersection 57・Get Required 59・Get Optional 399・Tuple Filter 730・Union to Tuple 2059・Drop String 734・Inclusive Range 741・Sort
#json6228・JSON Parser
#map62・Type Lookup 5821・MapTypes
#math529・Absolute 2257・MinusOne 6141・Binary to Decimal 8804・Two Sum 274・Integers Comparator 476・Sum 517・Multiply
#object599・Merge 645・Diff 2595・PickByType 2757・PartialByKeys 2759・RequiredByKeys 2852・OmitByType 2946・ObjectEntries 3188・Tuple to Nested Object 3376・InorderTraversal 4179・Flip 5821・MapTypes 2949・ObjectFromEntries 9160・Assign 9775・Capitalize Nest Object Keys
#object-keys7・Readonly 8・Readonly 2 9・Deep Readonly 527・Append to object 2793・Mutable 7258・Object Key Paths 5・Get Readonly Keys
#promise189・Awaited
#readonly7・Readonly 8・Readonly 2 9・Deep Readonly 2793・Mutable 17973・DeepMutable
#recursion1383・Camelize
#split2822・Split
#string531・String to Union 8767・Combination 2822・Split 4037・IsPalindrome
#template-literal106・Trim Left 108・Trim 110・Capitalize 116・Replace 119・ReplaceAll 298・Length of String 529・Absolute 612・KebabCase 2070・Drop Char 2688・StartsWith 2693・EndsWith 3326・BEM style string 5140・Trunc 10969・Integer 112・Capitalize Words 114・CamelCase 147・C-printf Parser 270・Typed Get 300・String to Number 472・Tuple to Enum Object 545・printf 651・Length of String 2 2059・Drop String 151・Query String Parser 274・Integers Comparator 476・Sum 517・Multiply 6228・JSON Parser
#this6・Simple Vue 1290・Pinia
#tuple18・Length of Tuple 3312・Parameters 10・Tuple to Union 3192・Reverse 3326・BEM style string 4471・Zip 4484・IsTuple 4499・Chunk 4518・Fill 7544・Construct Tuple 399・Tuple Filter 472・Tuple to Enum Object 730・Union to Tuple 2822・Split 7561・Subtract
#union4・Pick 3・Omit 10・Tuple to Union 62・Type Lookup 296・Permutation 531・String to Union 1042・IsNever 3326・BEM style string 5117・Without 8987・Subsequence 730・Union to Tuple 1383・Camelize 5423・Intersection
#utils268・If 1042・IsNever 5821・MapTypes 55・Union to Intersection 57・Get Required 59・Get Optional 89・Required Keys 90・Optional Keys 223・IsAny 270・Typed Get 2828・ClassPublicKeys 2857・IsRequiredKey 5181・Mutable Keys 5・Get Readonly Keys
#vue6・Simple Vue 213・Vue Basic Props 1290・Pinia
          

By Plain Text

워밍업 (1)

쉬움 (13)

보통 (72)

어려움 (40)

매우 어려움 (14)


Upcoming challenges

🔥 여기서 챌린지를 시작해보세요. TypeScript Playground

읽을거리 추천

공식문서

아티클

프로젝트 / 해결책

TODO

기여 방법

이 프로젝트에 기여할 수 있는 방법은 다음과 같습니다

  • 해답/ 해결책 공유하기
  • 새로운 챌린지 제시하기
  • 기존 챌린지에 테스트 케이스 추가하기
  • 배울 수 있는 리소스 제공 또는 챌린지를 어떻게 해결할지 아이디어 제공하기
  • 해결책이 있든지 없든지 상관없이 현업에서 마주하는 문제 공유하기 - 커뮤니티도 해당 문제를 해결하는데 도움을 줄 수 있습니다.
  • 이슈에서 토론하며 다른 사람들 도와주기
  • 해당 프로젝트 인프라에 기여하기 TODOs.md

open an issue 를 눌러서 맞는 템플릿을 선택하세요. 감사합니다!

Thanks

This project was born from solving real-world types problem with @hardfist and @MeCKodo. And great thanks to @sinoon who contributed a lot while giving early feedback on this project.

Inspired by

Contributors

License

MIT