프로그래밍

    [엑셀] GIF파일을 넣고 재생시키기

    [엑셀] GIF파일을 넣고 재생시키기

    평소 문서 작업 도중 레퍼런스 자료가 필요하면 영상 링크를 첨부했었다. 하지만 이번엔 리소스가 어느정도 있는상태+레퍼런스 찾기 힘듦으로 그냥 내가 GIF로 만들어버렸다. 하지만 막상 엑셀에 첨부하려니 GIF가 첨부는 되는데 재생이 안되는 문제가 있었다. 구글링 중 다행하게도 첨부방법을 알게되었지만.. 뭔가 발번역으로 인한건지 조금 이상한 부분이 있어 글로 남긴다. 미리 말하지만 내용이 많이 허접하다. 어찌저찌 해결이 되었길래 쓴다. 1. 먼저 개발 도구를 열어야 한다. 왼쪽 위 파일 탭 클릭 구석 아래 옵션 클릭 왼쪽 '리본 사용자 지정' -> '개발 도구'를 체크 후 확인을 누르면 된다. 2. Microsoft Web Browser 삽입 '개발 도구' 탭 클릭 후 '삽입' 클릭 후 오른쪽 아래 구석에 ..

    [유니티] UI 클릭 등 이벤트 처리

    2D오브젝트나 3D오브젝트에 마우스를 호버하는 기능이나 클릭해서 어떠한 동작을 구현할 땐 OnMouseDown, Up, Drag, Enter, Exit으로 처리가 가능했다. 하지만 UI는 위의 함수들을 등록해놔도 먹히지 않는다. UI는 Canvas에 Graphic Raycaster라는 것이 있다. 이것이 UI의 모든 포인터 이벤트를 관리하게 된다. 사용방법은 간단하다. 1. using UnityEngine.EventSystems; 2. 여러가지 인터페이스 중 사용할 것을 고른다. (여러개 동시 사용도 가능하다.) 3. 선언한 인터페이스를 구현한다. using UnityEngine; using UnityEngine.EventSystems; public class UIEventTest : MonoBehavi..

    [유니티] 3D 오브젝트 마우스로 회전시키기

    using UnityEngine; public class ObjectRotater : MonoBehaviour { private float speed = 3f; void Update() { transform.Rotate(0f, -Input.GetAxis("Mouse X") * speed, 0f, Space.World); transform.Rotate(-Input.GetAxis("Mouse Y") * speed, 0f, 0f); } } 간단하게 구현 가능하다. 이 코드를 오브젝트에 붙여 놓으면 마우스를 따라 오브젝트가 회전한다. 마우스를 드래그해서 회전시키고 싶다면 if문을 추가하면 된다. using UnityEngine; public class ObjectRotater : MonoBehaviour { p..

    빌더 패턴 (Builder Pattern)

    빌더 패턴 (Builder Pattern)

    빌더 패턴 정의 => 객체를 생성할 때 그 객체를 구성하는 부분 부분을 먼저 생성하고, 이를 조합함으로써 객체 전체를 생성하는 방법 => 생성할 객체의 종류가 손쉽게 추가, 확장이 가능한 설계 => 복잡한 유형의 오브젝트를 작성하는데 사용된다. 추상 팩토리 패턴과의 차이점 Builder Pattern Abstract Factory Pattern 특징 복잡한 객체의 단계별 생성에 중점 제품의 유사군들의 존재하는 경우 유연한 설계에 중점 반환 시기 마지막 단계에서 생성한 제품 반환 만드는 즉시 제품을 반환 이제 예제를 통해 한 번 알아보자. 예제로 빌더 패턴을 이용해 비행기와 헬리콥터를 만들어 보려한다. 어떻게 쓰는지 한 번 보자. 먼저 프로젝트 정보다. 비행기와 헬리콥터 모두 Engine과 Wing은 가지..

    추상 팩토리 패턴 (Abstract Factory Pattern)

    추상 팩토리 패턴 (Abstract Factory Pattern)

    추상 팩토리 패턴 정의 => 관련성 있는 여러 종류의 객체를 특정 그룹으로 묶어 한번에 일괄된 방식으로 생성하고 교체할 수 있는 패턴 => 팩토리 메서드 패턴과 유사하나 객체 생성 메서드 구현 후 하나의 객체를 반환하지만 추상 팩토리 패턴은 연관된 객체들의 패밀리를 반환한다. 장점 => 1. 관리 용이성 - 클래스 이름 대신 팩토리 메소드를 사용해 객체를 생성하므로 추후 실제 생성되는 객체가 바뀌거나 추가되어 문제가 없다. => 2. 보안성 - 클래스의 대부분의 내용은 숨기고 싶을 때, 인터페이스나 abstract를 통해서만 객체에 접근하게 할 수 있다. => 3. 리소스 재활용성 - 팩토리 메소드가 반드시 객체를 새로 생성할 필요는 없고, 상황에 따라 새로 생성될수도, 기존의 것을 반환할수도 있다. =..

    팩토리 메서드 패턴 (Factory Method Pattern)

    팩토리 메서드 패턴 (Factory Method Pattern)

    팩토리 메소드 패턴 정의 => 객체를 생성하기 위한 인터페이스를 정의하는데, 서브클래스에서 어떤 클래스를 만들지를 결정하게 함으로써 객체 생성을 캡슐화 한다. => 팩토리 메소드 패턴을 이용하면 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡기게 된다. 서브클래스가 만든다는 뜻 => 생산자 클래스가 실제 생산될 제품에 대한 사전지식을 알고 싶어하지 않고, 사용하고만 싶어한다. => 그래서 객체의 생성을 서브클래스에게 위임하고, 서브클래스에서는 어떤 클래스의 인스턴스를 만들지 결정한다. 사용목적 및 용도, 장점 => 객체 생성 코드를 전부 한 객체 또는 메소드에 넣으면 코드에서 중복되는 내용을 제거할 수 있고, 객체의 생성을 한 군데에서만 관리하면 된다. => 동일한 인터페이스 구현으로 새로운 객체가 추..