โœจ
Saltberry
GithubLinkedIn
  • ๊ฐœ์š” Overview
  • ๐Ÿ“HTML/CSS
    • ๊ตฌ์กฐ HTML
    • ์Šคํƒ€์ผ CSS
      • z-index
  • ๐Ÿ“ฆ๊ฐœ๋ฐœ Development
    • ๊ฐœ๋ฐœ Implementation
    • ๋‹จ์–ด Glosarry
    • ๊นƒ Git
    • ํ•ด์‹œ Hash
    • ๋…ธ๋“œ ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € Node Package Manager
    • ๋ธŒ๋ผ์šฐ์ € ๋žœ๋”๋ง Browser Rendering Process
    • ๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ  CORS
    • ์ธํ„ฐํ”„๋ฆฌํ„ฐ Interpreter
    • Object-oriented programming(OOP) ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ๐Ÿ’กCS 50
    • Computational Thinking
  • โœจ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Javascript
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ž€ What is JavaScript
    • ํ‘œํ˜„์‹๊ณผ ๋ฌธ Expression Statement
    • ๋ณ€์ˆ˜ Variable
    • ํ•จ์ˆ˜ Function
    • ์ฐธ๊ณผ ๊ฑฐ์ง“ ๊ฐ’ Truth Falsy
    • ๋ฐฐ์—ด Array
    • Import Export
    • ์Šคํƒ๊ณผ ํ Stack Queue
    • ๋ฌธ์„œ๊ฐ์ฒด๋ชจ๋ธ Document Object Model
      • ๊ฐœ์š” Overview
      • ๋„ํ๋จผํŠธ Document
      • HTMLCollection
      • getMethod
      • NodeList
      • childNodes, children
      • Event
      • live, static
      • Element
      • DOM Token
      • ์†์„ฑ attribute
      • implementation
      • ๋…ธ๋“œ Node
      • HTMLElement
    • ๋ธŒ๋ผ์šฐ์ € ์ €์žฅ์†Œ Cookie Web Storage
  • ๐ŸŽ๋ฆฌ์•กํŠธ React
    • ๋ฆฌ์•กํŠธ ํ†ง์•„๋ณด๊ธฐ Overview
    • Intro
      • ์ƒํƒœ์˜ ๋ถˆ๋ณ€์„ฑ State Immutability
      • Props and State
      • Hooks
    • Concepts
  • ๐Ÿšฆํƒ€์ž…์Šคํฌ๋ฆฝํŠธ Typescript
    • Page 1
  • ๐Ÿ—ƒ๏ธ๋ฆฌ๋•์Šค Redux
    • ์™œ ๋ฆฌ๋•์Šค๋ฅผ ์‚ฌ์šฉํ• ๊นŒ Why Redux
    • ํ”Œ๋Ÿญ์Šค Flux
  • ๐Ÿ“ฌ๋„ฅ์ŠคํŠธ Nextjs
    • Pages
  • โœ…๋ฉด์ ‘ Interview
    • Index
    • Implement experiences
    • Best practice for query parameter and fetch
  • ๐Ÿš€TECH
    • Lists
    • Zustand
  • ๐ŸงฌAlgorithm
    • Types of algorithms
    • ์ด์ง„์ˆ˜ ๋ณ€ํ™˜ Binary Number
    • ํ›„์œ„ ์—ฐ์‚ฐ์ž Postfix expression
    • ์„ ํƒ ์ •๋ ฌ Selection Sort
    • Find longest substring without repeating characters
    • ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ Valid Parentheses
  • ๐Ÿ“”Mathematics
    • ๋‹คํ•ญ์‹ Polynomial
  • ๐Ÿ—‚๏ธDatabase
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค Database
  • ๐Ÿ“Class
    • ์ž๋ฃŒ๊ตฌ์กฐ Data Structure
      • ๋ฐฐ์—ด Array
    • C++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      • C++ ๊ธฐ์ดˆ
    • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ Software engineering
      • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ์š” Software overview
      • ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์„ธ์Šค Software process
    • ์ž๋ฐ” Java
      • ์ž๋ฐ”์™€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ Java and OOP(Object-oriented programming)
  • Java
    • ์ž๋ฐ”๊ฐ€ ๋ญ์ง€?
  • CA EI
    • CA EI
