Skip to content

rlaskarb/KPopDemonHunters

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

89 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽถ K-PopDemonHunters( Responsive Web Portfolio )


Video.mp4

โŒš ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ 25.09 ~ 25.10 (์•ฝ 2์ฃผ)


๐Ÿงญ ๋น ๋ฅธ ์ด๋™




๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

K-Pop ๋ฐ๋ชฌ ํ—Œํ„ฐ์Šค ํŒฌ ์‚ฌ์ดํŠธ ํ˜•์‹์œผ๋กœ ์ œ์ž‘๋œ ๊ณ ์„ฑ๋Šฅ ๋ฐ˜์‘ํ˜• ์›น ํฌํŠธํด๋ฆฌ์˜ค์ž…๋‹ˆ๋‹ค.

์ˆœ์ˆ˜ JavaScript(ES6+)์™€ ์ตœ์†Œํ•œ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๊ทธ์™ธ ์• ๋‹ˆ๋งค์ด์…˜ ํšจ๊ณผ๋ฅผ ์ง์ ‘ CSS์„ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ๋””๋ฐ”์ด์Šค์—์„œ ์ตœ์ ์˜ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๊ณ  Lighthouse 97์  ์ด์ƒ์ด๋ผ๋Š” ์ ์ˆ˜๋ฅผ ๋‹ฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.


โš™๏ธ ์ง์ ‘ ๊ตฌํ˜„ํ•œ ํ•ต์‹ฌ ๊ธฐ๋Šฅ

โœจ ๋ฐ˜์‘ํ˜• ๊ตฌํ˜„

jQuery ์—†์ด ์ˆœ์ˆ˜ JavaScript์™€ Media Query, Flexbox/Grid๋ฅผ ํ™œ์šฉํ•˜์—ฌ
PC, ํƒœ๋ธ”๋ฆฟ, ๋ชจ๋ฐ”์ผ 3๋‹จ๊ณ„ ๋ ˆ์ด์•„์›ƒ ์ „ํ™˜์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์˜์กด๋„๋ฅผ ์ตœ๋Œ€ํ•œ ๋‚ฎ์ถ”๊ณ  ์ฝ”๋“œ์˜ ๊ฒฝ๋Ÿ‰ํ™”๋ฅผ ์‹œ๋„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

โœจ ์„ฑ๋Šฅ ์ตœ์ ํ™”

์ด 144๊ฐœ์˜ ๋Œ€๊ทœ๋ชจ ๋ฏธ๋””์–ด ์—์…‹ ํ™˜๊ฒฝ์—์„œ๋„ ๋น ๋ฅธ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด,
Intersection Observer API ๋ฐ ์ฐจ์„ธ๋Œ€ ์ด๋ฏธ์ง€ ํฌ๋งท์ธ AVIF๋ฅผ ์ ๊ทน ํ™œ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”์— ์‹ ๊ฒฝ์ป์Šต๋‹ˆ๋‹ค.

โœจ JSON ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋™์  ์ฝ˜ํ…์ธ  ๋ Œ๋”๋ง & ํƒญ ๋„ค๋น„๊ฒŒ์ด์…˜

์™ธ๋ถ€ JSON ํŒŒ์ผ์— ์ €์žฅ๋œ ์บ๋ฆญํ„ฐ ๊ทธ๋ฃน ๋ฐ ์ƒ์„ธ ๋ฐ์ดํ„ฐ๋ฅผ fetch API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž๊ฐ€ ์ƒ๋‹จ ํƒญ ๋ฉ”๋‰ด(HUNTR/X, SAJA BOYS ๋“ฑ)๋ฅผ ํด๋ฆญํ•˜๋ฉด, ํ•ด๋‹น ๊ทธ๋ฃน์˜ ๋ฐ์ดํ„ฐ๋งŒ ํ•„ํ„ฐ๋งํ•˜์—ฌ
์บ๋ฆญํ„ฐ ์นด๋“œ,์Šคํ† ๋ฆฌ ์„น์…˜ ๋“ฑ ๋ชจ๋“  ๊ด€๋ จ ์ฝ˜ํ…์ธ ๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.

โœจ ์›น ํ‘œ์ค€ ๋ฐ ์ ‘๊ทผ์„ฑ ์ค€์ˆ˜

