일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- UI 자동화
- c#
- 웅진씽크빅
- 유한상태기계
- upper_bound
- BFS
- fsm
- 게임개발
- 알고리즘
- unity
- 이득우
- 안드로이드
- 너비우선탐색
- 이분탐색
- 시리얼라이제이션
- 프로그래머스
- lower_bound
- 구현
- 개발일지
- 인프런
- unreal
- 백준
- c++
- 언리얼
- DFS
- 게임개발공모전
- 유니티
- binary_search
- 재귀
- 운영체제
- Today
- Total
목록전체 글 (53)
초고교급 희망
직렬화 오브젝트나 연결된 오브젝트의 묶음 →바이트 스트림으로 변환 시리얼라이제이션 : 오브젝트 그래프 → 바이트 스트림 디시리얼라이제이션 : 반대 장점 게임의 저장 객체 정보 복사, 다른 프로그램에 전송 네트워크. 현재 정보 다른 컴퓨터에 복원 압축, 암호화. 데이터를 효율적 안전하게 보관 고려할 점 데이터 레이아웃 이식성 버전 관리 성능: (회전처리: 양자화) 보안 에러 처리 언리얼의 직렬화 아카이브 클래스 (FArchive)
식사하는 철학자 문제 동그란 원탁에 5명의 철학자, 식사 5개, 포크 5개 포크 2개 잡을 때만 식사 가능 모든 철학자가 동시에 왼쪽 포크 잡으면 어떤 철학자도 식사 X, 영원히 생각함 →모든 철학자는 다른 철학자가 포크를 내려놓을 때까지 기다림 교착 상태(데드락) 일어나지 않을 사건을 기다리며 진행이 멈춰 버리는 현상 철학자: 프로세스, 스레드 포크: 자원, 한 번에 하나의 프로세스나 스레드만 접근 가능한 임계 구역 생각하는 행위: 자원을 기다림 교착 상태 발생 조건 상호 배제 해당 자원을 한 번에 하나의 프로세스만 이용 가능 점유와 대기 자원을 할당받은 상태에서 다른 자원을 할당받기를 기다림 비선점 어떤 프로세스도 다른 프로세스의 자원을 강제로 빼앗지 못 함 원형 대기 자원 할당 그래프가 원의 형태 ..
동기화 특정 자원에 접근할 때 한 개의 프로세스만 접근하게 하거나 프로세스를 올바른 순서대로 실행하게 하는 것 프로세스 동기화의 의미 프로세스들 사이의 수행시기를 맞추는 것 실행 순서 제어: 프로세스를 올바른 순서대로 실행하기 Reader / Writer 상호 배제: 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기 계좌 잔액 레이스 컨디션 임계 구역은 두 개 이상의 프로세스가 동시에 실행되면 안 되는 영역이지만, 잘못된 실행으로 인해 여러 프로세스가 동시 다발적으로 임계 구역의 코드를 실행하여 문제가 발생하는 경우 동기화 기법 뮤텍스 락 동시에 접근해서는 안 되는 자원에 동시에 접근하지 않도록 만드는 도구. 상호 배제를 위한 동기화 도구 공유자원 1개 바쁜 대기 세마포 뮤텍스 락과 비슷..
강의 내용 언리얼에서 제공하는 대표 컨테이너 라이브러리의 동작 원리와 활용 방법을 예제를 통해 살펴보기 강의 목표 언리얼 대표 컨테이너 라이브러리 TArray, TSet의 내부 구조 이해 각 컨테이너 라이브러리의 장단점을 파악하고, 알맞게 활용하는 방법의 학 언리얼 컨테이너 라이브러리 언리얼 엔진이 자체 제작해 제공하는 자료구조 라이브러리 줄여서 UCL(Unreal Container Library)라고도 함. 언리얼 오브젝트를 안정적으로 지원하며 다수 오브젝트 처리에 유용하게 사용됨. 언리얼 C++은 다양한 자료구조 라이브러리를 직접 만들어 제공하고 있음. 실제 게임 제작에 유용하게 사용되는 라이브러리로 TArray, TMap, TSet를 추천함. 접두사 T는 템플릿 라이브러리를 의미한다. C++ STL..
인프런에서 이득우의 언리얼 프로그래밍 Part 1을 수강하고 작성한 글 입니다. 강의 내용 언리얼 델리게이트를 사용해 클래스 간의 느슨한 결합을 구현하기 강의 목표 느슨한 결합의 장점과 이를 편리하게 구현하도록 도와주는 델리게이트의 이해 발행 구독 디자인 패턴의 이해 언리얼 델리게이트를 활용한 느슨한 결합의 설계와 구현의 학습 강한 결합과 느슨한 결합 강한 결합(Tigth Coupling) 클래스들이 서로 의존성을 가지는 경우 느슨한 결합(Loose Coupling) 실물에 의존하지 말고 추상적 설계에 의존하라. (DIP 원칙) 느슨한 결합 구조는 유지 보수를 손쉽게 만들어줌. 느슨한 결합의 간편한 구현 - 델리게이트(Delegate) 함수를 오브젝트처럼 관리하면 어떨까? 함수를 다루는 방법 함수 포인터..
인프런에서 이득우의 언리얼 프로그래밍 Part 1을 수강하고 작성한 글 입니다. 강의 내용 언리얼 C++만의 컴포지션 기법을 사용해 복잡한 언리얼 오브젝트를 효과적으로 생성하는 방법에 대해 알아보겠습니다. 강의 목표 언리얼 C++의 컴포지션 기법을 사용해 오브젝트의 포함 관계를 설계하는 방법의 학습 언리얼 C++이 제공하는 확장 열거형 타입의 선언과 활용 방법의 학습 컴포지션(Composition) 객체지향 프로그래밍의 설계는 크게 상속과 컴포지션의 활용으로 요약할 수 있다. 상속: 성질이 같은 부모 클래스와 자식 클래스의 관계를 의미하는 Is-A 관계 이것만 의존해서는 설계와 유지보수가 어려움.) 컴포지션: 성질이 다른 두 객체에서 어떤 객체가 다른 객체를 소유하는 Has-A 관계 복합적인 기능을 가진..
그리디를 이용한 문제였다. 회의가 끝나는 시간이 빠른 기준으로 정렬한다. 회의가 끝나는 시간이 동일하다면 시작하는 시간이 빠른 기준으로 정렬한다. #include #include #include #include using namespace std; int n; pair conference[100005]; bool func(pair a, pair b) { if (a.second == b.second) { return a.first > n; for (int i = 0; i > conference[i].first >> conference[i].second; } sort(c..
개요 이분탐색의 개념자체는 쉽다. 심지어 stl에 이미 함수가 있어서 직접 구현할 필요조차 없다. 하지만 조금만 꼬아서 내도 문제 난이도가 저세상으로 간다. 그러니 코딩 테스트에서 킬러 문항으로 자주 출제되는 이분탐색 응용 문제 공략에 대해 알아보자! 이분탐색이란? 정렬되어 있는 배열에서 특정 데이터를 찾기 위해 탐색 범위를 절반으로 줄여가며 찾는 탐색 방법 시간 복잡도는 O(logN)이다. C++ STL의 이분탐색 시간 복잡도 STL에 있는 이분탐색 함수도 O(logN)이다. 헤더 파일 에 std::binary_search가 있다. 이분탐색을 하기 위해선 정렬이 필수인데 std::sort 또한 에 있다. binary_search template bool binary_search (ForwardItera..