Powered by GitBook
On this page
  • ์›น ๋ธŒ๋ผ์šฐ์ €
  • ๋„คํŠธ์›Œํฌ & ์šด์˜์ฒด์ œ
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ๋ฆฌ์•กํŠธ
  • ๊ฒฝ๋ ฅ
  • ๊ฐœ์ธ
  • ๊ณผ์ œ
  • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ
  1. ๋ฉด์ ‘ Interview

Index

์›น ๋ธŒ๋ผ์šฐ์ €

๋„คํŠธ์›Œํฌ & ์šด์˜์ฒด์ œ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

๋ฆฌ์•กํŠธ

๊ฒฝ๋ ฅ

๊ฐœ์ธ

๊ณผ์ œ

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ

Thoughts

CORS(Cross-origin Resource Sharing)

๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ ๋Š” ๋™์ผํ•œ URL์ด ์•„๋‹Œ ๋‹ค๋ฅธ ์ถœ์ฒ˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๋Š” ์ •์ฑ…์ด๋‹ค.

ํ”„๋กœํ† ์ฝœ, ํ˜ธ์ŠคํŠธ, ํฌํŠธ๊ฐ€ ๋ชจ๋‘ ๊ฐ™์•„์•ผ ๋™์ผํ•œ ์ถœ์ฒ˜์ด๋‹ค.

์‹ค์ œ๋กœ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ CORS ์ด์Šˆ๋ฅผ ๊ฒช์—ˆ๋Š”๋ฐ, ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด package.json ์—์„œ proxy ์„ค์ •์œผ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค.

//package.json

"proxy": "http://localhost:8888"

CSR(Client Side Rendring) SSR(Server Side Rendering)

CSR ๋™์ž‘

  1. ์„œ๋ฒ„์—์„œ HTML/CSS ๋ฆฌ์†Œ์Šค ๋‹ค์šด ํ›„ ๋นˆ HTML ๋…ธ์ถœ

  2. JS ๋‹ค์šด๋กœ๋“œ

  3. ๋™์ ์œผ๋กœ DOM ์ƒ์„ฑ

  4. ์œ ์ € ์ธํ„ฐ๋ ‰์…˜ ๊ฐ€๋Šฅ

SSR

  1. ์„œ๋ฒ„์—์„œ ๋งŒ๋“ค์–ด์ง„ HTML ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ํ›„ ์™„์„ฑ๋œ ํ™”๋ฉด ๋…ธ์ถœ

  2. JS ๋‹ค์šด๋กœ๋“œ

  3. ์œ ์ € ์ธํ„ฐ๋ ‰์…˜ ๊ฐ€๋Šฅ

์ง„ํ–‰ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋Š” ์ปค๋จธ์Šค ๋น„์ฆˆ๋‹ˆ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— SEO๊ฐ€ ์ค‘์š”ํ•œ ํ”Œ๋žซํผ์ด๊ณ  ์ด๋ฅผ ์œ„ํ•ด Next.js๋ฅผ ๋„์ž…ํ–ˆ๋‹ค.

REST API

REST(Representational State Transfer)๋Š” ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•  ๋•Œ์˜ ๋งŒ๋“  ํ•˜๋‚˜์˜ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. ์ผ๊ด€์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž์› ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋งํ•˜๋ ค๋Š” ๋ฐ”๋ฅผ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋งŒ HTTP Method๊ฐ€ ํ•œ์ •์ ์ธ ๋‹จ์ ๋„ ์žˆ๋‹ค.

  • ์ž์› Resource -> HTTP URI(Uniform Resource Identifier)

  • ํ–‰์œ„ Verb -> HTTP Method(POST, GET, PUT, DELETE)์„ ํ†ตํ•ด ์ž์›์˜ CRUD ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ํ‘œํ˜„ Representations -> HTTP Message Pay Load

