컴퓨터

    | 니앙팽이 - DB | 2 | DB 정규화 Normalization

    DB 정규화 1. 데이터 베이스 이상현상 1. 이상 종류 # D.비이상 삽살개 🤣 ① 삽입 이상 데이터 삽입, 의도, 다른 값 삽입 ② 삭제 이상 데이터 삭제, 의도, 연쇄 삭제 ③ 갱신 이상 CoFiAtt값 갱신시 일부 행튜레만 갱신되 모순 발생 2. 테이블(테이블(릴레이션))의 스키마 설계가 잘못되면 생기는 일.. ① 중복된 데이터의 문제 저장 공간 낭비 실수로 인한 데이터 불일치 가능성 존재 따라서 가능하면 데이터 중복을 없도록 하는게 좋다. ② 빈번한 NULL값 사용 가능하면 NULL을 최대한 적게 사용하도록 하자. ③ 가짜 튜플 (Spurious Tuple) 조인 수행시 다른결과가 나오는 현상이 나면.. 올바르게 나오토록 설계한다. -쉬운코드- : DB 테이블(테이블(릴레이션)) 설계 잘못하면 ..

    | 니앙팽이 - 이벤트(C#) | 5 | UnityEvent

    💡 5 UnityEvent유니티에서 이벤트를 사용해보자.다른 코드에 있는 함수를 가져오고 싶다.GameObject.Find(string ).Sendmessage(string ); 이거 대신 사용하고 싶다. 근데 문자열 하나 틀리면 디버깅해서 찾기도 어려울것이다..그냥 GameObject캐싱 하고 TryGetComponenet()쓰고 사용하죠 뭐.. 근데 이거 계속 쓰다보니 무수한 GetCom.. 가독성이 안좋다 생각이 들때.아니 하나 바꿨다고 다~~ 바꿔야 하는거야?? 커플링이 심각할때함수 실행에도 순서, 우열이 있다는것을 보장받고 싶을때.즉 순차적으로 실행되는것이 보장받고 싶을떄.뭐뭐 했을때~~~ 이거저거 실행하고 싶다!다음과 같은 생각이 스쳐 지나간다면 이벤트를 사용하는것을 추천한다!📄 1. 사전 지..

    | 니앙팽이 - 이벤트(C#) | 4 | Eventhandler & Event & EventArgs

    💡 4 Event 소개이벤트를 발생시키면 그 이벤트에대해 반응한다.📄1. 용어정리Publisher(Sender, raise) : 이벤트를 정의하고 일으키는 주체인 클래스다.Subscriber(receiver, eventhandler) : 이벤트 발생시 작동하는 동작Client : Publisher, Subscriber 둘다 아니지만, 이 두개를 연결(구독)시키는 "코드.cs"📄 2. Eventhandler & Event & EventArgs1). Eventhandler#Subscriber #Method #이벤트 직후 반응하는 함수일단 함수다.① 형태, 구성요소public void HandlerFunction(object sender, EventArgs e){ /*...*/ } 이벤트 핸들러라면 다음과 같..

    | 니앙팽이 - 이벤트(C#) | 3 | 델리게이트 액션 (Action)

    💡 3. Event Action & Func📄 1. Action 대리자리턴값이없는 프로스저를 캡슐화 하는대리자를 정의한다.즉, 리턴값이 없는 함수를 대리자 사용하고 싶으면? Action Type을 사용하면 된다.1). Action 대리자 종류① Action 대리자는 다음 종류가 있다.리턴도, 매개변수도 없는 대리자Action _DelegateInstance_매개변수 하나정도 있는 대리자Action _DelegateInstance_매개변수 N개 있는 대리자Action _DelegateInstance_ 📄2. Action1). Action 사용 안했을때,public delegate void Del(); public static HelloWolrd() { Console.WriteLine("Hello World..

    | 니앙팽이 - 이벤트(C#) | 2 | 델리게이트(Delegate)

    💡 2. Event 델리게이트📄 1. 델리게이트란?대리자는 함수를 런타임에 바인딩하는 매커니즘을 제공한다. 대리자는 특정 매개 변수 목록 및 반환 형식이 있는 메서드에 대한 참조를 나타내는 형식입니다. C++의 함수 포인터와 유사하다. 다만 메서드를 안전하게 캡슐화하는 형식이다.1). 특징함수를 변수처럼 사용할 수 있다.함수를 담는 타입(int, float, bool 등등..)을 정의한다."Delegate Type"함수를 담는 Delegate Type에 대한 변수를 만들 수 있다."Delegate Instance"그 변수에 함수를 대입할 수 있다.Delegate Type 변수는 다른 함수의 패러미터로 사용될 수 있다.Delegate Type 배열그말은 즉슨 인덱스에 따라 함수가 달라지게 할 수 있다.De..

    | 니앙팽이 - 이벤트(C#) | 1 | 가상함수 & 바인딩

    💡 1. Event 개요 바인딩 📄 0. 용어정리 0). 가상함수 가상함수는 수퍼클래스를 상속하는 서브클래스에서 Override(함수 재정의) 할 것으로 기대하고 정의해놓은 함수다. ① 특징? Virtual 예약어를 사용해 함수 앞에 붙여서 생성할 수 있다. 다르게 말하면 Override되려면 Virtual 키워드가 붙여져 있어야 한다.class SuperClass { public virtual void Method(){Console.WriteLine("저는 부모클래스 메소드입니다.");} } class SubClass : SuperClass { public override void Method(){Console.WriteLine("저는 자식클래스 메소드입니다.");} } 런타임에 함수포인트 값이 정의 ..

    | 니앙팽이 - 이벤트(C#) | 0 | 이벤트 지향 개발

    💡 1. 용어 정리📄 1. 프로세스 & 스레드프로세스메모리에 올라와 실행중인 프로그램 프로그램의 인스턴스스레드프로세스 내에서 할동받은 실행의 단위 경량 프로세스인 Light Weigh Process프로세스 VS 스레드스레드는 프로세스 내의 메모리 공간을 공유하지만 각각의 프로세스는 별도의 메모리 공간을 갖습니다.📄 2. 인터럽트(Interrupt)란?, 디스패처(Dispatcher)란?link : 인터럽트(Interrupt) & 디스패처(Dispatcher)Interrupt방해라는 뜻이 아니다.어떤 장치가 다른 장치의 일을 잠시 중단시키고 자신의 상태 변화를 알려 주는 것이다.이벤트(Event Invoke)와 동일하다.Dispatcher준비상태(Ready)에서 실행상태(Running)로 상태전이(Stat..

    | 니앙팽이 - 객체지향(OOP) | 4-9 | 유용한 패턴들 - Subclass Sandbox, Event queue, Object Pool

    📕 4. 객체지향 디자인 패턴유니티에서 사용하면 좋을 디자인 패턴만 명시한다.📄 6. 그밖에 Unity에 유용한 패턴1). ✨ Subclass Sandbox ✨ : Behavioral Patterns상위 클래스가 제공하는 기능들을 통해서 하위 클래스에서 행동을 정의한다.ⓐ 특징# abstract & override #protected #subclass실제 구현부, 메인이 되는 객체가 파생클래스다.그럼 상위클래스가 제공하는것은 뭔가?상위 클래스는 하위 클래스가 필요로 하는 기능을 전부 제공할 수 있다.상위 클래스는 하위 클래스용 메소드인 Sandbox 메소드를 제공한다.sandbox 가 의미하는것.추상 원시 메소드.protected로 만들어져 하위 클래스용이라는 걸 분명히 한다.하위 클래스에서 구현할때 아..

    | 니앙팽이 - 객체지향(OOP) | 4-8 | 행동패턴 - State pattern

    📕 4. 객체지향 디자인 패턴유니티에서 사용하면 좋을 디자인 패턴만 명시한다.📄 5. 행동 패턴클래스와 객체간 서로 상호작용하는 방법이나 책임 분배 방법을 정의 하나의 객체로 수행할 수 없는작업을 여러 객체로 분해하면서 결합도를 낮출수 있음3). State Pattern ⓐ 특징"상태"를 객체화한 패턴이다. 이 상태라는것도 참조가능하다.상태에 따라 객체의 행위 내용을 변경해주는 패턴메인 캐릭터가 가질만한 상태를 생각해보자. jump, walk, run 등등.. 이러한 상태를 손쉽게 switcing 하고 싶을떄. 제안하는 패턴이다.오토마타의 state machine와 관련이 깊다.FSM 유한상태기계의 기초 & 유니티 설계 이론.ⓑ 왜 쓰는가?if 조건절이 많을때 사용하면 유용하다.객체의 상태에 따라 동일한..

    | 니앙팽이 - 객체지향(OOP) | 4-7 | 행동패턴 - Observer pattern

    📕 4. 객체지향 디자인 패턴유니티에서 사용하면 좋을 디자인 패턴만 명시한다.📄 5. 행동 패턴클래스와 객체간 서로 상호작용하는 방법이나 책임 분배 방법을 정의 하나의 객체로 수행할 수 없는작업을 여러 객체로 분해하면서 결합도를 낮출수 있음2). ✨ Observer Pattern✨ ✨매우 중요하므로 대리자 & 이벤트 에서 정리✨ⓐ 특징이벤트기반 패턴이다. 디커플링에 매우 유용옵서버 패턴은 여러 객체에 자신이 관찰 중인 객체에 발생하는 모든 이벤트에 대하여 알리는 구독 메커니즘을 정의할 수 있도록 하는 행동 디자인 패턴입니다.ⓑ 왜 쓰는가?옵서버 패턴은 한 객체의 상태가 변경되어 다른 객체들을 변경해야 할 필요성이 생겼을 때, 그리고 실제 객체 집합들을 미리 알 수 없거나 이러한 집합들이 동적으로 변경될 ..