본문 바로가기

분류 전체보기

(333)
[신사동] 사이 - 가로수길 이자카야(21.10.27) 작년 10월에 친구 추천으로 방문한 이자카야입니다. 이 곳을 방문한 이후로 서울에 있는 맛집을 탐방하고 기록을 남겨야지 생각을 하게 되었습니다. 그런 다짐을 한지 5개월이 지난 지금.. 드디어 글을 적어내려가기 시작하고 있습니다.. 나의 게으름이란.. 그동안 다른 맛집들도 찾아다녀서 다른 식당을 먼저 쓸까 하다가 맛집탐방에 눈을 뜨게 해준 곳으로 스타트를 끊어보도록 하겠습니당! 이쁜 기본 그릇과 찌깨다시입니다! 찌깨다시로는 치즈 토마토 샐러드와 가쓰오부시 단무지가 나오는데.. 사진만 봐도 맛이 떠오를 정도로 강력한 스타트였습니다.. 진짜 맛집은 기본메뉴부터 다르구나.. 특히 저 단무지는 집에 가져가서 밥비벼먹고 싶은 맛이였습니다. 술 잘 모릅니다. 사케는 더 모릅니다. 그냥 추천하는걸로 주세요~ 하고 하..
[UIToolkit]Visual Tree ※반복되는 단어는 줄여서 표현하겠습니다! 줄여서 표현할 단어 뒤에 괄호로 어떻게 표현할지 표시한 후, 그 다음부터는 해당 단어를 줄여서 표현하고 있습니다. UI툴킷의 가장 기본적인 구성 요소는 visual element입니다. visual element는 부모-자식 관계를 가진 계층 구조의 트리로 정렬됩니다. 위 다이어그램은 계층 트리의 단순화된 예와 UI Toolkit의 렌더링된 결과를 표시합니다. Visual Element(VE) VisualElement클래스는 Visual Tree에서 모든 노드에 대한 base입니다. Visual Tree에서의 모든 노드는 VE를 기반으로 설계되었습니다. VE기본 클래스에는 스타일, 레이아웃, 데이터 및 이벤트 핸들러와 같은 모든 컨트롤에 대한 공통 속성이 포함되어..
[UIToolkit]UI Toolkit 개요 (사진 출처: 유나이트 서울 2020 - UI 통합 솔루션 UI Toolkit 살펴보기) UI Toolkit은 기존의 UI 시스템의 단점을 보완하기 위해 제작된 UI 시스템으로 레이아웃(UXML), 스타일(USS), 로직(C#)을 분리하여 UI를 설계할 수 있는 시스템입니다. 주로 기존의 IMGUI를 대체하기 위해 사용하는 것 같습니다. 기존 유니티의 UI 시스템보다는 웹 프론트 개발과 가까운 방식으로 설계되어 있습니다. UI Toolkit은 에디터 확장과 런타임을 모두 지원하고 있으며, 필요할 때에만 업데이트 되기 때문에 성능적으로도 유리함을 가지고 있습니다. 기존 IMGUI와의 호환성을 고려하여 'IMGUIContainer'를 이용해 IMGUI에서 사용하던 요소들을 UI Toolkit에서도 사용할 수..
컴퓨터 그래픽스의 기본 요소 - 점, 선, 원뿔곡선, 다각형 컴퓨터 그래픽스의 기본 요소 DDA 알고리즘 - Digital Differential Analyzer - |m|에 따라 기준 축을 정한 후, 기준 축의 좌표가 1만큼 변화할 때 나머지 축 좌표의 변화를 구하여 다음 점의 좌표를 계산 - |m| 1인 경우: y축 좌표를 1씩 변화시킬 때, x축 좌표를 1/m만큼 변화시켜 다음 점의 좌표를 계산(기울기가 완만한 경우) - 계산된 좌표를 반올림하여 구한 정수 좌표 위치에 점을 그림 ​ |Xend - X0| >= |Yend - y0| - 완만한 경우, x의 이동을 기준 - Xk+1 = Xl + 1, Yk+1 = Yk + m ​ |Xend - x0| < |Yend - Y0| - 가파른 경우, y의 이동을 기준 - Yk+1 = Yl + 1, Xk+1 = Xk + 1..
인프런 언리얼 엔진4 입문 (C++ 기반) 완강 인프런 Rookiss님의 강의를 보고 따라 작업한 영상입니다. 언리얼의 큰 작업 방식을 빠르게 익힐 수 있었습니다. 아트리소스 몇개 추가하고 애니메이션이나 AI 디테일 더 살려주고 저만의 아이디어를 추가하면 좋은 프로젝트로 발전시킬 수 있을듯 합니다. ​ (아직 연재중인 엔진분석강의는 진행하지 않았습니다. 해당 부분 듣게된다면 따로 글을 올리도록 하겠습니다) ​ 언리얼 엔진4 입문 (C++ 기반) - 인프런 | 강의 언리얼 엔진을 아예 처음 사용하는 분들을 대상으로, UE5로 넘어가기 위해 알고 가면 좋은 UE4 기초를 다룹니다., - 강의 소개 | 인프런... www.inflearn.com
[기술면접]C# 델리게이트와 이벤트 델리게이트와 이벤트 Delegate 메소드에 대한 참조, 변수가 아닌 메소드 자체를 넘기고 싶을 때 델리게이트를 사용한다. 델리게이트 체인 델리게이트에 메소드를 등록할 떄 += 연산자 또는 Delegate.Combine()메소드를 이용하여 델리게이트 실행시 실행될 메소드를 등록할 수 있다. 이 때 여러개의 메소드를 동시에 참조할 수 있는데 이를 델리게이트 체인이라고 한다. 델리게이트 체인은 참조된 순서대로 함수들을 호출하며, -= 연산자 또는 Delegate.Remove()메소드를 이용하여 체인을 끊을 수 있다. 익명 메소드 델리게이트로 참조할 메소드가 다시 사용할 일이 없다고 판단되면 익명 메소드를 통해 메소드를 연결시켜주는것이 효율적일 수 있다. 익명 메소드는 아래와 같은 형식으로 선언할 수 있다. ..
[기술면접]C# 가비지콜렉션(GC) Garbage Collection 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능. 할당된 힙 안의 객체들의 크기가 임계치를 넘어가는 순간 GC(Garbage Collection)을 수행하여 힙 메모리를 관리함. GC가 수행되는 순간 현재 수행중인 Thread들을 모두 중단시키고 GC Thread를 활성화한다. GC Thread는 힙 상에서 사용 중인 객체 참조 그래프를 생성하고 사용 중인 객체의 위치를 재조정함으로써 사용하지 않는 객체들을 모두 힙 상에서 제거한다. 장점 유효하지 않은 포인터 접근 방지 포인터 이중 해제 방지 메모리 누수 방지 단점 어떤 메모리를 해제할 지 결정하는 데 비용이 든다 GC가 일어나는 타이밍이나 점유 시간을 ..
[기술면접]메모리 관리 전략 메모리 관리 전략 프로세스는 독립된 메모리 공간을 갖고 있고, 운영체제 혹은 다른 프로세스의 메모리 공간에 접근할 수 없는 제약이 걸려 있다. 오로지 운영체제 만이 운영체제 메모리 영역과 사용자 메모리 영역의 접근에 제약을 받지 않는다. Swapping: 메모리의 관리를 위해 사용되는 기법. 표준 Swapping 방식으로는 round-robin과 같은 스케줄링의 다중 프로그래밍 환경에서 CPU 할당 시간이 끝난 프로세스의 메모리를 보조 기억장치(하드디스크)로 내보내고 다른 프로세스의 메모리를 불러 들일 수 있다. swap에는 큰 디스크 전송시간이 필요하기 때문에 현재에는 메모리 공간이 부족할때 Swapping이 시작된다. 단편화(Fragmentation) 프로세스들이 메모리에 적재되고 제거되는 일이 반복..