전체 글 71

오토핫키 magnetic window 따라다니는 윈도우

아래의 오토핫키 소스코드를 이용하면 특정 윈도우를 따라다니는 윈도우를 만들 수 있습니다. SetBatchLines, -1 SetWinDelay, -1 Gui, Add, Text, x10 y10 , magnetic window Gui, Show, w300 h200, Magnetic Gui SetTimer, Magnetic, 10 return Magnetic: if WinActive("ahk_class Notepad") or WinActive("ahk_class" . ClassName) { wingetpos, gx, gy, gw, gh WinMove, Magnetic Gui, , gx + gw, gy } return GuiClose: ExitApp 노트패드 윈도우를 움직여보면 윈도우가 계속 따라다니는 동작을..

Autohotkey 2022.02.18

[엑셀] 숫자 지우기

다음의 수식을 이용하여 숫자를 모두 지울 수 있습니다. 셀 A1에 '1한국'이 적혀있을 때 셀 B1에 다음 식을 적어 넣습니다. =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"0",""),"1",""),"2",""),"3",""),"4",""),"5",""),"6",""),"7",""),"8",""),"9","") 수식은 0~9의 숫자를 지워주는 역할을 합니다. 길이는 길지만 간단하고 확실한 방법입니다.

Excel 2022.02.18

엑셀 주소 빈칸으로 나누기 수식

주소를 빈칸으로 구분하여 아래와 같이 나눌 때 사용할 수 있는 수식을 소개합니다. 주소의 첫번째로 '시/도'를 추출하기 위해 사용한 수식입니다. =LEFT(A7,SEARCH(" ",A7,1)-1) LEFT함수와 SEARCH함수를 사용해서 아래 그림과 같이 '시/도'를 추출했습니다. 두번째 '시/군/구'를 추출하기 위해 사용한 수식은 좀 더 복잡합니다. =MID(A7, SEARCH(" ",A7) + 1, SEARCH(" ",A7,SEARCH(" ",A7)+1) - SEARCH(" ",A7) - 1) 아래 그림과 같이 잘 추출되었습니다.

Excel 2022.02.15

JavaScript 소수점 반올림 연산 속도 비교(toFixed, Math.round)

소수점 반올림할때 toFixed()함수를 주로 사용했습니다. 그런데 toFixed()함수가 문자로 값을 반환하다 보니 계산할때 ParseFloat()함수를 추가로 사용해야 하는 경우가 꽤 있습니다. 이렇게 추가함수를 사용할 경우 속도가 떨어지는게 당연할텐데 그게 어느 정도인지 궁금해서 테스트를 해봤습니다. 백만회 반복, 소수점 2자리 반올림 const t0 = performance.now() for (let i = 0; i < 1000000; i++) { let a = 341.348181293 a.toFixed(2) } const t1 = performance.now() console.log('toFixed') console.log(t1 - t0, 'msecs') const t2 = performance..

Web/Javascript 2022.02.15

python 두 수를 입력받아 합을 구하는 함수

두 자연수를 입력받아 그 중에 작은 값부터 큰 값 사이에 있는 모든 자연수를 더하는 함수입니다. 인자를 하나만 입력했다면 1부터 입력값까지의 합을 계산합니다. def range_sum(a, b = None): sum = 0 if (None == b): b = a a = 1 for num in range(a, b+1): sum += num print(sum) if __name__ == "__main__": range_sum(1) range_sum(2) range_sum(5) range_sum(1, 5) range_sum(4, 5) [실행결과] 1 3 15 15 9

Python 2022.02.15

6 Axis Robot Arm 자작 #3 WebUI 제작

파이썬 버전의 90%는 이식했는데...가장 중요한 입력된 명령줄을 읽어 여러 동작들을 순서대로 실행하는 기능을 구현하지 못했다. 자바스크립트의 비동기 실행이 문제인데...구글링해보니 settimeout에 callback을 사용하거나 promise, async/await을 사용해야 한다는데 자바스크립트 시작한지 한달 조금 넘은 나에겐 좀처럼 와닿지가 않는다. 차차 공부해보는 걸로 하고 요즘은 정말 웹으로 모든 게 다 가능한 세상인거 같다. 파이썬 버전에서는 오브젝트 메쉬가 조금만 많아도 화면이 버벅여서 3D 모델을 최대한 단순하게 만들었었는데 WebGL은 성능이 정말 뛰어나서 상당히 복잡한 오브젝트들도 60프레임으로 매끄럽게 돌려줘서 상용 로봇의 Step파일을 obj 변환하여 사용했다. 차후 실제로 제작할..

DIY/6 Axis Robot 2022.01.01