W3C ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•˜๊ณ  ์‹œ๋งจํ‹ฑ ๋งˆํฌ์—… ์›์น™์„ ์ฒ ์ €ํžˆ ์ค€์ˆ˜ํ•˜์—ฌ ๊ฐœ๋ฐœ์˜ ๊ธฐ๋ณธ์„ ์ง€์ผฐ์Šต๋‹ˆ๋‹ค.

20

Lighthouse ์ค‘ Performance 100 ๋‹ฌ์„ฑ ๋ฐ ๋งˆํฌ์—… ๋ฐ ์ ‘๊ทผ์„ฑ ๊ฒ€์‚ฌ ํ†ต๊ณผ




๐Ÿ“Œ ๊ธฐ์ˆ  ์Šคํƒ

Front-end

HTML5 CSS3 JavaScript Sass

Tools & Design

Git GitHub Figma




๐Ÿ“Œ ๊ธฐ๋Šฅ ์„ค๋ช…

์ „์ฒด ์Šคํ† ๋ฆฌ๋ณด๋“œ ๋ณด๊ธฐ

์Šคํ† ๋ฆฌ๋ณด๋“œ PDF ๋‹ค์šด๋กœ๋“œ

21

1. ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ (CSS Grid & Flexbox)

PC-Tablet-Mobile์˜ 3๋‹จ๊ณ„ ํ•ด์ƒ๋„ ๋ณ€ํ™”์— ์™„๋ฒฝํ•˜๊ฒŒ ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด,
๊ฐ ์„น์…˜(About, Characters, News, Gallery)์˜ ๋ณต์žกํ•œ ๊ตฌ์กฐ๋ฅผ
CSS Grid Layout (grid-template-areas) ์„ ํ™œ์šฉํ•˜์—ฌ ์‹œ๋งจํ‹ฑํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€ ์ •๋ ฌ์—๋Š” Flexbox๋ฅผ ์ ๊ทน ํ™œ์šฉํ•˜์—ฌ ์œ ์—ฐ์„ฑ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.


2. ์„ฑ๋Šฅ ์ค‘์‹ฌ์˜ ์ธํ„ฐ๋ž™์…˜ ๋ฐ ๋กœ๋”ฉ (Intersection Observer)

์ด 144๊ฐœ์˜ ์ด๋ฏธ์ง€์™€ ๋น„๋””์˜ค ์—์…‹ ํ™˜๊ฒฝ์—์„œ๋„ ๋น ๋ฅธ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด,
๊ฐ ์„น์…˜๋งˆ๋‹ค Intersection Observer API๋ฅผ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ฐ ์„น์…˜์˜ ์ฝ˜ํ…์ธ ๊ฐ€ ์‹ค์ œ๋กœ ํ™”๋ฉด์— ๋ณด์ผ ๋•Œ๋งŒ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๊ฐ€ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋‚˜ํƒ€๋‚˜๋„๋ก ๊ตฌํ˜„ํ•˜์—ฌ,
๋ถˆํ•„์š”ํ•œ ์ดˆ๊ธฐ ๋ Œ๋”๋ง ๋ถ€ํ•˜๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ์ค„์˜€์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๊ฐ ์š”์†Œ์— ์ˆœ์ฐจ์ ์ธ ์ง€์—ฐ ์‹œ๊ฐ„(transition-delay) ์„
์ ์šฉํ•˜์—ฌ ์‹œ๊ฐ์ ์ธ ์ฆ๊ฑฐ์›€์„ ๋”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€์—๋Š” loading="lazy" ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€์ ์ธ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ๋„๋ชจํ–ˆ์Šต๋‹ˆ๋‹ค.


3.์ˆœ์ˆ˜ CSS ๊ธฐ๋ฐ˜์˜ ๋™์  ์‹œ๊ฐ ํšจ๊ณผ

JavaScript ์—†์ด **CSS Animation (@keyframes)**๊ณผ clip-path ์†์„ฑ์„ ์ฐฝ์˜์ ์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ,
Characters ๋ฐ News ์„น์…˜ ์ƒํ•˜๋‹จ์— '์ฐจ์›์˜ ๊ท ์—ด'์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๋…ํŠนํ•œ ๋™์  ๊ฒฝ๊ณ„์„  ํšจ๊ณผ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ, CSS transition์„ ํ™œ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ํ˜ธ๋ฒ„ ์‹œ ํ™•๋Œ€/๋ฐ๊ธฐ ๋ณ€ํ™”, ์˜ค๋ฒ„๋ ˆ์ด ํšจ๊ณผ ๋“ฑ ๋‹ค์–‘ํ•œ ์ธํ„ฐ๋ž™์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.


