Programming

    OPC UA란? 간단 정리 및 요약(아키텍쳐의 이해, Classic OPC와의 차이)

    OPC UA란? 간단 정리 및 요약(아키텍쳐의 이해, Classic OPC와의 차이)

    OPC UA 간단 정리 및 요약(아키텍쳐의 이해, Classic OPC와의 차이) OPC UA란? Open Platform Communications Unified Architecture의 줄임말로 산업용 표준 프로토콜을 말합니다. *영어 원문을 읽고 주관적인 해석으로 기술한 내용이기 때문에 정확성이 떨어질 수 있다는 점 참고해주시길 바랍니다. *영어 원문에 기반하기 때문에 중요한 의미는 추가적으로 영어를 붙혀서 서술합니다. 1. 클래식 OPC 인터페이스의 개요 먼저 OPC UA를 이해하려면 클래식 OPC에 대해서 알아두어야 합니다. OPC UA가 클래식 OPC에서 발전된 형태이기 때문에 이 둘의 차이를 알아야지 이해가 편합니다. 산업 자동화 어플리케이션을 위한 인터페이스로 HMI 및 SCADA 시스템과..

    [Java] JMapper .jar 파일 다운로드 방법

    [Java] JMapper .jar 파일 다운로드 방법

    [Java] JMapper .jar 파일 다운로드 방법 JMapper를 사용하기 위해 이클립스에서 Maven을 이용해 편리하게 다운로드 받을 수도 있지만, jar 파일을 따로 사용해야 하는 경우가 있습니다. 이럴 때는 maven을 사용하지 않고 jar만을 따로 다운받아 이클립스의 프로젝트 라이브러리에 직접적으로 import 시켜주는 식으로 사용합니다. 1. 다운로드 링크 https://jar-download.com/artifacts/com.googlecode.jmapper-framework/jmapper-core/1.6.0/source-code 위의 링크에 들어가서 jmapper core 1.6버전을 받으면 됩니다. 파일을 다운 받은 후 jmapper를 사용할 프로젝트 설정에 들어가서 java build..

    [MySQL] Workbench 다이어그램 그리는 방법(EER Diagram)

    [MySQL] Workbench 다이어그램 그리는 방법(EER Diagram)

    [MySQL] Workbench 다이어그램 그리는 방법(EER Diagram) MySQL 데이터베이스를 사용할 때 기본적으로 제공되는 GUI인 Workbench에서 자신이 생성한 데이터베이스의 다이어그램을 확인하고 싶을 때가 있습니다. 직관적이니깐요. WorkBench에서 이를 지원해주는데 EER Diagram을 보는 방법은 간단합니다. 1. Database - Reverse Engineer... 클릭 2. 현재 데이터베이스와 IP주소, Port, User를 확인하고 Next 데이터베이스에 로그인이 되어 있는 상태라면 자동적으로 입력 칸이 채워집니다. 혹시 비워져 있을 경우엔 데이터베이스의 정보와 알맞게 넣어주신 후 Next를 진행하면 됩니다. 3. Next DB 연결이 잘 되었으니 Next. 4. 스키..

    [오류해결] java.lang.OutOfMemoryError: unable to create new native thread

    [오류해결] java.lang.OutOfMemoryError: unable to create new native thread

    java.lang.OutOfMemoryError: unable to create new native thread 오류 해결 이 오류가 발생하는 이유는 Java VM(자바 가상 머신)이 Thread를 생성하는데 너무 많은 Thread를 생성해서 그 이상의 Thread를 생성할 수 없기 때문에 발생하는 오류입니다. 제가 프로그래밍을 하면서 코딩을 잘못하게 되면 아래와 같은 현상이 발생합니다. Thread를 사용할 때 잘못된 코딩으로 Thread가 반복해서 생성이 된 경우입니다. 사실 Thread가 무수히 많게 생성이 된 경우가 아니더라도 프로그램이 가지고 있는 자바 가상 머신에 할당된 메모리가 부족할 경우에 java.lang.OutOfMemoryError가 발생할 수 있습니다. 이때는 2번째 방법에서 기술한..

    [Linux] 리눅스 하드디스크 용량 구하기

    [Linux] 리눅스 하드디스크 용량 구하기

    [Linux] 리눅스 하드디스크 용량 구하기 사용중인 리눅스 운영체제에서 윈도우 처럼 하드디스크의 용량을 확인해야 할 때가 있습니다. 터미널의 명령어를 입력하는 것으로 간단하게 확인할 수 있습니다. 1. 명령어 입력 df 또는 df -P 터미널에 명령어를 입력하게 되면 위와 같이 사용중인 파일 목록에 대한 용량을 확인할 수 있습니다. df - P | grep -v ^Filesystem | awk '{sum += $2} END { print sum/1024/1024 " GB" }' // 총 하드디스크 용량 df - P | grep -v ^Filesystem | awk '{sum += $3} END { print sum/1024/1024 " GB" }' // 사용중인 하드디스크 용량 df - P | grep..

    [Java] Java Cpu 사용량, 메모리 사용량, 디스크 사용량 구하기

    [Java] Java Cpu 사용량, 메모리 사용량, 디스크 사용량 구하기

    [Java] Java Cpu 사용량, 메모리 사용량, 디스크 사용량 구하기 프로그래밍을 하면서 현재 운영체제의 CPU 사용량이나 메모리 사용량, 디스크 사용량 같은 것들을 모니터링 할 수 있진 않을까? 이러한 정보들이 필요할 때가 있습니다. Java에서도 이러한 정보를 간단하게 확인할 수 있도록 라이브러리를 제공합니다. 관련된 API Document 문서는 아래 링크를 확인해주시길 바랍니다. https://docs.oracle.com/javase/7/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html 1. 디스크 용량 import java.io.File; /** * 디스크 용량 */ @Override public ..

    [Java] n번째 소숫점 자리 출력

    [Java] n번째 소숫점 자리 출력

    [Java] n번째 소숫점 자리 출력 1. 주요 코드 private double updateIndex = 0; updateIndex += (Math.random() * 0.1); updateIndex += 0.1; System.out.println(String.format("%.5f", updateIndex)); 소숫점 자리로 출력하려면 당연히 int가 아닌 float이나, long, double 같은 자료형을 사용해야 한다. 여기서 중요한 것은 String.format()함수. %.5f가 즉 5번째 자리까지 출력한다는 의미이다. %.3f를 넣었다면 3번째 자리까지 소숫점이 출력된다. 현재 updateIndex라는 변수는 Math.random()값에 0.1을 곱하고, 0.1을 더한 값으로 초기화를 했다...

    [Java] SWT Table Checkbox 상태 확인하는 방법

    [Java] SWT Table Checkbox 상태 확인하는 방법

    [Java] SWT Table Checkbox 상태 확인하는 방법 1. Table 컴포넌트를 먼저 생성한다. Table monitorTable = new Table(composite, SWT.BORDER | SWT.CHECK | SWT.FULL_SELECTION | SWT.MULTI); // 테이블 컬럼 설정 TableColumn tblclmnIndex = new TableColumn(monitorTable, SWT.NONE); tblclmnIndex.setWidth(50); tblclmnIndex.setText("인덱스"); TableColumn tblclmnProcess = new TableColumn(monitorTable, SWT.NONE); tblclmnProcess.setWidth(200); ..

    [Java] JMX MBean을 이용한 모니터링(Client, Server)

    [Java] JMX MBean을 이용한 모니터링(Client, Server)

    [Java] JMX MBean을 이용한 모니터링(Client, Server) 앞서서 기술한 JMX 내용에서 추가할 내용이 있었는데, JMX MBean을 사용하기 위해 클라이언트 측과 서버 측의 클래스와 인터페이스를 동일하게 맞춰야 한다고 얘기했지만, 실제로 디버깅을 하며 테스트를 진행해보니 클라이언트 측에는 "클래스"까지 동일하게 맞출 필요가 없었습니다. 예제는 리눅스 환경 기반으로 JMX Server와 Sample Program(1초마다 running 문구가 호출되는 예제 프로그램)을 기동하여 Sample Program이 작동 중인지, 작동 중이지 않는지 Status를 확인하는 기능을 테스트하는 것입니다. JMX는 Clinet에서 필요한 기능 또는 데이터를 서버를 통해서 가져와야만 할 때 JMX를 이용..

    [Java] Eclipse 텍스트 더블 클릭시 하이라이트 유지하는 방법

    [Java] Eclipse 텍스트 더블 클릭시 하이라이트 유지하는 방법

    Eclipse에서 텍스트 더블 클릭시 하이라이트 유지하는 방법 1. Window - Preferences로 이클립스 설정에 들어가 준다. 2. Java - Editor - Mark Occurrences로 들어간다. 3. 체크박스 전체 선택해 주고 Apply and Close. 4. 변수를 클릭하면 변수를 사용한 코드에 하이라이트가 칠해진다.