[JAVA] InnerClass / OuterClass , 중첩클래스

개요 중첩 클래스 클래스 내부에 클래스를 만드는 것을 의미 프로그래밍을 할 때 여러 군데서 사용하는 클래스가 아니라면 파일을 새로 만들거나 코드의 아래부분으로 내려서 만들지 않고 바로 만들어서 바로 쓸수 있도록 하는 개념 경우에 따라서는 객체를 생성할 수 있는 부분이 클래스를 설계한 부분으로 한정 되는 경우도 있다. 클래스 내부에 만든 클래스를 Inner Class라고 부르며 Inner클래스를 감싸고 있는 클래스를 Outer Class라고 부른다. Contents 일반 중첩 클래스 ⊙ 클래스 내부에 클래스를 만들어서 사용하는 경우 ⊙  Inner 클래스의 객체를 만들기 위해서는 반드시 Outer클래스의 객체를 생성하고 이를 통해 Inner클래스를 만들어야함. ⊙  Inner클래스는 Outer클래스의 맴버에 접근할수있지만 Outer클래스는 Inner클래스의 멤버에 접근할수없다. Inner클래스의 멤버는 Outer클래스의 객체가 생성되어 있다는 가정하에 사용하므로 접근이 가능하지만 Outer클래스는 Inner클래스의 객체의 생성과 관계가 없으므로 Inner클래스에 대한 접근이 자유롭지 못하다. static 중첩 클래스 ⊙ 일반 중첩클래스에서 Inner클래스가 static으로 정의된 경우 ⊙ Inner 클래스가 static으로 정의 되어 있어 Outer클래스의 객체 생성 없이 바로 객체 생성이 가능 ⊙ Inner 클래스에서는 Outer클래스에 정의된 멤버중에 static 멤버만 접근이 가능. Outer클래스의 객체생성없이 바로 Inner클래스의 객체를 생성하므로 Outer클래스의 객체가 생성되지 않았다는 가정하여 개발을 해야한...

Slot O MATIC

이미지
개요 그래이들을 이용한 슬롯오매틱 버그수정방법 gradlew slot  명령어로 프로퍼티를 자동으로 생성할 수 있고 원하는 프로퍼티의 getter와 setter를 자동으로 생성해준다. 그런데 이것이 잘 실행이 안될때 gradle을 수정하여 해결할 수 있다. Gradlew :moduleName:slotomatic C:\work\Niagara\myModule>gradlew :myModule-rt:slotomatic 

BAT 파일 Background 에서 실행하기

cmd에서 실행되는 bat를 background에서 실행하는 방법 Windows의 vbs를 이용하여 shell을 열고  열린 shell에서 명령을 수행하는 방법이다.    start.vbs Set WshShell = CreateObject("WScript.Shell")  WshShell.Run chr(34) &  "배치파일 경로\배치파일.bat"  & Chr(34), 0 Set WshShell = Nothing   좀더 높은 권한이 필요할경우는 아래 스크립트로 사용  Set objShell = CreateObject("Shell.Application") objShell.ShellExecute  "배치파일 경로\배치파일.bat" , "/c lodctr.exe /r" , "", "runas",  0   빨간색 숫자 0이 CMD 창의 visible 옵션. 0이면 visible false 1이면 visible true  라고 보면된다.  원문링크1 :   http://genepart2.tistory.com/19 원문링크2 :  http://blog.naver.com/clever_coder/60190570143

[JAVA] Timer, TimerTask, Thread 이용하기

개요 10초 후에 A 값을 출력하고 B 값을 출력하고 싶을 때 프로그램 객체에서 이 코드를 사용할 수 있다. Using Timer and TimerTask  프로그래밍하기 전에 준비 import java.util.TimerTask Source code public void onExecute() {     setAOValue(new BStatusNumeric(100));      Timer tmr = new Timer(); TimerTask tmr_task = new TimerTask() {     public void run()     {          //do it code          setAOValue(new BStatusNumeric(200));     } } tmr.schedule(tmr_task,5000); //tmr.schedule(tmr_task,5000,2000) : Operative every two seconds, after 5 seconds. }// end of onExecute() 결과 이 코드는 출력 100을 먼저 작동하고 5초 후에 출력 200을 출력한다. 스레드 사용 프로그래밍하기 전에 준비 nothing special. Source code public void onExecute()    throws Exception {   setNormal(); } public void setNormal() {   // Create a new thread, with the starting point set as the current program  object.   Thread thread = new Thread(this, getProgram().getName());    ...

Webs8000 controller communicate with Niagara AX

이미지
개요 Web8000 controller 위에 Niagara AX 워크벤치를 통신하기위한 방법을 정리한다.  N4 컨트롤러를 AX와 통신하는 방법을 요약하겠습니다. 1. webs8000 컨트롤러에서 AX Supervisor 계정을 생성한다.  - I just made an 'ax' user.  - Change the authentication scheme "AX digest Scheme" 2. ax 사용자 역할을 만든다.  - I just made a role that name is "ax" for "ax" users.  - Any people say that role name must same as the user name.      ( I didn't check it is true) 3. NiagaraNetwork에 Niagara 장치를 추가한다.  - Using just made id "ax" for login. 4. 나이아가라 장치에 수동으로 포인트를 추가한다.    - It can not discovery.  - We must add points manually.   - We can use Ord for communicating.

Multi Trend in AX(HX view)

이미지
개요 고객이 실시간 멀티 트렌드를 요청했다. 그러나 시스템은 AX 버전이므로 기능을 지원하지 않았다. 그래서 다른 방법을 생각했다. "내가 만든 HTML과 함께 HX를 사용하는 것은 어떻습니까?" 아주 일시적인 해결책이나 너무 간단하다 1) 스테이션에서 HTML 파일을 만들었습니다. 2) HTML 파일에서 이 코드를 따르십시오. Source code <html> <head> <title> </title> <script type="text/javascript"> <!-- document.write(getTimeStamp() + '<br />'); function getTimeStamp() { var d = new Date(); var s = leadingZeros(d.getFullYear(), 4) + '년' + leadingZeros(d.getMonth() + 1, 2) + '월' + leadingZeros(d.getDate(), 2) + '일 ' + leadingZeros(d.getHours(), 2) + '시' + leadingZeros(d.getMinutes(), 2) + '분' + leadingZeros(d.getSeconds(), 2)+ '초'; return s; } function leadingZeros(n, digits) { var zero = ''; n = n.toString(); if (n.length < digits) { for (i = 0; i < digits - n.length; i++) zero += '0'; } return zero + n; } //--> </script...

PowerPoint Free Template

파워포인트 템플릿을 찾다 좋은곳을 찾아 정리해본다.  https://slidesgo.com/theme/tech-startup#variant-0