본문 바로가기

분류 전체보기128

(React) useCallback function factory(a, b) {    return a + b; } const sumFunc1 = factory(); const sumFunc2 = factory();console.log(sumFunc1(1, 2)); // => 3 console.log(sumFunc2(1, 2)); // => 3console.log(sumFunc1 === sumFunc2); // => false console.log(sumFunc1 === sumFunc1); // => true같은 factory함수를 가르킨다고 해도 인스턴스 오브젝트는 서로 다르다. 또한 렌더링이 자주 반복되는 경우에도 이전 인스턴스와는 다른 sumFunc1과 sumFunc2 인스턴스가 생성된다. 그럼 언제 useCallback 필요할까?일단.. 2024. 5. 7.
(React) map 에 의한 루프에서 표시가 되지 않는 문제 {  } 로 감싸여져 있는 경우 반드시 return 이 없는 경우 아무것도 표시되지 않는다.return (     { this.state.task.map((item,contentIndex) => {                   ( hello {item.event} {item.eventpara} ) })               }     ) 해결책 1) return 을 명시return (     { this.state.task.map((item,contentIndex) => {                 return ( hello {item.event} {item.eventpara} ) })              }    ) 해결책 2) { } 를 제거return (       { this... 2024. 5. 7.
(React) 무한 렌더링 원인과 방지 const [count, setCount] = useState(0);const handlecart= (item) => {          setCount(count+1);          setItem(item);}무한 렌더링을 유발하는 코드handlecart(item)}>cart 위의 코드는 handlecart 함수의 참조를 패스하는게 아니라 함수 자체를 호출하고 있다. 따라서 인위적으로 클릭하기 전에 인터프리터가 코드를 파스할 시에 함수를 실행하게 된다. 이로인해 함수내에서 스테이트는 업데이트되고 화면은 다시 렌더링하게 되서 무한 루프에 빠지게 된다.   따라서 해결책은 함수의 참조를 설정하는 것이다.() => handlecart(product)}>cart 2024. 5. 7.
threading / multiprocessing / asyncio wikipedia에서 랜덤 100 페이지의 타이틀을 화일로 저장하는 샘플로서 multiprocessing과 async 를 이용하여 처리속도의 향상을 보여주고 있다.multiprcessing : 계산등의 CPU 의존적인 처리에 유리 async : 화일 I/O, 네트워크 I/O 등의 Blocking처리에 유리위의 둘을 이용하여 처리속도를 향상import asyncio                                         # Gives us async/await import concurrent.futures                        # Allows creating new processes import time from math import floor               .. 2024. 5. 2.