Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

๋ฆฌ์•กํŠธ(React.js)๋ฅผ ์ด์šฉํ•œ ๋‚˜๋งŒ์˜ ์œ ํŠœ๋ธŒ ์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ธฐ ํ”„๋กœ์ ํŠธ

๊ฐ•์˜๋ฅผ ํ†ตํ•ด React ํ”„๋ ˆ์ž„์›Œํฌ์™€ YouTube API๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž์‹ ๋งŒ์˜ ๋ฆฌ์•กํŠธ ์œ ํŠœ๋ธŒ ์˜์ƒ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ด…๋‹ˆ๋‹ค. React์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๊ณ , ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜๊ณ  ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ YouTube Data API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ์ตํžˆ๊ณ , API ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜๋ฏธ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋กœ์จ ์ž์‹ ๋งŒ์˜ ์œ ํŠœ๋ธŒ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ณ , ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[ํ”„๋ก ํŠธ์—”๋“œ, ์›น ๊ฐœ๋ฐœ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • React.js์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ๋ฒ•

  • ์ปดํฌ๋„ŒํŠธ, ์ƒํƒœ(state), ๋ผ์šฐํŒ…, ์ปจํ…์ŠคํŠธ, ์ƒ๋ช…์ฃผ๊ธฐ ๋ฉ”์„œ๋“œ ๋“ฑ

  • HTML, CSS, JavaScript์˜ ๊ธฐ์ดˆ์ ์ธ ๊ฐœ๋…๊ณผ ํ™œ์šฉ๋ฒ•

  • ์™ธ๋ถ€ ์„œ๋น„์Šค์™€์˜ ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ์„ ์œ„ํ•ด REST API

[ํ”„๋ก ํŠธ์—”๋“œ, ์›น ๊ฐœ๋ฐœ] React์™€ YouTube API๋ฅผ ํ™œ์šฉํ•œ ์œ ํŠœ๋ธŒ ์˜์ƒ ์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ธฐ


์†Œ๊ฐœ:

์ด ๊ฐ•์˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๋ฐ ์›น ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋Š” ์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•œ ์™„๋ฒฝํ•œ ์‹œ์ž‘์ ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ React ํ”„๋ ˆ์ž„์›Œํฌ์™€ YouTube API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ž์‹ ๋งŒ์˜ ๋ฆฌ์•กํŠธ ๊ธฐ๋ฐ˜ ์œ ํŠœ๋ธŒ ์˜์ƒ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฃผ์š” ๊ฐœ๋…๊ณผ ๊ธฐ์ˆ ์„ ์Šต๋“ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค: (์•„๋ž˜ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•ด์ฃผ์„ธ์š”.)


๋ฏธ๋ฆฌ๋ณด๊ธฐ:

https://webs-youtube2.netlify.app/

https://webs-youtube2.vercel.app/


๋ฏธ๋ฆฌ๋ณด๊ธฐ:

https://github.com/webstoryboy/webs-youtube


์ฃผ์š” ํ•™์Šต ๋‚ด์šฉ:

  1. React์˜ ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ์‚ฌ์šฉ๋ฒ•: React๋Š” ํ˜„๋Œ€์ ์ธ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์— ํ•„์ˆ˜์ ์ธ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜์—์„œ React์˜ ๊ธฐ์ดˆ๋ฅผ ํ•™์Šตํ•˜๊ณ , ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ตํžˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  2. ์ปดํฌ๋„ŒํŠธ ๊ตฌ์กฐํ™”: ์–ด๋–ป๊ฒŒ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜๊ณ  ์กฐ์งํ™”ํ• ์ง€ ๋ฐฐ์šฐ๋ฉฐ, ๊ฐ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š”์ง€ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

  3. ์ƒํƒœ ๊ด€๋ฆฌ: React ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ƒํƒœ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ• ์ง€ ๋ฐฐ์šฐ๊ณ , ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์„ ์ตํž™๋‹ˆ๋‹ค.

  4. ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ: YouTube Data API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ์Šต๋“ํ•˜๊ณ , API ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

  5. ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๊ฐœ์„ : API ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜๋ฏธ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ UI๋ฅผ ๋””์ž์ธํ•˜๊ณ  ๊ฐœ๋ฐœํ•˜์—ฌ ์ข‹์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ตํž™๋‹ˆ๋‹ค.

๊ฐ•์˜ ๋ชฉํ‘œ:

์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์ฐธ๊ฐ€์ž๋“ค์€ React๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ž์‹ ๋งŒ์˜ ์œ ํŠœ๋ธŒ ์˜์ƒ ์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ์—ญ๋Ÿ‰์„ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ฉํ•˜๊ณ , ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํšจ๊ณผ์ ์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์Šต๋“ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.


์ฑ„๋„ ํŽ˜์ด์ง€ ์ž‘์—…

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-10-20 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 10.18.43.png


๋น„๋””์˜ค ํŽ˜์ด์ง€ ์ž‘์—…

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-10-20 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 10.22.09-min.png



๊ฒ€์ƒ‰ ํŽ˜์ด์ง€ ์ž‘์—…

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-10-20 แ„‹แ…ฉแ„Œแ…ฅแ†ซ 10.21.42-min.png


์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ๋‚˜๋งŒ์˜ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋ถ„

  • ์œ ํŠœ๋ธŒ API๋ฅผ ํ™œ์šฉํ•œ ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋ถ„

  • ๋ฆฌ์•กํŠธ๋ฅผ ํ†ตํ•ด ์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • HTML/CSS

  • Javascript ๊ธฐ๋ณธ

์•ˆ๋…•ํ•˜์„ธ์š”
webstoryboy์ž…๋‹ˆ๋‹ค.

118

๋ช…

์ˆ˜๊ฐ•์ƒ

6

๊ฐœ

์ˆ˜๊ฐ•ํ‰

6

๊ฐœ

๋‹ต๋ณ€

5.0

์ 

๊ฐ•์˜ ํ‰์ 

4

๊ฐœ

๊ฐ•์˜

๋‚˜๋Š” ๊ณต๊ฐ„์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•œ๋‹ค.
์–ด๋ ธ์„ ๋•Œ๋ถ€ํ„ฐ ๋‚˜๋งŒ์˜ ๊ณต๊ฐ„์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์ข‹์•„ํ–ˆ๋‹ค. 
๋‚ด๊ฐ€ ๋งŒ๋“  ๊ณต๊ฐ„ ์†์—์„œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์˜๊ฐ์„ ๋ฐ›๊ฑฐ๋‚˜ ๋งˆ์Œ์„ ์›€์ง์ด๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ๋‹ค.
์ฝ”๋”ฉ์€ ์ด๋Ÿฐ ๋งค๋ ฅ์ ์ธ ๊ณต๊ฐ„์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํž˜์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค. 
๊ทธ ํ•œ๊ตฌ์„์— ๋‚˜๋งŒ์˜ ๊ฟˆ์„ ๋‹ด์•„๋‘๊ณ , ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด ์‚ด๊ณ  ์‹ถ๋‹ค.

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

23๊ฐœ โˆ™ (9์‹œ๊ฐ„ 0๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!