2020/02 17

Python - pywinauto, Microsoft Windows GUI 제어 자동화

pywinauto WebSite : http://pywinauto.github.io/ Github : https://github.com/pywinauto/pywinauto Doc : https://pywinauto.readthedocs.io/en/latest Microsoft Windows GUI 제어를 자동화할 수 있는 Python Module 설치 > pip3 install pywinauto (pywinauto 설치시 six, comtypes, pywin32 또한 의존성에 의해 자동 설치된다.) 사용의 예 1) "메모장" 실행 후 "Sample" 문자열을 입력하는 예제 from pywinauto.application import Application app = Application(backend="u..

Language/Python 2020.02.29

Python - PyInspect 설치 및 실행

1) https://github.com/pywinauto/py_inspect 에 접속하여 code 다운로드 2) python 3.5 이상, pywinauto, PyQt5 설치 3) "python py_inspect.py" 으로 실행 특이사항 1) 실행시 2회 실패 후 3회시 부터 정상 실행됨. 1회 실패시 에러 내용 D:\workspace\py_inspect-master>python py_inspect.py QWindowsContext: OleInitialize() failed: "COM error 0xffffffff80010106 RPC_E_CHANGED_MODE (Unknown error 0x080010106)" Traceback (most recent call last): File "py_inspe..

Language/Python 2020.02.28

Python - reduce(), 인자를 누적적으로 적용하여 결과를 반환

reduce >>> functools.reduce(function, iterable[, initializer]) iterable 한 data를 왼쪽에서 오른쪽으로 누적적으로 fuction 의 인자로 넣어 하나의 결과를 반환하는 함수 python2 에서는 builtin 함수로 바로 사용할 수 있었지만 python3 에서는 functools 모듈의 함수로 포함되어 있다. [Link : iterable 과 iterator, 그리고 반복문] functools.reduce(function, iterable[, initializer]) Apply function of two arguments cumulatively to the items of iterable, from left to right, so as to r..

Language/Python 2020.02.23

[Node.js] libuv 의 Design overview

libuv Node.js 를 위해 작성된 cross-platform 을 지원하는 라이브러리 (Event-driven (이벤트 기반) asynchronous (비동기) I/O (입출력)을 지원하기 위해 설계) libuv 의 전반적인 Design overview I/O (혹은 Event) loop 는 libuv 의 핵심 부분으로 모든 I/O 동작에 대해 Single thread 에서 처리 될 수 있도록 한다. 그리고 loop 가 반복되는 동안 I/O waiting 을 하지 않으므로 별도로 들어온 I/O 작업에 대해 수행할 수 있다. Network I/O libuv의 모든 Network I/O 는 non-blocking socket 위에서 동작하도록 되어 있다. 이를 위해 각 platform 에서 지원하는 방..

Language/Node.js 2020.02.23

Python - filter(), iterable 변수 내 값 중 조건에 맞는 값만 반환

filter >>> filter(function, iterable) iterable 한 data를 function 의 인자로 넣어 False 가 아닌 결과를 반환하는 인자들만 iterator 형태로 반환해 주는 함수 [Link : iterable 과 iterator, 그리고 반복문] filter(function, iterable) Construct an iterator from those elements of iterable for which function returns true. iterable may be either a sequence, a container which supports iteration, or an iterator. If function is None, the identity fu..

Language/Python 2020.02.22

[Node.js] 학습 관련 정보

[Javascript Event Loop 에 대한 이해] What the heck is the event loop anyway? | Philip Roberts | JSConf EU https://www.youtube.com/watch?v=8aGhZQkoFbQ [libuv 에 대한 이해] Node.js 에서 event-driven 비동기 I/O 모델을 지원 가능하게 하는 라이브러리의 Design Overview http://docs.libuv.org/en/v1.x/design.html[libuv 에 대한 이해] https://nodejs.org/ko/docs/guides/event-loop-timers-and-nexttick/ [Node.js 에 대한 이해] https://nodejs.dev/the-nod..

Language/Node.js 2020.02.22

Python - map(), 함수와 iterable 변수를 인자로 받아 iterator 결과를 반환

map >>> map(func, *iterables) iterable 한 data를 func 의 인자로 넣어 나온 결과들을 iterator 형태로 반환해 주는 함수 [Link : iterable 과 iterator, 그리고 반복문] map(function, iterable, ...) Return an iterator that applies function to every item of iterable, yielding the results. If additional iterable arguments are passed, function must take that many arguments and is applied to the items from all iterables in parallel. With ..

Language/Python 2020.02.19

MacOS - 특정 Application 실행 단축키 만들기

1. 특정 Application을 실행하는 서비스 만들기 2. 해당 서비스에 단축키 설정하기 3. 단축키를 통한 해당 Application의 실행 특정 Application을 실행하는 서비스 만들기 Finder > 응용 프로그램 > Automator 를 실행한다. 프로그램을 실행시킬 서비스 생성을 위해 도큐먼트 유형로 "서비스"를 선택한다. "응용 프로그램 실행" 을 클릭 한 후 오른쪽 "동작 또는 파일을 여기로 드래그하여 작업흐름을 구축하십시오." 부분에 Drag & Drop 한다. "서비스가 받는 항목" 을 "입력 없음" 으로 선택, "선택 항목 위치"를 "모든 응용 프로그램" 으로 선택한 후 "응용 프로그램 실행" 부분에 실행하기 원하는 프로그램을 선택한다. command + s 를 눌러 지금까지 ..

OS/Mac 2020.02.17

일급 객체 (first-class object)

일급 객체 (first-class object) 는 아래와 같이 불리기도 한다. first-class citizen first-class type first-class entity first-class value 일급 객체의 특징 함수의 인자로 전달 가능 함수의 결과로 반환 가능 Python 에서는 정수, 문자열, list 등과 더불어 함수 또한 일급 객체이다. 이에 따라 아래와 같이 하나의 함수를 다른 함수의 인자로 넘겨줄 수 있다. >>> def reverse(data): ... return data[::-1] ... >>> data = ['zbc', 'tde', 'dcd', 'xfg'] >>> sorted(data, key=reverse) ['zbc', 'dcd', 'tde', 'xfg'] 할당문의..

Language 2020.02.17

Windows - 스크린샷 찍는 법

Windows 에서 기본적으로 화면을 캡쳐하는 방법은 다음과 같다. Print Screen : 전체 화면 스크린샷 찍기 Alt + Print Screen : 특정 Window 스크린샷 찍기 Windows + Print Screen : 전체 화면 스크린샷 찍은 후 자동 저장 Windows + Alt + Print Screen : 특정 Window 스크린샷 찍은 후 자동 저장 Print Screen : 기본적으로 화면을 캡쳐하는 역할 Alt : 누르면 전체 화면이 아닌 현재 선택된 창을 캡쳐하는 역할 Windows : 누르면 클립보드가 아닌 파일로 자동 저장하는 역할 위 3개의 key 조합에 따라 원하는 방식으로 화면 캡쳐를 할 수 있다. Windows 10 (ver. 1809) 이후로는 UI 를 통해 아래..

OS/Windows 2020.02.16

Tistory - 글 작성시 Keypad 이미지 표시하기

티스토리에서 글을 작성하다 보면 keyboard key 조합에 대해 언급해야 할 경우가 있다. 예를 들면 control 키와 R 키를 누르는 것을 표현해야 하는데, 이럴 경우 기존에는 Ctrl + R 로 표현하였다. 티스토리 글작성시 tag 와 css 를 이용해 좀 더 가독성이 높게 표현하는 법을 확인하여 정리해 보았다. [기존] Ctrl + R [개선] Ctrl + R 1) CSS 설정을 추가 "티스토리 > 블로그관리 > 꾸미기 > 스킨 편집" 진입 "스킨 편집" 화면에서 "html 편집" 버튼 선택 이후 CSS 항목을 선택하고 임의의 위치에 하기 설정을 추가한다. kbd { border: 1px solid #aaa; border-bottom-width: 2px; border-radius: 3px; p..

MacOS - CPU, Storage, Memory 등 실시간 사용량 확인

Windows 에는 "작업 관리자""가 있다면 MacOS 에는 "활성 상태 보기" (Activity Monitor) 가 있다. [접근 경로] Launchpad > 기타 > 활성 상태 보기 "활성 상태 보기" 에서는 5가지 상태를 확인할 수 있다. CPU 메모리 에너지 디스크 네트워크 1) CPU 각 프로세스의 CPU 점유율, Process ID, 사용자 등을 확인할 수 있다. Process 를 하나 선택하고 왼쪽 상단의 "X" 아이콘을 선택하면 프로세스 종료도 가능하다. 2) 메모리 각 프로세스의 메모리 점유율을 확인 할 수 있다. 3) 에너지 각 프로세스의 전력 소모 영향을 확인 할 수 있다. 4) 디스크 각 프로세스의 Disk I/O 상태를 확인 할 수 있다. 5) 네트워크 각 프로세스의 네트워크 사..

OS/Mac 2020.02.14

스팀(Steam) 계정 해지/탈퇴

예전에 스팀(Steam)에 가입만 해두고 사용하지 않는 ID가 있다. 언젠가 부터 지속적으로 누군가 로그인 시도를 했다는 메일이 계속 날라왔다. 더 이상 사용하지 않는 계정을 삭제해 보았다. 1) 처음 화면에서 SUPPORT 메뉴를 선택한다. 2) SUPPORT 화면 하단에 검색 창이 있는데, "terminate" 를 입력한다. 3) "terminate"를 입력 후 하단에 보이는 "Account Deletion" 을 선택한다. 4) "Account Deletion" 을 선택하면 나오는 항목 중 "How do I delete my account" 내 "you can request that Steam Support delete your account" 링크를 선택한다. 5) "Delete my Steam a..

ETC 2020.02.11

MacOS - 저장공간 현황 확인하기

MacOS 에서는 디스크 용량 확인을 다음과 같이 할 수 있다. 왼쪽 상단 사과 모양 아이콘 > 이 MAC에 관하여 > 저장공간 저장 공간 탭을 선택하면 위와 같이 각 항목별로 얼마나 저장 장치를 사용하고 있는지 파악이 가능하고, 관리 버튼을 누르면 아래와 같이 좀 더 상세하게 파악이 가능하다. 저장 공간이 부족할 경우 최적화를 통해 불필요한 파일이나 프로그램들을 삭제할 수도 있다.

OS/Mac 2020.02.10

MacOS - 스크린샷 찍는 법

전체 화면 찍기 : Shift + Command + 3 화면 일부 찍기 (파일 저장) : Shift + Command + 4 이후 화면 부분 선택 화면 일부 찍기 (클립보드 저장) : Shift + Control + Command + 4 이후 화면 부분 선택 원하는 Window 찍기 (파일 저장) : Shift + Command + 4 + Space 이후 원하는 Window 선택 원하는 Window 찍기 (클립보드 저장) : Shift + Control + Command + 4 + Space 이후 원하는 Window 선택 1. 전체 화면 찍기 : Shift + Command + 3 전체 화면을 캡쳐하게 되면 바탕화면에 캡쳐 화면이 PNG 파일로 저장된다. 2. 화면 일부 찍기 (파일 저장) : Shift..

OS/Mac 2020.02.09