본문 바로가기

분류 전체보기

(334)
[방송대 알고리즘]동적 프로그래밍 ※ 방송대 교재의 예제를 참고하여 작성하였습니다. 디테일한 내용은 교재를 참고 바랍니다. 동적 프로그래밍 상향식 접근 방법으로 소문제를 이용하여 보다 큰 크기의 문제를 해결하는 방법 동적 프로그래밍 방법을 적용하려면 최적성의 원리를 적용해야함 최적성의 원리: 주어진 문제에 대한 최적해는 주어진 문제의 소문제에 대한 최적해로 구성된다. 피보나치 수 동적 프로그래밍을 이용하면 O(n) 연쇄 행렬 곱셈 문제 행렬의 곱셈에 결합법칙이 성립됩을 이용 n개의 행렬을 곱하는 최적의 순서는 n개의 행렬의 어떤 부분집합을 곱하는 최적의 순서를 포함 C(i,j) → i,j 범위 내의 최소의 코스트 크기가 nxm 인 행렬과 mxk인 행렬을 곱하면 필요한 연산 수는 nmk 이다! P(i,j) → 최적의 곱셈 순서를 알기 위한..
[신사동] 사이 - 가로수길 이자카야(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가 일어나는 타이밍이나 점유 시간을 ..