Nagle 알고리즘? 무엇인가..? 진짜 작동하긴 하는가?
·
Game Server Class 101
"~ TCP 네트워크 특성상 Nagle 알고리즘을 사용한다.." 책을 읽다 궁금한 문장이 나와 내용을 정리해본다.. TCP는 안정적인 통신을 보장하는 프토로콜이다.그렇다면 Nagle 알고리즘이 무엇이고 왜 TCP에 사용되는지 알아보자. TCP 네트워크의 특성연결 지향 (Connection-oriented): 데이터를 보내기 전에 먼저 상대와 연결을 한다.신뢰성 (Reliable Transmission): 데이터가 손실되거나 순서가 어긋나도 TCP는 자동으로 재전송하고 순서를 맞춰 준다.순서 보장 (Ordering): 보낸 순서대로 도착하지 않더라도 TCP가 정렬해서 순서대로 전달한다.흐름 제어/혼잡 제어: 수신자가 감당할 수 있는 만큼만 데이터를 보내고, 네트워크 혼잡 시 전송량을 줄인다..
야~ 거기 CPU 좀 못 놀게 해라 Multi-Threading
·
Game Server Class 101
개발을 공부하면서 가장 혼란스러웠던 개념 중 하나가 프로세스와 스레드 그리고 멀티 스레딩이었다.Process 무언가 실행되는 것... Thread 이것도 무언가 실행되는 것..? 멀티 스레딩? 뭔가 여러 개가 동시에 실행되는 느낌?... 알 것 같으면서도 막상 설명하려 하면 말문이 막혔다. 게임 서버는 동시에 수많은 유저의 요청을 처리해야 하다 보니 싱글 스레드로 감당하기 어려운 경우가 많다.그래서 멀티스레딩이 무엇인지 또 멀티스레딩에서 발생하는 문제들과 이를 해결하기 위한 뮤텍스(Mutex), 크리티컬 섹션(Critical Section), 세마포어(Semaphore), 락(Lock) 같은 개념들을 접하게 되었다. 이번 글에서는 내가 처음 느꼈던 혼란과 궁금증을 바탕으로 이 개념들이 어떤 의미를 가지..
TCP랑 UDP 특. 정확하거나 빠르거나
·
Game Server Class 101
네트워크에서 자주 언급되는 두 가지 전송계층 프로토콜, TCP와 UDP에 대해 정리해보고자 한다.전송계층이란?TCP와 UDP는 모두 OSI 7계층 중 전송계층(Transport Layer)에 속하는 프로토콜이다.이 계층은 "누구에게 어떤 데이터를 보낼지", "정확하게 잘 도착했는지"를 관리하는 역할을 한다.쉽게 말해, 애플리케이션(게임, 웹 등)이 보내려는 데이터를 목적지까지 안전하고 효율적으로 전달하는 중간 관리자라고 볼 수 있다. TCP와 UDP는 이 역할을 서로 다른 방식으로 수행한다.둘 다 데이터를 전송할 때 쓰이는 방식이지만, 정확성 중심이냐, 속도 중심이냐에 따라 성격이 완전히 다르다. 게임 개발자 입장에서는 두 프로토콜을 제대로 이해하고 상황에 맞게 쓰는 것이 중요하다. TCP (Transm..
Programmers_Basic Training 등차수열의 특정한 항만 더하기
·
Algorithms
분명 2025년이 되어서 회고도 쓰려했는데 생각보다 시간이 많-이 지났다.. 기초부터 다시 꼼꼼히 다져보자는 마음으로 프로그래머스 기초 트레이닝을 풀기 시작했다.목표는 좀 더 간결하고 C++의 다양한 함수를 사용하기로 했다. https://school.programmers.co.kr/learn/courses/30/lessons/181931 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🧩 문제 설명어떤 등차수열에서 초항이 a, 공차가 d인 수열의 각 항 중에서included[i] == true인 항만 골라 모두 더한 값을 구하는 문제이다.예를 들어:a = 3, d = 2included = [true..
BaekJoon_거스름돈_DynamicProgramming
·
Algorithms
아직도 자신이 없는 DP를 자신 있을 때까지 파보기로 하자.  DP는 작은 문제의 결과를 저장해놓고, 이를 이용해 큰 문제를 푸는 방식이다.  거스름돈을 2원과 5원을 사용해서 최소 개수만큼 돌려주고 싶다. 처음엔 그리디 알고리즘으로 접근하였다. 5원으로 먼저 거슬러 주고 남은 금액을 2원으로 주는 것이다. 😶‍🌫️ 코드 보기🔽더보기처음 생각한 코드 - DP로 접근하지 않았따! #include using namespace std; int main(){ int n, count = 0; cin >> n; count += n / 5; n = n % 5 ; while(count >= 0) { if(n % 2 == 0) { cou..
Anti-Aliasing 안티 에일리어싱 - 반 계단 현상
·
Real-Time Rendering Fundamentals
리얼 타임 렌더링의 기초에 나온 용어 중 Anit-Aliasing에 대해 알아보자Anti-Aliasing은 에일리어싱 반대가 아니라 Ani-Icing (방빙)처럼 계단 현상을 방지하는 기술이다.    오늘은 안티 에일리어싱에 대해 알아보도록 해요!  Aliasing 에일리어싱? 에일리언 같지만, 전혀 아니에요!  그래서 에일리어싱을 안티하는거 그것이 안티 에일리싱! 이제 안티 에일리어싱에 대해 알아봤어요!   헿ㅎ.  안티 에일리어싱은 말 그대로 계단 현상을 방지하는 기술인데 이 계단 현상이란 우리가 보는 화면을 무진장 확대해서 보면 색을 표현해주는 픽셀과 픽셀 사이의 애매한 공간이 생긴다. 이때 계단처럼 각져 보이는 현상이 계단현상이다.  아래 그림처럼 보았을 때 미묘하게 원이 달라보이는데 이를 확대해..
Rudolufoo
Just do