전체 글 354

[Javascript] var, let, const 비교 분석

Javascript 에는 3가지 변수 선언 방식이 있다. 재선언, 재할당 가능 여부에 따라 구별되어 사용된다. 재선언 재할당 var O O let X O const X X Javascript Code 를 실행하는 방법 참조 링크 : [Javascript] 코드 동작 확인 방법 (technote.kr) var 재선언과 재할당이 가능하다. [Code #1] var a = 1; a = 2; var a = 3; console.log(a); PS D:\workspace\node_test> node main.js 3 let 재할당은 가능하지만 재선언은 불가능하다. [Code #1] let a = 1; a = 2; console.log(a); PS D:\workspace\node_test> node main.js 2..

Language/Javascript 2022.07.03

[Javascript] 코드 동작 확인 방법

Javascript 는 혼자서 동작하는 script 언어라기 보다 html, css 와 같이 동작하기에 자체적인 코드 확인이 쉽지 않아 방법을 확인해 보았다. JSFiddle Node.js (with VS Code) JSFiddle JSFiddle - Code Playground Javascript 뿐만 아니라 HTML, CSS 까지 모두 테스트할 수 있다. Javascript 만으로도 코드를 작성한 후 Run 을 누르면 오른쪽 하단에 Console 창을 통해 코드 동작을 확인할 수 있다. Node.js Node.js 설치 : [Node.js] 설치 및 버전 확인 (technote.kr) 가장 많이 쓰이는 Editor 인 VS Code 기준으로 코드 동작 확인은 다음과 같이 한다. 1) 실행 후 File..

Language/Javascript 2022.06.20

[Node.js] 설치 및 버전 확인

Node.js 다운로드 설치 파일 다운로드 링크 : https://nodejs.org/ 특별하게 최신 버전을 다운로드 해야 하는 상황이 아니라면 안정적인 LTS 를 선택하여 다운로드 한다. Node.js 설치 LTS 버전을 받아 설치를 하다보면 아래와 같이 Tools for Native Modules 를 선택하라는 항목이 나온다. 해당 부분은 나중에 npm을 통해 modules를 설치할 때 일부 module 에서 C/C++ compile 이 필요할 경우가 있는데 이를 위해 관련 tool 을 설치하겠느냐는 항목이다. 당장을 필요가 없으니 기본 값이 uncheck 로 넘겨도 무방해 보인다. Node version 확인 아래와 같이 terminal 에서 node -v 를 실행하면 설치된 node 의 versi..

Language/Node.js 2022.06.19

[VSCODE] Prettier - Code formatter 설정

Prettier - Code formatter - Visual Studio Marketplace python 코드를 작성하다보면 Shift + Alt + F 를 눌러 코드를 정렬해가며 코드를 작성한다. Prettier 가 해당 정렬을 도와주는 extension 이다. Prettier 의 설정 1) Extension Tab 에서 Prettier - Code Formatter 를 설치한다. 2) Ctrl + , 혹은 File > Preferences > Settings 를 선택해 설정에 진입한다. 설정 중 formatter 를 입력해 Editor: Default Formatter 를 찾아 Prettier - Code formatter를 선택한다. 다른 항목은 별다르게 수정할 필요가 없었지만 한라인 문자열 수..

[VSCODE] Google Python Style Guide 적용

styleguide | Style guides for Google-originated open-source projects 여러 명이 협업을 하다보면 가독성을 높히기 위해 같은 Coding Style 을 가지고 코드를 만들게 된다. python 관련하여 Google 에서 사용하는 Python Coding Style Guide 가 있어 VSCODE 와 연동해 보았다. Lint 설정 이후 아래 pylintrc 파일을 다운로드 받아 사용하는 workspace 바로 아래에 넣는다. https://google.github.io/styleguide/pylintrc 위 pylintrc 에 따라 pylintrc 에 따라 경고가 정상적으로 나오는 것을 확인하였고, 코드를 수정하였다. Apply pylint accordi..

[pywebview] "X" 버튼 (close) 누르면 webview hide 하도록 구현

Window UI 에서 오른쪽 위 X 버튼을 누르면 창이 사라지고 tray 의 Show 메뉴를 누르면 다시 나타나는 기능을 구현하고자 한다. 이를 위해 링크(API | pywebview (flowrl.com))를 검토해 보니 closing event를 처리하는 on_closing 내에서 False 를 return 하면 close 처리를 하지 않는다는 것을 확인했다. 이에 아래와 같이 on_closing 구문내에 hide 기능을 넣고 False를 return 하면 될 것으로 생각하고 구현하였지만, 해당 구문을 타게 되면 CPU 를 100%를 먹으면서 프로그램이 "응답 없음"이 되버리면서 죽어 버렸다. def webview_subprocess(conn_parent, conn_child): ... window..

Language/Python 2021.09.12

[pywebview] pystray를 이용한 hide/show 제어

pystray 로 Windows tray 를 이용하여 program을 제어할 수 있다. (pytray 아니고 pystray) pystray · PyPI [pystray 를 이용해 tray에서 Hide, Show, Quit 기능 추가] import pystray from pystray import MenuItem from pystray import Menu ... image_path = Image.open(base_path + '/res/tray_icon.png') menu = Menu(MenuItem('Hide', lambda: send_cmd_to_window(parent_pipe, 'hide')), MenuItem('Show', lambda: send_cmd_to_window(parent_pipe, ..

Language/Python 2021.09.12

[pywebview] subprocess 를 이용한 pywebview 분리 실행

pywebview를 실행하면 main thread 내에서 다른 코드 수행이 불가능하다. 이에 별도의 process로 분리하여 pywebview를 수행시키면 별도의 코드를 수행할 수 있다. pywebview using subprocess · TechNoteGit/pywebview_example@540c4c9 (github.com) import webview from multiprocessing import Process, Pipe def webview_subprocess(child_pipe): window = webview.create_window('TechNote', 'https://technote.kr') webview.start(cmd_recv, [window, child_pipe], gui='cef..

Language/Python 2021.09.11

[pyinstaller] TypeError: an integer is required (got type bytes)

pyinstaller 로 작업하다 "TypeError: an integer is required (got type bytes)" 에러가 발생하였다. 이와 같이 에러가 발생할 때는 pyinstaller의 버전을 업그레이드하면 문제가 해결된다. [pyinstaller 업데이트] PS D:\workspace\pywebview_example> pip install --upgrade pyinstaller Requirement already satisfied: pyinstaller in d:\python38\lib\site-packages (3.3.1) Collecting pyinstaller Downloading pyinstaller-4.5.1-py3-none-win_amd64.whl (1.9 MB) |█████..

Language/Python 2021.09.11