티스토리 뷰

rpa_basic.zip
0.03MB
rpa_project.zip
0.00MB

 

이번에 준비한 주제는 '업무 자동화' 입니다.



'업무 자동화'라고 해서 꼭 업무에만 사용되는 것은 절대 아니구요 ㅋㅋ
컴퓨터를 사용해서 하는 일이라면, 룰만 명확하다면 얼마든지 자동화를 할 수 있답니다.
여기 클릭했다가 저기 클릭하는, 같은 작업을 수없이 반복하는 게임 매크로나 광클릭 등도 물론 가능하구요.



하지만 '업무 자동화'라고 하였으므로, 초점은 업무에 맞춰서 설명을 드려볼게요. (나중에 게임 자동화 영상도 종종 올릴까 합니다 ㅎㅎ)

대개 직장인들이 사무실에 출근하여 컴퓨터를 켜고 매일같이 하는 일이 있을 거에요.
사람마다 다르겠지만 어떤 시스템에 접속을 하고, 나에게 온 메일을 확인하고, 워드나 엑셀 문서를 만들고, 보고서를 쓰고, 완료 메일을 누구에게 보내는 등의 일 말이죠.
그런데 이런 부분에 있어서 '똑같거나 비슷한, 반복되는' 일이 분명히 존재합니다.



마침 얼마 전에 스팸 문자를 하나 받았는데, 이런 내용이더라구요.



네이버나 다음 카페 또는 블로그 같은 곳에 어떤 글을 올리면 비용을 지불한다는 말인데요.
실제로 저 일을 하시는 분들이 어떻게 하시는지는 모르겠지만, 자동화를 활용하면 딱 한 번의 스크립트 작성 이후에는 '실행' 버튼만 클릭함으로써 앉아서 돈을 벌 수 있습니다.
(물론 카페 이용 정지를 당하거나 ID 가 잘리지 않고, IP 가 차단되지 않고 약속대로 비용을 제대로 받는다는 조건 하에 말이죠)

가령 이런 식이죠.

1. 엑셀 파일에 글을 올릴 카페 주소, 게시판 이름 정리



2. 자동화 스크립트 작성
스크립트 : 로그인 > 엑셀 한 줄씩 불러오기 > 카페 접속 > 게시판 이동 > 글 작성, 이후 반복

이러면 끝입니다. 


만약 카페 목록을 추가하거나 게시판 이름이 변경되거나 하면, 1번의 엑셀 파일 내용만 바꿔주면 되지요.
소위 '댓글 알바'의 작업하는 방식도 크게 다르지 않을겁니다.

※ 위 내용은 자칫 스팸성 글을 마구 올리게 되는 역효과를 만들 수도 있을 것 같아서 강의에서 예제로 다루지는 않습니다.





또 다른 예를 들어볼까요?

여러분이 1,000 명이라는 수많은 참석자를 대상으로 하는 어떤 큰 행사를 준비하게 되었습니다.



그리고 명단을 확인하여 이 모든 사람들의 이름표를 만들고 출력을 해야 합니다.



만약 주어진 양식의 PPT 파일이 있고 명단이 아래와 같이 되어 있다면,



여러분은 1번째 사람의 이름을 복사하여 PPT 파일 중 이름 부분에 붙여넣기 하거나 직접 타이핑을 하고, 소속 부분과 정보 부분도 동일하게 작업을 하겠죠.
다음 페이지로 넘기고 나서 2번째 사람의 이름을 복사하여 또..
다음 페이지로 넘기고 나서 3번째 사람의 이름을 복사하여 또..



이 작업을 딱 1,000번만 하시면 됩니다.





그런데 이거 너무 낭비 아닌가요?

1명 이름표를 만드는데 20초만 걸린다고 해도 1,000명이면 무려 20,000 초, 약 5시간 30분이나 소요되는 작업입니다.
그것도 화장실 한 번 가지 않고 모든 작업이 아주 순조로웠을 때 말이죠.



그리고 여러분은 멍하니 앉아서 왼쪽 새끼손가락은 왼쪽 Ctrl 키 위에 올려져 있고 검지는 C 와 V 를 왔다갔다 하면 복붙을 계속 할겁니다.
해보신 분은 아시겠지만 이거 조금만 하고 나면 손이 정말 정말 아프답니다.

이런 일만 하고 계신다면 지금이라도 어서 도망을..





그런데 이 작업을 자동화 하면 어떨까요?

엑셀에 명단은 있고 이름표는 정해진 양식의 PPT 가 있으니, 엑셀에서 한 줄씩 데이터를 불러와서 PPT 의 각 영역에 집어 넣고 다음 페이지로 넘어가고, 이 작업만 엑셀 파일의 끝까지 반복하면 됩니다.



만약 PPT 파일이 너무 커져서 메모리 문제가 걱정된다면 100명마다 끊어서 파일을 나눠도 되고, 작업 중간에 문제가 발생한다면 로그를 남겨뒀다가 정상처리된 사람 이후 순번부터 다시 실행하면 되지요.

간단하게 스크립트를 만들어서 테스트 해보니 시간이 약 1/5 로 줄어듭니다.



이제 여러분은 따뜻한 아메리카노 한잔을 천천히 마시면서 얘가 일을 잘 하는지 지켜보시기만 하면 되지요.




굉장하지 않나요?

다른 사람들이 열심히 같은 작업을 반복하고 있을 때, 여러분은 느긋하게 쉬면서 한 번씩 '흐음...', '쓰읍...' 추임새만 넣어주시면 됩니다.

 



