terryEHLee

terryEHLee

  • λΆ„λ₯˜ 전체보기 (240)
    • ✏️ TIL(Today I Learned) (128)
      • 🐰 2023 Black Rabbit (116)
      • 🐲 2024 Blue Dragon (12)
    • ✨ PS(ProblemSolving) (29)
    • πŸ–₯️ CS(Computer Science) (26)
      • λ„€νŠΈμ›Œν¬ (8)
      • μ•Œκ³ λ¦¬μ¦˜ (1)
      • 자료ꡬ쑰 (2)
      • λ°μ΄ν„°λ² μ΄μŠ€ (0)
      • 운영체제 (0)
      • μ†Œν”„νŠΈμ›¨μ–΄ (15)
      • κ°œλ°œμƒμ‹ (0)
    • ⚑️ Project (7)
      • πŸ’Ž Danmi (3)
      • νšŒμ›κ°€μž…μ—°μŠ΅ (2)
      • ZRM(Zod ReactHookForm MUI) (1)
      • πŸͺHife (1)
      • 🎷 UI 곡톡 μ»΄ν¬λ„ŒνŠΈ 섀계 (0)
    • πŸ”€ Language (26)
      • HTML (3)
      • CSS (4)
      • JavaScript (7)
      • TypeScript (12)
    • πŸ”Ž 기타 (13)
    • πŸ“š Library (6)
      • JQuery (1)
      • React (0)
    • πŸ“’ μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ (1)
      • μ†Œν”„νŠΈμ›¨μ–΄ 섀계 (1)
    • 🍫 Framework (3)
      • Next.js (3)
  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝
  • λ‚΄λ°°μΊ _react_μ΄μš°μ •
  • λ‚΄λ°°μΊ _react_μ΄μ•ˆμ§„
RSS ν”Όλ“œ
둜그인
λ‘œκ·Έμ•„μ›ƒ κΈ€μ“°κΈ° 관리

terryEHLee

컨텐츠 검색

νƒœκ·Έ

redux html zod CS ts μ½”λ”©ν…ŒμŠ€νŠΈ μž…λ¬Έ ps AWS js CSS TIS μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ μ˜€κ³΅μ‹œ Lv0 WIL μ—°μŠ΅λ¬Έμ œ 회고 programmers wis til

μ΅œκ·ΌκΈ€

λŒ“κΈ€

곡지사항

μ•„μΉ΄μ΄λΈŒ

πŸ”€ Language/TypeScript(12)

  • [Language/TypeScript] 객체지ν–₯섀계원칙: SOLID

    SRP(Single Responsibility Principle) λ‹¨μΌμ±…μž„μ›μΉ™: ν΄λž˜μŠ€λŠ” ν•˜λ‚˜μ˜ μ±…μž„λ§Œ 져야함. OCP(Open Closed Principle) 개방 폐쇄 원칙: ν΄λž˜μŠ€λŠ” ν™•μž₯에 λŒ€ν•΄ μ—΄λ €μžˆκ³  μˆ˜μ •μ— λŒ€ν•΄ λ‹«ν˜€μžˆμ–΄μ•Ό ν•œλ‹€. 즉 클래슀의 κΈ°μ‘΄ μ½”λ“œλ₯Ό μˆ˜μ •ν•˜μ§€ μ•Šκ³  ν•„μš”ν•œ κΈ°λŠ₯을 ν™•μž₯ν•  수 μžˆμ–΄μ•Όν•œλ‹€(μΈν„°νŽ˜μ΄μŠ€, 상속) LSP(Liskov Substitution Principle) λ¦¬μŠ€μ½”ν”„ μΉ˜ν™˜ 원칙: μ„œλΈŒνƒ€μž…μ€ 기반이 λ˜λŠ” μŠˆνΌνƒ€μž…μ„ λŒ€μ²΄ν•  수 μžˆμ–΄μ•Όν•¨ ISP(Interface Segregation Principle) μΈν„°νŽ˜μ΄μŠ€ 뢄리 원칙: ν΄λž˜μŠ€λŠ” μžμ‹ μ΄ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μΈν„°νŽ˜μ΄μŠ€μ˜ 영ν–₯을 λ°›μ§€ μ•Šμ•„μ•Ό ν•œλ‹€. λ”°λΌμ„œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ„ˆλ¬΄ 크게 κ΅¬ν˜„ν•˜κΈ° λ³΄λ‹€λŠ” λšœλ ·ν•œ κΈ°λŠ₯λ‹¨μœ„λ‘œ κ΅¬ν˜„ν•˜λŠ” 것이 유..

    2023.07.27
  • [Language/TypeScript] μΈν„°νŽ˜μ΄μŠ€

    μ •μ˜: TSμ—μ„œ 객체의 νƒ€μž…μ„ μ •μ˜ν•  λ•Œ μ‚¬μš©ν•¨, μ–΄λ– ν•œ 객체λ₯Ό 생성 ν•  λ•Œ κ°€μ Έμ•Ό ν•  속성과 λ©”μ„œλ“œλ₯Ό μ •μ˜ν•¨. ν΄λž˜μŠ€μ™€μ˜ 차이 κΈ°λ³Έ κ΅¬ν˜„μ„ μ •μ˜ν•˜λŠ” 좔상 ν΄λž˜μŠ€μ™€ 달리 κΈ°λ³Έ κ΅¬ν˜„μ„ μ œκ³΅ν•˜μ§€ μ•ŠλŠ”λ‹€. λ‹¨μΌμƒμ†λ§Œ μ§€μ›ν•˜λŠ” 좔상 ν΄λž˜μŠ€μ™€ λ‹€λ₯΄κ²Œ 닀쀑 상속을 μ§€μ›ν•˜μ—¬ ν•˜λ‚˜μ˜ ν΄λž˜μŠ€κ°€ μ—¬λŸ¬ μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•  수 μžˆλ‹€. μΆ”μƒν΄λž˜μŠ€λ₯Ό 상속받은 μžμ‹ ν΄λž˜μŠ€λŠ” λ°˜λ“œμ‹œ 좔상 ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•΄μ•Όν•¨. μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ν•˜λŠ” γ…‹γ„Ήλž˜μŠ€λŠ” μΈν„°νŽ˜μ΄μŠ€μ˜ λͺ¨λ“  λ©”μ„œλ“œλ₯Ό κ΅¬ν˜„ν•΄μ•Όν•¨. μœ λ¦¬ν•œ μ‚¬μš©μ „λž΅ κΈ°λ³Έ κ΅¬ν˜„μ„ μ œκ³΅ν•˜λ©° ν™•μž₯: 좔상 클래슀 객체의 νŠΉμ • ꡬ쑰 μœ μ§€: μΈν„°νŽ˜μ΄μŠ€

    2023.07.27
  • [Language/TypeScript] 좔상 클래슀

    μ •μ˜: μΈμŠ€ν„΄μŠ€ν™” ν•  수 μ—†λŠ” 클래슀둜 μžμ‹ ν΄λž˜μŠ€μ—κ²Œ μΆ”μƒν•¨μˆ˜λ₯Ό λ°˜λ“œμ‹œ λ§Œλ“€λ„λ‘ κ°•μ œν•¨. abstract class Shape { abstract getArea(): number; // 좔상 ν•¨μˆ˜ μ •μ˜!!! printArea() { console.log(`λ„ν˜• 넓이: ${this.getArea()}`); } } class Circle extends Shape { radius: number; constructor(radius: number) { super(); this.radius = radius; } getArea(): number { // μ›μ˜ 넓이λ₯Ό κ΅¬ν•˜λŠ” 곡식은 파이 X λ°˜μ§€λ¦„ X λ°˜μ§€λ¦„ return Math.PI * this.radius * this.radius; } } class Rectang..

    2023.07.27
  • [Language/TypeScripts] 상속

    μ •μ˜: 클래슀 κ°„μ˜ 관계λ₯Ό μ •μ˜ν•˜λŠ” κ°œλ…μœΌλ‘œ, κΈ°μ‘΄ 클래슀의 속성/λ§€μ„œλ“œλ₯Ό λ¬Όλ €λ°›μ•„ μƒˆλ‘œμš΄ 클래슀λ₯Ό μ •μ˜ν•  수 있음. extends ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„ν•¨.class Animal { name: string; constructor(name: string) { this.name = name; } makeSound() { console.log('동물 μ†Œλ¦¬~'); } } class Dog extends Animal { age: number; constructor(name: string) { super(name); this.age = 5; } makeSound() { console.log('멍멍!'); // λΆ€λͺ¨μ˜ makeSound λ™μž‘κ³Ό λ‹¬λΌμš”! } eat() { // Dog 클래..

    2023.07.27
  • [Language/Typescript] 클래슀

    μ •μ˜ : 객제 μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°μ˜ 핡심 ꡬ성 μš”μ†Œ 쀑 ν•˜λ‚˜λ‘œ 객체λ₯Ό λ§Œλ“€κΈ° μœ„ν•œ 틀이닀. κ΅¬μ„±μš”μ†Œ 속성(attribute): 객체의 μ„±μ§ˆ κ²°μ • λ§€μ„œλ“œ(method): 객체의 μ„±μ§ˆμ„ λ³€ν™”μ‹œν‚€κ±°λ‚˜ κ°μ²΄μ—μ„œ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯λ“€ μ‚¬μš© 객체: 클래슀λ₯Ό 기반으둜 생성, instance라고도 함 μ •μ˜ class ν‚€μ›Œλ“œλ‘œ μ •μ˜ν•¨ method, attirbute μ •μ˜ ν›„, new ν‚€μ›Œλ“œλ‘œ 객체 생성가λŠ₯ class Preson { name: string; age: number; constructor(name: stirng, age: number) { this.name = name; this.age = age; } const person = new Person('Spartan', 30); person.sayHell..

    2023.07.27
  • [Language/TypeScript] μœ ν‹Έλ¦¬ν‹° νƒ€μž…

    μ •μ˜ : 이미 μ •μ˜ν•΄ 놓은 νƒ€μž…μ„ λ³€ν™˜ν•  λ•Œ μ‚¬μš©ν•˜κΈ° 쒋은 문법. μ’…λ₯˜ Partial : κΈ°μ‘΄ νƒ€μž…μ˜ 일뢀 μ†μ„±λ§Œ μ‚¬μš©κ°€λŠ₯ Required : λͺ¨λ“  속성이 μ‚¬μš©λ˜μ–΄μ§€κ²Œ 함 Readonly : μ½κΈ°μ „μš© 속성, μ™„μ „ λΆˆλ³€ 객체둜 μ·¨κΈ‰ν•˜κ²Œ 함 Pick νƒ€μž… Tμ—μ„œ Kμ†μ„±λ§Œ μ„ νƒν•˜μ—¬ μƒˆλ‘œμš΄ νƒ€μž…μ„ λ§Œλ“¬ Omit νƒ€μž… Tμ—μ„œ Kμ†μ„±λ§Œ μ œμ™Έν•œ μƒˆλ‘œμš΄ νƒ€μž… κ·Έ 이외 λ‹€μ–‘ν•œ νƒ€μž…λ“€ ==> https://www.typescriptlang.org/ko/docs/handbook/utility-types.html References https://teamsparta.notion.site/Sparta-TS-_-4-bc51a698598841fab5172670cdc3bd53#d35b4a4b2fec4ede9ef3572412ba9e2..

    2023.07.26
이전
1 2
λ‹€μŒ
ν‹°μŠ€ν† λ¦¬
Β© 2018 TISTORY. All rights reserved.

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”