본문 바로가기
반응형

Python80

[Django] Django Rest Framework에서 휴대폰 인증 문자 서비스 만들기 서론; 휴대폰 인증을 위해 거쳐야 하는 프로세스는 다음과 같다. 유저가 휴대폰 번호를 입력한다. 해당 번호와 랜덤 숫자 4자를 DB에 저장한 뒤, 인증 번호(랜덤 숫자)가 담긴 문자를 유저에게 보낸다. (인증번호 전송 API) 유저가 인증 번호를 입력한다. DB에서 유저의 휴대폰 번호와 인증 번호를 대조한 뒤 맞다면 True를, 틀리다면 False를 리턴한다. (인증번호 확인 API) 여기서 2, 4번에서 필요한 API 두 개를 만들어보려 한다. 스펙은 다음과 같음 Django 2.2 PostgreSQL 인증번호 전송 API 1) 일단 유저의 전화번호와 랜덤생성한 숫자 4자를 auth에 테이블에 저장한다. auth 테이블은 단순히 phone_number와 auth_number 만을 저장하게 하고, pho.. 2019. 7. 11.
[Python] Service Account로 구글 스프레드시트 업데이트하기 읽지 않아도 되는 서론; 구글 시트를 업데이트하려면 당연히 별도의 인증절차가 필요하다. 업데이트하려는 자가 그 시트에 대한 접근 권한이 있는지 알아야 하기 때문이다. 이건 시트 공유 설정을 '링크가 있는 모든 사용자가 수정할 수 있음'으로 해도 마찬가지다. 한편 구글에서 제공한 Python Quickstart를 보면 OAuth 2.0 클라이언트 인증을 사용하는데, 이렇게 하면 유저가 구글 로그인을 해서 권한을 얻어 시트를 열거나 수정할 수 있다. 다만 내 시트를 내가 수정하는 경우 이 방법을 사용하면 매우 귀찮다는 생각이 든다. 유저 정보가 필요한 게 아니고 내 애플리케이션을 가지고 작업하는 거니까. 물론 별도의 작업을 거쳐 OAuth 클라이언트로도 로그인 없이 작업을 수행할 수 있지만 약간 번거롭다. .. 2019. 4. 15.
[Python] BeautifulSoup로 웹사이트 크롤링하기 TL;DR 2016년 BeautifulSoup로 YouTube에서 영상 정보를 크롤링 해보자 라는 글을 올린 적 있는데 이게 의외로 스테디셀러(?)라 2019년 버전으로 업데이트하고자 한다. 초심자들을 위한 글이기 때문에 난이도는 굉장히 낮다. 다만 그동안 유튜브의 HTML 구조가 바뀌어서 초심자가 크롤링하기에는 좀 번거롭고 향후 또 변경될 여지가 많아 대상을 프로젝트 오일러 한국 사이트로 변경했다. 이곳을 선택한 이유는 관리자들이 사이트를 절대 업데이트하지 않아서(ㅋㅋㅋ). 근데 그전에 이 사이트가 크롤링을 허용하는지부터 알아보자. 대부분의 사이트는 그들의 루트 경로 아래에 robots.txt라는 파일을 두어 크롤링에 대한 규약을 써놓는데, 보통 크롤링을 허용하거나 허용하지 않는 페이지들이 적혀있다. .. 2019. 4. 2.
[Python] 잘 알려져 있지 않은 파이썬 기능 'Hidden features of Python' 언젠가 스택오버플로에서 찾았는데, 파이썬에서 잘 알려져 있지 않은 기능을 공유하는 글이다. (다만 스택오버플로의 취지에는 맞지 않는 질문이라 지금은 close 됨)한 번에 읽기에는 좀 길어서 북마크해뒀었는데 가끔 보면서 흥미로운 게 있으면 적어놨다. Function argument unpacking 별표(*;asterisk) 연산자를 사용하여 리스트나 딕셔너리를 언패킹할 수 있다.>>> a = [1, 2, 3, 4, 5] >>> print(*a) 1 2 3 4 5 >>> b = {'a': 1, 'b': 2, 'c': 3, 'd': 4} >>> print(*b) a b c d오와!했지만 손이 안 가서 쓰지 않는다.아웃! C 스타일 코딩을 가능케 하는 모듈 .. 2019. 3. 19.
반응형