기록은 기억을 이기고 시간보다 오래 남는다.
반응형

서버 9

TLS(Thread Local Storage) with c++

Tread Local Storage한 줄 요약- TLS는 스레드 내부에 스레드 본인만 접근할 수 있는 별도의 저장 공간안녕하세요 준준입니다. 오늘은 TLS에 대해 알아보도록 합시다.TLS(Tread Local Storage) 우선 TLS란 Tread Local Storage의 약자로각 쓰레드가 가지고 있는 자신만의 고유한 공간입니다. 왜 TLS가 만들어지고 필요할까요?Data 영역의 전역 변수, Heap 영역의 객체는 모든 스레드가 공유합니다.그리고,Stack 영역의 지역 변수는 해당 블록 내에서만 사용되기 때문에 기본적으로 각각의 스레드마다 고유하게 가지는 메모리 영역이 없습니다.  또한,스택에 잡히는 지역 변수는 스레드마다 별도의 스택을 사용하므로 당연히 다른 값을 가지지만전역 변수의 경우에는 모든 ..

게임 서버 2024.05.29

Reader-Writer Lock

안녕하세요, 준준입니다. 이번 게시물에서는 **RwLock(Read-Write Lock)**에 대해 알아보겠습니다. RwLock은 읽기와 쓰기의 동시 접근을 관리하기 위한 동기화 메커니즘입니다.여러 스레드가 데이터를 읽을 때는 동시에 접근할 수 있지만,데이터를 쓸 때는 오직 하나의 스레드만이 접근할 수 있도록 하는 기능을 제공합니다.아래의 그림을 보면 이해가 쉬우실까요? 왜 필요한가요? 일반적으로 데이터는 읽기가 빈번하게 일어나고쓰기는 그다지 자주 발생하지 않는 경우가 많습니다. 매번 Lock을 걸어둔다면 쓰기 작업이 거의 없는 상황에서도불필요한 경합(Contension)이 발생할 수 있습니다. RwLock은 이러한 상황에서 효율적으로 동작하여 성능을 향상할 수 있습니다.  RwLock의 주요 특징은 다..

게임 서버 2024.05.29

백엔드 개발 이해하기

백엔드의 구조 클라이언트와 서버의 상호작용: 클라이언트(예: 브라우저)가 요청을 보내면, 웹 서버가 이를 받아 응답합니다. 웹 서버의 역할 정적 페이지 처리: 웹 서버는 HTML, CSS, JavaScript 같은 정적 파일을 클라이언트에 제공합니다. 동적 페이지 위임: 동적 페이지 요청은 웹 서버가 직접 처리하지 않고, 웹 어플리케이션 서버에 전달합니다. 웹 어플리케이션 서버와 데이터베이스 동적 페이지 처리: 웹 어플리케이션 서버는 사용자의 요청에 따라 데이터베이스와 상호작용하면서 동적 컨텐츠를 생성합니다. 데이터 연산: 조회, 수정, 삭제 등의 데이터베이스 작업을 수행하여 요청된 작업을 완료합니다. Node.js의 이해 Node.js란? 자바스크립트 확장: Node.js는 자바스크립트를 브라우저 이외..

Computer Science 2024.04.22

게임 회사 채용 준비과정

안녕하세요 준 입니다. 오늘은 게임 회사의 채용 프로세스와 각 과정에서 어떠한 준비를 해야하는 기술하도록 하겠습니다. 우선 게임회사의 채용 과정은 크게 이렇게 볼 수 있습니다. 1. 서류 단계 2. 면접 단계 3. 처우 밑 연봉 협상 이러한 과정은 단순하게 게임회사 말고도 많은 개발 회사가 이와 비슷한 채용 프로세스를 가지고 있습니다. 우선 서류 단계 입니다. 20명 중 5명 6명 정도 통과한다고 보시면 됩니다.(25%) 이 단계에서는 스펙, 자소서, 포트폴리오를 봅니다. 스펙은 학력, 학점 대외 할동 등이 있습니다. 게임 업계에서는 학력과 학점을 보지 않을까요? 대외적으로는 보지 않는다 실력이 중요하다고 말하겠지만 신입을 뽑는 사람도 같은 사람이기에 좋은 학교, 유의미한 대외 할동이 있으면 눈길이 갈 ..

게임 서버 2023.02.22

게임 서버 공부 할 것

1). 프로그래밍 언어 중간 규모의 프로그램을 만들 수 있어야 C++과 C#이 대부분 C++를 추천 이유는 깊이 있는 공부가 가능하기 때문 2). 시스템프로그래밍 3).데이터 베이스 대학교에서 배운 것만 제대로 알고 있으면 됨 -기본 sql 문 사용법 -index에 대한 기본상식 4).네트웨크 프로그래밍 학습 -소켓프로그래밍 Iocp공부 -네트워크 이론 이론을 잘 알고 있어 5). 포트폴리

게임 서버 2023.02.05

다양한 자료형의 이해(LPSTR, LPTSTR, LPCSTR, LPWSTR, LPCTSTR, LPCWSTR)

게임 서버을 공부하면서 여러 코드를 분석하고 컴파일하면서 나타나는 에러는 자료형과 관련된 에러였다. 아마 해당 코드가 작성된 visual studio가 버전이 다르기 때문에 생기는 문제일 것이다. 따라서 LPSTR, LPTSTR, LPCSTR, LPWSTR, LPCTSTR, LPCWSTR과 같은 다양한 자료형이 어떤 의미를 가지고 있고 형 변환 예에 대해 기술하고자 한다. 자료형의 스펠링은 다양한 단어의 약자이다. LP는 Long Pointer의 약자이다. 해당 약자는운영체제와 관련이 크다. 이는 16bit 윈도우의 유산이고 윈도우 3.1까지 모든 포인터는 16bit이였고 24bit 메모리를 long pointer를 통해 관리를 했다. C는 constant의 약자이며 const와 동일하게 변경이 변경이 ..

c언어로 계산기 만들기

#include int main() { char op; //char현 변수 op 선언 int x, y, result; result = 0; printf("수식을 입력하시오\n"); printf("ex) 10+10\n"); printf(">>>"); scanf_s("%d", &x); scanf_s("%c ", &op); scanf_s("%d", &y); switch (op) { case '+': result = x + y; break; case '-': result = x - y; break; case '/': result = x / y; break; case '%': result = x % y; break; default: printf("해당 산술기호는 지원하지 않는 기호입니다."); break; } p..

반응형