누구나 쉽게 배우는 오토핫키(AutoHotkey)를 위하여
처음 뵙겠습니다.
어쩌면 다시 뵙겠습니다.
저는 오토핫키 v1.1의 문법을 토대로 기초 강좌를 써왔던 프날입니다.
제가 오토핫키를 처음 배울 땐 체계적이고 알기 쉬운 강좌를 찾지 못했습니다. 대부분의 강좌는 중간에 끊겨있거나, 배우지 않은 문법을 사용하곤 했습니다. 결국 선행자에게 하나씩 여쭤보며 배웠습니다. 누군가 질 좋은 강좌를 올려주었으면 좋았을텐데, 하며 말이죠.
그로부터 약간의 해가 지난 후, 모두가 볼 수 있는 곳에 오토핫키 강좌를 적기 시작했습니다. 처음 쓴 강좌는 도저히 남을 이해시킬만한 글이 아니었습니다. 분량도 부실했습니다. 그 다음 쓴 강좌는 오류가 많았습니다. 글도 처음보단 낫지만 썩 좋지 못했습니다.
세번째로 쓴 강좌는 프날이라는 이름을 달고 작성했습니다. 지금도 pnal.kr에서 볼 수 있지만, 역시나 굉장히 부끄러운 글입니다. 유치하면서도 애매한 설명은 과거의 흑역사를 보는 것 같습니다. 그럼에도 불구하고 처음 완성한 70강분량의 장편 강좌이기에 나름대로 애정이 있습니다. 그러나 원하는 수준의 글은 절대 아니었습니다. '언젠가 개편해야지'라고 생각했었습니다.
그러던 와중, 몇년 동안 개발 단계에 머물러있던 차세대 오토핫키 버전인 '오토핫키 v2'가 베타 테스팅을 시작했습니다. 기존 버전과 문법조차 호환되지 않는 아주 큰 변화입니다. 이번에야말로 누구나 쉽게 배울 수 있는 오토핫키 강좌를 작성하고자 했습니다. 잘 부탁드립니다. 그리고, 프날 오토핫키 강좌를 선택해주셔서 감사합니다.
오토핫키 v2는...
2003년, 오토핫키가 세상에 처음 등장한 후 오랜 시간이 지났습니다. 오토핫키는 단순한 자동화 도구를 넘어서, 완전한 프로그래밍 언어로까지 도약했습니다. 이제 누구나 이를 이용하여 간단한 프로그램을 아주 빠르게 만들 수 있습니다. 그러한 높은 생산성이 오토핫키가 가진 힘입니다.
지난 세월동안 오토핫키는 더욱 쓰기 좋고 논리적인 문법을 추가해나갔습니다. 그러나 옛 문법은 사라지지 않았죠. 과거의 문법을 그대로 적용하여 프로그래밍을 하여도 문제없이 프로그램을 작성할 수 있으니, 새 문법은 아주 느리게 전파되었습니다. 결국 사회에는 옛 문법과 새 문법이 섞이고 말았습니다.
이러한 모호함은 오토핫키를 새로 배우는 사람에게 걸림돌이 되었습니다. 언어로서도 완벽하지 못한 모습입니다. 결국 오토핫키 재단은 하위 호환성을 버린 대신, 기존에 오토핫키가 가진 고름을 없앤 차세대 버전인 '오토핫키 v2'를 세상에 선보였습니다.
바뀐 문법은 기존 버전과 호환되지 않습니다. 기존의 강좌로는 새 버전을 배우기에 무리가 있다는 뜻입니다. 하지만 더욱 명확하고 유용해진 오토핫키를 단지 '마땅한 강좌가 없다'라는 이유로 배우지 않을 순 없습니다. 제가 선두에 서서 강좌를 썼으니, 부디 오토핫키가 대한민국에서 널리 알려졌으면 좋겠습니다.
강좌의 구성
프날 오토핫키 강좌는 총 세 파트, 99강 분량으로 이루어져 있습니다.
Part 1은 오토핫키의 기본 흐름에 적응하는 단계입니다. 본격적인 오토핫키 프로그래밍을 준비하면서, 실제 스크립트를 작성해보고 테스트해보는데 익숙해지기 위함입니다. 과거 강좌에서 이 부분의 설명이 너무 부족한 것 같아서 이번엔 별개의 파트로 나누어서 세세하게 설명해보려합니다.
Part 2에서는 컴퓨팅 사고를 키움과 동시에, 자동화 프로그래밍에 도움이 되는 여러 함수를 배우게 됩니다. 컴퓨팅 사고는 '우리가 원하는 바를 컴퓨터가 이해하도록 코드로 구현하는 능력'을 의미합니다. 이로써 여러분은 간단한 수준의 자동화 프로그램을 작성할 수 있게 됩니다.
Part 3 강좌에선 GUI 프로그래밍과 더불어 실제 프로그램을 개발할 때 유용한 여러 함수를 소개드려 여러분이 원하는 프로그램을 개발할 수 있는 능력을 키울 수 있습니다. 실제 익숙한 컴퓨터 프로그램처럼 마우스로 클릭하거나 키보드로 입력할 수 있는 '프로그램 창'을 만들고, 데이터를 적절히 가공하여 업무의 생산성을 크게 늘릴 수 있는 '텍스트 가공'을 하는 방법을 배웁니다. 또 컴퓨터 내의 텍스트 파일을 불러오거나 내보내는 등 실무에 적합한 여러 기술을 익힐 수 있습니다.
사이트의 특징
프날 오토핫키 강좌는 여러분의 원활한 학습을 위해 아래와 같은 특징을 가지고 있습니다.
1. 방해요소가 없는 디자인
사이트 레이아웃에 오직 글 내용만 포함시킴으로써 강좌에 집중할 수 있도록 하였습니다. 또한, 한 줄에 한글 45자 정도가 들어갈 수 있는 780px의 본문 폭을 사용하였습니다. 광고도 없기 때문에 편하게 강좌를 볼 수 있습니다.
2. 혼동이 없는 글꼴 사용
본문 글꼴은 가독성이 좋은 Spoqa Han Sans Neo를 사용하여 내용이 눈에 잘 들어오도록 하였고, 소스코드의 글꼴은 Windows 기준 개발 환경과 동일한 Consolas를 사용하여 비슷한 글꼴 간의 혼동을 줄였습니다. 또한, 각 소스코드 옆에 줄 번호를 매겨서 원활한 타이핑이 가능하도록 하였으며, 개발 환경과 동일한 하이라이팅을 사용하여서 처음 코딩하는 분들도 헷갈리지 않게 하였습니다.
1 CoordMode("Pixel", "Screen")
2
3 F1::
4 {
5 if (ImageSearch(&vx, &vy, 0, 0, A_ScreenWidth, A_ScreenHeight, "Image\1.png"))
6 MouseClick("L", vx + 20, vy + 20, 2)
7 ExitApp
8 }
3. 풍부한 실습 예제 제공
많은 실습 예제와 문제를 제공하여 견고하게 실력 향상이 가능하도록 돕습니다. 다양한 상황에서 문제를 해결할 수 있는 다각화된 시야를 기를 수 있습니다.
4. 질문 및 답변 시스템
강좌 진행 중 궁금한 점을 질문하고자 한다면 메뉴의 "오토핫키 질문하기" 버튼을 이용해주세요. 강좌 내용에서 이해가 안되는 점을 다시 설명하여 드립니다.
프날 오토핫키 강좌를 선택해주셔서 감사합니다.
좌측 메뉴바에서 하나씩 강좌를 살펴봐주시거나, 아래 버튼을 통해서 학습을 시작할 수 있습니다. 하루에 3강에서 5강씩 수강하시면 되나, 개인의 수준에 맞춰서 줄이거나 늘릴 수 있습니다. 매일 꾸준히 학습할 경우엔 1개월 안에 학습을 마칠 수 있지만 여유를 가지고 천천히 학습하시는 것이 좋습니다.
여담으로, 이 홈페이지는 리눅스용 FireFox에서 테스트되었으며, 광고나 통계, 오류 개선 목적의 트래커가 없습니다. 혹여 다른 브라우저에서 강좌를 보시기에 불편한 점이 있으시면 언제든지 알려주세요. 질문 페이지를 이용해주셔도 됩니다. 감사합니다.