GET api/team
GET api/team/:id
POST api/team
PUT api/team
DELETE api/team

์†Œ๋ฌธ์ž๋กœ๋งŒ, ํ•˜์ดํ”ˆ(-)์œผ๋กœ, ๋งˆ์ง€๋ง‰์—๋Š” ์Šฌ๋ž˜์‹œ(/) ์—†์ด ๊ทธ๋ฆฌ๊ณ  ํ–‰์œ„๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹ ๋“ฑ์œผ๋กœ ์„ค๊ณ„๋˜์–ด์•ผ ํ•œ๋‹ค.

*URI vs URL

๋ธŒ๋ผ์šฐ์ € ์ €์žฅ์†Œ

๋‘ ์ €์žฅ์†Œ key: value ํ˜•ํƒœ์˜ ๋ฌธ์ž์—ด string ๊ฐ’์œผ๋กœ ์ €์žฅํ•œ๋‹ค.

Cookie

Cookie๋Š” 4KB๋กœ ์ž‘์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ณ , ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•œ๋‹ค. ์ฟ ํ‚ค๋Š” ์ฃผ๋กœ ์„œ๋ฒ„๊ฐ€ ์œ ์ €๋ฅผ ๊ธฐ์–ตํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋œ๋‹ค. HTTP ํ”„๋กœํ† ์ฝœ์€ stateless์ด๊ธฐ ๋•Œ๋ฌธ์— request > response๊ฐ€ ๋๋‚˜๊ณ  ๋‚˜๋ฉด ํ†ต์‹ ์„ ๋Š๊ณ  ๊ทธ ๋‹ค์Œ ํ†ต์‹ ์„ ํ•ด๋„ ์ด์ „ ๋‚ด์šฉ์„ ๊ธฐ์–ตํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. (์ฃผ๋กœ ์‚ฌ์šฉ์ž์˜ ์–ธ์–ด, ๋‹คํฌ๋ชจ๋“œ ๋“ฑ์˜ ๋‚ด์šฉ์„ ์ €์žฅ)

Web Storage

์‹ค์ œ๋กœ ํ”„๋กœ์ ํŠธ์—์„œ๋„ Local Storage๋ฅผ ์‚ฌ์šฉํ–ˆ์—ˆ๊ณ , ์ผํšŒ์„ฑ ๋ชจ๋‹ฌ๊ณผ ๋กœ๊ทธ์ธ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ €์žฅํ–ˆ๋‹ค.

Browser Cache

Browser Cache๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ์›น ๋ฆฌ์†Œ์Šค์˜ ์‚ฌ๋ณธ์„ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฏธ์ง€, HTML, CSS, JS ๋“ฑ์˜ ์—์…‹์ด ์žˆ๋‹ค. ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ†ต์‹ ์„ ํ•˜๋‹ค๋ณด๋ฉด ์ง€์—ฐ๋  ์ˆ˜ ์žˆ๊ณ  ์ด ๊ฐ„๊ทน์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ๊ฐ€ ์žˆ๋‹ค.

Javascript, Sync vs Async

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๋…ผ ๋ธ”๋กœํ‚น, ์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ ์–ธ์–ด์ด๋‹ค. ๋˜ํ•œ, ์„ ์–ธ์ด ์•„๋‹Œ ๋ณ€์ˆ˜์— ํ• ๋‹น๋˜๋ฉด์„œ ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์ด ๊ฒฐ์ •๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋™์  ํƒ€์ž…์ด๊ณ , ์Šคํฌ๋ฆฝํŠธ์–ธ์–ด๋กœ ํ•œ ์ค„์”ฉ ์ฝ์–ด๊ฐ€๋ฉฐ ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ, ์œ„์—์„œ ๋ฐ‘์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค.

