Server 7

[Concurrency] 동시성 개요

배경 기기의 발전으로 현재 일반인도 좋은 성능의 컴퓨터를 보급받아 사용하고 있다. 그뿐만 아니라, 게임 산업에서도 대규모의인원을 감당하여 원활한 게임 플레이 환경을 조성하게 될 수 있다.  그렇기 때문에 개발자는 프로그래밍에 관해 기기의 성능을 최대한으로 활용할 수 있는 방식으로 수행해야할 필요가 있다.  핵심 키워드는 바로 동시성(Concurrency)이다.동시성의 의미는 아주 간단하다. 서로 다른 두 행위(프로세스)를 동시에 수행하는 것을 뜻한다.  예를 들어,  네트워크를 통해 게임을 다운받는다고 가정해보자, 우리는 파일이 다운받는 동안에도,유튜브와 같은 사이트를 통해 스트리밍 시청이 가능하다.  그리고 다운로드가 얼만큼 진행됐는지 Progress Bar를 통해피드백(Feedback)을 동일한 시점..

Server 2024.12.18

[Concurrency] 스레드 개요

이 글을 읽기에 앞서 프로세스와 스레드의 개념이 헷갈린다면, 운영체제와 관련된 개념을 먼저 익히고 오는 것을 추천한다 스레드 개념에 관해, 필자는 다음과 같이 간단하게 정의한다. 프로세스 내에서 처리되는 독립적인 실행 단위. 좀 더 자세하게 말하자면, 스레드는 프로세스 내에 자원을 공유하며 이를 이용해 특정 작업을 수행하는 "일손"이다.   다음 프로세스들을 살펴보자. (게임, 웹브라우저)게임만 하더라도, 로그인, 아이템 구매 및 결제, 전투 등 하나의 프로세스에 여러 가지 기능을 제공한다.또 웹 브라우저만 하더라도 파일 다운로드, 미디어 시청 등 여러 가지 기능을 제공한다. 이런 처리방식에 가능하게 된 것에 관해선, 기기의 발전이 큰 기여를 했다. 현대의 프로세서들은 단일 작업만 처리하는 것이 아니라,..

Server 2024.07.11

[Web 서버 기초] ASP.Net Core - Middleware Pipeline

이번 게시글을 보기 전에 지난 게시글에서 Web API Framework가 제공하는 여러가지 기능들에 관해 알아보았으니,먼저 읽어보는 것이 좋다.     우리는 전공 과정을 공부하며 파이프라이닝이라는 단어를 자주 들어봤을 것이다. (CPU 파이프라이닝 등..)어느 파트에서 등장하느냐에 따라 의미가 조금씩 다르지만, 시사하는 바는 비슷하다. 어떤 절차, 단계적으로 진행되는 작업의 흐름인 것이다.    컴퓨터 공장에서 컴퓨터를 생산하는 과정을 한번 떠올려보자, 한 명의 사람이 부품을 분류, 조립, 점검, 포장을 한번에 작업하지 않는다. 각 과정을 세분화하여,  이를 책임지고 수행하는 담당자를 라인마다 배치하고 이에 맞춰 수행하게 될 것이다. 이 실생활의 흐름을 잘 기억하고 다음 그림을 살펴보자.     지난..

Server 2024.06.12

[Web 서버 기초] Web API Framework와 ASP.Net Core

들어가는 말   필자는 게임공학과에 재학하며 C++ 언어와 TCP-IP 소켓 프로그래밍를 중점으로 배워왔다.그리고 C#, ASP.NET Core, HTTP 통신와 관련 개념을 작년 8월 컴투스 산학협력 프로그램을 진행하며 처음 접하게 되었는데, 그때 당시에는 어떤 순서로 공부를 수행해야할 지 감을 잡지 못해 많은 어려움이 있었다.  그래서 해당 활동 이후 여러 영문 영상 등을 시청하며, 기본 개념과 관련된 자료를 많이 찾아본 것 같다.  추후 ASP.Net Core와 관련되서 학습하고자 하는 학생은  현재 해당 카테고리에 작성된 글 순서대로 참고해보면 좋을 것 같다. Web API Framework 와 ASP.Net Core  지난 게시글에서 Web API가 동작하는 방식에 관해 그림과 함께 설명해보는 ..

Server 2024.05.31

[Web 서버 기초] Web API는 어떻게 동작하는가? (Feat. CRUD)

Web API 복습 지난 시간에는 Web API의 개념과 등장 배경에 관해 학습했다.Web API는 모놀리틱(Monolithic) 아키텍처의 단점을 해결하기 위해 등장한 개념으로, 그 정의는 Web을 통해 원격으로 호출할 수 있는 (서버 위에서 동작하는) 함수들의 집합이다. 그리고 그 목적은 크게 두 가지였다.기능 공유데이터 공유여기서 덧붙이자면, 공유하고자 하는 기능들도 결과적으로는 어떤 데이터를 공유하기 위한 함수들이라고볼 수 있다.Web API는 어떻게 동작하는가?   오늘은 Web API가 동작하는 방식에 관해 설명하기 위한 그림 자료이다. 해당 그림은 Web API의 가장최소화된 형태라고 볼 수 있다. 빨강-초록-파랑 순서대로 설명을 진행하겠다. CRUD우리가 사용하고자 하는 가치있는 데이터들은..

Server 2024.05.29

[Web 서버 기초]API 와 Web API

API란 무엇인가?  Window API, Web API 등 우리가 프로그래밍을 수행하면서 자주 보는 표현 중 한 가지인 API는 도대체 뭘까?   API는 Application Programming Interface의 약자이다. Interface라는 단어가 들어있는 만큼, 어떤 편의성/도움을 제공하기 위한 수단이라고 예측 해볼 수 있다. 과연 어떤 것에 편의성을 제공하기 위함일까? 우선 각 단어 별로 나누어서 보자 - Application 특정한 목적을 수행하는 응용 프로그램.- Programming 컴퓨터에서 어떤 동작을 수행하기 위한 명령어를 작성하는 행위. - Interface (Computer Science에서의 의미)서로 다른 소프트웨어 혹은 컴포넌트가 서로 정보를 주고 받을 수 있도록 하는 ..

Server 2024.05.29