ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

ํ•˜๋ฃจ ์ข…์ผ ๋ถ™์žก๊ณ  ์žˆ์œผ๋ฉด์„œ ์•Œ๊ฒŒ ๋œ ๊ฒƒ๋“ค๊ณผ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…โ˜„๏ธ

๊ณผ์ œ ์ˆ˜ํ–‰ ์ˆœ์„œ์— ๋”ฐ๋ผ ์•Œ๊ฒŒ ๋œ ๊ฒƒ๊ณผ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ… ๋ถ€๋ถ„์„ ์ž์„ธํžˆ ์ ์–ด๋‘๊ฒ ๋‹ค.


๊ณผ์ œ ์ˆ˜ํ–‰ ์ˆœ์„œ

1. <script type="module"> ์„ค์ • ๐Ÿ’ก
2. html์— css ์—ฐ๊ฒฐ โ˜„๏ธ
3. css๋กœ ๋ฉ”์ธ ํ™”๋ฉด header, card ํ˜•ํƒœ ๋งŒ๋“ค๊ธฐ
4. fetch์˜ ulr ๋‚ด์˜ en-US -> ko-KR๋กœ ๋ณ€ํ™˜ & url ํ•œ๊ธ€ํ™” โ˜„๏ธ
5. ํด๋ฆญ ์‹œ ๋‚˜์˜ค๋Š” ์นด๋“œ html ๋งŒ๋“ค๊ธฐ --> ์ถ”ํ›„ ์‚ฌ์šฉ ์˜ˆ์ •
6. fetch๋กœ api ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ -> ์•จ๋ฒ” ํ”„๋กœ์ ํŠธ&์›น๊ฐœ๋ฐœ ์ข…ํ•ฉ๋ฐ˜ 3์ฃผ์ฐจ ์ฐธ๊ณ โ€จ๐Ÿ’ก
     6-1. ์˜ํ™” ํ•œ ๊ฐœ์˜ ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐโ€จ- (์ „์ฒด)data์˜ (๋ฌธ์ž์—ด)’results’์˜ 0๋ฒˆ์งธ ๊ฐ’
     6-2. forEach๋กœ ํ•˜๋‚˜์”ฉ ์ฐ์–ด๋‚ด๊ธฐ
7. ๊ฐ€์ ธ์˜จ ๊ฐ’์„ ์นด๋“œ์— ๋Œ€์ž…ํ•˜๊ธฐ ๐Ÿ’ก
8. ์‚ฌ์ง„ ์นด๋“œ๋“ค์„ grid ๋ ˆ์ด์•„์›ƒ ์Šคํƒ€์ผ๋ง ๐Ÿ’ก
9. ์‚ฌ์ง„ ๊ฐ€์ ธ์˜ค๊ธฐ(DOM ํ˜•์‹) ๐Ÿ’ก
10. temp_html = ``

 

 

์•Œ๊ฒŒ ๋œ ๊ฒƒ

1. Script ํƒœ๊ทธ์— type์ด module์ž„์„ ๋ช…์‹œํ•˜๊ธฐ

1-1. ๋ชจ๋“ˆํ™”๋ž€?
โ–ธ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ž‘์€ ๋‹จ์œ„์ธ ๋ชจ๋“ˆ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•
โ–ธ ๋ชจ๋“ˆ์€ ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์€ ์ฝ”๋“œ ๋ธ”๋ก์ด๋ฉฐ ๋ชจ๋“ˆ๋ผ๋ฆฌ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉด์„œ ์ „์ฒด ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•จ

1-2. ๋ชจ๋“ˆํ™”์˜ ํ•„์š”์„ฑ?
โ–ธ ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋†’์ด๊ณ  ๋น„์šฉ์„ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.
โ–ธ ์ „์ฒด ์ฝ”๋“œ์˜ ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด
โ–ธ ๊ฐœ๋ฐœ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ณ  ํšจ์œจ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Œ
โ–ธ ๊ฐ ๋ชจ๋“ˆ์€ ํŠน์ • ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๋ฏ€๋กœ ์ฝ”๋“œ์˜ ์˜๋„๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์ง
โ–ธ ๋น ๋ฅด๊ฒŒ ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ˆ˜์ • ๊ฐ€๋Šฅ
โ–ธ ํ•„์š”์— ๋”ฐ๋ผ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ๊ธฐ๋Šฅ์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์ด ๋น„๊ต์  ๊ฐ„๋‹จํ•ด์ง
โ–ธ ๊ฐ ๋ชจ๋“ˆ์€ ๋…๋ฆฝ์ ์œผ๋กœ ํ…Œ์ŠคํŠธ๋˜๋ฏ€๋กœ ์ „์ฒด ์‹œ์Šคํ…œ์˜ ํ’ˆ์งˆ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.
โ–ธ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์—์„œ์˜ ๋ถ„์—…์ด ์šฉ์ดํ•จ.
์ถœ์ฒ˜:https://gyaeh-coding.tistory.com/123