์‹ฑ๊ธ€ ์Šค๋ ˆ๋“œ์ด์ง€๋งŒ ํ•˜๋‚˜์˜ ์ž‘์—…์ด ์™„๋ฃŒ๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋น„๋™๊ธฐ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋…ผ ๋ธ”๋กœํ‚น์ด๋ผ ๋ถ€๋ฅธ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์€ AJAX(Asynchronous Javascript And XML)๋ผ ํ•œ๋‹ค.

Promise

  • Pending(๋Œ€๊ธฐ): ์ดˆ๊ธฐ์ƒํƒœ

  • Fulfilled(์„ฑ๊ณต): ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋˜์–ด ํ”„๋กœ๋ฏธ์Šค๊ฐ€ ๊ฒฐ๊ณผ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ด์ค€ ์ƒํƒœ

  • Rejected(์‹คํŒจ): ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ์ƒํƒœ

Promise๋Š” 3๊ฐ€์ง€ ์ƒํƒœ๋ฅผ ๊ฐ€์ง„๋‹ค.

Position

/* ์–ด๋А ์œ„์น˜์— ๋ฐฐ์น˜๋  ์ง€ ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ */

position: static;
position: relative;
position: absolute;
position: fixed;
position: sticky;

SCSS

css๋ฅผ ์กฐ๊ธˆ ๋” ํšจ์œจ์ ์œผ๋กœ ํŽธ๋ฆฌํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก variable, nesting, mixin ๋“ฑ์˜ ๊ฐœ๋…์„ ์ถ”๊ฐ€ํ•ด์„œ ๋‚˜์˜จ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ด๋‹ค. ๋‹ค๋งŒ SaSS์™€ SCSS๋Š” { } ๊ฐ์‹ธ๋Š” ๊ตฌ๋ฌธ์˜ ์—ฌ๋ถ€๋กœ ๋‹ค๋ฅด๋‹ค.

attribute, property

<input value="name" />

ํƒœ๊ทธ ๋‚ด ์†์„ฑ์„ ์˜๋ฏธํ•˜๋Š” attribute

DOM์€ ๊ฐ์ฒด๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์„ฑ ํ›„ ๊ทธ ์•ˆ์— ์†์„ฑ์€ property , DOM์„ ์กฐ์ž‘ํ•ด property๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

Display, Box Model

inline์€ ์‹ค์ œ ์ปจํ…ํŠธ์˜ ํฌ๊ธฐ ๋งŒ์„ ์˜๋ฏธํ•œ๋‹ค.

inline-block์€ margin๊ณผ padding ์†์„ฑ์—์„œ ์ƒํ•˜์—๋งŒ ์ ์šฉ๋œ๋‹ค. width, height๋Š” ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์˜†์— ์ปจํ…ํŠธ๊ฐ€ ๋ถ™์„ ์ˆ˜ ์žˆ๋‹ค.

block์€ ํ•œ ์ค„์„ ๋‹ค ์ฐจ์ง€ํ•œ๋‹ค. width, height, margin, padding ๋ชจ๋“  ๊ฒƒ์ด ์ ์šฉ๋œ๋‹ค.

์ปจํ…ํŠธ์˜ ์˜์—ญ์€ content+padding์œผ๋กœ background, img ๋“ฑ์˜ ์š”์†Œ๋“ค์ด ํ•ด๋‹น ์˜์—ญ๊นŒ์ง€ ๋ฐ˜์˜๋œ๋‹ค.

Semantic Markup

  • ์›น ์ ‘๊ทผ์„ฑ: ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์ œ์™ธ๋˜์ง€ ์•Š๊ณ  ์›น์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ ‘๊ทผ์„ฑ์„ ์ค€์ˆ˜ํ•ด์•ผ ํ•œ๋‹ค.

  • SEO ์ตœ์ ํ™”: ๋ฌธ์„œ ๋‚ด ํƒœ๊ทธ์™€ ๋‚ด์šฉ์„ ํ†ตํ•ด ๋ถ„์„ํ•ด ์–ด๋–ค ๋‚ด์šฉ์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”๋ฐ ํšจ๊ณผ์ ์œผ๋กœ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

  • ๊ฐœ๋ฐœ: ํ˜‘์—… ์‹œ์˜๊ฐ€๋…์„ฑ, ์Šคํƒ€์ผ์„ ๋ถ€์—ฌํ•  ๋•Œ ์ตœ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ํƒœ๊ทธ๋ฅผ ํ™œ์šฉํ•ด ์‰ฝ๊ฒŒ ์Šคํƒ€์ผ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

