게임서버-스파르타코딩NodeJs_7기201 길찾기 지도 250228 - 마커 위치로 좌표 보여주기 가능, 좌표입력으로 출발,도착 마커 이동 실패 2025. 2. 28. 발키에서 북마커 일부만 가져오기 유저 수도 많고, 북마커 수도 많다면 처음부터 최소한의 북마커만 가져오는 방식으로 설계해야 함.현재 문제는 모든 데이터를 가져온 후 거리 필터링을 한다는 것인데, 이를 해결하기 위해 Redis에서 처음부터 거리 기반으로 필터링하는 방법을 적용할 수 있음.해결 방법Redis에서 공간(Geo) 데이터를 활용→ Redis의 GEO 기능을 사용하면 특정 반경 내의 데이터를 직접 가져올 수 있음.→ GEOADD, GEORADIUS(또는 GEOSEARCH)를 사용하면 거리 계산 없이 바로 반경 내 데이터만 조회 가능.서버에서 필터링하는 방식과 비교기존 방식:모든 데이터를 가져온 후 거리 계산 후 필터링 → 연산량 증가개선 방식:Redis에서 5m 반경 내의 데이터만 조회 → 최소한의 데이터만 서버로 전송 → 처리 .. 2025. 2. 27. 면접카타[네트워크] 29~36 🔹 1. TCP/UDP의 차이점🔸 개념 및 역할TCP (Transmission Control Protocol)연결 지향적: 통신을 시작하기 전에 연결을 확립합니다.신뢰성 보장: 데이터의 순서와 무결성을 유지하며, 전송 실패 시 재전송 기능을 수행합니다.흐름 제어: 송수신 속도를 조절하여 네트워크 혼잡을 완화합니다.UDP (User Datagram Protocol)비연결 지향적: 연결 설정 없이 데이터를 바로 전송합니다.빠른 전송: 오버헤드가 적어 실시간 응용프로그램(예: 게임, 스트리밍)에 적합합니다.신뢰성 미보장: 데이터 순서나 무결성 보장이 필요 없는 경우 사용합니다.🔸 패킷 구조 차이TCP 패킷 헤더시퀀스 번호: 데이터의 순서를 관리하여 순서대로 재조합합니다.확인 응답 번호 (ACK): 데이터.. 2025. 2. 27. 면접카타 [OS] 25~28 [OS]1. 프로세스와 쓰레드의 차이점프로세스(Process): 실행 중인 프로그램으로, 운영체제로부터 독립적인 메모리 공간(Code, Data, Stack, Heap)을 할당받음.쓰레드(Thread): 프로세스 내에서 실행되는 흐름의 단위로, Code, Data, Heap을 공유하지만, 개별적인 Stack을 가짐.차이점:구분프로세스쓰레드메모리 공간독립적프로세스 내에서 공유실행 단위독립 실행프로세스 내에서 실행생성 비용높음 (새로운 메모리 할당 필요)낮음 (메모리 공유)통신 방식IPC(Inter Process Communication) 필요프로세스 내 공유 메모리를 사용2. 멀티프로세스와 멀티쓰레드의 특징멀티프로세스:여러 개의 프로세스를 실행하여 병렬 처리.각 프로세스는 독립적인 메모리를 가지므로 안정성.. 2025. 2. 27. 사용자와 북마커 계획 북마커 지도상에 표시 : 지도 화면 범위 내에 있는 모든 북마커 사용자 위치와 비교 : 사용지 인근 500m 이내의 북마커 위와 비교 업적 도달 위치는 입구에 범위 : m 2025. 2. 26. 사용자위치와 다수의 북마커 관리 사용자가 100개 이상의 북마커를 관리하며,사용자 반경 500m 내의 북마커만 지도에 표시지도 화면에 보이는 북마커만 표시이 두 가지 버전을 토글 버튼으로 전환하는 기능을 구현하는 방법을 정리해볼게.1. 개요 (전체 흐름)프론트엔드:navigator.geolocation.watchPosition()으로 사용자의 위치를 실시간으로 감지카카오맵 API를 사용하여 지도를 표시하고 북마커 렌더링토글 버튼 클릭 시 반경 500m 또는 화면 내 북마커 모드 전환백엔드 (NestJS):geolib을 사용하여 반경 500m 이내의 북마커 필터링클라이언트에서 요청 시 현재 지도 화면 내 북마커만 반환2. 백엔드 (NestJS) 구현(1) geolib을 사용하여 반경 500m 내 북마커 필터링import { Control.. 2025. 2. 26. 이전 1 2 3 4 5 6 7 ··· 34 다음