4.JavaScript๋ฅผ ํ™œ์šฉํ•œ ๋™์  UI ๋ฐ ๋ฐ˜์‘ํ˜• ๋กœ์ง ์ฒ˜๋ฆฌ

  • Trailer ์„น์…˜: ํ™”๋ฉด ๋„ˆ๋น„๋ฅผ ๊ฐ์ง€ํ•˜์—ฌ PC์—์„œ๋Š” ์ปค์Šคํ…€ ์ธ๋„ค์ผ ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์„,
    ๋ชจ๋ฐ”์ผ/ํƒœ๋ธ”๋ฆฟ์—์„œ๋Š” Swiper ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ์บ๋Ÿฌ์…€ UI๋ฅผ ๋™์ ์œผ๋กœ ์ „ํ™˜ํ•˜์—ฌ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
    YouTube ์˜์ƒ์€ ํด๋ฆญ ์‹œ ๋™์ ์œผ๋กœ iframe์„ ์ƒ์„ฑํ•˜์—ฌ ๋ชจ๋‹ฌ ํŒ์—…์œผ๋กœ ์žฌ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐฐ๊ฒฝ ์ฒ˜๋ฆฌ: ํ™”๋ฉด ๋„ˆ๋น„์— ๋”ฐ๋ผ PC,์ผ๋ฐ˜ํ…Œ๋ธ”๋ฆฟ์—์„œ๋Š” ๋ฐฐ๊ฒฝ ๋น„๋””์˜ค๋ฅผ,
    ์†Œํ˜•ํ…Œ๋ธ”๋ฆฟ, ๋ชจ๋ฐ”์ผ์—์„œ๋Š” ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋„๋ก JavaScript๋กœ ์ œ์–ดํ•˜์—ฌ
    ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์˜ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • JavaScript๋กœ ํ–„๋ฒ„๊ฑฐ ๋ฉ”๋‰ด, ์Šคํฌ๋กค Top ๋ฒ„ํŠผ, ์ปค์Šคํ…€ ๋งˆ์šฐ์Šค ์ปค์„œ ๋“ฑ ๋‹ค์–‘ํ•œ UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.



์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ค๋ช… - CHARACTERS ํŽ˜์ด์ง€

์ด ํŽ˜์ด์ง€๋Š” ๋‹จ์ˆœํ•œ ์ •๋ณด ๋‚˜์—ด์„ ๋„˜์–ด, ๋™์ ์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ๋‹ค์ฑ„๋กœ์šด ์ธํ„ฐ๋ž™์…˜์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ํ’๋ถ€ํ•œ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

100

1. JSON ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋™์  ์ฝ˜ํ…์ธ  ๋ Œ๋”๋ง & ํƒญ ๋„ค๋น„๊ฒŒ์ด์…˜

์™ธ๋ถ€ JSON ํŒŒ์ผ์— ์ €์žฅ๋œ ์บ๋ฆญํ„ฐ ๊ทธ๋ฃน ๋ฐ ์ƒ์„ธ ๋ฐ์ดํ„ฐ๋ฅผ fetch API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž๊ฐ€ ์ƒ๋‹จ ํƒญ ๋ฉ”๋‰ด(HUNTR/X, SAJA BOYS ๋“ฑ)๋ฅผ ํด๋ฆญํ•˜๋ฉด, ํ•ด๋‹น ๊ทธ๋ฃน์˜ ๋ฐ์ดํ„ฐ๋งŒ ํ•„ํ„ฐ๋งํ•˜์—ฌ
์บ๋ฆญํ„ฐ ์นด๋“œ,์Šคํ† ๋ฆฌ ์„น์…˜ ๋“ฑ ๋ชจ๋“  ๊ด€๋ จ ์ฝ˜ํ…์ธ ๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.

2. CSS Grid๋ฅผ ํ™œ์šฉํ•œ ๊ณ ๋„ํ™”๋œ ์นด๋“œ ๋ ˆ์ด์•„์›ƒ

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

3. Swiper ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—ฐ๋™ ๋ฐ ๋™์  ์ดˆ๊ธฐํ™”

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




๐Ÿ“Œ ํฌ๋กœ์Šค๋ธŒ๋ผ์šฐ์ง• ๊ฒ€์‚ฌ

23


๐Ÿ” ๋งจ ์œ„๋กœ ๊ฐ€๊ธฐ



About

K-Pop Demon Hunters - Responsive Web Portfolio

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors