Skip to content

[๐Ÿš€ Today I Learn ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ] ์•„์ง€ ๋ฏธ์…˜ ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.#116

Open
gustn99 wants to merge 3 commits into
woowacourse:mainfrom
gustn99:gustn99
Open

[๐Ÿš€ Today I Learn ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ] ์•„์ง€ ๋ฏธ์…˜ ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.#116
gustn99 wants to merge 3 commits into
woowacourse:mainfrom
gustn99:gustn99

Conversation

@gustn99

@gustn99 gustn99 commented Mar 19, 2026

Copy link
Copy Markdown

https://gustn99.github.io/web-today-i-learn/

HTML

1. ๋‚˜๋งŒ์˜ ๊ฐค๋Ÿฌ๋ฆฌ์—์„œ ์‚ฌ์ง„ 9์žฅ์€ HTML ํƒœ๊ทธ ์ค‘ ์–ด๋–ค ์š”์†Œ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ? ์ด์œ ๋Š” ๋ญ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๊ฐ€?

<ul>๊ณผ <li> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹๋‹ค.
๊ฐค๋Ÿฌ๋ฆฌ๋Š” ๋ณธ์งˆ์ ์œผ๋กœ '์ด๋ฏธ์ง€๋“ค์˜ ๋ชฉ๋ก'์ด๋‹ค. ๋‹จ์ˆœํžˆ <div>๋ฅผ ๋‚˜์—ดํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋ชฉ๋ก์„ ์˜๋ฏธํ•˜๋Š” <ul> ํƒœ๊ทธ๋กœ ๊ฐ์‹ธ๊ณ  ๊ฐ ํ•ญ๋ชฉ์„
<li>๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋ธŒ๋ผ์šฐ์ €์™€ ๋ณด์กฐ ๊ณตํ•™ ๊ธฐ๊ธฐ(์Šคํฌ๋ฆฐ ๋ฆฌ๋” ๋“ฑ)์— ์ด ์š”์†Œ๋“ค์ด ์„œ๋กœ ์—ฐ๊ด€๋œ ๋ฆฌ์ŠคํŠธ์ž„์„ ๋ช…ํ™•ํžˆ ์•Œ๋ ค์ฃผ๊ธฐ ๋•Œ๋ฌธ.

2. ๋ผˆ๋Œ€ ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋ฐฉ์‹์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰˜๋Š”๋ฐ ๋ฌด์—‡์ด๊ณ  ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๊ฐ€?

HTML์˜ <img> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹๊ณผ CSS์˜ background-image ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ๋‹ค.
์—ฌ๊ธฐ์„œ๋Š” ํ”„๋กœํ•„, ๊ฐค๋Ÿฌ๋ฆฌ, ์ž‘ํ’ˆ ํฌ์Šคํ„ฐ ๋“ฑ ์˜๋ฏธ๊ฐ€ ์ค‘์š”ํ•œ ์ฝ˜ํ…์ธ  ์ด๋ฏธ์ง€๋Š” ๋ชจ๋‘ <img> ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด ๋กœ๋“œํ•˜๊ณ  ์žˆ๋‹ค. ๋ฐ˜๋ฉด, ๋ฐฐ๊ฒฝ์ƒ‰์ด๋‚˜ ๋””์ž์ธ์  ์š”์†Œ(์˜ˆ: ๋น„๋””์˜ค ๋กœ๋”ฉ ์ „ ๊ฒ€์€ ๋ฐฐ๊ฒฝ)๋Š” CSS๋ฅผ ํ†ตํ•ด ์ œ์–ดํ•œ๋‹ค.

3. ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ(์˜ˆ: <header>, <main>, <section>,

<footer> ๋“ฑ)๋กœ ๋ฌธ์„œ๋ฅผ ๊ตฌ๋ถ„ํ•  ๋•Œ, ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์„น์…˜์„ ๋‚˜๋ˆ„๊ณ  ํƒœ๊ทธ๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ?

์ฝ˜ํ…์ธ ์˜ ์—ญํ• ๊ณผ ์ฃผ์ œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.

  • <header>: ํŽ˜์ด์ง€์˜ ์ œ๋ชฉ์ด๋‚˜ ์ฃผ์š” ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋“ฑ ๋„์ž…๋ถ€ ์š”์†Œ๋ฅผ ๋‹ด๋Š”๋‹ค.
  • <main>: ํŽ˜์ด์ง€์˜ ํ•ต์‹ฌ ์ฝ˜ํ…์ธ ๊ฐ€ ์‹œ์ž‘๋˜๋Š” ๋ถ€๋ถ„์„ ์ •์˜ํ•˜๋ฉฐ, ๋ฌธ์„œ ๋‚ด์—์„œ ๋‹จ ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.
  • <section>: '์ž๊ธฐ์†Œ๊ฐœ', '๊ฐค๋Ÿฌ๋ฆฌ', 'TIL'์ฒ˜๋Ÿผ ์„œ๋กœ ๋‹ค๋ฅธ ์ฃผ์ œ๋ฅผ ๊ฐ€์ง„ ๋…๋ฆฝ์ ์ธ ๊ตฌ์—ญ์„ ๋‚˜๋ˆŒ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • <footer>: ์ €์ž‘๊ถŒ ์ •๋ณด, ์—ฐ๋ฝ์ฒ˜ ๋“ฑ ๋ฌธ์„œ์˜ ํ•˜๋‹จ ์ •๋ณด๋ฅผ ๋‹ด์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

4. <img> ํƒœ๊ทธ์˜ alt ์†์„ฑ์€ ์™œ ํ•„์š”ํ•˜๋ฉฐ, ์–ด๋–ป๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„๊นŒ?

์›น ์ ‘๊ทผ์„ฑ๊ณผ ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ์‹คํŒจ ์‹œ์˜ ์ •๋ณด ์ „๋‹ฌ์„ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค.
๋‹จ์ˆœํžˆ "์ด๋ฏธ์ง€ 1"์ด๋ผ๊ณ  ์ ๊ธฐ๋ณด๋‹ค๋Š” "ํ™œ์ง ์›ƒ๊ณ  ์žˆ๋Š” ์•„์ง€ ๋ชจ์Šต"์ฒ˜๋Ÿผ ์ด๋ฏธ์ง€๊ฐ€ ์ „๋‹ฌํ•˜๊ณ ์ž ํ•˜๋Š” ๋‚ด์šฉ์„ ๊ตฌ์ฒด์ ์œผ๋กœ ๋ฌ˜์‚ฌํ•˜์—ฌ, ์ด๋ฏธ์ง€๋ฅผ ๋ณผ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž๋„ ๋‚ด์šฉ์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

5. ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋“œํ•  ๋•Œ, ์ƒ๋Œ€ ๊ฒฝ๋กœ(relative path)์™€ ์ ˆ๋Œ€ ๊ฒฝ๋กœ(absolute path)๋ฅผ ํ˜ผ์šฉํ•˜๋ฉด ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์„๊นŒ?

ํ”„๋กœ์ ํŠธ์˜ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์›Œ์ง€๊ณ  ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋งํฌ๊ฐ€ ๊นจ์งˆ ์ˆ˜ ์žˆ๋‹ค.

  • ๋กœ์ปฌ ํ™˜๊ฒฝ๊ณผ ๋ฐฐํฌ ํ™˜๊ฒฝ(GitHub Pages ๋“ฑ)์˜ ๋ฃจํŠธ ๊ฒฝ๋กœ๊ฐ€ ๋‹ค๋ฅผ ๊ฒฝ์šฐ, ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ž‘์„ฑ๋œ ํŒŒ์ผ์€ ์ฐพ์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€ ์ž์‚ฐ์€ ๊ฐ€๊ธ‰์  ์ƒ๋Œ€ ๊ฒฝ๋กœ(./images/...)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋€Œ๋”๋ผ๋„ ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

6. <meta> ํƒœ๊ทธ์˜ viewport ์„ค์ •๊ณผ Open Graph ํƒœ๊ทธ๋Š” ๊ฐ๊ฐ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”๊ฐ€?

  • viewport: ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ ๋“ฑ ๋‹ค์–‘ํ•œ ํ™”๋ฉด ํฌ๊ธฐ์—์„œ ํŽ˜์ด์ง€๊ฐ€ ์ ์ ˆํ•œ ๋น„์œจ๋กœ ๋ณด์ด๋„๋ก ์กฐ์ ˆํ•œ๋‹ค. (๋ฐ˜์‘ํ˜• ์›น์˜ ๊ธฐ์ดˆ)
  • Open Graph (og:): ์นด์นด์˜คํ†ก์ด๋‚˜ ํŽ˜์ด์Šค๋ถ ๋“ฑ์— ๋งํฌ๋ฅผ ๊ณต์œ ํ–ˆ์„ ๋•Œ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋กœ ๋‚˜ํƒ€๋‚  ์ œ๋ชฉ, ์„ค๋ช…, ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •ํ•˜์—ฌ ํด๋ฆญ๋ฅ ์„ ๋†’์ด๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

CSS

1. ๋‚˜๋งŒ์˜ ๊ฐค๋Ÿฌ๋ฆฌ์—์„œ 9์žฅ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๊ธฐ ์ข‹๊ฒŒ ๋ฐฐ์น˜ํ•˜๋ ค๋ฉด, Flexbox์™€ CSS Grid ์ค‘ ์–ด๋–ค ๊ฒƒ์ด ๋” ์ ํ•ฉํ• ๊นŒ? ๊ทธ ์ด์œ ๋Š”?

CSS Grid๊ฐ€ ๋” ์ ํ•ฉํ•˜๋‹ค.
Flexbox๋Š” ์ฃผ๋กœ 1์ฐจ์›(๊ฐ€๋กœ ๋˜๋Š” ์„ธ๋กœ ํ•œ ๋ฐฉํ–ฅ) ๋ ˆ์ด์•„์›ƒ์— ์œ ๋ฆฌํ•œ ๋ฐ˜๋ฉด, Grid๋Š” 2์ฐจ์›(ํ–‰๊ณผ ์—ด) ๋ ˆ์ด์•„์›ƒ์„ ์ •์˜ํ•˜๋Š” ๋ฐ ์ตœ์ ํ™”๋˜์–ด ์žˆ๋‹ค. 3x3 ํ˜•ํƒœ์˜ ์ •๊ฐˆํ•œ ๊ฒฉ์ž ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ๋•Œ๋Š” Grid๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ •ํ™•ํ•˜๋‹ค.

