OJT2021. 4. 14. 12:58

__상황

Legacy ERP 시스템에서 사용자에게 기능 접근 권한 부여가 필요한 상황이다.

관리자의 편의를 고려한 벌크 업데이트 기능 따위는 존재하지 않아서 사용자가 요청한 기능에 대한 접근 권한을 일일히 부여해줘야 한다.

귀찮은 것도 있지만 사용자가 요청한 내용의 누락의 가능성도 있고 권한이 제대로 부여되었는지 확인하는 것도 일이다.

해당 시스템에 DB에 바로 접근할 수 있는 권한이나 API가 제공되어 있지 않기 때문에 UI 상황에서 단순 방법 수작업이 필요하다.

__해결방법

AutoHotKey라는 스크립트 언어가 UI 환경에서 단순 반복 작업에 용이하다는 것을 발견하였다. 

AutoHotkey

 

AutoHotkey

AutoHotkey provides a simple, flexible syntax allowing you to focus more on the task at hand rather than every single little technicality. It supports not only the popular imperative-procedural paradigm, but also object-oriented and command-based programmi

www.autohotkey.com

AutoHotKey를 다운받아 설치 후 quick 가이드를 참고하여 아래의 내용들을 알아내었다.

#1. Shortcut 키를 사용하여 원하는 반복작업을 수행하게 할 수 있다.

#2. 파일이에 접근하여 목록을 가져오는 것이 가능하다.

#3. 반복문을 사용한 반복 작업이 가능하다.

 

이를 토대로 구현한 내용은 아래와 같다.

#변수 선언

Section := "LEED"

UserName := "NWHITEHEAD"

File := "C:\Users\jaehui.yoon\Desktop\AHK\mTMS\mTMS_ScreenList.txt"

# Alt + a 키 단축키 내용

!a::

# 반복문, 파일 리드, 파일 경로

Loop, read, %File%

{

# 반복문, Parse, InputVar [, Delimiters, OmitChars]

    Loop, parse, A_LoopReadLine, %A_Tab%

    {

           Send, %Section%

           Send, {TAB}

           Send, %UserName%

           Send, {TAB}

           Send, %A_LoopField%

           Send, {TAB}

           Send, N

           Send, {TAB}

           Send, Y

           Send, {ENTER}

           Sleep 3000

    }

}

Loop (parse a string) (sourceforge.net)

 

Loop (parse a string)

 

autohotkeykr.sourceforge.net

 

__주의 사항

프로그램이 안드로메다로 갈 수 있으니 테스트 중 뭔가 잘못될 경우를 생각하여 프로그램 탈출키를 만들어 놓아야 한다.

#x::ExitApp ; Win+X

반응형
Posted by newind2000
OJT/ServiceNow2021. 4. 8. 15:29

Information Technology Service Management(ITSM) service toolset will be replaced by ServiceNow which is most mature ITMS toolset on the market.

Below is the first training for the new toolset introduction.

What will learn in this training,

□ How to get an instance to practice your skills.

□ Understand the benefits of the Now platform.

□ Be able to set up a homepage to dispaly highlights acress a user's records

□ Complete and update forms with real-time information

□ View and organize recordds.

□ Communicate and collaborate within the Now platform.

□ Receive and share updates acress your organization.

□ Find help on the platform.

□ Collaborate visually on records.

□ Create and share reports.

 

Get Started with the Now Platform - Now Learning (service-now.com)

 

Path/Course Overview - Now Learning

 

nowlearning.service-now.com

 

반응형
Posted by newind2000
Python2017. 9. 7. 20:51

  객체지향프로그래밍(Object-oriented Programming)은 말 그대로 객체를 만들어 프로그래밍을 하는 방식을 뜻한다. 여기서 말하는 객체는 무엇일까? 객체 지향 프로그래밍을 처음 접했을 때, 그 개념을 올바로 세우는 것이 중요하다. 하여 객체지향 프로그래밍에서 자주 등장하는 클래스, 인스턴스, 오브젝트에 대해서 알아보겠다.

  클래스(class)라는 단어는 얼핏 들으면 생소하고 이해하기 힘들다. 학교에서 반을 클래스라고 부르기도 하고, 사회의 계층을 클래스라고 부르기도 한다. 객체지향 프로그래밍에서 클래스는 하나의 정의된 변수와 프로시져의 집합체라고보면 된다. 여기서 변수는 프로그래밍을 할때 값을 담는 통이고, 프로시져는 연산 또는 정의된 일을 수행하는 도구라고 생각하면 된다.  자동차라는 클래스가 있다고 가정해보자. 자동차를 이루려면 핸들, 바퀴, 기어와 같은 물리적 장치가 필요하고 또한 전진, 후진과 같은 동작이 필요하다. 좀 비약이 있긴 하지만, 이때 물리적인 장치들을 변수, 동작들을 프로시져라고 생각하면 된다.

  인스턴스(instance)는 클래스의 추상적인이 개념이 실체가 된 상태를 뜻한다. 예를 들어 마티즈, 아반떼, 소나타와 같은 자동차는 추상적인 개념인 자동차의 실체들이다. 이와 같이 추상적인 개념이 클래스 그리고 그 클래스의 실제를 인스턴스라고 보면 된다.

  마지막으로 오브젝트(object)는 클래스로부터 이용하여 생성된 모든 것이라고 보면 된다. 여기서 의문점이 생길 수 있다. 그렇다면 인스턴스와 오브젝트의 차이점은 무엇인가?

  인스턴스는 관계적인 개념이다. 즉 어떠한 오브젝트(A)가 그것의 개념인 클래스(B)와 같이 설명될 때, 'A는 B의 인스턴스다'라고 설명될 수 있다. 하지만 기본적으로 클래스로부터 만들어진 대상을 일컫을 때는 일반적으로 오브젝트라고 부른다.

  실제 파이선 프로그래밍으로 예를 들어보자.


# 'human'이라는 클래스

class human:

  #변수들

head=1

eye=2

arm=2

body=1

neck=1

fingers=10

  #프로시져: 사람은 말을 한다...

def talk(self):

return 'blah blah blah~'

#사고 났을 시. 부상으로 인한 손실

def ax(self):

self.eye -= 1

self.arm -= 1

    self.fingers -= 3


위의 클래스를 import 한 후 인스턴스를 만들어보자. j라는 오브젝트를 만들어서 변수와 프로시져를 호출해본다.


>>> import test

>>> j=test.human()

>>> j.talk()

'blah blah blah~'

>>> j.fingers

10

>>> j.ax()

** 사고나서 손가락 3개를 잃었다.

>>> j.fingers

7

반응형

'Python' 카테고리의 다른 글

튜플과 리스트의 차이  (0) 2017.08.28
Lamba  (0) 2017.08.24
반환문  (0) 2017.08.21
지역변수와 전역변수  (0) 2017.08.21
변수의 사용  (0) 2017.08.21
Posted by newind2000