1. 시작하며 이전글: AWS Cloud Practitioner 취득 후기 AWS Certified Solutions Architect - Associate (SAA) 후기를 남겨둔다. 지금 적어두지 않으면 또 금방 까먹고 다음에 자격증 연장할 때 즈음에는 아무것도 기억하지 못할 거다. 공부 기간 : 약 한 달, 하루 1~3시간 (설렁설렁함) 공부 방법 : Udemy 강의, 덤프 문제 풀기, AWS 공식 문서 찾아보기 2. 시작하게 된 계기 약 4달 전에 AWS의 Cloud Practitioner를 취득했다. 올해 8월 29일 이후로 그 상위 자격증인 SAA가 리뉴얼된다고 하여 기왕 공부 시작한 김에 부랴부랴 땄다. 그리고 AWS는 어디 가나 많이 쓰니까 업무에도 도움이 될 거라고 생각했다. 되도록이면 ..
DBeaver 연결이 자꾸 끊어지는 현상 해결하기 일정 시간 이상 DBeaver를 사용하지 않으면 자동으로 연결이 해제되는 현상이 발생하였다. Keep-Alive 값을 세팅하여 계속 연결이 유지 되도록 한다. 설정 방법 해당 Connection 우클릭 -> Edit Connection Connection settings -> Initialization 선택 Keep-Alive 120 으로 설정 참고 https://github.com/dbeaver/dbeaver/discussions/332
1. 포트 Port 란 TCP나 UDP 에서 어플리케이션이 상호구분을 위해서 사용하는 번호이다. IP 내에서 특정 프로세스 구분을 하기 위해서 사용한다. 즉 각 프로토콜의 데이터가 통하는 논리적 통로이다. netstat -an 명령어를 통해 확인 가능하다. netstat: network statistics, 전송 제어 프로토콜, 라우팅 테이블, 네트워크 인터페이스, 네트워크 프로토콜 통계를 위한 네트워크 연결을 보여주는 명령 도구 -a: 수신 중인 모든 TCP 및 UDP 포트를 표시 -n: 주소나 포트 형식을 숫자로 표시 2. 주요 네트워크 포트 목록 주요 기본 Port Port Number Usage 20 FTP (File Transfer Protocol) Data Transfer 21 FTP (Fil..
시작하며 에디터 모드(PIE)에서는 정상적으로 동작되었지만 릴리즈 모드 에서는 아이콘이 적용되지 않는 이슈가 발생하였다. 따라서 해당 이슈 분석 결과를 기록하고자 한다. 에디터모드 vs 릴리즈모드에 따른 SoftObjectPtr의 IsValid 함수 사용 이슈 TSoftObjectPtr를 이용하여 애셋을 참조하는 경우 다음과 같이 조건 처리하였다. TSoftObjectPtr WeaponIcon = GetWeaponIcon(WeaponType); if( WeaponIcon.IsValid()) { FString IconPath = WeaponIcon.ToString(); //IconPath로 아이콘 리소스 교체 중략 } 위 코드 결과 TSoftObjectPtr의 IsValid 함수 사용 시 모드에 따라 결과..
1. IP 주소란 IP 주소란 컴퓨터 네트워크에서 장치들이 서로 통신을 하기 위해서 사용하는 특수한 번호이다. IPv4, IPv6 두 가지 종류가 있다. ex) IPv4: 93.184.216.34 ex) IPv6: 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 IPv4 는 오늘 날 일반적으로 주로 사용한다. IPv4: [0-255].[0-255].[0-255].[0-255] IPv6 는 IPv4의 32 bit 로는 주소를 부여하기에 부족하기 때문에 생겨났다. 128 bit 체계이다. 2. Public IP 란 외부에 공개 되어 있기 때문에 다른 컴퓨터에서 인터넷(WWW)으로 접속 가능하다. 전체 인터넷 상에서 유일한 값이다. 지리적 위치를 찾을 수 있다. 예를 들면 핸드폰 번호와..
기즈모란? 에디터에서 레벨에 배치된 액터를 선택하면 선택한 액터 중심에 기즈모(Gizmo)가 출력된다. 해당 기즈모를 통해 위치, 크기, 회전 등을 조절할 수 있다. 엔진 코드 문득 어떻게 기즈모의 코드가 궁금하여 검색을 해보았는데 Gizmo를 검색어로 아무리 찾아보아도 찾을 수 없었다. GizmoComponent가 있었으나 해당 코드는 아니였다. 결론부터 말하자면 레벨 에디터의 선택 오브젝트에 대한 기즈모 코드는 "UnrealWidget.h" 파일의 FWidget 클래스로 구현되어 있었다. 왜 클래스 명이 FWidget인지는 모르겠지만 한동안 찾아 헤매었는데 까먹지 않기 위해 기록해 놓자. 렌더 관련 레벨 에디터에서 기즈모가 렌더되는 코드부분이 궁금하여 찾아보았다. "UnrealWidgetRender...
1. 언제 사용할까? 최근에 듀얼 모니터를 처분하고 34인치 모니터 1대로 통일하였다. 이 때 Microsoft PowerToys를 사용하면 유저의 용도에 맞게 윈도우 창을 커스텀하여 분할할 수 있다. PowerToys는 윈도우 화면 분할, 컬러 피커 등의 유용한 유틸리티를 지원한다. 나는 여러 지원 기능 중 FancyZones으로 화면 분할 기능만을 사용한다. 2. 설치 https://docs.microsoft.com/ko-kr/windows/powertoys/install GitHub를 통해 Windows 실행 파일로 설치 바로가기 3. 기능 https://docs.microsoft.com/ko-kr/windows/powertoys/ 공식 문서를 통해 소개하는 주요 기능은 다음과 같다. Always ..
시작하며 에디터에서 액터, 캐릭터 등을 설정할 때 입력한 데이터가 유효한지 확인이 필요할 때가 있다. 이럴 때 데이터 유효성 검사 기능을 통하여 확인 할 수 있다. 기능 활성화 데이터 유효성 검사 기능은 기본적으로 활성화 되어있으며 편집(Edit) > 플러그인(Plugins)를 선택하고 플러그인 메뉴에서 Data Validation 이 활성화 되어있는지 확인한다. 사용자 정의 데이터 유효성 검사 UObject에는 IsDataValid 가상함수가 정의되어있다. 해당 함수를 오버라이드 하여 원하는 데이터 유효성 조건을 처리할 수 있다. //.h #if WITH_EDITOR virtual EDataValidationResult IsDataValid(TArray& ValidationErrors) override..
1. 시작하며 업무 도중 UTF-8 BOM 이슈가 있어 문자열 인코딩 에 이어 BOM 에 대해 공부하고자 한다. 2. 바이트 순서 표시 (BOM) 이란 바이트 순서 표시(Byte Order Mark, BOM)는 유니코드 문자 U+FEFF로, 매직 넘버로서 문서의 가장 앞에 추가하여 텍스트를 읽는 프로그램에 여러 정보를 전달할 수 있다. UTF-16, UTF-32 의 경우 BOM을 사용한다. BOM을 반드시 사용할 필요는 없으며, 사용할 경우 문서의 가장 앞에 등장해야 한다. 일반 에디터에서는 보이지 않고 헥사 에디터를 사용해야 보인다. 3. BOM 사용법 BOM은 문자열 가장 맨 앞 2바이트에 0xFEFF(유니코드로 U+FEFF)로 표기하여 사용한다. 0xFE와 0xFF 중 어떤 문자가 먼저 오는지에 따..
1. 시작하며 회사에서 일하다가 급작스럽게 UTF-8 BOM 이슈를 맞닥뜨리게 되어 문자열 인코딩에 대해 공부하고자 한다. 아래 내용은 학교에서 알려주지 않는 17가지 실무 개발 기술 1장을 내용을 요약한 것이다. 2. 문자열 인코딩(character encoding)이란 문자열 인코딩이란 컴퓨터가 문자를 이해할 수 있도록 일정한 규칙에 따라 2진수로 변환하는 방식이다. ex) 이 때의 규칙이란 ASCII, UTF-8, UTF-16, UTF-32 등이다. 문자 집합(charset)이란 사용할 수 있는 문자들의 집합이다. ex) 유니코드, ISO-8859, ASCII 엄격하게 구분하면 문자열 인코딩은 문자를 코드로 표한하는 방식이고 문자 집합은 사용할 수 있는 문자 집합이다. 그러나 흔히 문자 집합과 문자..
시작하며 언리얼 엔진에서는 블루프린트에서도 integer 변수를 비트마스크로 선언하는 기능을 지원한다. 최적화를 위해 사용했던 바이너리 플래그를 블루프린트에서도 편하게 사용할 수 있다. Enum 정의 블루프린트 타입을 사용하기 위해 BlueprintType 지정자를 입력하고, 추가적으로 메타데이터 지정자에 Bitflags를 입력하여 비트플래그 Enum 이 되도록 한다. 블루프린트에서 Integer 타입을 비트마스크 열거형으로 사용하고자 한다면 UseEnumValuesAsMaskValuesInEditor를 true로 입력한다. 한가지 팁을 더 말하자면 에디터에서 열거자 표시시 첫값과 마지막 값은 표시가 되지 않기때문에 정의에서 첫값과 마지막값을 정의하여 모든 열거자가 노출될 수 있도록 한다. UENUM(B..