wam
w__am ๊ฐœ๋ฐœ๋…ธํŠธ
wam
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (165)
    • CS ์ง€์‹ (10)
      • ์ž๋ฃŒ๊ตฌ์กฐ (0)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (0)
      • ์ปดํ“จํ„ฐ ๊ตฌ์กฐ (0)
      • ์šด์˜์ฒด์ œ (0)
      • ๋„คํŠธ์›Œํฌ (7)
      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (0)
      • ๋””์ž์ธ ํŒจํ„ด (3)
    • Frontend (131)
      • Three.js (64)
      • NPM (1)
      • Nest.js (19)
      • React (10)
      • Apollo (7)
      • TypeScript (2)
      • JavaScript (12)
      • HTML, CSS (1)
      • Jest (3)
      • E2E (5)
      • Cypress (7)
    • Database (12)
      • TypeORM (12)
    • IT ์ง€์‹ (8)
      • ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค (3)
      • ๋„คํŠธ์›Œํฌ (1)
      • ๋ฐ์ดํ„ฐ ํฌ๋งท (2)
      • ๊ธฐํƒ€ (2)
    • IT Book (2)
    • ์œ ์šฉํ•œ ์‚ฌ์ดํŠธ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก
  • ๐Ÿฑ Github

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • isabstract
  • three.js ๊ตฌ์„ฑ ์š”์†Œ
  • axeshelper
  • joi ์—๋Ÿฌ
  • threejs ๊ฐœ๋ฐœ ํ•  ๋•Œ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ
  • type-graphql
  • e.preventdefault()
  • ํ•จ์ˆ˜ ์„ ์–ธ๋ฌธ
  • getdelta()
  • ๋ฐ์ดํ„ฐ ํฌ๋งท
  • ์ดˆ๊ธฐ ํ™˜๊ฒฝ์„ค์ •
  • math.sin()
  • react ์„ฑ๋Šฅ ์ตœ์ ํ™”
  • ์‚ผ๊ฐํ•จ์ˆ˜
  • Interface
  • ๋””์ž์ธ ํŒจํ„ด
  • gridhelper
  • ๋ Œ๋”๋ง ์„ฑ๋Šฅ ์ตœ์ ํ™”
  • ํ•จ์ˆ˜์˜ ๋ฒ”์œ„
  • mapped types
  • reactive variables
  • ํ•จ์ˆ˜ ํ‘œํ˜„์‹
  • ์›ํ˜•์ ์ธ ์›€์ง์ž„
  • ํ•จ์ˆ˜ ๋ฆฌํ„ฐ๋Ÿด
  • API
  • Decorators
  • ์Šค์ฝ”ํ”„
  • getelapsedtime()
  • math.cos()
  • ์˜คํ”„-ํ”„๋ ˆ๋ฏธ์Šค(off-premise) ๋ฐฉ์‹

์ตœ๊ทผ ๊ธ€

๊ด€๋ฆฌ์ž

๊ธ€์“ฐ๊ธฐ / ์Šคํ‚จํŽธ์ง‘ / ๊ด€๋ฆฌ์žํŽ˜์ด์ง€
hELLO ยท Designed By ์ •์ƒ์šฐ.
wam

w__am ๊ฐœ๋ฐœ๋…ธํŠธ

๋ฆฌ์•กํŠธ๋ฒ„์ „ 18๋ถ€ํ„ฐ ๋“ฑ์žฅํ•˜๋Š” Batching ๊ฐœ๋…
Frontend/React

๋ฆฌ์•กํŠธ๋ฒ„์ „ 18๋ถ€ํ„ฐ ๋“ฑ์žฅํ•˜๋Š” Batching ๊ฐœ๋…

2024. 5. 3. 23:02
๐Ÿง  Batching ์ด๋ž€ ์—ฌ๋Ÿฌ ์ƒํƒœ๊ฐ€ ํ•œ ๋ฒˆ์— ๋ณ€๊ฒฝ๋  ๋•Œ, ๋ฆฌ์•กํŠธ๋Š” ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ผ๊ด„ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ Œ๋”๋ง ์ฃผ๊ธฐ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•œ๋‹ค.

 

