Posts by Year

2023

Mapped types

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

Mapped types CRUD ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ตฌ์ถ•ํ•  ๋•Œ ๊ธฐ๋ณธ ์—”ํ‹ฐํ‹ฐ ์œ ํ˜•์— ๋ณ€ํ˜•์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. nest ์—์„œ๋Š” ์—ฌ๋Ÿฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

JSON

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

JSON(JavaScript Object Notation)์€ Javascript ๊ฐ์ฒด ๋ฌธ๋ฒ•์œผ๋กœ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ ํฌ๋งท undefined๋ฅผ ์ œ์™ธํ•œ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ธ ๋ฌธ์ž์—ด, ์ˆซ์ž, ๋ฐฐ์—ด, ๋ถˆ๋ฆฌ์–ธ ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Œ JSON์€ ์ˆœ์ˆ˜ํ•œ ๋ฐ์ด...

Record

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

key๋ฅผ ์†์„ฑ์œผ๋กœ, TYPE์„ ๊ทธ ์†์„ฑ๊ฐ‘์˜ type์œผ๋กœ ์ง€์ •ํ•˜๋Š” ์ƒˆ๋กœ์šด ํƒ€์ž…์„ ๋ฐ˜ํ™˜ํ•จ

Pick

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

type์—์„œ key๋กœ ์†์„ฑ์„ ์„ ํƒํ•œ ์ƒˆ๋กœ์šด ํƒ€์ž…์„ ๋ฐ˜ํ™˜ type์€ ์†์„ฑ์„ ๊ฐ€์ง€๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋‚˜, ๊ฐ์ฒดํƒ€์ž…์ด์–ด์•ผํ•จ ์ผ๋ถ€๋งŒ ๋ฐ›๊ฒŒํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ• ๋“ฏ

Partial

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

type์˜ ๋ชจ๋“  ์†์„ฑ์„ Optional๋กœ ๋ฐ”๊ฟ”์คŒ

Nullish

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด์„œ Falsyํ•œ์ง€๋ฅผ ์ฒดํฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ, ?? ๋ฅผ ์ด์šฉํ•ด์„œ ์‚ฌ์šฉํ•˜์ž! ```javascript const foo = null ?? โ€˜Hello nullish.โ€™; console.log(foo); // Hello nullish.

Conditional Types

1 ๋ถ„ ์†Œ์š”

์ œ์•ฝ ์กฐ๊ฑด๊ณผ ๋‹ค๋ฅด๊ฒŒ ํƒ€์ž… ๊ตฌํ˜„ ์˜์—ญ์—์„œ ์‚ฌ์šฉํ•˜๋Š” extends๋Š” ์ƒํ•จ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค!! ์ด๋ฅธ ์กฐ๊ฑด๋ถ€ ํƒ€์ž…์ด๋ผ๊ณ  ํ•œ๋‹ค T extends U ? X : Y ์ด๋Ÿฐ์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค type IsString<T> = T extends string ? true : fals...

Chaining

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

์†์„ฑ์˜ ํƒ€์ž…์„ ๋‹จ์–ธํ•ด์ฃผ๋ฉด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์‰ฝ์ง€๋งŒ, ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ ํƒ์  ์ฒด์ด๋‹์—ฐ์‚ฐ์ž๋กœ ๊ฐ€์ž ```typescript obj?.prop; obj?.[expr]; arr?.[index]; func?.(args);

Generic

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

generic ์ด๋ž€? ์„ ์–ธ ์‹œ์ ์ด ์•„๋‹ˆ๋ผ ์ƒ์„ฑ ์‹œ์ ์— ํƒ€์ž…์„ ๋ช…์‹œํ•ด์„œ ํ•˜๋‚˜์˜ ํƒ€์ž…๋งŒ์ด ์•„๋‹ˆ๋ผ ๋‹ค์–‘ํ•œ ํƒ€์ž…์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค ์‚ฌ์šฉํ•  ๋•Œ ์™ธ๋ถ€์—์„œ ์ •์˜ํ•˜๋Š” ํƒ€์ž… ์ œ๋„ค๋ฆญ์€ ๋ชจ๋“  ํƒ€์ž…์„ ๋ฐ›์•„๋“ค์ธ๋‹ค๋Š” ์ ์—์„œ ์ž…๋ ฅํŒŒ๋ผ๋ฏธํ„ฐ ํ˜น์€ ๋ฆฌํ„ดํƒ€์ž…์— any๋ฅผ ์“ฐ๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•œ ์ ์ด ์žˆ...

