본문 바로가기

볼봇의 생활

(52)
CentOS 8 java 최신 버전 설치 (java-16) CentOS 에서 자바를 설치하려고 시도하면, openjdk 1.8 로 설치된다. 하지만 이 버전은 너무 오래되어 별로 권장하지는 않는다. 따라서 CentOS 에서 최신 버전의 자바를 설치하는 방법에 대해 알아본다. dnf install epel-release 우선 epel 리포지토리를 설치한다. 대부분 서버에 설치되어 있을것이다. dnf list java*jdk-devel 현재 설치 가능한 JDK 들을 살펴본다. 1.8, 11, latest (현 시점에서 16) 이 설치 가능하다. 원하는 버전을 설치하면 된다. 필자는 latest 버전을 설치하기로 했다. dnf install java-latest-openjdk-devel.x86_64 자바 버전을 확인한다. java -version 끝.
Certbot 으로 웹 사이트에 https 적용하기 홈페이지를 만들때, API 서버 하나를 만들때도 https 적용은 이제 필수가 되었다. 최근에는 안드로이드에서 https 적용이 되지 않은 어플리케이션은 API 호출이 안되게 막거나, 상위 노출을 제한하는 등의 패널티를 주기도 한다. 하지만 개인이 수십~수백만원 하는 https 인증서를 단 하나의 토이 프로젝트를 위해 구입하는거는 경제적으로 무리가 있다. 따라서, Let's Encrypt 와 같은 무료 https 인증서 발급 사이트가 있는것이다. Certbot 설치하기 몇몇 블로그들을 참고해보면 epel-release 리포에서 cerbot 을 설치하는 경우가 있는데, 이렇게 하면 잘 안된다. 공식 웹 사이트에서 설명하는대로 설치해야만 편리하게 인증서를 발급&갱신 할 수 있다. Certbot (eff.or..
MariaDB 외부 접속 허용하기 보안이 생명인 데이터베이스는 외부에서 접속하는걸 쉽게 허락하지 않는다. SSH 나 Telnet, FTP 등은 목표 서버 IP, User, Password 로 접속 할 수 있지만 (설정에 따라 다르게 할 수 있다.) 데이터베이스에 접속 할 때는 'IP 화이트리스트'를 추가로 적용한다. 즉, user/password 검증 뿐 아니라 접속자의 IP 주소까지 따진다는 의미. 예를 들어 192.168.111.131 컴퓨터에서 192.168.111.100 데이터베이스 서버에 myadmin 라는 계정으로 데이터베이스에 접속하려면? 192.168.111.100 데이터베이스 서버에 myadmin@192.168.111.131 라는 유저가 있어야 한다. 개념은 이정도로 해두고 직접 해본다. MariaDB-client 설치하..
Centos 8 에 MariaDB 설치하기 wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup mariadb repo 설치 도구를 다운로드 받는다. chmod 777 mariadb_repo_setup 다운로드 받은 설치 파일을 실행 가능하게 한다. ./mariadb_repo_setup 설치 스크립트를 실행 yum.repo.d 에 mariadb.repo 파일을 생성했다. 필요에 따라 리포 파일을 직접 작성해도 되지만 저 방법이 훨씬 편하다고 생각한다. dnf install MariaDB-server MariaDB-client MariaDB-common 설치를 시작한다. y 를 누르기 전에 자신이 원하는 버전이 맞는지 확인한다. 설치를 마쳤다. systemctl restart mariadb ..
[UE4] UE_LOG 로 Logging 하기 게임 개발에서 로그를 남기는 과정은 매우 중요하다. 단순히 값을 확인 하는 차원을 넘어서 특정 값을 디스크에 저장하여 이후에 문제가 발생했을때 이 로그를 참고하여 조사 할 수 있다. 언리얼 엔진은 기본적으로 Logger 를 가지고 있다. 가장 간단한 방법 UE_LOG(LogTemp, [Verbosity], [Message]); 카테고리, 수준, 내용 순서로 값을 입력하면 된다. 간단히 값을 출력해보는 경우에는 기본적으로 정의된 LogTemp 라는 카테고리를 사용하면 편하다. 새 카테고리를 지정해서 사용 언리얼 엔진의 로그 필터를 사용하려면 LogTemp 로는 한계가 있다. 따라서 카테고리를 직접 지정해줄 필요도 생긴다. 언리얼 엔진은 카테고리 생성을 위해서 두가지 메크로를 지원한다. 모듈의 헤더 파일([..
.uproject 파일이 연결되지 않는 경우. 언리얼 엔진을 처음 설치 하면, .uproject 파일 (언리얼엔진 프로젝트 파일)이 열리지 않을것이다. 이런 경우에, 대게 EpicGamesLauncher 를 다시 시작해주면 아래와 같은 다이얼로그가 뜨면서 .uproject 파일을 연결 할 수 있는데. 문제는 종종이 다이얼로그가 뜨지 않는다는 것 이다. C:\Program Files (x86)\Epic Games\Launcher\Engine\Binaries\Win64 이때 해결책은 간단하다. 애픽게임즈 런처를 설치한 경로로 이동한다. 아래로 쭉 내려가다보면 UnrealVersionSelector.exe 가 있다. 이 파일을 복사한다. [PATH_TO_ENGINE]\Engine\Binaries\Win64 위 경로에 해당 파일을 붙여넣고, 실행한다. '예..
UE4 MediaPlayer 에서 Seek 사용하기 인 게임에서 미디어를 재생하다가 중간에 특정한 위치로 이동해야할 필요가 있다. 이때 유튜브에서 쉽게 볼 수 있는 플레이 바를 이리저리 움직이는 기능을 구현하고 싶을텐데, 언리얼 엔진에서는 Seek 라는 함수를 통해 이 기능을 제공 한다. UMediaPlayer::Seek | Unreal Engine Documentation UMediaPlayer::Seek Seeks to the specified playback time. docs.unrealengine.com 오늘은 UMediaPlayer::Seek 함수를 사용하는 방법에 대해 간단히 알아보겠다. Media 열기 우선 간단히 오디오 파일을 열 수 있도록 구현해보겠다. void AMusicSelectPawn::BeginPlay() { MediaPlaye..
UE4 UMG 웹 이미지 띄우기 게임 내 화면은 거의 대부분 이미지 (Texture) 로 이루어진다. 하지만 특정 조건에서만 필요한 이미지를 패키징 할 때 모두 넣어버리면 이는 공간 낭비일 수 밖에 없다. 그렇다고 분할 패키징을 하기에는 번거롭고 귀찮은건 사실이다. 따라서, 이번 튜토리얼에서는 웹에서 이미지를 다운로드 받아서 UMG UI 환경에서 띄우는 방법을 알아보겠다. 또한 이 튜토리얼을 응용하면 UPaperSprite2D 등의 스폰 가능한 형태로 변환하여 UI 환경을 벗어나 더 다양하게 응용 할 수 있을거라고 기대한다. UImage 를 상속받는 클래스 만들기 클래스 만들기 앞서서 C++ 만 아래 작업이 가능한 사실을 알린다. http 모듈을 사용해야하는데, 이는 C++ 에서만 사용 가능하기 때문이다. UImage 를 상속받는 클래..