Batching

  • ๋ฆฌ์•กํŠธ ๋ฒ„์ „ 18๋ถ€ํ„ฐ ๋”์šฑ ๊ฐ•ํ™”๋˜์—ˆ๋‹ค.
  • ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์˜ ๊ฐœ์„ ์œผ๋กœ, ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•˜๋Š”๋ฐ ๋„์›€์ด ๋œ๋‹ค.
  • ๋ฆฌ์•กํŠธ๊ฐ€ UI ์—…๋ฐ์ดํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์—ฌ๋Ÿฌ ์—…๋ฐ์ดํŠธ๋ฅผ ์ผ๊ด„๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ Œ๋”๋ง ์ฃผ๊ธฐ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•œ๋‹ค.

 

 

๊ธฐ์กด

  • ์ƒํƒœ(State)๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๋ฉด, ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ์™€ ๊ทธ ์ž์‹ ์ปดํฌ๋„ŒํŠธ๋“ค์ด ๋ชจ๋‘ ๋‹ค์‹œ ๋ Œ๋”๋ง ๋˜์—ˆ๋‹ค.
  • ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ ์ž‘์€ ์—…๋ฐ์ดํŠธ๋„ ํฐ ๋ Œ๋”๋ง ์ž‘์—…์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์–ด ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

 

๋ฒ„์ „ 18

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

 

 

Batching ์˜ˆ๋ฌธ

import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);
  
  const handleClick = () => {
    // ์—ฌ๋Ÿฌ ์ƒํƒœ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌ
    setCount(count + 1); // count ์ƒํƒœ๋ฅผ ์ฆ๊ฐ€์‹œํ‚ด
    setCount(count + 1); // count ์ƒํƒœ๋ฅผ ๋‹ค์‹œ ์ฆ๊ฐ€์‹œํ‚ด
    setCount(count + 1); // count ์ƒํƒœ๋ฅผ ํ•œ ๋ฒˆ ๋” ์ฆ๊ฐ€์‹œํ‚ด
  };

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={handleClick}>Increase Count</button>
    </div>
  );
}

export default Counter;

// ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜ ์ฝ˜์†” ๊ฒฐ๊ณผ
count 1
count 2
count 3

// batching ์ฝ˜์†” ๊ฒฐ๊ณผ
count 3
  • handleClick ํ•จ์ˆ˜ ๋‚ด์—์„œ setCount ํ•จ์ˆ˜๋ฅผ ์—ฐ์†ํ•ด์„œ ํ˜ธ์ถœ
  • ๋ฆฌ์•กํŠธ๋Š” ์ƒํƒœ ์—…๋ฐ์ดํŠธ๋ฅผ ์ผ๊ด„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ตœ์ ํ™”ํ•œ๋‹ค.
  • ๋”ฐ๋ผ์„œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•  ๋•Œ๋งˆ๋‹ค count ์ƒํƒœ๊ฐ€ ์„ธ ๋ฒˆ ์ฆ๊ฐ€ํ•˜์ง€๋งŒ, ๋ฆฌ์•กํŠธ๋Š” ์ด๋ฅผ ํ•œ ๋ฒˆ์˜ ๋ Œ๋”๋ง ์ž‘์—…์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•œ๋‹ค.

 

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Frontend > React' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

React Router: push์™€ replace์˜ ์ฐจ์ด์   (0) 2024.10.15
React Hook Form์˜ handleSubmit์œผ๋กœ ํผ ์ œ์ถœ ์‹œ ํŽ˜์ด์ง€ ๋ฆฌ๋ Œ๋”๋ง ๋ฐฉ์ง€ํ•˜๊ธฐ  (0) 2024.09.26
React Router v6  (0) 2024.09.26
React์—์„œ ๋ Œ๋”๋ง์ด ๋ฐœ์ƒํ•˜๋Š” ์กฐ๊ฑด๊ณผ ๋ Œ๋”๋ง ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•  (0) 2024.05.09
Hook์˜ ๊ทœ์น™  (0) 2024.05.08
    'Frontend/React' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • React Hook Form์˜ handleSubmit์œผ๋กœ ํผ ์ œ์ถœ ์‹œ ํŽ˜์ด์ง€ ๋ฆฌ๋ Œ๋”๋ง ๋ฐฉ์ง€ํ•˜๊ธฐ
    • React Router v6
    • React์—์„œ ๋ Œ๋”๋ง์ด ๋ฐœ์ƒํ•˜๋Š” ์กฐ๊ฑด๊ณผ ๋ Œ๋”๋ง ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•
    • Hook์˜ ๊ทœ์น™
    wam
    wam

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”