입력된 단어가 정답인지 판단할 때 어떤 방식으로 구현해야 하는지 고민
오픈API를 이용하거나 서버를 구현해서 존재하는 단어인지 판단하는 방법도 있지만
프론트엔드에서 존재하는 단어 리스트를 static하게 가지고 있다가 이 안에 존재하는 단어인지 판단하도록 하는 방법이 네트워크를 거치는 비용을 줄일 수 있습니다.
단어 리스트에서 존재하는 단어인지를 빠르게 찾기 위해 최적의 알고리즘을 이용하여 추가로 비용을 줄일 수 있습니다. (ex. 정렬된 단어에서 이분탐색으로 찾기)
물론 매일 정답 단어를 바꿔주거나 서버에서 단어에 대한 제어권을 가져야하는 상황이라면 서버를 구현하는 것이 맞을 수 있다.
이토록 상황에 맞게 적절한 답을 찾는게 중요합니다.
비동기 처리란?
• 비동기 처리(Asynchronous processing)는 프로그램이 여러 작업을 동시에 처리하도록 설계된 방식입니다. 이는 작업이 독립적으로 실행되어서, 한 작업의 완료를 기다리지 않고 다른 작업을 시작할 수 있는 구조를 의미합니다. 비동기 처리는 프로그램의 효율성과 성능을 높이는 데 도움이 됩니다.
• 웹 애플리케이션에서 사용자가 파일을 업로드하고자 할 때, 동기 처리 방식의 경우 파일 업로드가 완료될 때까지 사용자는 다른 작업을 진행할 수 없습니다. 그러나 비동기 처리 방식에서는 파일 업로드가 진행되는 동안에도 사용자가 애플리케이션의 다른 부분을 사용하거나 새로운 작업을 시작할 수 있습니다.
• 비동기 처리는 자바스크립트와 같은 프로그래밍 언어에서 콜백 함수, 프로미스(Promise), async/await와 같은 기능을 통해 구현할 수 있습니다. 이러한 기능들은 비동기 작업의 완료 여부를 확인하고, 작업이 완료되면 결과를 처리할 수 있는 방법을 제공합니다.