전체 글
Programming Subsystems?수명이 관리되는 자동 인스턴싱 클래스이다.특정 기능을 전역적으로 관리하고 유지하는 데 사용되는 매우 유용한 구조라고 볼 수 있다.특히, 게임의 특정 부분에서 반복적으로 사용되는 로직이나 데이터를 관리하는 데 유용하다.유니티에서 싱글톤 패턴을 사용하는 것과 유사한 개념으로 볼 수 있지만, 서브시스템은 좀 더 체계적이고 UE5의 프레임워크와 잘 통합된 방법을 제공해주는 것 같다. 서브 시스템 사용 이유싱글톤과 유사하게 전역적으로 접근이 가능하다.또한 엔진이나 게임 인스턴스의 이프사이클에 맞춰 자동으로 생성되고 소멸되어 수동으로 관리할 필요가 없다.가장 중요한 것은 역시 언리얼 엔진의 다른 시스템과 쉽게 통합될 수 있또록 설계되어 있어서 다양한 엔진 기능과 자연스럽게..
Binaries DerivedDataCache Intermediate Saved .vs .ini .suo .opensdf .sdf .sln .vcxproj .vcxproj.filters .pdb .uproject.user .sln.ide .suo .sdf .opensdf .opendb .sqlite Build .log .DSStore .DS_Store? . .Spotlight-V100 .Trashes ehthumbs.db Thumbs.db .exe .dll .obj .a .lib .so .dylib .pso .db .pdb .ilk .ipch .bak .zip .rar .tmp .gz .iso .7z .dmp .vsconfig .target *.modules *.o *.lo *.la *.al .libs ..
이직준비를 하다보니 코딩테스트를 다시 공부해야 할 때가 왔다는 사실에눈물을 조금 흘렸다. 물론 풀다보면 쉬워지고 원래 사용하고 있던 로직이나 관련된 생각을 매일(?) 하고 있으니 금방 다시 익숙해질 수 있겠으나,다시 공부하려는 마음을 다잡기가 조금 힘들었다. 큰 마음을 먹고 프로그래머스에 다시 들어왔는데. 프로그래머스에 코딩 기초 트레이닝 캘린더라고,차근차근 풀어보세요! 라는 귀여운 캐치 프레이즈가 있었다. 성취감에 눈이 멀어 0단계고, 머쓱이고 뭐고 눈에 안보이는 나는 이거다! 싶은 마음에 Day 1~25 를 따라가고 있다. (물론 한번씩 미래시 문제를 풀어보고 있긴하다) 성취감에도 좋고, 또 까먹었던 간단한 함수들도 다시 복기하게 되어서 좋은듯 아주 추천!
https://school.programmers.co.kr/learn/courses/30/lessons/181943 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요. #include #include using namespace std;string solution(string my_..
https://school.programmers.co.kr/learn/courses/30/lessons/181928 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 알고리즘 문제를 풀기 시작했다.0단계 클리어 칭호를 얻고 싶어서 풀다가 뭐라도 하나 포스팅해야겠다 싶었다. 정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요. #include #include #include using namespace std;int..
배칭(Batching)은 드로우 콜 수를 줄여서 성능을 최적화할 때 사용하는 중요한 기법이지만, 사용 시 몇 가지 고려해야 할 사항들이 있다. ( •︠ˍ•︡ ) 머터리얼 일관성 유지만약 다른 오브젝트들이 다른 머터리얼을 사용하면, 별도의 드로우 콜이 필요하게 되므로 배칭의 이점을 잃는다. 해결 방법가능한 한 동일한 머터리얼을 사용하도록 디자인하고, (너무 당연함)필요할 경우 머터리얼을 통합한다.UStaticMeshComponent* MeshComp1 = CreateDefaultSubobject(TEXT("MeshComp1"));MeshComp1->SetStaticMesh(MyMesh);MeshComp1->SetMaterial(0, MyMaterial);UStaticMeshComponent* MeshC..
OpenGL과 GLFW를 이용해서 간단한 물리 기반의 공 운동 시뮬레이션을 해봤다.공부한 김에 겸사겸사~중력 영향을 받아서 바닥으로 떨어지고 바닥에 닿으면 반동 효과를 적용해 다시 위로 튕겨 오르는 두 개의 공을 화면으로 출력하는 간단한 예제이다. 기본 설정그냥 혹시나 따라하는 사람이 있을까 해서 추가해본 윈도우 초기화 관련 내용이다.윈도우의 크기를 설정하고 GLFW를 이용해 윈도우를 생성한다GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "ball simulation", NULL, NULL);glfwMakeContextCurrent(window); OpenGL의 뷰포트를 설정하고, 투영 행렬을 정의한다.이 예제에서는 2D 투영을 사용해서 -1에서 1까지의 ..
divergence는 발산, 분기라는 뜻을 가진 영어 단어이다. 둘 이상의 당사자 간의 의견, 관심 또는 희망 사항의 차이 또는 공통점에서 벗어나는 과정을 의미한다고 한다. 스레드 발산(thread divergence)은 GPU 내에서 중요한 개념으로, GPU는 많은 수의 쉐이더 코어를 가지고 있고 이 코어들은 병렬로 동시에 많은 데이터를 처리하는 구조로 되어있다. 스레드 발산이 발생하면 이 병렬 처리의 효율성이 크게 떨어지게 되는데.... (;^◇^;)ゝ 스레드 발산(thread divergence) 이란? 스레드 발산은 GPU내에서 실행되는 여러 쉐이더 코어(스레드)가 동일한 시점에 서로 다른 실행 경로를 따라가게 될 때 발생한다. 이는 주로 조건문('if', 'switch' 등) 사용에 의해 발생하..
유닉스 계통(리눅스, 맥 등)에서 거의 준표준으로 사용하고 있는 xz라는 압축 유틸리티에, 원격 접속을 가능하게 하는 백도어 코드가 숨겨져 배포되어 문제가 되고 있다. 이 이슈는 XZ Utils의 5.6.0과 5.6.1 버전에서 발견되었다고 한다. 현재 Homebrew를 통해 설치할 수 있는 xz의 안정적인 버전은 5.4.6이며 macOS 사용자는 brew upgrade xz를 하면 된다. 리눅스 sudo apt-get update sudo apt-get install --only-upgrade xz-utils 만약 5.6.1 이라면? xz 구버전으로 설치하고 캐시를 지운다. brew cleanup xz --prune=0 brew install xz 참고 출처; https://news.hada.io/to..