JiSoo's Devlog

[μš°μ•„ν•œ νƒ€μž…μŠ€ν¬λ¦½νŠΈ] 1μž₯ λ³Έλ¬Έ

Frontend/Typescript

[μš°μ•„ν•œ νƒ€μž…μŠ€ν¬λ¦½νŠΈ] 1μž₯

μ§€μˆ­μˆ­μˆ­ 2025. 4. 30. 14:06

πŸ“ 1.1 μ›Ή 개발의 역사

1995λ…„ λΈŒλžœλ“  아이크가 μ›Ήμ˜ λ‹€μ–‘ν•œ μ½˜ν…μΈ λ₯Ό ν‘œν˜„ν•˜μ§€ μœ„ν•œ 객체 μ§€ν–₯ μ–Έμ–΄λ‘œ μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό λ§Œλ“€μ—ˆλ‹€.

초기 μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 단지 μƒˆλ‘œμš΄ κΈ°λŠ₯이 μΆ”κ°€λ˜λŠ” ν˜•νƒœλ‘œ λ°œμ „ν–ˆκΈ° λ•Œλ¬Έμ— μžλ°”μŠ€ν¬λ¦½νŠΈμ™€ λΈŒλΌμš°μ €μ˜ λ°œμ „ 속도 κ°„μ˜ 차이가 λ‚˜κΈ° μ‹œμž‘ν–ˆκ³  λΈŒλΌμš°μ €λŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ λ³€ν™”λ₯Ό 따라가지 λͺ»ν–ˆλ‹€. 

폴리필은 λΈŒλΌμš°μ €κ°€ μ§€μ›ν•˜μ§€ μ•ŠλŠ” μ½”λ“œλ₯Ό λΈŒλΌμš°μ €μ—μ„œ μ‚¬μš©ν•  수 μžˆλ„λ‘ λ³€ν™˜ν•œ μ½”λ“œ μ‘°κ°μ΄λ‚˜ ν”ŒλŸ¬κ·ΈμΈ
νŠΈλžœμŠ€νŒŒμΌμ€ μ΅œμ‹  λ²„μ „μ˜ μ½”λ“œλ₯Ό μ˜ˆμ „ λ²„μ „μ˜ μ½”λ“œλ‘œ λ³€ν™˜ν•˜λŠ” κ³Όμ •

 

λͺ¨λ“  λΈŒλΌμš°μ €μ—μ„œ λ™μΌν•˜κ²Œ λ™μž‘ν•˜λ„λ‘ μžλ°”μŠ€ν¬λ¦½νŠΈκ°€ ν‘œμ€€ν™”λ˜μž 정적 μ›Ήμ‚¬μ΄νŠΈμ—μ„œ 동적 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μœΌλ‘œμ˜ μ „ν™˜μ΄ κ°€μ†ν™”λ˜μ—ˆλ‹€.

 

μ›Ήμ‚¬μ΄νŠΈ

μˆ˜μ§‘λœ 데이터, 정보λ₯Ό νŠΉμ • νŽ˜μ΄μ§€μ— ν‘œμ‹œν•˜κΈ° μœ„ν•œ 정적인 μ›Ή

단방ν–₯으둜 정보λ₯Ό μ œκ³΅ν•˜κΈ° λ•Œλ¬Έμ— μ‚¬μš©μžμ™€ μƒν˜Έμž‘μš© X

 

μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜

μ‚¬μš©μžμ™€ μƒν˜Έμž‘μš©ν•˜λŠ” 쌍방ν–₯ μ†Œν†΅μ˜ μ›Ή

검색, λŒ“κΈ€, μ’‹μ•„μš” λ“± μˆ˜λ§Žμ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λ™μž‘

 

 

πŸ‘‰πŸ» μ»΄ν¬λ„ŒνŠΈ 베이슀 개발(CBD) 방법둠

→ μž¬μ‚¬μš©ν•  수 μžˆλŠ” μ»΄ν¬λ„ŒνŠΈλ₯Ό 개발 λ˜λŠ” μ‘°ν•©ν•΄ ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“œλŠ” 개발 방법둠

μ»΄ν¬λ„ŒνŠΈλŠ” λͺ¨λ“ˆκ³Ό μœ μ‚¬ν•˜κ²Œ ν•˜λ‚˜μ˜ λ…λ¦½λœ κΈ°λŠ₯을 μž¬μ‚¬μš©ν•˜κΈ° μœ„ν•œ μ½”λ“œ 묢음

λŸ°νƒ€μž„ ν™˜κ²½μ—μ„œ λ…λ¦½μ μœΌλ‘œ 배포, 싀행될 수 μžˆλŠ” λ‹¨μœ„

μ»΄ν¬λ„ŒνŠΈλŠ” λ‹€λ₯Έ μ»΄ν¬λ„ŒνŠΈμ™€μ˜ μ˜μ‘΄μ„±μ„ μ΅œμ†Œν™”ν•˜κ±°λ‚˜ μ—†μ• μ•Ό ν•œλ‹€

 

 

 

πŸ“ 1.2 μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ ν•œκ³„

동적 νƒ€μž… μ–Έμ–΄

μžλ°”μŠ€ν¬λ¦½νŠΈλŠ” 동적 νƒ€μž… μ–Έμ–΄λ‘œ λ³€μˆ˜μ— νƒ€μž…μ„ λͺ…μ‹œμ μœΌλ‘œ μ§€μ •ν•˜μ§€ μ•Šκ³  λŸ°νƒ€μž„μ— λ³€μˆ«κ°’μ΄ 할당될 λ•Œ ν•΄λ‹Ή κ°’μ˜ νƒ€μž…μ— 따라 λ³€μˆ˜ νƒ€μž…μ΄ κ²°μ •λœλ‹€.

