어트리뷰트
[데이터베이스] 용어 정리 - 릴레이션, 어트리뷰트, 튜플, 도메인, 차수, 카디널리티, 스키마
릴레이션관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위이다. 결국, 릴레이션은 DB 테이블이다. 흔히 개발을 할 때 DB 설계를 하게 되는데 ERD (Entity Relationship Diagram) 아래와 같이 구성한다. 그래서 이 네모칸 하나하나가 결국 릴레이션이다.특징한 릴레이션에는 똑같은 튜플 (Tuple)이 포함될 수 없으므로 릴레이션에 포함된 튜플들은 모두 상이하다.한 릴레이션에 포함된 튜플 사이에는 순서가 없다.튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변한다.릴레이션 스키마를 구성하는 속성들 간의 순서는 중요하지 않다.속성의 유일한 식별을 위해 속성의 명칭은 유일해야 하지만, 속성을 구성하는 값은 동일한 값이 있을 수 있다.릴레이션을 구성하는 튜플을 유일하..
[Unity] Range 어트리뷰트를 단위로 설정할 수 있는 방법
아래는 어트리뷰트를 그려줄 클래스 using UnityEngine; using UnityEditor; using System; [CustomPropertyDrawer(typeof(RangeExAttribute))] internal sealed class RangeExDrawer : PropertyDrawer { private int value; /** * Return exact precision of reel decimal * ex : * 0.01 = 2 digits * 0.02001 = 5 digits * 0.02000 = 2 digits */ private int Precision(float value) { int _precision; if (value == .0f) return 0; _precisi..
[Unity] / [SerializeField] [HideInInspector] [Serializable] 어트리뷰트 인스펙터 공개/비공개
public 사용시 인스펙터에 오픈시켜 값을 수정 할 수 있으며 타 클래스에서도 접근이 가능하다. 유니티는 public만 직렬화 해주는데 private 또는 protected 필드를 명시적으로 직렬화 해줌으로서 인스펙터에 오픈 시켜준다. 단, 유니티의 공식 가이드에서는 이것을 "특별한 경우가 아니면 사용하지 않는다."라며, "public"을 추천하고 있다. 반대로, 변수의 접근 제한자가 "public"으로 지정되어 있지만, 유니티 에디터의 Inspector에서 노출되는 것을 막기 위해서는 "[HideInInspector]" 키워드를 사용한다. (참고로, HideInInspector 키워드는 키워드 아래에 있는 모든 변수를 노출하지 않지만, SerializeField 키워드는 키워드 바로 다음에 있는 변수..
C# 리플렉션과 어트리뷰트 (Reflection and Attributes)
리플렉션 C#에서는 프로그램 실행 도중에 객체의 정보를 조사하거나, 다른 모듈에 선언된 인스턴스를 생성하거나, 기존 개체에서 형식을 가져오고 해당하는 메소드를 호출, 또는 해당 필드와 속성에 접근할 수 있는 기능이다. 형식 메소드 설명 Type GetType() 지정된 형식의 Type 개체를 가져온다. MemberInfo[] GetMembers() 해당 형식의 멤버 목록을 가져온다. MethodInfo[] GetMethods() 해당 형식의 메소드 목록을 가져온다. FieldInfo[] GetFields() 해당 형식의 필드 목록을 가져온다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using..