728x90
반응형

java 53

[소프트웨어 아키텍처] 3. 커맨드 패턴(Command Pattern-java)

커맨드 패턴 커맨드 패턴을 사용하면 요청 내역을 객체로 캡슐화해서 객체를 서로 다른 요청 내역에 따라 매개변수화할 수 있다. 이러면 요청을 큐에 저장하거나 로그로 기록하거나 작업 취소 기능을 사용할 수 있다. 리시버의 메서드 호출을 캡슐화 한다. 메서드 호출을 캡슐화하면 계산 과정의 부분을 결정화할 수 있기에 계산하는 코드를 호출한 객체는 그 일이 어떤 방법으로 처리되는지 신경 쓸 필요가 없다. 쉽게 이야기하면 다음과 같습니다. Command 를 통해서 리시버의 특정 메서드를 캡슐화 하고, 인보커(호출자)는 리시버에 관계 없이(Command에서 캡슐화했기 때문) Command 객체의 메서드를 호출하면 됩니다. 즉, 커맨드 패턴은 호출을 캡슐화 합니다. 위 내용을 레스토랑의 종업원, 주방장의 예시로 코드를..

[알고리즘] float32 부동소수점 계산 및 변환 (java, float32 to int, plc, modbus)

PLC 장비에서 modbus 프로토콜을 이용하여 데이터를 처리하다보면 float32형식의 데이터를 받는 경우가 생깁니다. 예를 들면 아래와 같이 modbus 프로토콜이 정의된 경우가 있습니다. 주소 내용 순번 데이터 형식 30001 A상 전압 Low float32 30002 High 이러한 데이터를 처리하면 30001번지에서 0x36BB, 30002번지에서 0x4358 으로 데이터를 받는 것을 확인 할 수 있습니다. 이때 A상전압을 0x36BB4358으로 처리하면...? 상전압이 918,242,136 ???????????????? 이때 A상전압을 0x36BB4358으로 처리하게 되면 안됩니다. 순번에 맞게 30002번지가 앞16비트 30001번지가 뒤 16비트로 처리해야합니다. 이제 부동소수점 방식을 이..

0 + 프로그래밍 2021.06.20

[알고리즘] 비트 연산자를 이용한 분류 (산업용 장비, 프로토콜, 통신, Modbus 통신, TCP/IP 주로 사용)

[알고리즘] 비트 연산자를 이용한 분류(산업용 장비, 프로토콜, 통신, Modbus 통신, TCP/IP 주로 사용)다양한 프로토콜을 통해 우리는 많은 장비들과 통신 합니다.통신 과정에서 가장 중요하고 기본적인 장비에서 보낸 데이터를 처리하는 방법에 대해서 알려드리겠습니다.일단 프로토콜이란 무엇이냐? 프로토콜은 약속입니다. 어떤약속이냐? 서로 어떠한 규칙을 통해서 대화(통신)를 할 것인가? 이 규칙을 정의한 약속입니다. (※기본적으로 통신은 양방향 입니다.!!) 예를 들어서 한국에서 사람과 사람의 프로토콜은 한국어 입니다. 한국어로 얘기하지 않으면 서로 대화(양방향)를 할 수 없겠죠? 이러한 약속을 컴퓨터는 비트에 데이터를 넣어 정의합니다. 말이 조금 어렵죠? 우리가 알고 있듯이 프로그래밍에서 변수는 바이..

0 + 프로그래밍 2020.10.06
728x90
반응형