Skip to content
ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

57 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฏ ์•„๋งˆ์กด

ํ•™์Šต์ •๋ฆฌ

4์ฃผ์ฐจ

  • Fetch API
  • Promise
  • mock server
    • json-server
    • MSW
  • stacking context

3์ฃผ์ฐจ

  • ES Classes
  • this
    • call
    • bind
  • CSS
    • transiton vs animation
    • transition
    • transform
  • Carousel
  • SASS
  • Vsync
  • fps
  • requestAnimationFrame
  • OOP
  • Prototype

2์ฃผ์ฐจ

crong's review

  • defer vs asyc
  • DOMContentLoaded vs load
    • addEventListener('DOMContentLoaded', () => {})
      ์ดˆ๊ธฐ HTML ๋ฌธ์„œ๋ฅผ ์™„์ „ํžˆ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ๋ถ„์„ํ–ˆ์„ ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค. ์Šคํƒ€์ผ ์‹œํŠธ, ์ด๋ฏธ์ง€, ํ•˜์œ„ ํ”„๋ ˆ์ž„์˜ ๋กœ๋”ฉ์€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.
    • addEventListener('load', () => {})
      ๋ฆฌ์†Œ์Šค์™€ ๊ทธ๊ฒƒ์— ์˜์กดํ•˜๋Š” ๋ฆฌ์†Œ์Šค๋“ค์˜ ๋กœ๋”ฉ์ด ์™„๋ฃŒ๋˜๋ฉด ์‹คํ–‰๋œ๋‹ค.
  • transition์œผ๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ
  • list ํ˜•ํƒœ๋Š” li ํƒœ๊ทธ ์‚ฌ์šฉํ•˜๊ธฐ
  • ์ „์—ญ๋ณ€์ˆ˜๋กœ ์„ ์–ธ๋˜์–ด ์žˆ๋Š” querySeletor ํ•จ์ˆ˜ ์•ˆ์œผ๋กœ ๋„ฃ๊ธฐ
  • openAllItems ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ๋งˆ๋‹ค ์ด๋ฒคํŠธ๊ฐ€ ๋“ฑ๋ก๋˜๋‹ˆ ํ™•์ธ ํ›„ ๋ฆฌํŒฉํ† ๋ง ํ•˜๊ธฐ
  • detailMenuHandler ํ•จ์ˆ˜ -> ({ target: { textContent: menu } }) => {

DOM, EVENT ์ œ์–ด

  • template literal
  • createElement
  • appendChild
  • insertBefore
  • event.target
  • event.preventDefault()
  • Event delegation
    • ๋ฒ„๋ธ”๋ง
    • ์บก์ณ๋ง

CSS

  • ๋‹จ์œ„ ๊ณต๋ถ€
    • em : ๋ถ€๋ชจ ์š”์†Œ์˜ ๊ธ€๊ผด ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ƒ๋Œ€์ ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์กฐ์ • (์ƒ๋Œ€์ )
    • rem : HTML ์š”์†Œ์˜ ๋ฃจํŠธ ์š”์†Œ(์ผ๋ฐ˜์ ์œผ๋กœ html ์š”์†Œ)์˜ ๊ธ€๊ผด ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ƒ๋Œ€์ ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์กฐ์ • (์ƒ๋Œ€์ )

์ถ”๊ฐ€ ์š”๊ตฌ ์‚ฌํ•ญ

  • ๋ฉ”๋‰ด ํ•ญ๋ชฉ์˜ ๊ฐฏ์ˆ˜๊ฐ€ ์ฆ๊ฐ€/๊ฐ์†Œ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ฝ”๋“œ์—์„œ ์–ด๋–ป๊ฒŒ ๋Œ€์‘ํ•ด์•ผ ํ• ๊นŒ?
  • ๋ฉ”๋‰ด ํ•ญ๋ชฉ์˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํ‘œํ˜„๋ฐฉ์‹์ด ๋ณ€๊ฒฝ๋˜๋ฉด ์ฝ”๋“œ์—์„œ ์–ด๋–ป๊ฒŒ ๋Œ€์‘ํ•ด์•ผ ํ• ๊นŒ?

๐Ÿ’ป ๊ธฐ๋Šฅ ๊ตฌํ˜„

1์ฃผ์ฐจ

  • ์ƒ๋‹จ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”
    • ๊ณตํ†ต
      • ๊ฐ ํ˜ธ๋ฒ„ ์˜์—ญ ํ˜น์€ ๋ ˆ์ด์–ด ์˜์—ญ์€ ๋งˆ์šฐ์Šค๊ฐ€ ๋ฒ—์–ด๋‚˜๋ฉด ๋ ˆ์ด์–ด์™€ ํšจ๊ณผ๊ฐ€ ์‚ฌ๋ผ์ง€๊ฒŒ ํ•œ๋‹ค.
      • ์ƒ๋‹จ๋ฐ”๋Š” ํ™”๋ฉด์˜ ๊ฐ€๋กœ ์‚ฌ์ด์ฆˆ๊ฐ€ 1120px ์ด์ƒ์œผ๋กœ ๋Š˜์–ด๋‚˜๋Š” ๊ฒฝ์šฐ, ๊ฒ€์ƒ‰๋ฐ”๊ฐ€ ๊ธธ์–ด์ง€๊ณ  ํ™”๋ฉด์˜ ๊ฐ€๋กœ์‚ฌ์ด์ฆˆ์— ๋งž์ถฐ ๋Š˜์–ด๋‚˜๋„๋ก ํ•œ๋‹ค.
      • ์ด ๋•Œ ๋ณธ๋ฌธ ์˜์—ญ์€ 1120px๋กœ ๊ณ ์ •๋น„๋ฅผ ์œ ์ง€ํ•˜๋„๋ก ํ•œ๋‹ค.
    • ๋กœ๊ทธ์ธ
      • ๋ฉ”์ธ ํŽ˜์ด์ง€ ์ง„์ž… 1์ดˆ ๋’ค [๋กœ๊ทธ์ธ] ๋ฒ„ํŠผ ์Šค๋ฅด๋ฅต ๋ณด์ด๊ฒŒ ํ•œ๋‹ค.
      • [๋กœ๊ทธ์ธ] ์˜์—ญ์— ๋งˆ์šฐ์Šค๋ฅผ ํ˜ธ๋ฒ„ํ•˜๋ฉด ํ™•์žฅ๋œ ๋ฒ„์ „์˜ ๋ ˆ์ด์–ด๊ฐ€ ๋œจ๊ฒŒ ํ•œ๋‹ค.
      • ์ด ๋•Œ ๋ฐฐ๊ฒฝ์€ ๋”ค ์ฒ˜๋ฆฌ ํ•œ๋‹ค.
    • ๋ฐฐ์†ก์ฒ˜ ์˜์—ญ
      • [๋ฐฐ์†ก์ฒ˜ ์˜์—ญ]์— ๋งˆ์šฐ์Šค๋ฅผ ํ˜ธ๋ฒ„ํ•˜๋ฉด ์ฃผ์†Œ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๋ ˆ์ด์–ด๊ฐ€ ๋œจ๊ฒŒ ํ•œ๋‹ค.
      • ๋กœ๊ทธ์ธ ๋ ˆ์ด์–ด์™€ ๋™์ผํ•œ ๋ฐฐ๊ฒฝ์€ ๋”ค ์ฒ˜๋ฆฌ ํ•œ๋‹ค.
    • ๋ชจ๋‹ฌ
      • ์šฐ์ธก ์ƒ๋‹จ - ๊ตญ๊ฐ€, ๊ณ„์ • ๋ฐ ๋ชฉ๋ก
      • alert์ด๋‚˜ confirm ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์‚ฌ์ด๋“œ ๋ฐ”
    • ์ƒ๋‹จ ๋ฐ”์˜ [๋ชจ๋‘] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ขŒ์ธก์— ์‚ฌ์ด๋“œ๋ฐ”๊ฐ€ ์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ํ•จ๊ป˜ ๋‚˜์˜จ๋‹ค.
    • X ๋ฒ„ํŠผ์œผ๋กœ ์‚ฌ์ด๋“œ ๋ฐ”๊ฐ€ ๋‹ซํžˆ๋„๋ก ํ•œ๋‹ค.
    • ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์€ ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ๊ฐ ๋ชฉ๋ก์€ ๋งˆ์šฐ์Šค๋ฅผ ํ˜ธ๋ฒ„ํ•˜๋ฉด ๋ฐฐ๊ฒฝ์ƒ‰๊ณผ ์•„์ด์ฝ˜ ์ƒ‰์ด ๋ณ€ํ•˜๋Š” ํšจ๊ณผ๋ฅผ ์ค€๋‹ค.
    • [๋ชจ๋‘ ๋ณด๊ธฐ]๋ฅผ ํด๋ฆญํ•˜๋ฉด ์ ‘ํ˜€ ์žˆ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ๊ฐ€ ์•„๋ž˜๋กœ ํŽผ์ณ์ง€๊ฒŒ ํ•˜๊ณ  ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ค€๋‹ค.
    • [๊ฐ„๋‹จํžˆ ๋ณด๊ธฐ]๋ฅผ ํด๋ฆญํ•˜๋ฉด ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ์™€ ํ•จ๊ป˜ ๋ชฉ๋ก์ด ๋‹ค์‹œ ์ ‘ํžˆ๊ฒŒ ํ•œ๋‹ค.
    • [๋ถ€์„œ๋ณ„ ์‡ผํ•‘] ํ•˜์œ„ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์šฐ์ธก์—์„œ ์ขŒ์ธก์œผ๋กœ ๋‚ด์—ญ์ด ๋ณด์ด๋„๋ก ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ค€๋‹ค.
    • ๊ฐ ์นดํ…Œ๊ณ ๋ฆฌ ํ•ญ๋ชฉ์€ ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค.

2์ฃผ์ฐจ

  • ์‚ฌ์ด๋“œ๋ฐ” ์• ๋‹ˆ๋ฉ”์ด์…˜ (trasition ์‚ฌ์šฉ)
    • ํ•ญ๋ชฉ ์ ‘๊ธฐ
    • ํ•ญ๋ชฉ ํŽผ์น˜๊ธฐ
  • ํ•˜์œ„ ๋ฉ”๋‰ด ์˜์—ญ ๋…ธ์ถœ
  • DOM ์กฐ์ž‘์‹œ ์•„๋ž˜ ๋ฉ”์„œ๋“œ ํ™œ์šฉ
    • createElement
    • appendChild
    • insertBefore
  • rem ๋‹จ์œ„ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

3์ฃผ์ฐจ

  • ํžˆ์–ด๋กœ ์˜์—ญ

    • Carousel UX ๊ตฌํ˜„ (๋ฌดํ•œ ์Šฌ๋ผ์ด๋”)
    • ์ˆ˜๋™ ์Šฌ๋ผ์ด๋”
    • ๋ฌดํ•œ ์Šฌ๋ผ์ด๋”
    • 10์ดˆ๋งˆ๋‹ค ๋‹ค์Œ ์ด๋ฏธ์ง€
    • ์ขŒ, ์šฐ ํ™”์‚ดํ‘œ๋กœ ๋‚ด์šฉ ๋ณ€๊ฒฝ
  • SASS ์‚ฌ์šฉ

  • ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ ์šฉ

  • ํ”„๋กœํ† ํƒ€์ž… ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

  • ๋žœ๋”๋ง ์ž‘์—…์—์„œ template literal ํ™œ์šฉ

  • crong's review

    • openAllItems ์™€ clsoseAllItems ์„ ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๋กœ ํ†ต์ผ
    • moveMain ๋” ๊ตฌ์ฒด์ ์ธ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
    • hideSideBar ์—ด๊ณ  ๋‹ซ๋Š” ํ•จ์ˆ˜์ฒ˜๋Ÿผ ๋ณด์ด๋‹ˆ ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ

4์ฃผ์ฐจ

  • ๊ฒ€์ƒ‰๋ฐ”๋ฅผ ํด๋ฆญํ•˜๋ฉด

    • ์•„๋ž˜๋กœ ์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด 10๊ฐœ๊ฐ€ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•œ๋‹ค.
    • ๋ฐฐ๊ฒฝ์€ ๋”ค์ฒ˜๋ฆฌ ๋˜์–ด์•ผ ํ•œ๋‹ค.
  • ๊ฒ€์ƒ‰์–ด ์ž…๋ ฅ ์‹œ ์‹ค์‹œ๊ฐ„ ์ž๋™์™„์„ฑ์ด 10๊ฐœ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•œ๋‹ค.

  • ๊ฒ€์ƒ‰๋ฐ” ์•„๋ž˜ ๋ฆฌ์ŠคํŠธ๋Š” ํ‚ค๋ณด๋“œ๋กœ ์ด๋™์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค.

  • ์„ ํƒ๋œ ์•„์ดํ…œ์˜ ๋ฐฐ๊ฒฝ์ƒ‰์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•œ๋‹ค.

  • ๋‚ด๊ฐ€ ๊ฒ€์ƒ‰ํ–ˆ๋˜ ๋‹จ์–ด๊ฐ€ ์ตœ๋Œ€ 5๊ฐœ ๊ฒ€์ƒ‰์ฐฝ ์ƒ์œ„์— ๋ณด์—ฌ์•ผํ•œ๋‹ค.

  • ๋‚ด๊ฐ€ ๊ฒ€์ƒ‰ํ–ˆ๋˜ ๋‹จ์–ด๋Š” X ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค.

  • ๊ฒ€์ƒ‰์ฐฝ ์„œ๋ฒ„ ์—ฐ๋™

    • ์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด
    • ์ตœ๊ทผ ๊ฒ€์ƒ‰์–ด
    • ํ‚ค๋ณด๋“œ๋กœ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ์„ ํƒ
    • ๊ฒ€์ƒ‰ ์ž๋™์™„์„ฑ (json-server์™€ ์—ฐ๋™)
    • query๋ฅผ ๋ณด๋‚ด๊ณ  get
  • async/await ๋ณด๋‹ค๋Š” promise/then ์‚ฌ์šฉ

  • mock server ์—ฐ๋™

    • json-server or MSW or ๊ธฐํƒ€ - postman ์‚ฌ์šฉ
  • ์„œ๋ฒ„ ์—ฐ๋™ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ

    • ์Šฌ๋ผ์ด๋”ฉ UX
    • ์ขŒ์ธก ๋ฉ”๋‰ด

๐Ÿ“’ reference

pull request eslint & prettier sementic tag CSS-flex CSS-flex ์ •๋ ฌ

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages