[네트워크] Loopback Address란?
서버 & 네트워크2024. 2. 29. 21:30[네트워크] Loopback Address란?

개념 보통 컴퓨터가 인터넷이라는 거대한 논리 네트워크를 통해 통신을 하려면 Host L2 Access Switch Router Internet Router L2 Access Switch Host(or Server) 대략 위와 같은 방식으로 접속하여 통신을 합니다. 여기서 접속이라는 표현을 사용했는데 인터넷을 사용하는 것은 Process입니다. 나의 PC에서 실행중인 어떤 Process가 인터넷을 사용하는 것입니다. 이때 나 자신한테 접근을 해야하는 경우도 생기는데 이때 사용하는 특별한 IP주소가 127.0.0.1입니다. 학교에서 웹서버 수업이 있으면 웹서버를 실행시켜두고 chrome에다가 localhost:3000이라고 많이 처보셨을 텐데요 127.0.0.1이나 localhost:3000이나 같은 말입니..

[백준] 1722 순열의 순서 C++
알고리즘/백준2024. 2. 29. 11:07[백준] 1722 순열의 순서 C++

https://www.acmicpc.net/problem/1722 1722번: 순열의 순서 첫째 줄에 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄의 첫 번째 수는 소문제 번호이다. 1인 경우 k(1 ≤ k ≤ N!)를 입력받고, 2인 경우 임의의 순열을 나타내는 N개의 수를 입력받는다. N개의 수에는 1부터 N www.acmicpc.net 순열 + DP문제입니다. 순열은 nPr이고 n개 중에 r개를 뽑는데 순서를 고려하여 뽑는 경우를 뜻합니다.(사전순 정렬) 문제의 입력 최대값이 20이므로 O(20!)을 가지기에 next_permutation을 사용하면 무조건 시간초과로 틀리기 때문에 시간 복잡도를 줄이기 위해 고민이 필요한 문제인거 같습니다. 풀이순서 1. 먼저 입력조건에 따라 입력을 받는다. 2. ..

[백준] 17472 다리 만들기2 C++
알고리즘/백준2024. 2. 26. 20:45[백준] 17472 다리 만들기2 C++

문제 https://www.acmicpc.net/problem/17472 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net BFS, DFS, MST 개념이 다 들어간 문제이고 단계적으로 풀이하여 문제에서 요구하는 바를 구현할 수 있는지가 중요한듯 합니다. 풀이순서 1. 입력으로 받은 데이터의 섬마다 번호를 매겨준다. (BFS 사용) 2. 상하좌우로 각 섬마다 연결될 수 있는 다리가 있는지 탐색하고 연결이 가능하면 경로에 추가한다. (DFS 사용) 3. 추가된 경로들을 가지고 최단거리를 구한다..

[네트워크] OSI 7 Layer란?
서버 & 네트워크2024. 2. 21. 23:40[네트워크] OSI 7 Layer란?

OSI 7 Layer와 Packet생성과정에 대해 정말정말 간단히 정리한 글입니다. (저도 공부중이라...) (많은 부분이 생략되어 있고 틀린 부분도 있을 수 있습니다.) 서론 개념적으로는 "OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말합니다" 실제로 구글링을 하면 보통 이런 이미지가 굉장히 많습니다... 무엇을 뜻하는지 조차 잘 모르겠는데 일단 단어 의미부터 보도록 하겠습니다. Layer 일단 Layer라고 하는 것은 어떤 '층'을 말합니다. 단계적으로 발생하는 것을 계층 구조로 나눈 것인데 가령 대학교를 졸업했다는 것은 초등학교 => 중학교 => 고등학교 => 대학교 테크트리를 탓다는 것입니다. 이를 계층 구조로 나타내면 아래와 같습니다. 중학교를 다닌다는 것은 초등학교..

[CPP] static_assert
UE52024. 2. 7. 23:14[CPP] static_assert

기존의 C++에 존재하는 assertion을 발생하는 키워드는 #error 전처리기와 assert 메크로를 통해 발생시킬 수 있습니다. Assert 동적으로 배열을 할당 할 때 배열 사이즈는 양수이여야 하기 때문에 이를 assert를 통해서 검증할 수 있습니다. #include #include using namespace std; void foo (int age) { // assert를 이용한 유효성 확인 assert(age > 50); int* p = new int[age]; } int main(int argc, char* argv[]) { foo(26); return 0; } 위와 같이 assert를 이용한다면 오류가 발생하면 개발자에게 프로그램이 다양한 정보(Call Stack, 발생 위치 등)를 ..

[UE] Lyra ExperienceManagerComponent::StartExperienceLoad
UE52024. 1. 25. 20:21[UE] Lyra ExperienceManagerComponent::StartExperienceLoad

이번 글은 Lyra프로젝트의 ExperienceManagerComponent::StartExperienceLoad함수 분석글입니다. Experience Load과정을 전부 다 정리하기에는 너무빡세서 제가 햇갈렸던 부분과 몰랐던 부분 위주의 개념이 들어간 함수 하나만 잡아서 분석 한 글입니다. AssetStreaming, FStreamableManager, FStreamableHandle의 간단한 개념과 비동기 로드시 어떤 흐름으로 Delegate들을 호출하는지 간단한 흐름만 분석하였습니다. 실제 GetPrimaryAssetID내부의 CDO와 연관성이라던지 좀더 자세한 부분들은 Lyra프로젝트를 통해 알아봐주시면 감사하겠습니다 ㅎㅎ (추후 정리 할 수 있으면 정리 할거같네요) 호출과정 일단 Lyra의 Ex..

[UE] Unreal Smart Pointer
UE52024. 1. 23. 23:33[UE] Unreal Smart Pointer

UE의 스마트 포인터 라이브러리에는 아래 4가지 스마트 포인터가 있습니다. - TSharedPtr - TSharedRef - TWeakPtr - TUniquePtr 위 스마트 포인터들은 메모리 할당과 추적의 부담을 해소해주도록 설계된 C++11의 스마트 포인터의 커스텀 구현입니다. 위 스마트 포인터들은 언리얼 오브젝트(UObject)에 대해 사용할 수 없습니다. 언리얼 오브젝트(UObject)는 별도의 메모리 추적 시스템(GC)를 사용하기 때문입니다. (UObject GC에 의헤 TSharedPtr로 관리됩니다. 그래서 TSharedPtr로 UObject를 가르킬 수 없습니다. => 사이클 발생) TSharedPtr 위에서 설명한것과 같이 TSharedPtr은 UObject를 가르킬 수 없습니다. UOb..

[UE] C1189 에러 해결방법
UE52024. 1. 22. 19:07[UE] C1189 에러 해결방법

1시간 정도 해매다가 해결한 에러입니다. 원인부터 설명하면 저는 일단 filename.generated.h 를 두번 참조하여 발생하였습니다...;; 당연히 한번만 include 하는것이 정상이지만 정신없이 파일들 만들고 필요한 헤더 파일들을 추가하다 발생한 문제인듯합니다. 처음에는 "Severity Code Description Project File Line Suppression State Error C1189 #error: "LyraCloneEquipmentDefinition.generated.h already included, missing '#pragma once' in LyraCloneEquipmentDefinition.h" LyraClone C:\Rookiss\Rookiss_Lyra\Unrea..

image