전체 글 40

DB - 1. Intro

What is Database System?데이터베이스기업의 고객 정보나, 학교의 학생 정보처럼, 특정 기관은 자신이 필요한 정보를 저장해둔다. 이러한 정보를 데이터라고 한다.데이터베이스는 데이터의 모임이다. 정보는 텍스트, 숫자, 이미지 등 다양한 형식이며, 데이터베이스를 통해 이를 체계적으로 저장하고, 읽기, 쓰기, 수정 등이 가능하다.| student_id | student_name | student_age | student_dept ||------------|----------------|-------------|-------------------|| 1 | John Doe | 20 | Computer Science || 2 ..

DB - 0. Index

1. Intro2. Relational Model3. SQL4. Database Design Using the E-R Model5. Normalization6. Data Indexing7. Transaction기업의 고객 정보나, 학교의 학생 정보처럼, 특정 기관은 자신이 필요한 정보를 저장해둔다. 이러한 정보를 데이터라고 한다.데이터베이스는 데이터의 모임이다. 정보는 텍스트, 숫자, 이미지 등 다양한 형식이며, 데이터베이스를 통해 이를 체계적으로 저장하고, 읽기, 쓰기, 수정 등이 가능하다.보통은 표의 형식으로 데이터를 보여줄 수 있다.포스트에서 예시로 사용할 데이터베이스는 가상의 대학교 학사정보 데이터베이스를 사용할 것이다.학생, 교수, 학과 등의 정보를 가지고 있는 데이터베이스로, 예시이기 때문에 ..

UObject에 대해 알아보자

