Develop/TIL

그 날 그 날의 새로운 삽질, 그 날 그 날 새로운 지식
· Develop/TIL
Minimax 알고리즘이 뭐에요?Minimax는 두 플레이어가 번갈아 가며 수를 두는 게임에서 많이 사용되는 알고리즘이다.AI는 최대한 좋은 선택을 하려하고 (Maximizer)상대방은 AI에게 최대한 불리한 선택을 하려고 한다 (Minimizer)이 때 가능한 모든 경우의 수를 탐색해서 최적의 수를 결정하는 방식이다.모든 경우의 수를 내다 보고 가장 높은 점수가 나온 수를 고르는 방식으로 복잡한 게임일수록 계산하는데 오래걸릴 수 있음!Tic-Tac-Toe로 알아보는 Minimax 알고리즘깊이 우선 탐색을 수행하며 끝까지 탐색한 뒤 결과에 따라 점수를 부여한다.즉, 발생할 수 있는 모든 경우의 수를 탐색한 뒤 결과에 점수를 부여해서 가장 높은 점수를 획득하는 수를 두는 방식이다. 모든 경우의 수를 탐색하..
· Develop/TIL
Unity 프로젝트에서 메인 화면에서 게임 모드를 선택해 씬을 전환할 때, 이전 게임 상태가 유지되어 예상치 못한 동작이 발생하는 문제가 있었습니다.이번 포스팅에서는 그 원인과 해결 방법을 공유합니다.🚨 문제 상황메인 화면에서 싱글 플레이를 선택 후 게임을 진행한다.게임을 끝내거나 중간에 종료해 다시 메인 화면으로 이동한다.2인 플레이(Co-Op)를 선택하면 AI가 수를 두는 문제가 발생한다.👀 즉, 게임 모드를 변경했음에도 이전 상태가 유지되는 문제!✍ 기존 코드// ... public enum GameType { SinglePlayer, CoOpPlayer } private GameType currentGameTypeState; public void ChangeToGameScene(GameT..
· Develop/TIL
Disney Plus 를 가볍게 클론코딩한 프로젝트로 Firebase를 통한 인증을 연습하는데 도움이 된 프로젝트였다. 사용자 인증을 통해 받아온 데이터를 로컬 스토리지에 저장하고 가져오도록 설정되어 있었는데 이번에 해당 데이터를 Redux를 이용해서 관리하도록 수정해보기로 했다. 이때 문제가 발생했다. Redux는 새로고침이 발생하면 저장된 state가 리셋되는 문제가 있었다. 로그인 정보를 관리하는 경우 state가 유지되어야할 필요성이 있었다. 이럴 때 redux-persist를 활용하면 문제를 해결할 수 있다. 사용 방법 1 )Install npm i redux-persist yarn add redux-persist TypeScript npm i redux-persist @types/redux-p..
· Develop/TIL
작업하던 프로젝트에서 성능 최적화를 위한 코드를 작성하고 실제로 리랜더링되는 컴포넌트들을 살펴보는 중에 문득 Styled-Components로 작성된 컴포넌트들이 반복적으로 랜더링되는 것을 목격했습니다. 수치로 따지자면 랜더링 되는데 0.1 ms미만으로 매우 짧은 시간을 차지하고 있긴하지만 이러한 컴포넌트가 수백개 수천개 쌓인다면 문제가 될 것이 당연해보였습니다. 특히 현재 작업 중인 프로젝트에서는 스크립트를 계속해서 업데이트하며 화면에 표시하는 방식을 사용하고 있기 때문에 다음 문장이 실행될 때마다, 한글자 한글자 업데이트될 때마다 리랜더링이 발생하는 것이 너무나 못마땅했습니다. CSS in JS가 나쁘다는 것은 아니지만 JS가 적으면 웹사이트가 빨라지는 것은 당연한 일입니다. 자료를 조사하던 중 CS..
CodeFiore
'Develop/TIL' 카테고리의 글 목록
Mastodon