Async, Defer

๋‘˜๋‹ค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‹ค์šด๋ฐ›๋Š” ๋™์•ˆ HTML ๋žœ๋”๋ง์ด ์ค‘๋‹จ๋˜์ง€ ์•Š๋Š”๋‹ค.

Async๋Š” ์Šคํฌ๋ฆฝํŠธ ๋‹ค์šด์ด ์™„๋ฃŒ๋˜๋ฉด ๋ฐ”๋กœ ์‹คํ–‰ํ•œ๋‹ค.

Defer๋Š” ์Šคํฌ๋ฆฝํŠธ ๋‹ค์šด์ด ์™„๋ฃŒ๋˜๊ณ  HTML์„ ๋‹ค ์ฝ์€ ํ›„์— ์‹คํ–‰ํ•œ๋‹ค.

Type, Interface

์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ฐ์ฒด์˜ ์‹œ๊ทธ๋‹ˆ์ณ๋งŒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ, ํ™•์žฅ ์‹œ ๋™์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ ์–ธํ•ด๋„ ์ž๋™์œผ๋กœ ํ™•์žฅ๋˜์ง€๋งŒ ํƒ€์ž…์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค๋Š” extends๋ฅผ ํ†ตํ•ด ์ƒ์†๋ฐ›๋Š” ๊ฐœ๋…, ํƒ€์ž…์€ ์œ ๋‹ˆ์–ธ ํƒ€์ž…์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

Generic์€ ๊ฑฐ์˜ ์‚ฌ์šฉํ•ด ๋ณธ ์ ์€ ์—†์œผ๋‚˜, Nullable<T>๋กœ ์œ ํ‹ธ์„ฑ ํƒ€์ž…๊ฐ€๋“œ๋ฅผ ํ™œ์šฉํ•ด๋ณธ ๊ฒฝํ—˜์€ ์žˆ๋‹ค. T๋ฅผ ํ†ตํ•ด ์ •ํ•ด์ง€์ง€ ์•Š์€ ํƒ€์ž…์„ unknow์ด๋‚˜ any๊ฐ€ ์•„๋‹Œ ํšจ์œจ์ ์œผ๋กœ ํƒ€์ž…์„ ์ •์˜ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑธ๋กœ ์•Œ๊ณ ์žˆ๋‹ค.

์ œ๋„ค๋ฆญ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํƒ€์ž…์œผ๋กœ๋Š” readonly, omit, exclude, partial ๋“ฑ ๋‹ค์–‘ํ•œ๊ฒŒ ์žˆ๋‹ค.

์ฝœ๋ฐฑ, ํ”„๋กœ๋ฏธ์Šค, ํŽ˜์น˜, ์‰˜๋กœ์šฐ์นดํ”ผ ๋”ฅ์นดํ”ผ, ๋ฆฌ์•กํŠธ, ๋ฆฌ๋•์Šค

ํ”„๋กœ๋ฏธ์Šค๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ ์ด์œ ๋Š” ์ฝœ๋ฐฑ ํŒจํ„ด์œผ๋กœ ๋น„๋™๊ธฐ์ฒ˜๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•  ์‹œ, ์—๋Ÿฌ ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ต๊ณ  ๊ฐ€๋…์„ฑ ์ธก๋ฉด์—์„œ๋„ ํž˜๋“ค๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๋ฏธ์Šค๊ฐ€ ํƒ„์ƒํ–ˆ๋‹ค. ๋˜ํ•œ ๋น„๋™๊ธฐ ๋ฐฉ์‹์€ ์ž‘์—…์ค‘์ธ ์ฝ”๋“œ๊ฐ€ ๋๋‚˜๊ธฐ ์ „์— ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

