코딩을 해보자 06steemCreated with Sketch.

in #kr8 years ago (edited)

뭐.. 왠지 분위기가 우중충하지만
각자 갈길을 가면 되는거겠죠
그럼 계속해서 코딩을 배워봅시다

활용예

오늘은 그동안 배운것과 그것을 몇가지 초월하여
AutoHotKey 라는 것이 메세지만 띄울줄 아는 잉여프로그램이 아니란 것과
당장 프로그래밍이라는 것이 자신에게 어떻게 활용될 수 있는지 알아보도록 하자

먼저 다음링크의 파일을 받고 적당할 폴더에 풀어보자
Imgur 파일업로드

여기엔 오토핫키 스크립트 파일과 그것을 컴파일한 exe 파일이 있다
일전에 코딩을 해보자02에서도 언급했지만
스크립트 언어는 컴파일이 없이도 돌아간다
그것은 실시간 번역해주는 오토핫키 프로그램이 돌아가고 있기때문이다
허나 그 오토핫키 프로그램을 깔지 않은 사람은 스크립트 언어가 돌아가지 않는다
그런 사람에게도 돌아가게 해줄려면 소스파일에서 오른쪽 클릭후

컴파일 해주면 EXE 파일로 나온다. 이걸 배포해주면 된다

자 그럼 exe 파일을 실행해보자

저번에 GUI를 배웠으니
이정도 인터페이스를 만드는 것은 이제 껌일 것이다

이게 뭐하는 프로그램이냐면 MarkDownPad 같은거에서 올릴 필요없이
버튼을 누르거나 단축키를 누른후
이미지를 찾아서 확인누르면 Imgur에 익명계정으로 해당파일이 올라가며
완료되면 메세지창과 함께 클립보드에 자동으로 주소가 카피된다
그러므로 이 프로그램 띄워놓고 글쓰다가
Ctrl+Q 누르고 그림 고른후 업로드 완료 메세지뜨면
Ctrl+V 로 바로 그림주소 붙여넣으면 되는 것이다

소스코드


소스코드에서 가장 중요한 부분은 이 부분이다
이부분을 작성하는데 있어서 본인이 선택한 방법은..

Ctrl + C , Ctrl + V 이다..ㅡ,.ㅡ;;;
그렇다.. 구글이 괜히 구글신이라고 불리는게 아니다
모르면 무조건 찾아보면 된다.
먼저 한글로 찾아보고 없으면 영어로 안되면 일어, 중국어라도 찾아보자
특히 일본인들은 코드를 해당목표에 딱 맞게 짜놓은 경우가 많아
굉장히 도움이 된다

저 코드를 가져온 곳도 일본사이트다

コマンドラインから画像やテキスト等を共有する「imgurc.exe」を作った (imgur, transfer.sh対応)
(커맨드라인에서 그림과 텍스트등을 업로드하는 imgurc.exe를 만들었당)

게다가 번역의 질도 영어랑 차원이 다르다. 비슷한 문법이라서 그런듯

여하튼 저부분은 일단 배우지 않은게 상당수 있으니까 넘어가고
다른 부분을 보겠다

G라벨


Gui, Add, Button, x217 y14 w170 h170 gOpen, 단축키는 Ctrl+Q

; 버튼클릭시 ImgurRun 함수 작동
Open:
ImgurRun()
return

먼저 위의 부분이다
코딩을 해보자 05
에서 했던 방식에 의하면 버튼+버튼이름 이렇게 해서

Button단축키는 Ctrl+Q :
ImgurRun()
return

이렇게 되어야할 것이다. 하지만 불행히도 라벨에 띄워쓰기는 지원하지 않는다
그러면 버튼 이름을 맘대로 짓기가 힘들 것이다
이런 단점을 해결하기 위해서 오토핫키 제작자는
G라벨 이라는 것을 문법에 추가했다

Gui, Add, Button, x217 y14 w170 h170 gOpen, 단축키는 Ctrl+Q

여기에 보면 gOpen 이라는 것이 보일 것이다
좌표뒤에 한칸 띄우고 라벨을 넣을 수 있게 해준 것인데
알아보기 쉬우라고 Go 라벨 -> g라벨 이 되었다

즉 이젠 저렇게 써주면 Button + 이름 이렇게 길게 해줄 필요가 없이
바로 라벨로 갈 수 있는것이다 gMe 라고 지으면
Me : 이런식으로 앞의 g자를 빼고 라벨로 만들면 된다

함수


일전에 스크래치를 배워보면서
다음과 같은 것을 이용했었다

저 조각들은 더 가져올 수도 있고 순서도 바꿀 수 있고 없앨 수도 있고
매우 편리했었을 것이다
바로 저 조각하나하나를 함수라고 할 수 있다

'명령어 아닌가요?'

그렇다 명령어다