2. ํƒœ๊ทธ ์„ ํƒ์ž, ํด๋ž˜์Šค ์„ ํƒ์ž, ID ์„ ํƒ์ž๋Š” ๊ฐ๊ฐ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ์ ˆํ• ๊นŒ?

  • ํƒœ๊ทธ ์„ ํƒ์ž (h2, p): ๋ฌธ์„œ ์ „๋ฐ˜์— ๊ฑธ์นœ ๊ธฐ๋ณธ ์Šคํƒ€์ผ(ํฐํŠธ, ์ค„๊ฐ„๊ฒฉ ๋“ฑ)์„ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • ํด๋ž˜์Šค ์„ ํƒ์ž (.content-section, .work-card): ์—ฌ๋Ÿฌ ์š”์†Œ์—์„œ ๊ณตํ†ต์œผ๋กœ ๋ฐ˜๋ณต ์‚ฌ์šฉ๋˜๋Š” ์Šคํƒ€์ผ์„ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. (๊ฐ€์žฅ ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ์‹)
    • ID ์„ ํƒ์ž (#til-form): ํŽ˜์ด์ง€ ๋‚ด์—์„œ ๋‹จ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๋Š” ๊ณ ์œ ํ•œ ์š”์†Œ์— ์Šคํƒ€์ผ์„ ์ฃผ๊ฑฐ๋‚˜, JS์—์„œ ์š”์†Œ๋ฅผ ์ฐพ์„ ๋•Œ, ํ˜น์€ ์•ต์ปค ๋งํฌ์šฉ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

3. CSS๋ฅผ HTML ๋‚ด์— ์ง์ ‘ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๊ณผ ๋ณ„๋„ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ผ๊นŒ?

  • ๋ณ„๋„ ํŒŒ์ผ ๋ถ„๋ฆฌ: ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ(HTML=๊ตฌ์กฐ, CSS=๋””์ž์ธ)๊ฐ€ ๊ฐ€๋Šฅํ•ด์ ธ ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์ง€๊ณ  ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฝ๋‹ค. ๋˜ํ•œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ CSS ํŒŒ์ผ์„ ์บ์‹ฑํ•  ์ˆ˜ ์žˆ์–ด ์„ฑ๋Šฅ ๋ฉด์—์„œ๋„ ์œ ๋ฆฌํ•˜๋‹ค.
  • ์ง์ ‘ ์ž‘์„ฑ (style ํƒœ๊ทธ/์ธ๋ผ์ธ): ๊ตฌ์กฐ๊ฐ€ ๋งค์šฐ ๋‹จ์ˆœํ•  ๋•Œ๋Š” ํŽธํ•  ์ˆ˜ ์žˆ์œผ๋‚˜, ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๋ฉด ๊ด€๋ฆฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ด์ง€๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋–จ์–ด์ง„๋‹ค.

JavaScript

1. document.getElementById() ์™€ document.querySelector() ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€?

  • getElementById: ์˜ค์ง ID ๊ฐ’์œผ๋กœ๋งŒ ์š”์†Œ๋ฅผ ์ฐพ์œผ๋ฉฐ ์„ฑ๋Šฅ์ด ๋ฏธ์„ธํ•˜๊ฒŒ ๋น ๋ฅด๋‹ค.
  • querySelector: CSS ์„ ํƒ์ž ํ˜•์‹(#id, .class,
    div > p)์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ํ›จ์”ฌ ์œ ์—ฐํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ๋‹ค. ์ตœ๊ทผ์—๋Š” ์ฝ”๋“œ์˜ ํ†ต์ผ์„ฑ์„ ์œ„ํ•ด querySelector๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์ถ”์„ธ์ด๋‹ค.

2. ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์‚ฌ์šฉํ•ด์„œ "์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ฌ์„ ๋•Œ ์–ด๋–ค ๋™์ž‘์„ ์‹คํ–‰"ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ž๊ธฐ์†Œ๊ฐœ ํŽ˜์ด์ง€์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฒคํŠธ์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ์„๊นŒ?

  • submit: TIL ์ž‘์„ฑ ํผ์„ ์ œ์ถœํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. (ํ˜„์žฌ ๊ตฌํ˜„๋จ)
  • click: ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฉ”๋‰ด ํด๋ฆญ ์‹œ ๋ถ€๋“œ๋Ÿฌ์šด ์ด๋™์ด๋‚˜, ๊ฐค๋Ÿฌ๋ฆฌ ์ด๋ฏธ์ง€ ํด๋ฆญ ์‹œ ํฌ๊ฒŒ ๋ณด๊ธฐ ๋“ฑ์— ์‚ฌ์šฉํ•œ๋‹ค.
  • mouseover / mouseout: ๋ฒ„ํŠผ์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ ธ์„ ๋•Œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ฅผ ์ฃผ๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

3. innerHTML ๋กœ DOM์„ ์กฐ์ž‘ํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ๋ฌด์—‡์ผ๊นŒ?

๋ณด์•ˆ(XSS)๊ณผ ์„ฑ๋Šฅ ๋ฌธ์ œ

  • ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ innerHTML์— ๋„ฃ์œผ๋ฉด ์•…์˜์ ์ธ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋  ์œ„ํ—˜์ด ์žˆ๋‹ค. ๋˜ํ•œ innerHTML์€ ๋ณ€๊ฒฝ ์‹œ ํ•ด๋‹น ์š”์†Œ ํ•˜์œ„์˜ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ๋‹ค์‹œ ํŒŒ์‹ฑํ•˜๋ฏ€๋กœ ๋นˆ๋ฒˆํ•œ ์กฐ์ž‘ ์‹œ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. (์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๋ฐ์ดํ„ฐ๋Š” textContent ์‚ฌ์šฉ ๊ถŒ์žฅ)

๋ฐฐํฌ

1. GitHub Pages๋กœ ๋ฐฐํฌํ•œ ํŽ˜์ด์ง€์—์„œ TIL์„ ์ž‘์„ฑํ•˜๋ฉด, ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ฑฐ๋‚˜ ์žฌ๋ฐฐํฌํ–ˆ์„ ๋•Œ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ง€๋ ๊นŒ? ๊ทธ ์ด์œ ๋Š”?

์œ ์ง€๋˜์ง€ ์•Š๋Š”๋‹ค.
GitHub Pages๋Š” ์ •์ (Static) ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค์ด๋‹ค. JavaScript๋กœ ์ถ”๊ฐ€ํ•œ ๋ฐ์ดํ„ฐ๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฉ”๋ชจ๋ฆฌ์ƒ์— ์ผ์‹œ์ ์œผ๋กœ๋งŒ ์กด์žฌํ•˜๋ฉฐ, ์„œ๋ฒ„์— ์ €์žฅ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ์ดˆ๊ธฐ ์ƒํƒœ๋กœ ๋Œ์•„๊ฐ„๋‹ค.

2. JavaScript๋กœ ์ถ”๊ฐ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅํ•˜๋ ค๋ฉด ์–ด๋–ค ๋ฐฉ๋ฒ•์ด ์žˆ์„๊นŒ?

  • ๋ธŒ๋ผ์šฐ์ € ์ €์žฅ์†Œ: LocalStorage๋‚˜ IndexedDB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค. (ํ•ด๋‹น ๋ธŒ๋ผ์šฐ์ €์—์„œ๋งŒ ์œ ์ง€๋จ)
  • ์„œ๋ฒ„/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค: Firebase, Supabase ๊ฐ™์€ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋‚˜ ๋ณ„๋„์˜ API ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜์—ฌ DB์— ์˜๊ตฌ์ ์œผ๋กœ ๊ธฐ๋กํ•œ๋‹ค. (๋ชจ๋“  ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ ์œ ์ง€๋จ)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant