파이썬을 이용한 네이버 카페 업무 자동화

네이버의 영어책 읽기 카페 에서 스탭으로 활동하고 있는데, 연말에 회원 레벨 조정 작업을 할 일이 생겼다. 간단한 일이지만 수백명이나 되는 회원에 대해 확인을 수동으로 다 하려니 상당히 지루한 일이 될 것 같아, 자동화를 위해 방법을 찾아보기로 했다. 일단 아래 적은 것들 대부분 인터넷 검색하면 다 나오는 것이므로, 다른 사이트에서 자세히 설명되어 있는 내용을 부가적으로 설명하지는 않고 전체적인 흐름만 기록하고자 한다. 전체적으로  여기 의 도움을 많이 받았다. 첫번째로 필요한 것은 파이썬 설치다. 아직 파이썬2를 쓰는 사람도 있지만 특별한 이유가 없다면 가급적 파이썬3를 설치하도록 하자. Windows 피씨에도 무리없이 설치할 수 있고, path도 설정해 주면 cmd 터미널에서 현재 어느 디렉토리에 있든지 쉽게 사용 가능하다. 둘째 웹 자동화에 필수적인 것이 셀레늄(Selenium)이다. 파이썬 모듈로 설치하면 된다. pip install selenium 명령으로 쉽게 설치할 수 있다. 또한 웹페이지를 읽고 처리하려면 Beautiful Soup의 도움이 필요하다. 역시 pip을 써서 pip install bs4 명령으로 쉽게 설치할 수 있다. 세째 셀레늄에서 다룰 수 있는 브라우저 설치다. 크롬 드라이버를 설치하면 된다. 위에서 언급한 블로그에 자세히 나와 있으므로 따라하면 된다. 다 설치되었으면 cmd 창에서 python shell을 띄우고 크롬을 띄워보자. 크롬 브라우저가 새로 뜨면서 "자동화된 테스트 소프트웨어에 의해 제어되고 있습니다"라는 안내창이 보일 것이다. 아래에서 물론 경로는 크롬 드라이버가 깔려 있는 디렉토리명이다. >>> from selenium import webdriver >>> driver = webdriver.Chrome('c:/temp/chromedriver') 네째로 알아야 할 것은 브라우저의 개발자 도구다. 이건 별도로 설치할 필요는 없고...

스마트폰 잠금 2분 안에 풀린다고?

** 업데이트 ** 제작 피디님과 추가적으로 확인한 결과, 제가 아래에서 "화면 잠금 상태에서 쉽게 할 수 없다"고 했던 그 루팅을 학생들이 실제 했다고 합니다. 아래 피디님의 댓글에도 있지만 사전에 USB디버깅 활성화나 루팅이 되어 있지 않은 상태에서 화면을 잠그고 학생들에게 전달했고, 학생들이 이를 풀었다고 합니다. 인터뷰시 제게 보여준 영상은 이미 루팅이 되어 있는 상태에서 패스워드 파일을 지우는 것 뿐이었기 때문에 제가 오해를 했던 것 같습니다. 아직 이 학생들이 구체적으로 어떤 방법으로 루팅에 성공했는지는 파악하지 못했으나, 그것이 가능했다면 이는 매우 심각한 문제가 아닐 수 없습니다. 다만 이러한 형태의 루팅은 대개 특정 제조사의 특정 버전에 존재하는 알려지지 않은 버그를 이용하는 방식이라, 모든 안드로이드폰에 일괄적으로 적용 가능한 것은 아닐 것으로 생각됩니다. 해당 허점이 최신 버전의 안드로이드에서는 이미 개선되어 있을 수도 있으나, 구체적인 정보가 파악되는 대로 문제를 파악해 필요한 조치를 취하도록 하겠습니다. ** 추가 업데이트 ** 자체적으로 분석하여 파악한 문제점에 대해 수정 조치하였습니다. 하고 싶은 말은 많으나 이쯤에서 마무리합니다. ------------------------------------------------------------------------- 오늘 KBS 추적60분에서 스마트폰 보안에 대해 다뤘다. 경각심을 불러 일으키기 위한 문제제기는 잘 했다고 본다. 그런데 방송 중간에 화면 잠금을 설정하고 고등학생들을 불러다 2분 안에 풀 수 있다고 하는 장면이 나왔는데, 이 부분은 오해의 소지가 있다. 나도 잠깐 인터뷰에 나왔는데, 약 1시간에 걸친 인터뷰 중 10초만 잘라서 나간거라 충분히 설명이 되지 않은 부분이 많다. 이번 기회에 스마트폰, 특히 안드로이드 스마트폰 보안에 대해 간략히 정리해 볼까 한다. 단 아래 내용은 LG전자의 공식 입장과는 무관한, 내 개인적인 견해임을 먼...