6-1. ์˜ํ™” ํ•œ ๊ฐœ์˜ ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ

  • (์ „์ฒด)data์˜ (๋ฌธ์ž์—ด)’results’์˜ 0๋ฒˆ์งธ ๊ฐ’

 

 

6-2. forEach๋กœ ํ•˜๋‚˜์”ฉ ์ฐ์–ด๋‚ด๊ธฐ

function popularMovie() {
  const url = "https://api.themoviedb.org/3/movie/popular?api_key=${key}&language=ko-KR&page=1";
  fetch(url).then(res => res.json()).then(data => {
    let rows = data['results'];
    rows.forEach(a => {
      let title = a['title'];
      let vote_aver = a['vote_average'];
      console.log(title, vote_aver);
    });
  })
};
popularMovie();

 

 

 

7. ๊ฐ€์ ธ์˜จ ๊ฐ’์„ ์นด๋“œ์— ๋Œ€์ž…ํ•˜๊ธฐ (->  DOM ํ™œ์šฉ์œผ๋กœ ๋ณ€๊ฒฝ)

  • $('#mvtitle').text(title); ์„ ์•„๋ฌด๋ฆฌ ์ž…๋ ฅํ•ด๋„ ์ฝ˜์†” ์ฐฝ์—์„œ $๊ฐ€ ์ธ์‹์ด ์•ˆ ๋˜์—ˆ๋‹ค.

Api ์ •๋ณด Html ์—ฐ๊ฒฐํ•˜๊ธฐ๋ฅผ ์ฐพ๋˜ ์ค‘ ์ด๊ฑธ ๋ณด๊ณ  jquery ์—ฐ๊ฒฐ ๋งํฌ๋ฅผ ๋ณต์‚ฌํ–ˆ๋”๋‹ˆ
(์ถ”์–ต ์•จ๋ฒ” ๋งŒ๋“ค๊ธฐ์—์„œ ๊ฐ€์ ธ์˜ด)

์˜ํ™” ์ œ๋ชฉ๊ณผ ํ‰์ ์ด ๋–ด๋‹ค.

 

ํ•˜.์ง€.๋งŒ

์ด๊ฒƒ์€ jQuery๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•!
ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ ๋ฐ”๋‹๋ผ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๐Ÿฆ๋กœ ์ˆœ์ˆ˜ ์ฝ”๋”ฉ์„ ์œ„ํ•ด ์ƒ๋žต..

——> DOM์„ ํ™œ์šฉํ•˜๊ธฐ !!!

document.querySelector("#id๊ฐ’")

์ด๋Ÿฐ ์‹์œผ๋กœ ~

 

8. ์‚ฌ์ง„ ์นด๋“œ๋“ค์„ grid ๋ ˆ์ด์•„์›ƒ ์Šคํƒ€์ผ๋ง

https://studiomeal.com/archives/533 ์ฐธ๊ณ ํ•˜์—ฌ

 

์ด๋ฒˆ์—์•ผ๋ง๋กœ CSS Grid๋ฅผ ์ตํ˜€๋ณด์ž

 

studiomeal.com

(์ •๋ง ์ •๋ฆฌ๊ฐ€ ์ž˜ ๋˜์–ด์žˆ๋‹ค! ์ข…์ข… ์ฐธ๊ณ ํ•˜๋Š” ์ค‘)

.Cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  grid-gap: 20px;
}

์ž‘์„ฑ ์™„๋ฃŒ!

 

 

9. ์‚ฌ์ง„ ๊ฐ€์ ธ์˜ค๊ธฐ

  • ์‚ฌ์ง„์ด .jpg ํŒŒ์ผ์ด๋ผ ๊ฐ€์ ธ์˜ค๊ธฐ ๊ณค๋ž€…
    ——> ํ•ด๋‹น ์‚ฌ์ดํŠธ๋ฅผ ์ฐพ์•„๋ณด๊ธฐ(๊ณต์‹ ๋ฌธ์„œ!!)
    TMDB > Guides > IMAGES > Basics > Example ๋งํฌ!!!

~w500 ๊นŒ์ง€ ๋ณต์‚ฌํ•˜์—ฌ js ๋นˆ ๊ณณ์— ๋ณ€์ˆ˜๋กœ ํ• ๋‹นํ•˜๊ธฐ
(์ œ๊ณต๋˜๋Š” ์ด๋ฏธ์ง€ ํŒŒ์ผ์ด /๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ)

 

+) JSON์ด๋ž€,

JavaScript Object Notation์˜ ์•ฝ์ž๋กœ,
key์™€ value ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ํ˜•ํƒœ์˜ object ์ด๋‹ค.
ํ˜•ํƒœ => "key": "value"

 

