분류 전체보기 (333) 썸네일형 리스트형 [effective C#] 1장 C# 언어 요소 (아이템 1 ~ 4) C++이나 Java처럼 C#을 사용하면 C#의 고유한 장점을 살릴 수 없을 뿐더러 심각한 문제 상황에 처할 수 있다. 이번 챕터에서는 C#을 C#답게 쓰기 위한 핵심 요소를 살펴볼 것이다. 아이템 1: 지역변수를 선언할 때는 var를 사용하는 것이 낫다 C#언어는 익명타입을 지원하기 위해 타입을 암시적으로 선언할 수 있는 손쉬운 방법을 제공한다. 정확한 반환 타입을 알지 못한 채 올바르지 않은 타입을 명시적으로 지정하게 되면 득보다 실이 많다. → IEnumerable과 이를 상속하는 IQueryable 등 정확히 기술된 타입 자체보다는 타입을 유추할 수 있는 변수의 이름이 더 큰 도움이 된다. var를 사용했는데 더 어지러운 경우 메서드 이름만으로 반환 타입을 짐작하기 어려운 경우가 있는데, 이럴때 v.. [UGUI] Layout Element - Unity Auto Layout 성능이 악랄하다는 Unity Auto Layout을 개조시키기 위해 공부중입니다. 레이아웃의 요소의 최소(minimum), 기본(preferred) 또는 유연한 크기(flexible)를 재정의하려는 경우 'Layout Element' 컴포넌트를 게임오브젝트에 추가하여 이를 수행할 수 있습니다. 레이아웃 컨트롤러는 다음 순서로 레이아웃 요소에 너비 또는 높이를 할당합니다. - 먼저 레이아웃 컨트롤러는 최소 크기 속성(Min Width, Min Height)를 할당합니다. - 사용 가능한 공간이 충분하면 레이아웃 컨트롤러는 선호하는 크기 속성(Preferred Width, Preferred Height)을 할당합니다. - 사용 가능한 추가 공간이 있는 경우 레이아웃 컨트롤러는 유연한 크기 속성(Flexibl.. [UGUI] Unity Auto Layout, 유니티 UI 레이아웃 시스템 성능이 악랄하다는 Unity Auto Layout을 개조시키기 위해 공부중입니다. -> 성능이 악랄한 이유: 레이아웃 요소 변경시마다 자식에 있던 모든 레이아웃 엘리먼트가 부모로 GetComponent를 호출하며 Layoutgroup 컴포넌트를 탐색하며 리빌딩 과정을 진행함 Rect Transform 레이아웃 시스템은 다양한 유형의 레이아웃을 처리할 수 있게 유연하며 요소를 자유롭게 배치할 수도 있습니다. 그러나 때로는 좀 더 구조화된 형태가 필요할 수 있습니다. 자동 레이아웃 시스템은 수평 그룹, 수직 그룹 또는 그리드와 같은 중첩된 레이아웃 그룹에 요소를 배치하는 방법을 제공합니다. 또한 포함된 콘텐츠에 따라 요소의 크기를 자동으로 조정할 수 있습니다. 예를 들어 버튼의 텍스트 내용에 약간의 패딩을 .. [UIToolkit]UXML 템플릿 작성 - 1 UXML 템플릿은 사용자 인터페이스의 논리적 구조를 정의하는 XML 마크업을 사용하여 작성된 텍스트 파일입니다. 다음 코드 예제에서는 사용자에게 선택을 요청하는 간단한 패널을 정의하는 방법을 보여줍니다. 파일의 첫 번째 줄은 XML 선언입니다. 선언은 선택 사항입니다. 선언이 포함된 경우 첫 번째 줄에 있어야 하며 그 앞에 다른 내용이나 공백이 있으면 안됩니다. version속성은 필수 항목입니다. encoding속성은 선택 사항입니다. encoding이 포함된 경우 파일의 문자 인코딩을 선언해야 합니다. 다음 줄은 문서의 루트, 을 정의합니다. 요소에는 네임스페이스 접두사 정의에 대한 속성과 스키마 정의 파일의 위치가 포함됩니다. 이러한 속성은 특별한 순서 없이 지정할 수 있습니다. UI Toolkit.. [UIToolkit]UXML을 사용한 UI 구조 Unity UXML(Extensible Markup Language)파일은 사용자 인터페이스의 구조를 정의하는 텍스트 파일입니다. UXML형식은 HTML, XAML, XML에서 영감을 받았습니다. 이전에 이러한 형식으로 작업한 적이 있다면 UXML과의 유사점을 찾을 수 있습니다. 그러나 UXML 형식에는 Unity를 사용하는 효율적인 방법을 제공하기 위해 약간의 차이점이 있습니다. 이 섹션에서는 Unity가 지원하는 UXML 형식에 대해 설명하고 UXML 템플릿 작성, 로드 및 정의에 대한 세부 정보를 제공합니다. 또한 새 요소를 정의하는 방법과 UQuery를 사용하는 방법에 대한 정보가 포함되어 있습니다. UXML을 사용하면 기술 수준이 낮은 사용자가 Unity 내에서 사용자 인터페이스를 쉽게 구축할 .. [UIToolkit]레이아웃 엔진 UI Toolkit에는 레이아웃 및 스타일 속성을 기반으로 시각적 요소를 배치하는 레이아웃 엔진이 포함되어 있습니다. 레이아웃 엔진은 HTML/CSS 레이아웃 시스템인 Flexbox의 하위 집합을 구현하는 Yoga의 레이아웃 원칙을 사용합니다. Yoga Layout | A cross-platform layout engine Why You May Consider Yoga PERFORMANCE Yoga was built to be fast and performance will always be one of Yoga's primary goals. For a layout engine to be able to power any range of applications, it needs to be fast and n.. [방송대 알고리즘]분할정복 알고리즘 ※ 방송대 교재의 예제를 참고하여 작성하였습니다. 디테일한 내용은 교재를 참고 바랍니다. 분할정복 알고리즘 순환적으로 문제를 푸는 하향식 접근 방법 주어진 문제의 입력을 더 이상 나눌 수 없을 때까지 두 개 이상의 작은 문제로 순환적으로 분할하고, 이렇게 분할된 작은 문제들을 각각 해결한 후 이 해들을 결합해서 원래 문제의 해를 구하는 방식 분할된 작은 문제는 서로 독립적, 순환적 분할 및 결과 통합이 가능 분할된 작은 문제는 원래 문제와 동일 분할정복 방법의 처리 과정 분할: 주어진 문제를 여러 개의 작은 문제로 분할 정복: 작은 문제를 순환적으로 분할, 더 이상 분할되지 않을 정도로 크기가 충분히 작다면 순환호출 없이 작은 문제의 해를 구함 결합: 작은 문제에 대해 정복된 해를 결합하여 원래 문제의 .. [방송대 알고리즘]동적 프로그래밍 ※ 방송대 교재의 예제를 참고하여 작성하였습니다. 디테일한 내용은 교재를 참고 바랍니다. 동적 프로그래밍 상향식 접근 방법으로 소문제를 이용하여 보다 큰 크기의 문제를 해결하는 방법 동적 프로그래밍 방법을 적용하려면 최적성의 원리를 적용해야함 최적성의 원리: 주어진 문제에 대한 최적해는 주어진 문제의 소문제에 대한 최적해로 구성된다. 피보나치 수 동적 프로그래밍을 이용하면 O(n) 연쇄 행렬 곱셈 문제 행렬의 곱셈에 결합법칙이 성립됩을 이용 n개의 행렬을 곱하는 최적의 순서는 n개의 행렬의 어떤 부분집합을 곱하는 최적의 순서를 포함 C(i,j) → i,j 범위 내의 최소의 코스트 크기가 nxm 인 행렬과 mxk인 행렬을 곱하면 필요한 연산 수는 nmk 이다! P(i,j) → 최적의 곱셈 순서를 알기 위한.. 이전 1 ··· 8 9 10 11 12 13 14 ··· 42 다음