목록분류 전체보기 (91)
개발자공부일기
TCP/IP 4계층 또는 OSI 7계층 모델에서 응용 계층은 네트워크 프로토콜의 최상위 계층으로, 사용자와 네트워크 간의 인터페이스 역할을 수행합니다. 이 계층은 사용자가 네트워크를 통해 데이터를 송수신하고 다양한 서비스를 사용할 수 있도록 지원하며, 주로 웹 브라우징, 이메일 전송, 파일 전송과 같은 애플리케이션 중심의 작업을 처리합니다.응용 계층은 사용자의 요구를 충족시키기 위해 다양한 응용 프로그램과 상호작용하며, 이들 응용 프로그램이 네트워크 자원을 효율적으로 사용할 수 있도록 필요한 프로토콜을 제공합니다. 이 계층에서 작동하는 프로토콜은 사용자가 이해할 수 있는 형식으로 데이터를 처리하며, 데이터의 전송, 수신, 처리 과정을 투명하게 만들어 사용자는 복잡한 네트워크 작업을 알 필요 없이 서비스를..
운영체제 (Operating System)란?운영체제(OS)는 컴퓨터 시스템의 핵심 소프트웨어로, 하드웨어와 소프트웨어를 관리하고 사용자와 컴퓨터 간의 인터페이스 역할을 수행합니다. 운영체제는 컴퓨터가 정상적으로 작동하기 위해 반드시 필요하며, 자원 관리, 프로세스 실행, 파일 시스템 관리, 보안 등의 역할을 수행합니다. 여기서는 운영체제의 구조와 역할을 더욱 자세히 살펴봅니다. 운영체제의 정의운영체제는 컴퓨터 하드웨어를 제어하고, 다양한 응용 프로그램과 사용자 간의 상호작용을 지원하는 소프트웨어 계층입니다. 운영체제는 하드웨어를 직접 제어하며, 응용 프로그램이 이를 효과적으로 사용할 수 있도록 자원을 추상화합니다. 운영체제의 주요 역할1. 자원 관리 (Resource Management)운영체제는 컴퓨..
온라인 게임에서는 클라이언트와 서버 간의 역할 분담이 매우 중요합니다. 1인용 게임에서는 게임이 단일 플레이어의 경험에 초점이 맞춰져 있지만, 온라인 게임은 여러 사용자가 동시에 상호 작용하면서 게임을 진행하므로, 그에 맞는 기술적 설계와 관리가 필요합니다. 클라이언트와 서버는 각각 다른 역할을 맡아 공정한 게임 진행과 안정적인 데이터 처리를 담당합니다.1. 클라이언트와 서버의 역할 게임 클라이언트는 게임의 사용자 인터페이스를 담당하는 부분으로, 플레이어와 상호작용하는 장치입니다. 클라이언트는 사용자 입력을 처리하고, 그 입력을 서버에 전송합니다. 예를 들어, 플레이어가 게임 내에서 이동하거나 공격하는 등의 액션을 취하면, 클라이언트는 그 정보를 서버에 전달하여 서버가 해당 액션을 처리하도록 합니다. 서..
과제하랴 OSI7계층같은 네트워크 이론들 공부하랴 여러모로 바쁜 한주였다.웹소캣이 생각보다 익숙해지는데 오래 걸렸고 과제를 100%의 상태로 제출하지 못했다.시간이 2주라 꽤 널널하다 생각한 오만이었던거같다. 주어진것에서 끝내지말고 항상 최선을 다하고 시간이 남으면 더 뭔가 할 수 있는건데 사람이 그게 참 힘들다. 다음주만이라도 시간이 널널하다 생각되어도 그건 나의 착각이지 실제로 남은게 아니라고 생각해야겠다. 이번에 과제제출 직전에 배포하다 오류나서 곤욕을 치뤘으니 다음주에는 달라지리라 믿는다.다음주부터 새 팀 프로젝트가 시작되는데 총기간중 60%의 기간안에 끝낸다고 생각하고 달려보려한다.
데이터베이스에서 인덱스는 테이블 데이터를 효율적으로 검색하기 위해 사용되는 자료 구조로, 데이터를 빠르게 찾기 위한 추가적인 정보를 생성하고 유지합니다. 이를 통해 데이터 검색 속도가 비약적으로 향상되지만, 쓰기 작업의 성능에는 영향을 줄 수 있습니다. 인덱스는 데이터를 저장하고 검색하는 구조에 따라 여러 유형으로 나뉘며, 각 유형은 특정 사용 사례와 쿼리 패턴에 적합합니다.인덱스의 구조1. B-트리 구조B-트리는 대부분의 관계형 데이터베이스에서 기본적으로 사용되는 인덱스 구조입니다.특징:데이터를 정렬된 상태로 유지하며, 검색, 삽입, 삭제 작업에서 O(log n)의 시간 복잡도를 가짐.노드 안에서 키가 정렬되어 있어 이진 검색처럼 키를 탐색.노드의 자식 노드로 내려갈 때 포인터를 따라가며 원하는 데이터..
IOCP (Input/Output Completion Port) 상세 설명IOCP(Input/Output Completion Port)는 논 블로킹 프로세스로 Windows 환경에서 비동기 I/O 작업을 효율적으로 관리하기 위해 제공되는 고성능 I/O 관리 기법입니다. 비동기 프로세스와 최소한의 스레드로 최대한의 성능을 끌어내는 것이 주요 목표입니다. 이를 위한 스레드 풀링이나 비동기 처리등을 운영체제에서 관리해주기 때문에 사용자는 IOCP를 이용해서 쉽고 빠르게 고성능의 입출력 처리가 가능해집니다.이는 네트워크 서버, 데이터베이스 서버, 파일 서버 등 높은 동시성을 요구하는 애플리케이션에서 널리 사용됩니다. 논블로킹 프로세스란? 설명 보기/숨기기 다른 작업이 완료되기를 기다리지 않고, 즉시 다..
전송 계층은 OSI 모델의 4번째 계층으로, 애플리케이션 계층과 네트워크 계층 사이에 존재합니다. 응용 계층(Application Layer)에서 내려온 데이터를 처리하고 네트워크 계층(Network Layer)을 통해 전송하기 위한 중간다리 역할을 합니다. 이 계층은 데이터 패킷을 전달하고, 오류 검출 및 수정, 흐름 제어, 연결 수립 등의 기능을 수행합니다. 또한, 전송 계층에서는 TCP(전송 제어 프로토콜)와 UDP(사용자 데이터그램 프로토콜)와 같은 프로토콜을 사용해 데이터를 전달합니다. 이러한 프로토콜들은 각기 다른 전송 방식과 특징을 가지고 있습니다. 전송 계층은 송신자와 수신자 간의 논리적인 종단 간(end-to-end) 통신을 관리하며, 데이터의 신뢰성, 정확성, 순서를 보장합니다 전송..
최고기록 갱신시 접속중인 모든 유저에게 전송배경 : 서버에 저장한다고 가정하는 src쪽 전역변수 highScore에 모든 유저들중 최고기록을 저장하고 갱신될때마다 실시간으로 모든 유저에게 업데이트(브로드캐스트)해주고 싶었는데 새로 접속(새로고침)해야만 최고점수가 갱신되는걸 발견발단 : 이렇게 되면 실시간통신이라 보기 힘들었다.전개 : 그래서 AI와 힘을 합쳐 코드를 천천히 읽어봤다.위기 : 아무리 봐도 코드상으로 이상한게 없었고 못찾을뻔했다.절정 : 데이터가 잘 전달 되는지(서로 응답이 잘 주고받아 지는지) 확인하던 도중 socket.on을 작동시켜줄 이벤트이름이 return 데이터에서 누락된걸 발견했다.setupSocketListeners(socket) { // 전역 최고 점수 업데이트 수신 ..