문제해결

    [React - Trouble Shooting] state 값이 변경되지 않는 문제

    이번 포스트에서는 state와 setState는 간단하게만 보고 넘어가자. 배경 지식 state state 값은 setState()를 통해서만 변경이 가능하다. setState useState로 만든 useState는 비동기적 특성을 갖는다!! 문제점 useEffect 훅 안에서 이벤트 리스너가 실행되면서 state 값이 변했다. 이 state 값이 의존성배열에 들어가있는 다른 useEffect 훅을 실행시켜 state 값을 확인해보면 값이 잘 나온다. 하지만 이벤트 리스너의 처리가 모두 끝나지 않았고, 변한 state 값을 통해 다른 로직이 실행되도록 구현되어 있었다. 여기서 문제가 발생한다!! 원인 앞서 말했듯이 React의 setState는 비동기적으로 실행된다. 정확히는 현재 setState는 이..

    [React - Trouble Shooting] 불필요한 렌더링으로 인한 문제

    하나의 페이지에 속해있는 컴포넌트에서 서버에 소켓 통신을 보내는 코드를 구현했다. 하지만 서버에 한 번의 소켓 연결이 이루어지는 것이 아니라 여러번의 연결이 이루어졌다. 불필요한 렌더링이 일어난 것이다. 이렇게 연결이 여러번 이루어지면서 서버에서는 여러 클라이언트가 연결되었다는 것으로 인식한다. 어떻게 해결할 수 있을까? 렌더링 자체를 제어할 수 있는 방법도 있지만 이번에는 그런 방법이 아니다. useEffect 훅을 사용할 수 있다. useEffect(() => { // 부수 효과 작업을 수행하는 콜백 함수 // ... return () => { // 정리(clean-up) 함수 // 컴포넌트가 언마운트되거나 의존성이 변경될 때 호출됨 // ... }; }, [/* 의존성 배열 */]); 의존성 배열 ..

    [AI] OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized

    AI 모델을 커스텀하던 도중 이러한 오류가 발생했다.. 커스텀 하기 이전에는 발생하지 않았던 문제이다. 찾아보니 매우 간단한 방법으로 해결이 가능하다. 여러 라이브러리가 충돌되어 일어나는 문제라고 한다. import os os.environ['KMP_DUPLICATE_LIB_OK']='True' 상단에 이 코드를 작성해주고 실행하면 문제가 해결된다!

    [Python] class 활용

    프로젝트를 진행하던 도중 argument를 통해 필요한 값을 받는 코드를 사용해서 작업할 일이 생겼다. 이 코드를 내가 커스텀해서 나의 프로젝트에 적용시키고자 했는데, 딕셔너리 혹은 json 같은 타입이 아닌데도 "변수명.키" 형태를 통해 값을 가져오는 형태이다. 찾아보니 argparse 형태로 argument 값을 받아온 후 사용하는 것인데.. 코드를 수정하지 않고 똑같이 사용하기 위해서 어떤 방법이 있을까 고민하던 도중 어떠한 코드를 보게되었고 그 코드에는 클래스에 있는 변수를 "클래스명.변수명" 과 같은 형태로 가져오는걸 보고 이렇게 적용해보도록 했다. class my_class: def __init__(self, args): self.name = args['name'] self.age = args..