공부 학습 45

UML 다이어그램 정리 - 구조 다이어그램

UML이란? UML다이어그램 : 시스템이나 프로세스의 동작 및 구조를 시각적으로 표현하기 위한 방법 UML다이어그램의 종류 더보기 구조다이어그램 소프트웨어나 시스템의 정적 구조를 나타내고 추상화 및 구현에 다양한 계층을 표현하는 다이어그램 모듈의 계층과 구성요소들이 서로 어떻게 연결되어있고 상호작용하는지 시각화 클래스 다이어그램 객체 다이어그램 복합체 다이어그램 배치다이어그램 컴포넌트 다이어그램 패키지 다이어그램 행위 다이어그램 활동 다이어그램 상태 머신 다이어그램 유스케이스 다이어그램 상호작용 다이어그램 순차 다이어그램 상호작용 개요 다이어그램 타이밍 다이어그램 클래스 다이어그램 {접근 제어자} {변수/메소드명}: {타입} 추상메소드 표현법 클래스 관계 표현법 연관 / 상속 / 구현 / 의존 / 집합 ..

공부 학습 2022.11.08

UML 다이어그램 정리 - 활동 다이어그램

UML다이어그램의 종류 구조다이어그램 소프트웨어나 시스템의 정적 구조를 나타내고 추상화 및 구현에 다양한 계층을 표현하는 다이어그램 모듈의 계층과 구성요소들이 서로 어떻게 연결되어있고 상호작용하는지 시각화 클래스 다이어그램 객체 다이어그램 복합체 다이어그램 배치다이어그램 컴포넌트 다이어그램 패키지 다이어그램 더보기 행위 다이어그램 활동 다이어그램 상태 머신 다이어그램 유스케이스 다이어그램 상호작용 다이어그램 순차 다이어그램 상호작용 개요 다이어그램 타이밍 다이어그램 활동 다이어그램 처리과정이 수행되는 동안 일어나는 일을 단계적으로 표현한 다이어그램 State diagram의 확장 활동에 중점을 둔 다이어그램으로 업무 처리과정을 분석할때 유용함 표현 요소 상자 : 오브젝트 / 클래스의 이름 다이아몬드 : ..

공부 학습 2022.11.08

IOCP 서버 프로그래밍

IOCP란? : Input/Ouptput Completion Port의 약자다. 입력과 출력의 완료를 담당할 포트를 지정해서 처리하겠다는 의미다. 입력과 출력의 완료시점에서의 통지는 overlapped(중첩 입출력)에서 처리가 되므로, 이 기술은 윈도의 중첩 입출력 기술을 확장시킨 것으로 볼 수 있다. 간단히 말하면 윈도우에서 제공하는 비동기 IO 라이브러리로 생각하면 될것이다. IOCP의 기본적인 구동 방식을 정리하자면 적당한 수의 워커 쓰레드를 생성한다. (보통 (코어수 * 2) + 1) 소켓 생성 클라이언트 접속 시도시 accept 함수 호출 연결 완료시 Complete Port 할당 WSARecv함수를 호출해 입출력 디바이스에서 입출력이 완료되면 completion queue에 등록하고 워커 쓰레..

공부 학습 2022.08.02

Unity에 IOCP서버 연동하기

서버에 IOCP를 이용해 서버를 열고 Unity 게임 어플리케이션과 통신하는 방법에 대해 연구해보겠습니다. 일단 소켓 프로그래밍에서 게임서버의 구조를 알아보았습니다. 게임서버의 구조는 유투버 Tucker님의 강의를 보며 공부했습니다. 그리고 나름대로 정리한 내용은 여기 정리했습니다. https://diy-multitab.tistory.com/47 유투버 Tucker 님 게임 프로그래밍 강의 : https://www.youtube.com/watch?v=lAhAdnsIN6I&list=PLy-g2fnSzUTDsS7kCzmFYn4BJK6nCs0_r 좀더 알아보니 게임 서버는 기본적으로 소켓프로그래밍으로 다루고 있습니다. 그리고 일반적으로 사용되는 웹서버와는 느낌이 조금 다릅니다. 게임서버를 구현하는 방법은 다양..

공부 학습 2022.08.01

C++에서 virtual(가상함수) 란..?

C++를 보다보면 Virtual가 붙어있는 함수를 볼수 있습니다. Virtual은 클래스의 함수를 가상함수로 만들어 주는 기능입니다. 공식적인 설명으로는 이러합니다. 기본 클래스(상속되지 않은 클래스) 내에서 선언되어 파생 클래스에 의해 재정의되는 맴버 함수입니다. 포인터(Pointer) 또는 기본 클래스에 대한 참조(Reference)를 사용하여 파생 클래스의 객체를 참조하면 해당 객체에 대해가상 함수를 호출하고 파생 클래스의 함수를 실행할 수 있습니다. 이는 주로 실행시간(Runtime)에 함수의 다형성(Polymorphism)을 구현하는데 사용됩니다. 출처: https://yeolco.tistory.com/125 [ 이게 무슨 말일까요? 위 정의에서 가상함수를 정의할수 있는 중요한 말은 "실행시간(..

공부 학습 2022.08.01

게임 서버의 이해

강의 원본 : https://www.youtube.com/playlist?list=PLy-g2fnSzUTDsS7kCzmFYn4BJK6nCs0_r 게임 네트워킹의 이해(완) www.youtube.com PC내부에서 일어나는 데이터 교환도 네트워킹이라고 하고 PC간에 통신도 네트워킹이라고한다. Latency 차이가 게임 네트워크에서 가장 중요하다 광속으로 신호가 전달된다고 해도 두 PC간에 시간차이는 조재할수 밖에 없다 실시간 게임 서버에서 양쪽 PC간의 입력시간 차이가 있더라도 지연시간 만큼 기다려주면 서로 같은 결과를 만들어줄수 있다. 두 플레이어간의 입력이 시간상에서 서로 다르게 들어와도 지연시간의 존재를 고려하여 처리해준다면 양 쪽 모두 동일한 결과를 만들어 낼수 있다. 이러한 방식을 Determin..

공부 학습 2022.07.27

머신러닝 정리(종합)

Bayesian linear regression Linear regression 이란..? 어떤 Dataset 내에서의 어떤 특성을 선형적으로 표현하는 과정 $$ y = b_0 + b_i * x_i^T $$ 위와 같은 선형방정식에서 x(입력 값)와 y(출력값) 사이간의 관계를 찾는 과정이다. 그래서 주어진 Dataset에서 x_1의 변화에 따른 y값의 변화량과, 이 변화값들이 b_0, b_1에 끼치는 영향을 찾아야한다. 이때 y는 x_1의 변화에 따라 변하는 값이기때문에 y를 Dependent Variable(DV) x_1을 Independent Variable(IV) 이라고 한다. 그리고 DV와 IV의 관계 비율을 결정하는 b_i을 Coefficent하고 하며 Linear Regression의 초기값을..

공부 학습 2022.07.25

Catboost 기본부터 알아보기

Catboost Boosting algorithm이란? 머신러닝 앙상블 기법중 하나로 약한 학습기 여러개를 순차적으로 여러개 결합하여 예측과 분류의 성능을 높이는 알고리즘 여러개의 알고리즘이 순차적으로 학습 예측 하면서 이전에 학습한 알고리즘의 예측이 틀린 데이터를 올바르게 예측할수 있도록 다음알고리즘에 가중치를 부여하여 학습과 예측을 진행하는 방식 앙상블 : 여러 단순한 모델을 결합하여 정확한 모델을 만드는 방법 의사 결정 트리(Decision Tree) 일련의 분류 규칙을 통해 데이터를 분류, 회귀하는 지도학습모델, 결과 모델이 Tree 구조이다. 특정 기준에 따라 데이터를 구분하게 되며 한번의 분기 마다 변수영역을 두개로 구분한다. 여기서 나온 질문이나 정답을 노드(Node)라고 한다. 의사 결정 ..

공부 학습 2022.04.02

베이지안 선형 회귀(Bayesian linear regression) 기본부터 알아보기

Bayesian linear regression Linear regression 이란..? 어떤 Dataset 내에서의 어떤 특성을 선형적으로 표현하는 과정 $$ y = b_0 + b_i * x_i^T $$ 위와 같은 선형방정식에서 x(입력 값)와 y(출력값) 사이간의 관계를 찾는 과정이다. 그래서 주어진 Dataset에서 x_1의 변화에 따른 y값의 변화량과, 이 변화값들이 b_0, b_1에 끼치는 영향을 찾아야한다. 이때 y는 x_1의 변화에 따라 변하는 값이기때문에 y를 Dependent Variable(DV) x_1을 Independent Variable(IV) 이라고 한다. 그리고 DV와 IV의 관계 비율을 결정하는 b_i을 Coefficent하고 하며 Linear Regression의 초기값을..

공부 학습 2022.04.02

네트워크 CH4 - Network Layer 3

Hierarchical addressing:route aggregation 아이피도 계층화가 되어있어서 Fly by Night ISP의 경우 Prefix 말단 IP가 달라지는데 그에 따라 어떤 IP가 Fly by Night ISP의 대표 IP로 설정된다. 그래서 외부 인터넷에서 대표 IP로 설정되어지면 "대표 IP가 도착지인 모든 패킷은 이쪽 Fly by Night ISP로 오라"라고 연결되고 내부에서 계층화된 IP들이 분류되어 본연의 목적IP에 도달하게 된다. 축하합니다. 이스터에그를 발견하셨습니다. 이 이스터에그를 발견하셨다면 운영진에게 스티브와 이 화면을 캡쳐해 보내주세요. IP fragmentation/reassembly 모든 network link는 MTU(Max transfer size) 가 ..

공부 학습 2021.05.04