국립국어원의 일방적 대화 단절

오랜 기간에 걸친 국립국어원과의 문답이 끝이 났습니다. 국립국어원의 결론은, "규정이고 뭐고 국립국어원 맘대로 '새너제이'라고 쓰는 게 맞고, 더이상 할 말 없다"입니다. 아래 문답을 모아놨으니 국립국어원의 답변을 직접 보시고 싶은 분은 참고하시기 바랍니다. San Jose 표기법 관련 국립국어원과의 문답 모음 간단하게 제 주장을 아래에 다시 요약하고 마무리하겠습니다. 누가 맞고 누가 억지를 부리고 있는지, 글을 읽는 분들이 판단해 주시기 바랍니다. 1. '새너제이' 표기는 외래어 표기 규정을 위배하고 있다.  San Jose는 두 단어로 이루어진 지명이므로, 해당 외래어 표기 규정에 따라 단독으로 쓰일 때의 표기대로 적어야 한다. ( 외래어 표기 규정 제3장 제1절 제10항) 제10항 복합어 (3) 1. 따로 설 수 있는 말의 합성으로 이루어진 복합어는 그것을 구성하고 있는 말이 단독으로 쓰일 때의 표기대로 적는다. cuplike[kʌplaik] 컵라이크 bookend[bukend] 북엔드 headlight[hedlait] 헤드라이트 touchwood[tʌtʃwud] 터치우드 sit-in[sitin] 싯인 bookmaker[bukmeikə] 북메이커 flashgun[flæʃgʌn] 플래시건 topknot[tɔpnɔt] 톱놋 2. 원어에서 띄어 쓴 말은 띄어 쓴 대로 한글 표기를 하되, 붙여 쓸 수도 있다. Los Alamos[lɔs æləmous] 로스 앨러모스/로스앨러모스 top class[tɔpklæs] 톱 클래스/톱클래스 San은 '샌', Jose은 '호세' 혹은 '호제이'로 적을 수 있으므로, San Jose는 '샌호세' 혹은 '샌호제이'로 적어야 한다. 그렇지 않으면 위 10항의 2를 따를 방법이 없다. '새너제이'를 원어에서 띄어 쓴 대로 한글 ...

체계적인 미루기 - 미루기쟁이가 많은 성과를 내는 방법

오늘 우연히 이 글을 읽게 되었는데, 나와 너무나 잘 맞아 떨어지는 내용이라 전문을 번역해 볼까 한다. 저자가 이 내용으로 책도 냈고, 찾아보니 이미 한국에  번역서 도 나와 있다. 원문은 여기:  http://www.structuredprocrastination.com/ Structured Procrastination 체계적인 미루기 ``. . . anyone can do any amount of work, provided it isn't the work he is supposed to be doing at that moment." -- Robert Benchley, in Chips off the Old Benchley, 1949 "누구나 얼마든지 많은 일을 해낼 수 있다. 그게 그 순간에 그가 해야만 하는 일이 아니라면 말이다." I have been intending to write this essay for months. Why am I finally doing it? Because I finally found some uncommitted time? Wrong. I have papers to grade, textbook orders to fill out, an NSF proposal to referee, dissertation drafts to read. I am working on this essay as a way of not doing all of those things. This is the essence of what I call structured procrastination, an amazing strategy I have discovered that converts procrastinators into effective human beings, respected and admired for all that they can accomplish and the good use they mak...

California Dreaming 가사와 해석

일하며 흘러간 팝송을 듣는데 California Dreaming이란 노래가 나왔다. 마침 오늘 날씨도 캘리포니아가 생각나는 날이라 기분좋게 듣고 있는데 가사가 잘 이해가 안되는 거다. 사실 가사를 주의해서 들어본 적이 없었다. 교회가 어쩌고 기도가 어쩌고 하는데 그런 가사가 있는 줄은 전혀 알지도 못했다. 아마 어릴 때 내 듣기 실력이 워낙 안좋았기 때문이겠지만. 그래서 가사를 찾아봤다. All the leaves are brown and the sky is gray I've been for a walk on a winter's day I'd be safe and warm if I was in L.A. California dreamin' on such a winter's day Stopped in to a church I passed along the way Well I got down on my knees and I pretend to pray You know the preacher liked the cold He knows I'm gonna stay California dreamin' on such a winter's day All the leaves are brown and the sky is gray I've been for a walk on a winter's day If I didn't tell her I could leave today California dreamin' on such a winter's day California dreamin' on such a winter's day California dreamin' on such a winter's day 추운 날 따뜻한 캘리포니아를 그리워하는 내용인 줄은 대충 알겠는데 군데군데 무슨 말인지 도무지 이해가 안되는 거다. 특히 중간에 ...