제 강의에서는 업무 자동화에 꼭 필요하다고 생각되는 4개 주제를 선정하였고, 각각 사용하는 주요 라이브러리는 다음과 같습니다.


1. 엑셀 자동화 (openpyxl)
2. 데스크탑 자동화 (pyautogui)
3. 웹 자동화 (selenium)
4. 이메일 자동화 (smtplib, imap_tools)

서로 연관성이 없도록 제작하려고 하였기 때문에, 여러분은 필요한 주제만 골라서 들으셔도 됩니다.

만약 이메일로 업무 내용을 주고 받고, 웹을 주로 다루신다면 3, 4 만 공부하시면 되구요.

하루 종일 엑셀만 사용하시는 분이시라면 1번만 공부하시면 됩니다.

하지만 가급적 모두 배워두시면, 분명 언젠가 큰 도움이 되실거라 확신합니다. (그리고 분량에 비해 내용이 결코 어렵지가 않습니다. ^^)



주제별로 대충 어떤 내용을 배우고, 실제로 어떻게 활용할 수 있는지를 간략히 설명드리자면요.



1. 엑셀 자동화
엑셀 파일을 만들고 원하는 위치에 원하는 데이터(또는 수식) 입력은 물론 셀 스타일 적용(가로 세로 크기, 폰트, 배경 색), 병합, 차트 생성, 이미지 추가 등 대부분의 작업이 가능합니다. 이미 만들어져 있는 파일을 필요한 영역만큼만 읽어와서 데이터를 확인하는 작업도 물론 가능합니다.



2. 데스크탑 자동화
PC 에서 마우스와 키보드를 통해서 사람이 하는 작업을 흉내낼 수 있습니다. 자동화 방식은 좌표, Pixel, 이미지 등을 혼용하여 사용 가능하며, 키보드를 통한 글자 입력, 조합 키 사용 (Ctrl + s 등), 마우스 이동, 클릭, 드래그 드롭, 스크린 샷 등도 가능합니다. 실행 중인 창의 정보를 통해서 창을 자유자재로 최대화, 최소화, 또는 맨 앞으로 가져오기 등도 할 수 있구요. 이미지 방식으로 자동화를 할 때는 GrayScale 이나 신뢰도 정보를 통해 보다 자동화 성공률을 높이는 방법도 배웁니다. 



3. 웹 자동화
유명한 selenium을 활용하여 브라우저 상의 html 내용을 분석하여 클릭, 글자 입력, 체크박스나 라디오버튼 선택, 페이지 스크롤, 페이지 이동, Frame 전환, 로딩 대기 등의 작업을 할 수 있습니다. 이것만 잘 배워두시면 웹에서의 자동화는 대부분 큰 무리 없이 가능할거예요.




4. 이메일 자동화
수신 날짜, 발신자, 제목 또는 본문의 내용, 수신 여부 등의 조건을 통해 메일함에서 원하는 메일을 조회하여 내용을 가져오거나 첨부 파일을 다운로드 받을 수 있으며, 직접 작성한 내용을 본문으로 하고 첨부파일을 포함하여 여러 명에게 한꺼번에 메일을 보낼 수도 있습니다. 강의에서는 지메일 (gmail) 을 기준으로 설명하며 프로젝트를 통해 실제와 비슷한 상황에서 어떻게 활용할 수 있는지 배웁니다.






어떠신가요? 

여러분이 컴퓨터로 하시는 업무, 또는 작업 중 자동화를 적용할 수 있는 부분이 떠오르시나요? 
기억을 더듬어 보시면 습관적으로 매일같이 반복되는 부분이 분명 있을 겁니다.

하지만 여기에 아주 중요한 내용이 하나 있습니다.

컴퓨터는 생각보다 단순하며, 조금 나쁘게 말하면 멍청합니다. 시킨대로만 하거든요...

그래서 여러분은 컴퓨터가 명확히 일을 할 수 있도록, 명확히 설명할 수 있는 업무를 시켜야 합니다.

TV 에 나오는 어느 직장 상사처럼 '아니 그 있잖아 왜 그 대충 뭐 저기...' 이런 식으로 하시면 절대 안됩니다.



각 주제별로 어떤 부분을 어떻게 주의하셔야 하는지는 영상 내에서 설명을 드린답니다 ^^




제 강의의 꽃은 바로 실전 프로젝트인데요.



위 내용만 해도 분량이 방대하므로 이번 프로젝트를 조금 짧게 준비했습니다. 

가상으로 코딩 세미나를 진행한다고 가정하고 신청자들로부터 정해진 양식의 신청 메일을 받았다는 상황을 준비한 이후, 자동화 스크립트를 통해 선착순으로 몇 명은 당첨, 나머지는 탈락되었다는 메일을 자동으로 보내고 당첨자 명단은 엑셀 파일로 만들어서 세미나 당일날 출석부로 활용하도록 해봅니다.






영상을 만들다보니 '조금만 더 할까?', '이것도 넣을까?' 욕심에 이번 편은 무려 9시간의 분량이 되었는데, 글도 '조금만 더' 하다 보니 무척 길어졌네요...

긴 글 읽어주셔서 감사하구요, 영상 길이가 꽤 길지만 내용은 크게 어렵지 않으니 부담갖지 않으시길 조심스레 바래봅니다.

업무 자동화편 영상은 여기서 확인해주시면 되구요.

 

 

 

 

만약 파이썬을 처음 접하시거나 기본 문법을 모르시는 분들은 아래 영상을 먼저 보신 후에 활용편으로 넘어와주시면 됩니다.

 

<기본편 강의>

감사합니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함