목록분류 전체보기 (11)
이런거 저런거 그런거
일반적으로 프록시는 다른 무언가와 이어지는 인터페이스의 역할을 하는 클래스이다. 프록시는 어떠한 것(이를테면 네트워크 연결, 메모리 안의 커다란 객체, 파일, 또 복제할 수 없거나 수요가 많은 리소스)과도 인터페이스의 역할을 수행할 수 있다. ※ https://ko.wikipedia.org/wiki/프록시_패턴 프록시 패턴 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org 즉, 어떤 다른 객체로 접근하는 것을 통제(제어)하기 위해서 그 객체의 대리자를 제공하는 패턴 책 예제 1. GumballMachine 모니터링 기능 추가 요청 (빨간색) 2. 여러 지역에 있는 머신을 네트워크를 통해 모니터링 할 수 있는 기능으로 변경 요청 "원격 프록시" 이용 JAV..
퍼사드 패턴은 인터페이스를 단순화 시키기 위해서 인터페이스를 변경하는 패턴이다. 고수준 인터페이스를 정의하기 때문에 서브시스템을 더 쉽게 사용 할 수 있다. (바꿔말하면 Client를 복잡한 서브시스템과 분리 및 서브시스템을 더 쉽게 사용하기 위해 고수준 인터페이스로 변경하여 제공하는 구조) 퍼사드 패턴 - 어떤 서브시스템의 일련의 인터페이스에 대한 통합된 인터페이스를 제공합니다. 퍼사드에서 고수준 인터페이스를 정의하기 때문에 서브시스템을 더 쉽게 사용 할 수 있습니다. (Head First 디자인패턴 p.302) 데코레이터 - 인터페이스는 바꾸지 않고 책임(기능or행동)만 추가 (확장성) 어댑터 - 한 인터페이스를 다른 인터페이스로 변환 (호환성) 퍼사드 - 인터페이스를 간단하게 바꿈 (사용성) 특징 ..
클래스의 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환합니다. 인터페이스가 호환되지 않아 쓸 수 없었던 클래스들을 같이 사용 할 수 있게 해 줍니다. Head First 디자인패턴 p.308 Vendor Class : Existing System이 사용하는 인터페이스를 지원하지 않는 클래스 Adapter : Vendor Class가 Existing System이 사용하는 인터페이스를 지원하는 것처럼 보이게 해 주는 클래스 따라서 어댑터에서는 기존 시스템(클라이언트)에서 사용하는 인터페이스를 구현한다. 인터페이스 구현은 벤더클래스에서 제공하는 인터페이스를 이용하여 구현한다. 역할만 보자면 C에서 간혹 구현해서 사용하는 Wrapper 함수와 유사하다. 그래서 Wrapper패턴으로 불리기도 한다...
사진과 동영상을 영상으로 만들어야 할 필요성이 있어 툴을 알아 보던 중 괜찮아 보이는 툴을 발견했다. http://movavi.com/ Multimedia Software by Movavi | Multimedia Programs for Windows Introducing Movavi Effects Store! Get EXTRA content for your video projects: TitlesTransitionsStickersAudio files Get extra titles, transitions, stickers, and other exclusive content for your projects. www.movavi.com 보면 아래와 같이 굉장히 여러가지 버전들이 있는데 하려는 기능과 관련된 후..
8x8 한개에 더 나아가 동일한 Matrix가 4개 붙어있는 부품을 샀다. 모델명 : SZH-EKAD-115 (MAX7219 아두이노 8X32 도트 매트릭스 모듈) 이 부품 역시 SPI 통신을 통해 컨트롤 할 수 있으며 Daisy-Chain방식을 통해 핀을 더 할당하지 않고도 4개의 MAX7219를 컨트롤 하여 4개의 Matrix Led를 컨트롤 할 수 있다. 그렇다면 궁금한 부분은 [아두이노] --- SPI ---> [Matrix 3] --- SPI ---> [Matrix 2] --- SPI ---> [Matrix 1] --- SPI ---> [Matrix 0] 위와 같이 연결되어있다고 했을 때 [Matrix 0]의 Led만 컨트롤 하고 싶을 경우 데이터를 어떻게 보내야 하는가 이다. 이와 관련하여 이..
그냥 숫자,문자 표시하기엔 심심한 것 같아 빵판 살 때 배송비가 아까워서 추가로 같이 샀던 조도 센서 값을 표시해 보기로 했다. "[YwRobot] 아두이노 조도센서 모듈 [SEN030101]" 이 부품을 아래와 같이 연결하고 조도센서값을 analogRead()로 읽은 값을 표시해보았다. 도트 매트릭스에 나름 표시 할 수 있는 숫자가 00 ~ 99 이므로 읽은 값을 10으로 나눈 값으로 표시하기로 했다. 사전에 도트매트릭스에 표시 할 숫자 0 ~ 9 패턴 9개는 미리 만들어놓고 들어온 입력에 대해 적당한 위치(십의자리, 일의자리)에 해당 패턴을 써주는 방법으로... #define MAX7219_CLK (10) #define MAX7219_CS (11) #define MAX7219_DIN (12) /* *..
부품을 하나 샀다. 그것은 바로 MAX7219가 달린 "SZH-EK063" !! 이 부품(MAX7219)를 사용 함으로서 VCC, GND, DIN, CS(ChipSelect), CLK(Clock) 5개 핀만으로 아두이노에서 64개 led를 컨트롤 할 수 있다. 아두이노에서는 위 5개 핀을 이용해 MAX7219에 필요한 설정을 하고 MAX7219는 설정된 Led를 켜 주는 것이다. Led On/Off 제어를 MAX7219에게 외주(?)를 준 덕분에 아래와 같은 장점을 얻을 수 있다. - 연결 Line (pin)을 줄일 수 있다. (16개 -> 5개) - Loop마다 Line을 돌아가며 led on/off 해주는 번거스러움 없어짐 - Loop가 지연됨으로 인해 도트 매트릭스에 그림(또는 문자)가 이상하게 보..
8x8 Led Matrix를 전체 컨트롤 해 보기 우선 아래 왼쪽 테이블과 같이 핀을 연결한다. ex> Led Matrix 1번핀 -> Uno 2번핀 그리고 Matrix Led의 핀맵을 보고 Uno에 해당하는 핀 번호를 찾아보면 ex> Matrix Led의 Row 0을 컨트롤 하려면 Matrix Led의 9번 핀 ---> Uno의 10번 핀. 즉, Uno의 10번핀은 Matrix Led Row 0을 컨트롤 하는 핀 이렇게 연결하면 아래와 같이 깔끔(?)하게 연결 할 수 있다. (적어도 선이 날라다니진 않으니...) 그리고 테스트 코드를 돌려서 홀수인 곳만 켜보면~ #define ARRAY_SIZE(x) (sizeof((x))/sizeof((x)[0])) unsigned int rows[] = {10, A..