+) vscode ํ™•์žฅํ”„๋กœ๊ทธ๋žจ Prettier ์„ค์น˜ ๋ฐ ์„ค์ •

-> ์ €์žฅ ์‹œ ์ฝ”๋“œ๊ฐ€ ์ผ์น˜์ ์œผ๋กœ ์กฐ์ •๋จ

 

+) innerHTML

innerHTML ์†์„ฑ์€
HTML ์š”์†Œ์˜ ๋‚ด๋ถ€ HTML ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ์„ค์ •ํ•œ๋‹ค.
์ฆ‰, ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ(๊ณต๋ฐฑ ํฌํ•จ) ๋ฌธ์ž์—ด๋กœ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

[HTML]

<div id="example">
    <!-- ์ฃผ์„์ž…๋‹ˆ๋‹ค. -->
    ์ผ๋ฐ˜ ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค.
    <p>์•ˆ๋…•ํ•˜์„ธ์š”</p>
    <span>์—ฌ๊ธฐ๋Š” ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.</span>
</div>

 

[JavaScript]

const element = document.getElementById("example");โ€จ
console.log(element.innerHTML);

 

[์ถœ๋ ฅ๊ฐ’]

์ถœ์ฒ˜: https://codingeverybody.kr/์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ-element-innerhtml-property/

 

 

ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

2. html์— css ์—ฐ๊ฒฐ

๋‹จ๊ณ„ 1. <div>์— class ์ง€์ •
๋‹จ๊ณ„ 2. Css ํŒŒ์ผ ๋‚ด ํด๋ž˜์Šค๋ช… ์•ž์— ‘.’ ์ถ”๊ฐ€์ž‘์„ฑ (.ํด๋ž˜์Šค๋ช…/ํƒœ๊ทธ๋ช…์œผ๋กœ ํ•  ์‹œ์—๋Š” ์ƒ๋žต)
๋‹จ๊ณ„ 3. Html ํŒŒ์ผ์— <link rel="stylesheet" href="style.css"> ์ถ”๊ฐ€
=> ์ ์šฉ ์„ฑ๊ณต
https://grace-go.tistory.com/28 ์ฐธ๊ณ 

 

 

4. fetch์˜ ulr ๋‚ด์˜ en-US -> ko-KR๋กœ ๋ณ€ํ™˜ & api ํ•œ๊ธ€ํ™”

4-1. - ์˜ํ™” ์ •๋ณด๋ฅผ ํ•œ๊ธ€๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ:โ€จfetch์˜ ulr ๋‚ด์˜ en-US -> ko-KR๋กœ ๋ณ€ํ™˜

 

 

4-2. api ์ •๋ณด ํ•œ๊ธ€ํ™”

 

[์ƒํ™ฉ] url์„ ๊ตฌ๊ธ€์— ์ž…๋ ฅํ•˜๋‹ˆ ๋‚˜์˜ค์ง€ ์•Š์Œ

 

 

์‹œ๋„ 1. '?'๋’ค์— api_key=${key} ๋ฅผ ์ถ”๊ฐ€
https://velog.io/@ncookie/IMDB-TMDB-API-์‚ฌ์šฉ๋ฒ•-์ •๋ฆฌ )์ฐธ๊ณ  -> ์‹คํŒจ

 

์‹œ๋„ 2. Language ~ ์‚ญ์ œ -> ์ž˜ ๋‚˜์˜ค์ง€๋งŒ ์˜๋ฌธ

 

 

์‹œ๋„ 3. ?language~ ์ถ”๊ฐ€ -> ์‹คํŒจ

 

 

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ๋ฐ ์ตœ์ข… ํ˜•์‹
<์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ>
์ฟผ๋ฆฌ(Query)๋Š” '๋ฌธ์˜' ๋˜๋Š” '๋ฌผ์Œํ‘œ'๋ผ๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ์š”. ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ(Query Parameter)๋Š” URL ๋’ค์— ๋ฌผ์Œํ‘œ(?)์™€ ํ•จ๊ป˜ ๋ถ™๋Š” ํ‚ค-๊ฐ’(Key-Value) ์Œ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋ ค๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ ์‚ฌ์ด์— ์•ฐํผ์ƒŒ๋“œ(&)๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด(string)๋กœ ์ „๋‹ฌํ•˜์„ธ์š”. ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ๋Š” ๋ฌธ์ž์—ด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ˆซ์ž, ๋ฆฌ์ŠคํŠธ ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ์–ด์š”.

 

https://api.themoviedb.org/3/movie/popular?api_key=${key}&language=ko-KR&page=1

์ถœ์ฒ˜:https://docs.tosspayments.com/resources/glossary/query-param

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2026/03   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