분류 전체보기 68

[javascript] canvas 기초 사각형 그리기

자바스크립트를 이용해서 canvas에 기초적인 사각형을 그리는 예제코드입니다. [소스코드] getContext함수는 canvas에 할당되어있는 drawing context를 반환합니다. 여기서 drawing context는 그리기 위한 속성과 함수를 가지고 있는 객체를 말합니다. 파라미터로 넘긴 '2d'는 2차원 그리기 context를 가져오기 위함입니다. 다른 방식의 사용은 다음과 같습니다. - getContext('webgl') : 3차원 렌더링을 위한 컨텍스트를 가져오기 - getContext('webgl2') : WebGL 버전 2에 해당하는 3차원 렌더링 컨텍스트를 가져오기 - getContext('bitmaprenderer') : ImageBitmapRenderingContext에 해당하는 컨..

Web/Javascript 2022.03.04

windows service install/uninstall

Visual Studio를 실행하고 "Empty Project"를 선택하고 Next를 누릅니다. 프로젝트 이름을 입력하고 Create를 누릅니다. 소스코드가 하나도 없는 비어있는(empty) 프로젝트입니다. 여기에 소스코드파일을 추가합니다. "Solution Explorer"창의 "Source Files"에 마우스 오른쪽 버튼을 클릭하고 "Add" -> "New Item..."을 선택합니다. 추가하는 파일의 이름은 "main.cpp"로 하겠습니다. 입력하고 "Add"를 클릭합니다. 다음의 소스코드를 입력합니다. 소스코드의 간결성을 위해 에러처리코드는 포함하고 있지 않습니다. #include #include #include #define SVCNAME TEXT("SvcName") void SvcInstal..

Windows 2022.03.04

반복문을 이용하여 입력을 받고 합계, 평균, 최대, 최소 구하기

반복문을 이용하여 입력을 받고 합계, 평균, 최대, 최소를 구하는 코드입니다. #define _CRT_SECURE_NO_WARNINGS #include #include #define NUM_STUDENTS 10 //표준 입력장치로 부터 10개의 정수 입력 받기 void main(void) { int score[NUM_STUDENTS] = { 0 }; int data; int max = INT_MIN; int min = INT_MAX; double sum = 0.0, avg; for (data = 0; data score[data]) min = score[da..

C, C++ 2022.03.04

puppeteer 시작하기

puppeteer는 '인형(puppet)을 조종하는 사람'이라는 뜻을 가진 영어단어입니다. 이름과 로고도 참 직관적입니다. 로고에서 보이는 것과 같이 퍼펫티어는 브라우저를 조종하는 Node라이브러리입니다. Node.js 설치 후에 아주 간단하게 퍼펫티어 프로젝트를 생성하고 실행할 수 있습니다. Node.js의 설치는 다음 글을 참고하시면 되겠습니다. 2022.03.08 - [Web/Node.js] - Node.js 설치 폴더를 생성하고 다음과 같이 실행하여 Node.js 프로젝트를 생성합니다. 그러면 package.json 파일이 생성됩니다. 내용은 다음과 같습니다. 이제 puppeteer 라이브러리를 설치합니다. npm install puppeteer 다음으로, index.js파일을 작성합니다. con..

Node.js 2022.03.03

파이썬 클립보드 사용하기

python에서 clipboard를 이용하는 방법을 설명합니다. 코딩과 테스트는 python3환경에서 실행했습니다. clipboard모듈 설치를 위해 윈도우 cmd창에서 다음과 같이 실행합니다. pip3 install clipboard 아래는 실제 실행 예시입니다. C:\Users\Admin\Desktop\clipboard>pip3 install clipboard Collecting clipboard Downloading clipboard-0.0.4.tar.gz (1.7 kB) Preparing metadata (setup.py) ... done Collecting pyperclip>=1.3 Downloading pyperclip-1.8.2.tar.gz (20 kB) Preparing metadata (..

Python 2022.03.01

Ubuntu 18.04.5에서 netplan으로 고정IP 설정하기

본 글에서는 Ubuntu 18.04.5에서 netplan을 이용한 고정IP설정을 소개합니다. 우분투 18.04를 설치한 후라면 기본적으로 DHCP 설정이 되어있습니다. 이 경우에 IP가 이따금 변경되는 것을 방지하는 등의 목적을 위해 고정IP를 설정해야 합니다. netplan 설정파일은 /etc/netplan 디렉토리에서 찾을 수 있습니다. 파일이름은 01-network-manager-all.yaml 과 같은 형태로 되어있으며, yaml 문법으로 작성되어있습니다. 아래는 제가 설치한 Ubuntu 18.04.5에서의 기본적인 /etc/netplan/01-network-manager-all.yaml 파일의 내용입니다. # Let NetworkManager manage all devices on this sy..

Linux 2022.03.01

python을 실행하면 microsoft store가 실행되는 문제

윈도우에서 파이썬을 실행하려고 하면 윈도우 스토어가 실행되서 곤란하신 적이 있으신가요? 파이썬이 실행되어야하는데! 아래와 같이 microsoft store가 로딩 중이지요 그럴 경우엔 설정 윈도우를 켜시고 '앱'을 선택합니다. 아래 그림과 같이 '앱 실행 별칭'을 선택해줍니다. '앱 실행 별칭'에서 다음과 같이 앱 설치 관리자가 python.exe, python3.exe에 대해서 켜져 있습니다. 클릭하여 아래 그림의 상태와 같이 꺼줍니다. 이제 python이 실행됩니다.

Python 2022.03.01

nodejs에서 json파일 읽기

디렉토리에 data.json 파일이 있을 때 이를 읽는 main.js 코드를 소개합니다. data.json파일의 내용은 올바른 json형식으로 작성되었다고 가정하며, 다음과 같습니다. { "fruits": [ { "id": "1", "name": "apple" }, { "id": "2", "name": "banana" }, { "id": "3", "name": "orange" } ] } 소스코드는 다음과 같습니다. const fs = require('fs'); const jsonFile = fs.readFileSync('./data.json', 'utf8'); const jsonData = JSON.parse(jsonFile); const fruits = jsonData.fruits; fruits.for..

Node.js 2022.03.01

오토핫키 단어 선택하기

문서작업과 같은 반복작업 중에는 수많은 반복작업이 있을 수 있습니다. 그 중에서 이번에는 커서 위치로부터 3단어 또는 4단어를 선택하는 작업. 그 작업에 대해 단축키를 지정하는 오토핫키 스크립트를 작성했습니다. 소스코드는 다음과 같습니다. ^3:: MouseClick, , , , 2 SendEvent {Ctrl Down}{Shift Down}{right}{right}{Ctrl Up}{Shift Up} return ^4:: MouseClick, , , , 2 SendEvent {Ctrl Down}{Shift Down}{right}{right}{right}{Ctrl Up}{Shift Up} return 실행화면은 다음과 같습니다.

Autohotkey 2022.02.27