avatar

Web-performance 6

  • ๋น ๋ฅธ ๋กœ๋”ฉ์„ ์œ„ํ•œ PRPL ํŒจํ„ด

    [Apply instant loading with the PRPL pattern](https://web.dev/apply-instant-loading-with-prpl/)์„ ๋ฒˆ์—ญํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. PRPL์€ ์›น ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•˜๊ณ  ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ธˆ ๋”์šฑ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“œ๋Š” ํŒจํ„ด์„ ์„ค๋ช…ํ•˜๋Š” ์•ฝ์–ด๋‹ค. ## ์š”์•ฝ - ์ค‘์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฏธ๋ฆฌ ๋กœ๋“œํ•ด๋ผ (Push (...

    5๋ถ„
  • ์™œ CommonJS๋Š” ๋ฒˆ๋“ค์‚ฌ์ด์ฆˆ๋ฅผ ํฌ๊ฒŒ ํ•˜๋Š”๊ฐ€?

    [How CommonJS is making your bundles larger](https://web.dev/commonjs-larger-bundles/) ๋ฅผ ๋ฒˆ์—ญ & ์š”์•ฝํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ```toc tight: true, from-heading: 2 to-heading: 3 ``` **์š”์•ฝ: ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ™•์‹คํ•˜๊ฒŒ ์ตœ์ ํ™”ํ•ด์„œ ๋ฒˆ๋“ค๋งํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, C...

    12๋ถ„
  • ํ”„๋ก ํŠธ์—”๋“œ ์‚ฌ์ด์ฆˆ ์ค„์ด๊ธฐ

    [์ด ๊ธ€](https://developers.google.com/web/fundamentals/performance/webpack/decrease-frontend-size)์„ ๋Œ€์ถฉ ๋ฒˆ์—ญํ–ˆ์Šต๋‹ˆ๋‹ค. ```toc tight: true, from-heading: 2 to-heading: 4 ``` ## webpack 4๋ฒ„์ „ ์ด์ƒ์˜ ๊ฒฝ์šฐ ํ”„๋กœ๋•์…˜ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜...

    12๋ถ„
  • Notion ์„ฑ๋Šฅ ์ตœ์ ํ™”

    [Case Study: Analyzing Notion app performance](https://3perf.com/blog/notion/)๋ฅผ ์ œ๋ฉ‹๋Œ€๋กœ ์š”์•ฝํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์™ ๋งŒํ•˜๋ฉด ์ € ๊ธ€์„ ์ฐธ๊ณ ํ•˜์„ธ์š”. ```toc tight: true, from-heading: 2 to-heading: 3 ``` ## ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋น„์šฉ ๋ณดํ†ต `๋กœ๋”ฉ ์†๋„`๋ฅผ ์ด์•ผ๊ธฐํ•˜๋ฉด...

    22๋ถ„
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ http ์š”์ฒญํ•˜๊ธฐ - fetch์— ๋Œ€ํ•œ ๊ณ ์ฐฐ

    `toc tight: true, from-heading: 2 to-heading: 3 ` ## 1. ์„œ๋ก  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ http ์š”์ฒญ์„ ํ•˜๋Š” ๊ฒƒ์€ ์ด์ œ ๋น„์ผ๋น„์žฌํ•œ ์ผ์ด ๋˜์—ˆ๋‹ค. ์„œ๋ฒ„์—์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ static ํ•œ html์„ ๋งŒ๋“ค์–ด์„œ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋Š” ์›นํŽ˜์ด์ง€๋Š” ์•„๋งˆ ์ฐพ๊ธฐ ์–ด๋ ค์šธ ๊ฒƒ์ด๋‹ค. ๋งจ ์ฒ˜์Œ ์›น์„ ๋ฐฐ์šธ ๋•Œ, jquery์˜ ajax ...

    6๋ถ„
  • React count down์—์„œ ๋ฐฐ์šด event-emitter ์™€ requestAnimationFrame

    # ๋ฆฌ์•กํŠธ์—์„œ ์นด์šดํŠธ ๋‹ค์šด์„ ๋งŒ๋“ค๋ฉฐ ๋ฐฐ์šด ๊ฒƒ๋“ค ๋ฆฌ์•กํŠธ์—์„œ ์นด์šดํŠธ ๋‹ค์šด์„ ๋งŒ๋“ ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ๊ฐ€์žฅ ๋จผ์ € ์ƒ๊ฐ๋‚˜๋Š”๋Œ€๋กœ, ๋น ๋ฅด๊ฒŒ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋А๋‚Œ์ด ๋  ๊ฒƒ์ด๋‹ค. https://codepen.io/yceffort/pen/BayPyNe ํ•˜์ง€๋งŒ ์ด ์ฝ”๋“œ๋Š” ํ•œ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ## setInterval, setTimeout `setInte...

    6๋ถ„
  • typescript debounce

    > Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since the last time the debounced function was invoked. The debounced function comes with a cancel m...

    2๋ถ„
  • Intersection Observer

    ## Intersection Observer Intersection Observer๋Š” ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ viewport์— ๋…ธ์ถœ๋˜๊ณ  ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ด์ฃผ๋Š” API๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด ๋ธŒ๋ผ์šฐ์ €์˜ ์–ด๋–ค ์š”์†Œ๊ฐ€ ํ™”๋ฉด์— ๋…ธ์ถœ๋˜๊ณ  ์žˆ๋Š”์ง€ ์•ˆ๋˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—†์ด ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ๋…ธ์ถœ์ค‘์ธ์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? ์ด...

    4๋ถ„