ํ”„๋กœ๋ฏธ์Šค ๊ฐ์ฒด๋Š” pending, fulfilled, rejected์˜ ์ƒํƒœ๋ฅผ ๊ฐ€์ง„๋‹ค. ํ”„๋กœ๋ฏธ์Šค๋Š” .then() .catch() ๊ตฌ๋ฌธ์„ ํ†ตํ•ด ์ดํ–‰/๊ฑฐ์ ˆ ๋˜์—ˆ์„ ์‹œ ์ง„ํ–‰ํ•  ์ž‘์—…๊ณผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์บ์น˜ ๊ตฌ๋ฌธ์„ ํ†ตํ•ด ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฆฌ์•กํŠธ ๋ผ์ดํ”„์‚ฌ์ดํด์ด ๋ฌด์—‡์ธ์ง€

์ƒํƒœ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ฑฐ๋‚˜ ๋ผ์ดํ”„์‚ฌ์ดํด์— ๋งž์ถ”์–ด ๊ฐœ๋ฐœ์„ ํ•˜๋ ค๋ฉด class๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ• ๋ฐ–์—๋Š” ์—†์—ˆ๊ณ , class๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•„์š” ์ด์ƒ์œผ๋กœ ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผํ•˜๋Š”๋ฐ this, render ๊ธฐํƒ€ ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€

this๋Š” ์ž์‹ ์ด ์†ํ•œ ๊ฐ์ฒด ๋˜๋Š” ์ž์‹ ์ด ์ƒ์„ฑํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ž๊ธฐ ์ฐธ์กฐ ๋ณ€์ˆ˜(self-reference variable)

์ผ๋ฐ˜ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ (์ƒ์„ฑ์ž ํ•จ์ˆ˜, ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ ๋“ฑ)์€ constructor/prototype ์ด ์žˆ๊ธฐ์— ์ฆ‰, ๊ฐ์ฒด์ด๋‹ค.

ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ non-constructor ์ด๋ฏ€๋กœ ๊ฐ์ฒด๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— this๋ฅผ ์ด์šฉํ•˜๋ฉด ์ƒ์œ„ ์Šค์ฝ”ํ”„ ์ผ๋ฐ˜ ํ•จ์ˆ˜์—์„œ ๋ฐ”์ธ๋”ฉํ•  ๊ฐ์ฒด๋ฅผ ์ฐพ๋Š”๋‹ค.

this๋Š” ํ•จ์ˆ˜ ์ƒ์„ฑ ์‹œ์ ์ด ์•„๋‹Œ ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๋Š” ์‹œ์ ์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ๋ฐ”๋€๋‹ค.

Last updated 1 year ago

Web Storage๋Š” Local, Session์œผ๋กœ ๋‚˜๋‰˜์–ด์ ธ ์žˆ๋‹ค. 5MB ์ •๋„๋กœ ์ฟ ํ‚ค์— ๋น„ํ•ด์„œ ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ํ•  ์ˆ˜ ์žˆ๊ณ , ์„œ๋ฒ„๋กœ ์ „์†ก๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ตณ์ด ์„œ๋ฒ„๋กœ ์ „์†กํ•  ํ•„์š”๊ฐ€ ์—†๋Š” ๋ฐ์ดํ„ฐ๋ผ๋ฉด ๋ณด์•ˆ๊ณผ ์†๋„๋ฅผ ์œ„ํ•ด ์ด์šฉํ•˜๋ฉฐ, ์›น ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. Local Storage๋Š” ์œ ํšจ๊ธฐ๊ฐ„์ด ์—†์ง€๋งŒ, Session Storage๋Š” ์ฐฝ์„ ๋‹ซ์œผ๋ฉด ์ดˆ๊ธฐํ™”๋œ๋‹ค.

โœ…
4)
URL 2)
Proxy ๋™์ž‘ ์›๋ฆฌ
URI vs URL 3)
Sync vs Async 5)
Promise 6)
Box Model