언리얼 엔진에서 C++ 클래스를 생성할 때, 기본이 되는 클래스를 선택할 수 있다. 새로 생성한 클래스는 선택한 클래스를 상속받는다.모든 클래스에서 언리얼 엔진의 모든 클래스의 부모 클래스인 UObject 클래스를 찾을 수 있다.여기서 든 의문점은 "클래스를 만들면 UObject를 상속받아야 하는가?"였다.일단 Object.h에서 UObject를 찾아보았다./*============================================================================= Object.h: Direct base class for all UE objects====================================================================..

Log 4 - 언리얼 버전을 올려보자

언리얼 5.4가 출시되었다.이번 패치에선 애니메이션을 더 편하게 작업할 수 있는 많은 기능이 추가되었다.기존 5.1 프로젝트를 5.4 프로젝트로 올리는 마이그레이션을 해보자.※ 4.X에서 5.X로 올리는 작업은 추가 작업이 필요하다.언리얼 엔진 5 마이그레이션 가이드 | Epic Developer Community (epicgames.com) 언리얼 엔진 5 마이그레이션 가이드언리얼 엔진 4 프로젝트를 언리얼 엔진 5로 이주하는 방법 및 요구사항입니다.dev.epicgames.com아직 5.4에서 지원되지 않는 플러그인이 있으면 에러가 나니 플러그인을 끄고 마이그레이션을 진행해야 한다.먼저 언리얼 5.4를 다운받는다.5.4를 실행해 변환할 프로젝트를 선택한다.이런 경고 메시지가 뜨는데, 안전한 작업을 위..

Log 3 - 언리얼 협업은 어떻게 해야 할까 III

결국 1안은 해외 서버의 한계로 폐지됐다. 2안으로 넘어가자. 2안 고정된 에셋은 Google Drive에, 코드, 블루프린트, 기타 생성물은 Github를 통해 공유한다. 여기서 고정된 에셋은 어떤 것이 있을까? Source : 항상 바뀌고, 계속 추가된다. Content map : 자주 바뀐다. Skeletal Mesh : 캐릭터 스켈레탈 메시는 소켓을 추가하는 등의 작업에서 변경된다. Static Mesh : 수정할 일이 없......을걸요? Rig : 양이 적지만 직접 생성하는 경우가 많고 수정할 일은 적을 것 같다. Material : 거의 수정할 일이 없다. Texture : 수정할 일이 없다. Animation : 가끔 수정할 것 같다. Sound : 수정할 일이 없다. 그러면 Static ..

Log 2 - 언리얼 협업은 어떻게 해야 할까 II

이번에는 서버에 Perforce를 설치해 사용해보자. Git이 언리얼 에셋을 효율적으로 다루지 못하는 거라면 속도가 빨라질 것이다. 설치 Download Software | Perforce Perforce는 사용자가 쓰는 Helix Client(P4V)와 서버에서 돌아가는 Helix Core Server(P4D), 관리자용 프로그램인 Helix Admin(P4Admin)이 있다. 서버에서 Helix Core Server 프로그램이 돌아가면 Helix Client로 개발자 컴퓨터로 서버에 접속해 작업할 수 있다. P4V 설치 일단 Vultr에 사용자 perforce를 만든다. > useradd perforce Vultr 서버에 P4D를 설치해보자. 윈도우로 다운로드 사이트에 들어간다. Vultr의 운영체제..

Log 1 - 언리얼 협업은 어떻게 해야 할까 I

Unity 프로젝트는 2D 픽셀 아트 기반이어서 용량이 그렇게 크지 않았다. 그러나 이번 프로젝트는 Paragon 에셋 하나만 2기가가 넘는 경우도 많다. 옛날에 언리얼 프로젝트를 Github에 올리다가 8시간 동안 컴퓨터를 켜놓고 에러 메시지를 본 경험이 있기 때문에 이번에는 다른 방법을 찾아보기로 했다. 문제 상황 Github를 통해 협업하려 하니 용량이 너무 커서 레포지토리 제한을 넘어간다. 에셋 하나하나도 커서 푸시하는 데 너무 오래 걸린다. 떠오른 방법은 세 가지 정도이다. 1안 Aws같은 Host 서버를 사서 그걸로 Git이나 Perforce 같은 것을 돌린다. 장점 프로젝트 용량이 Github 보다 커져도져도 괜찮다. 현업도 이렇게 할걸요…? 자체 서버로단점 돈이 나간다. (환율이 오르고 있..

OS - 8. File System

RAM은 크기가 제한되고, 컴퓨터가 꺼지면 데이터가 사라진다.그러나 컴퓨터가 꺼져도 유지되고, 크기가 큰 데이터를 저장하면서, 여러 프로세스의 동시 접근 같은 CPU와 RAM의 작동을 감당할 수 있는 저장 방법이 필요하다.운영체제는 이런 데이터를 파일이라는 단위로 Secondary Storage에 저장해 관리한다.File파일은 연관된 정보의 묶음을 Secondary Storage에 기록한 것이다.사용자의 입장에서 파일은 Secondary Storage에서 가장 작은 할당 단위로, 파일에 데이터를 작성하는 방법 말고 Secondary Storage에 데이터를 기록할 수 없다.File Name & Extension우리가 파일 탐색기에서 흔히 보는 파일명은 이름 + 확장자의 구조이다.Lostark...

OS - 7. Virtual Memory

프로그램을 실행하면 프로그램 전체가 메모리에 로드되지만, 프로그램 전체가 사용되는 일은 드물고, 사용되더라도 동시에 필요한 경우는 더욱 없다. 이렇게 메모리에 일부만 있는 상태로도 프로그램을 구동할 수 있다는 점을 이용해 Virtual Memory를 구현할 수 있다. Virtual Memory란? 이전 단원에서 메모리 관리를 효율적으로 하기 위해 CPU는 Logical(Virtual) Memory Address라는 가상의 메모리 주소를 사용하고, 이 주소를 실제 RAM의 주소인 Physical Memory에 매핑시켜 사용한다고 했다. 프로그램의 일부만 Physical Memory에 로드되어도 구동할 수 있다면, Virtual Memory가 Physical Memory의 크기와 같을 필요가 없다. Virt..

반응형