'함수라면서요'

그렇다 함수라고도 볼 수 있다
'맞을래요?' 라는 질문은 잠시 접어두자

좀더 쉽게 말하자면 자신만의 기능을 만들기 위해서 명령어들을 요것저것 조합해
놓고 이름 붙여서 포장해놓은 것을 함수라고 할 수 있다

예를들어 두번째 블럭인 Hello!를 2초동안 말하기의 경우

Hello 를 입력받는다
시간을 입력받는다
입력받은 문장을 입력받은 시간동안 말한다

이 세가지 명령어를 쌈싸놓고 보라색 블럭 이라고 이름 지은 상태라고 할 수 있다

이렇게 할 경우 이점은
저것을 두번이상 사용할때이다
만약 저걸 두번이상 사용한다고 해보자
명령어 상태라면

Hello 를 입력받는다
시간을 입력받는다
입력받은 문장을 입력받은 시간동안 말한다
Hello 를 입력받는다
시간을 입력받는다
입력받은 문장을 입력받은 시간동안 말한다

이렇게 된다. 하지만 보라색 블럭이라고 쌈싸놓은 상태라면

보라색블럭
보라색블럭

매우 간단하며 알아보기도 쉽다
또한 Hello가 아니라 Hi라고 바꿔야한다고 해보자
그 경우 위의 명령어 상태에선 찾기도 힘들고 찾아서 두번이나 수정해줘야한다
하지만 보라색블럭은 블럭안에 한번만 수정하면 배치된 모든 보라색 블럭에 적용된다

그것이 이번 소스안에서도 사용되고 있다


여기서 버튼 클릭하고 단축키하고 기능이 똑같다
고로 명령어들도 똑같이 사용되어야하는데 아래 보면 알겠지만
무려 6줄이다 저걸 그대로 넣을 경우
코드도 난잡해지고 의미도 알기 어려워진다
위에서처럼
ImgurRun 이라고 어떤 기능인지 알기쉽게 이름 지은후 쌈싸놓는다면
코드도 간결해지며 의미도 쉽게 알 수 있게 되는 것이다


이것이 바로 함수의 정체인데
형식은

이름( ) 
{ }

이름을 예쁘게 지어준후 이름옆에 작은 괄호를 쳐준다
그리고 쌈싸먹을 코드들은 중괄호로 포획한다
쉽지 않은가?

만약 여기서 마지막 메세지 박스를 수정할 일이 생겼다고 하자
그럼 함수가 없을땐 해당 코드를 일일이 찾아댕겨야된다
하지만 여기선 함수의 내용만 수정하면 그 함수를 쓴 곳은 전부 동일한 적용을 받는다

마치며


앞서 스크래치는 정말 쉽게 재밌는 교육 프로그래밍 언어이다
그걸 해보고 나서 이 오토머시기인지 뭔지는 때려치우고 싶어졌을지도 모른다
하지만 위의 프로그램 같이 당장 필요한 것을 쉽게 만들 수 있는 것은
스크래치론 불가능한 오토핫키의 강점이다. 처음엔 좀 힘들지만 이것저것 기본기가 쌓이고 나면
그후엔 자신의 손가락에 기를 담아 구글신한테 애걸복걸하면 원하는 걸 뚝딱 만들 수 있는 것이다
지금도 앞서 해본 것이 있으니 단축키를 바꾸거나 GUI를 바꾸거나 하는 것은 매우 쉬울것이다
기능도 현재는 급조한 수준이지만 지울수 있는 주소도 받게 추가하고 올린 주소와 지울 주소를
날짜별로 모아서 txt 파일로 자동저장하게 하는 것도 깨작깨작 추가할 수 있다
그런식으로 하나씩 모으다보면 어느새 거대한 프로그램이 나오는것이다

그리고 함수의 예를 보듯이 각각의 언어의 문법은 다르지만
개념에 있어선 매우비슷하다 그래서 하나의 언어에서 배운 것은 바로 다른 언어에서
통용된다.
보통 두개의 언어를 동시에 하면 문법 문제등으로 초보자 머리만 쪼개지지만
스크래치의 경우는 문법 문제가 없다시피하므로 같이 하면
오히려 더 빠르게 배울 거라 생각한다
그러므로 앞으론 두개를 번갈아 가며 같이 나가도록 해볼 셈이다
+_+/

Sort:  

처음의 gui 만드는거 껌 아니었어요.ㅎ 다시 앞부분 보고 몇번 해봤네요.
잘 설명해 주셨는데, G라벨부분부터 못 따라갔어요 ㅠ
이리저리 해봤는데, 잘 안되네요...

Loading...

Coin Marketplace

STEEM 0.18
TRX 0.14
JST 0.029
BTC 57849.42
ETH 3122.29
USDT 1.00
SBD 2.43