μžλ°”μŠ€ν¬λ¦½νŠΈ μ—”μ§„μ—μ„œ 주석, ν•¨μˆ˜ 이름, 개발자 μ˜λ„ 같은 것은 κ³ λ € λŒ€μƒμ΄ μ•„λ‹ˆλ‹€.

 

 

ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•œ λ°©μ•ˆ

 

⦁ JSDoc

λͺ¨λ“ˆ, λ„€μž„μŠ€νŽ˜μ΄μŠ€, 클래슀, λ©”μ„œλ“œ 등에 λŒ€ν•œ API λ¬Έμ„œ 생성 도ꡬ

주석에 @ts- checkλ₯Ό μΆ”κ°€ν•˜λ©΄ νƒ€μž… 및 μ—λŸ¬ 확인이 κ°€λŠ₯ν•˜λ©° μ†ŒμŠ€μ½”λ“œμ— νƒ€μž… 힌트λ₯Ό μ œκ³΅ν•˜λŠ” HTML λ¬Έμ„œλ₯Ό 생성할 수 μžˆλ‹€.

μ£Όμ„μ˜ 성격을 μ§€λ‹ˆκ³  있기 λ•Œλ¬Έμ— κ°•μ œμ„±μ„ λΆ€μ—¬ν•΄ μ‚¬μš©ν•˜κΈ° μ–΄λ ΅λ‹€.

 

⦁ propTypes

λ¦¬μ•‘νŠΈμ—μ„œ μ»΄ν¬λ„ŒνŠΈ props의 νƒ€μž…μ„ κ²€μ‚¬ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” 속성

전체 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ νƒ€μž… 검사λ₯Ό ν•˜λŠ” λ°λŠ” μ‚¬μš©ν•  수 μ—†κ³  λ¦¬μ•‘νŠΈμ—μ„œλ§Œ μ‚¬μš©ν•  수 μžˆλ‹€.

 

⦁ λ‹€νŠΈ

ꡬ글이 μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό λŒ€μ²΄ν•˜κΈ° μœ„ν•΄ μ œμ‹œν•œ μƒˆλ‘œμš΄ μ–Έμ–΄λ‘œ 타이핑이 κ°€λŠ₯ν•˜λ‹€.

 

 

✨ νƒ€μž…μŠ€ν¬λ¦½νŠΈμ˜ λ“±μž₯!

λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ μŠˆνΌμ…‹ 언어인 νƒ€μž…μŠ€ν¬λ¦½νŠΈλ₯Ό κ³΅κ°œν–ˆλ‹€.

→ μŠˆνΌμ…‹μ€ κΈ°μ‘΄ 언어에 μƒˆλ‘œμš΄ κΈ°λŠ₯κ³Ό 문법을 μΆ”κ°€ν•΄ λ³΄μ™„ν•˜κ±°λ‚˜ ν–₯μƒν•˜λŠ” 것

 

μ•ˆμ •μ„± 보μž₯

정적 타이핑을 μ œκ³΅ν•΄ 컴파일 λ‹¨κ³„μ—μ„œ νƒ€μž… 검사λ₯Ό ν•΄μ£ΌκΈ° λ•Œλ¬Έμ— νƒ€μž… μ—λŸ¬λ₯Ό 쀄일 수 있고 λŸ°νƒ€μž„ μ—λŸ¬λ₯Ό 사전에 λ°©μ§€ν•  수 μžˆλ‹€.

 

개발 생산성 ν–₯상

VSCode λ“±μ˜ IDEμ—μ„œ νƒ€μž… μžλ™ μ™„μ„± κΈ°λŠ₯ μ œκ³΅ν•œλ‹€.

λ³€μˆ˜μ™€ ν•¨μˆ˜ νƒ€μž…μ„ μΆ”λ‘ ν•  수 있고 μ–΄λ–€ prop을 λ„˜κ²¨μ•Ό ν•˜λŠ”μ§€ 맀번 ν™•μΈν•˜μ§€ μ•Šμ•„λ„ μ‚¬μš©λΆ€μ—μ„œ λ°”λ‘œ λ³Ό 수 μžˆλ‹€.

 

ν˜‘μ—…μ— 유리

λ³΅μž‘ν•œ 개발, ν˜‘μ—…μ— μœ λ¦¬ν•˜λ‹€.

νƒ€μž…μŠ€ν¬λ¦½νŠΈλŠ” μΈν„°νŽ˜μ΄μŠ€, μ œλ„€λ¦­ 등을 μ§€μ›ν•˜λŠ”λ° μΈν„°νŽ˜μ΄μŠ€κ°€ 기술되면 μ½”λ“œλ₯Ό 더 μ‰½κ²Œ 이해할 수 있게 도와쀀닀.

→ νƒ€μž…μŠ€ν¬λ¦½νŠΈ μΈν„°νŽ˜μ΄μŠ€λŠ” 객체 ꡬ쑰(속성과 λ©”μ„œλ“œμ˜ μ§‘ν•©)λ₯Ό μ •μ˜ν•˜λŠ” 역할을 ν•œλ‹€.

 

μžλ°”μŠ€ν¬λ¦½νŠΈμ— μ μ§„μ μœΌλ‘œ 적용 κ°€λŠ₯

νƒ€μž…μŠ€ν¬λ¦½νŠΈλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ μŠˆνΌμ…‹μ΄κΈ°μ— 일괄 μ „ν™˜μ΄ μ•„λ‹Œ 점진적 λ„μž…μ΄ κ°€λŠ₯ν•˜λ‹€.

 

728x90