readonly

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

์ˆœ์„œ ์„ค๋ช… ์ž๋™์ถ”๋ก  const์™€์˜ ๋‹ค๋ฅธ์ 

zsh: command not found: postgre error

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

postgre๋ฅผ ์‚ฌ์šฉํ•  ์ผ์ด ์žˆ์–ด์„œ mac์— ์„ค์น˜ ํ–ˆ๋Š”๋ฐ, zsh๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ค‘์ด๋ผ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด์ฃผ์ง€ ์•Š์•„์„œ ๋งŒ๋‚จ ์„ค์น˜ํ–ˆ์„๋•Œ ์„ค์ •ํ•˜๋ผ๊ณ  ์•Œ๋ ค์คฌ๋Š”๋ฐ ๋ฌด์‹œํ–ˆ๋‹ค๊ฐ€ ์ž๊พธ error๋งŒ๋‚จ ์•ž์œผ๋กœ๋Š” ๋ญํ• ๋•Œ ์œ ์‹ฌํžˆ ๋ณด๋„๋กํ•˜์ž ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•˜๊ณ  ์ปดํŒŒ์ผํ•˜๋ฉด ๋จ!

tRPC init

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

tRPC๋ž€? trpc๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์˜ ํ’€์Šคํƒ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค ๋‚˜๋„ ์–ด๋””์„œ ๋ณธ ๊ธ€์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ, GraphQL์˜ ๋ถ€์กฑํ•˜๊ฑฐ๋‚˜ ์•„์‰ฌ์šด ๋ถ€๋ถ„๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์™”๋‹ค๊ณ  ํ–ˆ๋‹ค ๋ฌผ๋ก  ํ”„๋ก ํŠธ๋‚˜ ์„œ๋ฒ„ ๋‘˜๋‹ค ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. ์„œ๋ฒ„์—์„œ ํƒ€์ž… ์„ธ์ดํ”„ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๋ฉด ํด๋ผ์ด...

Interface

1 ๋ถ„ ์†Œ์š”

java ๋กœ ๊ฐœ๋ฐœํ•  ๋•Œ์—๋Š” ๋งŽ์ด ์ผ์—ˆ๋Š”๋ฐ, Node.js ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋‚˜์„œ๋Š” javascript ๋ฅผ ์‚ฌ์šฉํ•˜๋А๋ผ ๋ณ„๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋˜ interface .. ํ•˜์ง€๋งŒ typscript๋กœ ๋ฐ”๊พธ๋ฉด์„œ ๋‹ค์‹œ ๋“ฑ์žฅํ•˜๋‹ˆ ๋ฐ˜๊ฐ€์› ๋‹ค

IAM

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

IAM ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€ - AWS Identity and Access Management(IAM)์€ AWS ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. IAM์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” AWS ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ถŒํ•œ์„ ์ค‘์•™์—์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. I...

notice-list

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

test test test test test test

๐Ÿง github io init!๐Ÿง 

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

ํ•ญ์ƒ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์„ ์ •๋ฆฌํ•˜๋Š” ์Šต๊ด€์€ ๋“ค์—ฌ์ ธ ์žˆ์ง€๋งŒ ๋„ˆ๋ฌด ์ด๋ฆฌ์ €๋ฆฌ ํฉ์–ด์ ธ์žˆ์–ด์„œ ๋‚˜๋„ ์‹œ์ž‘ํ•œ๋‹ค ๋ธ”๋กœ๊ทธ!

๋งจ ์œ„๋กœ ์ด๋™ ↑