인기 포스트
-
[WSL] WSL 설치 후 WiFi 연결이 안되는 문제 (Windows 11 Home)
> Docker Desktop을 설치하다가 발생했던 WiFi 연결 문제를 해결하는 과정을 정리해보았다. 학습 키워드: WSL, Docker Desktop, vEthernet, Hyper-V WSL 설치 후 Wifi 연결 안되는 문제1) What is it?: Docker desktop 설치 이후 와이파이 연결이 끊어지고 cmd에서 ipconfig /all을 사용해도 무선 어댑터가 인식되지 않는 문제가 있었는데, 실제 원인은 WSL이 사용하는 가상 어댑터 기본 설정이 제대로 되어있지 않아서였다. 이를 해결한 과정을 정리해보았다. Figure 2 처럼 Hyper-V 관리자(없으면 링크를 따라 설치)를 검색하여 실행하면 우측에 Figure 3과 같은 탭이 있다. 여기서 '가상 스위치 관리자'를 선택한 뒤 ..
-
[면접 준비] 깊은 복사, 얕은 복사
학습 키워드: deep copy, shallow copy 2024-07-25 면접 카타 질문깊은 복사와 얕은 복사의 차이는 무엇이고 JS에서 각각을 구현하는 방법은 어떻게 되는지 설명해주세요: 얕은 복사는 각 값의 주소를 복사하는 것을 말하고, 깊은 복사는 복사하는 값을 새로운 메모리에 할당하여 완벽하게 별개의 객체를 만들어내는 것을 말합니다. JS에서는 JSON.stringify()로 원본 객체를 문자열로 치환한 뒤 다시 JSON.parse()를 사용하여 전혀 다른 메모리를 참조하는 깊은 복사가 완료된 객체를 얻을 수 있습니다. 얕은 복사의 경우 단순하게 objA = objB의 구조로 복사하면 되는데, nested object의 경우 spread 문법을 사용하면 객체의 키는 별도로, 키의 값은 얕은 복..
-
스파르타) The Last Rollback (D-33, Node.js 게임 서버 최종 프로젝트)
> 과제 진행 간 완료한 사항 및 문제점과 해결 과정을 정리해보았다.학습 키워드: Protobuf, C# 1. 과제 진행 간 알게된 것1) 프로토콜 버퍼 관련 사항: 바로 어제자 TIL의 2. 문제점 1) 에서 작성한 내용인데, 어제는 원인이 명확하지 않아서 두 번 직렬화 하고 역직렬화 하는 과정에서 문제가 생긴다고 판단했으나, 팀원과 상의해본 결과 역직렬화 로직 자체에서는 태그를 잘 못 인식할 가능성이 없다고 결론이 내려졌다. 이상하다고 생각되어 어제와 동일한 구조를 만든 뒤 테스트 해보니 실제로 다시 역직렬화가 잘 되는 것을 확인했다. 분명 ResponsePacket 구조도 전부 일치했고 서버측 직렬화 및 역직렬화가 정상적으로 동작하는 것을 console로 찍어서 확인 했고, 매핑된 패킷 번호 또한 ..
-
[면접 준비] var, let, const 및 promise 설명 하기
학습 키워드: var, let, const, promise, context 2024-07-22 면접 카타 질문1) var, let, const 에 대해 설명해주세요: var, let, const는 javascript에서 사용되는 변수 선언 키워드입니다. 먼저 const는 상수 선언으로, 한 번 선언된 이후에 해당 값을 다른 것으로 대체하는 것이 불가능하게 되어있습니다. 예를들어 const a = { foo:'bar' } 같은 식으로 선언했다면, 이후 a = { greeting: 'Hello, world!' } 같은 식으로 재 선언이 불가능합니다. 하지만 이미 할당된 key-value 객체나 클래스 인스턴스, 배열 등의 내용물을 추가하거나 수정하는 것은 가능합니다. var과 let은 언뜻 비슷해 보일 수 ..
-
스파르타) Ch.5 팀 프로젝트 - 타워 디펜스 온라인 (D-3)
> 과제 진행 간 완료한 사항 및 문제점과 해결 과정을 정리해보았다. 학습 키워드: Node.js, javascript, Redis, context 1. 완료한 과제 진행 사항1) Redis 코드 수정, 핸들러 구현 등:export const userRedisFields = { UUID: 'uuid', TOKEN: 'token',};const userRedisFieldsArray = Object.values(userRedisFields);export const isUserRedisField = (fieldName) => { return userRedisFieldsArray.includes(fieldName);};// --------setUserData: async function (userId, o..
-
스파르타) Node.js 5기 게임 서버 최종 프로젝트 (D-6)
학습 키워드: C#, .NET, Recast & Detour, DotRecast 1. Progress1) 메인 서버와 Dedi 서버 정보 동기화 및 클라이언트 전송: GitHub - donkim1212/PathfindingDediServer: (WIP) 내배캠 스파르타 Node.js 5기 Team 12 최종 프로젝트 The Last Rollba(WIP) 내배캠 스파르타 Node.js 5기 Team 12 최종 프로젝트 The Last Rollback에서 사용될 길찾기 전용 서버 입니다. - donkim1212/PathfindingDediServergithub.com(24-08-21 일자 'dev' branch commit history 참고) 전용 서버 주요 변경점- 통신 구조 오류 수정- 필수 기능 구현..