개인 프로젝트를 진행하던 중 문득 이런 생각이 들었습니다. 'www.naver~~~'는 URL인데 내가 카카오 App에서 필요한 Redirect URI는 왜 URI지? 맨 처음에는 URI랑 URL이 오타거나 별 차이 없는 단어들이라고 치부했었습니다. 하지만 검색해보니 어느 정도는 비슷하지만 구분이 되는 단어였습니다. URL은 Uniform Resource Locateor로 즉, 인터넷 상 자원(파일)의 위치를 의미합니다. 또한 흔히 웹 주소라고 불립니다. URI는 Uniform Resource Identifier로 인터넷 상의 자원을 식별하기 위한 문자열의 구성입니다. 범위로 따지면 URI는 URL을 포함하게 됩니다. URI가 더 큰 개념입니다. URI는 식별하고, URL은 위치를 가르킨다고 생각하시면 ..
Window 기반의 Docker 설정법이며 저는 현재 AWS EC2안에 있는 Docker의 시간을 서울과 동기화 해주고 싶었습니다. 1. 아래의 코드를 치면서 해당 컨테이너의 시간 설정이 어떻게 되어 있는지 확인합니다. docker exec [container_id] date 2. docker를 개별적으로 실행하실 때 -e "TZ=Asia/Seoul" 을 입력하여 시간대를 Seoul로 맞춰줍니다. docker run -e "TZ=Asia/Seoul" 다시 1번에 명령어를 실행했을경우 현재의 서울시간과 동기화 된 것을 확인할 수 있습니다. docker를 새로 실행하지 않고 실행중인 상태에서 바꾸는 법은 추후에 공부해서 올리도록 하겠습니다.
저만의 사이드 프로젝트를 하고 있는 상태입니다 현재 crontab으로 돌아가는 파일의 log를 bot.log파일로 저장하고 있는데 오류가 날 때마다 컴퓨터를 켜고 EC2에 접속해서 log파일을 열어서 일일이 확인하는 것이 너무 불편하다고 생각했습니다. 그래서 현재 돌아가고 있는 EC2안 Flask 웹 서버에서 log를 확인할 수 있게 만들려고 합니다. 이렇게 되면 모바일이든 PC든 EC2 IP주소로 언제 어디서든지 log를 확인할 수 있습니다. 먼저 bot.py 파일이 실행되고 그 log들을 bot.log에 저장하고 있습니다. 0 * * * * python3 /home/ec2-user/bot/bot.py >> /home/ec2-user/bot/bot.log 2>&1 이런식으로 log를 저장할 수 있습니다..
VS Code의 단축키에 익숙해지게끔 유용하게 사용할 것 같은 단축키들만 정리해서 작성해보겠습니다. 화면 창 분할 Crtl + / 현재 에디터 파일 창 닫기 Crtl + w 이전에 닫힌 에디터 파일 창 다시 열어주기 Crtl + Shift + t 에디터 파일 창 포커싱 Crtl + n(1, 2, 3... , 0) ex) Crtl + 1 을 하면 첫번째 에디터 파일 창으로 포커싱 Crtl + 2 를 하면 두번째 에디터 파일 창으로 포커싱 현재 라인의 코드를 이동 Alt + ↑/↓ 현재 라인의 코드를 복사 Shift + Alt + ↑/↓ 현재 라인 잘라내기 Crtl + x 현재 라인 삭제하기 Crtl + Shift + k 괄호의 파트너 괄호로 이동 Crtl + Shift + / 블럭 주석처리 Shift + ..
코테를 풀면서 DFS, BFS관련 문제를 풀 때 앞뒤 안가리고 for구문과 if구문으로 설계를 하여 효율이 매번 낮게 나왔습니다. 이제는 조금 코딩다운 코딩을 해보고자 파이썬의 여러 모듈들을 배울 겸 작성해보도록 하겠습니다. 보통 Queue(큐)는 FIFO(선입선출)방식으로 작동하는데 Deque(데크)는 양방향의 Queue(큐)라고 생각하시면 편합니다. 즉 양 방향에서 추가하거나 제거할 수 있습니다. 그렇기에 append와 pop이 압도적으로 빠릅니다. from collections import deque deq = deque() deq.append('hi') # hi를 데크의 오른쪽 끝에 삽입한다. deq.appendleft('hi') # append의 왼쪽 버전 deq.pop() # 데크의 오른쪽 끝..
https://cleaning-toolbox.tistory.com/63 파이썬-실습(10) 카카오톡 친구들에게 API로 메시지 보내기 https://cleaning-toolbox.tistory.com/62 파이썬-실습(9) 가변적인 Url 파싱하기, 카카오 인가코드 파싱 제가 제일 힘들었던 부분입니다. 예를들어, www.example.com/?code= 라는 URL로 접속하였을 경우 카카오.. cleaning-toolbox.tistory.com 이 글까지 보고 이해하셨으면 이제 카카오 i 오픈빌더로 만든 챗봇을 연계해보도록 하겠습니다. 챗봇의 기본적인 사용법은 다른 분들이 많이 올려주셨기에 이부분은 패스하도록 하겠습니다. 많이 고민했던 부분은 User를 어떻게 식별하고 User에 맞춰서 설정을 불러오고 ..
https://cleaning-toolbox.tistory.com/62 파이썬-실습(9) 가변적인 Url 파싱하기, 카카오 인가코드 파싱 제가 제일 힘들었던 부분입니다. 예를들어, www.example.com/?code= 라는 URL로 접속하였을 경우 카카오 로그인을 하고 관련 권한을 수락하면 URL이 www.example.com/?code=AS55geY2vYb13Zxb43 처럼 뒤의 인가.. cleaning-toolbox.tistory.com 이 부분까지 차례대로 보셨다면 어느 정도 윤곽은 잡으셨을거라 생각합니다. 크게 생각하면 이렇습니다. OWNER가 카카오 디벨로퍼 앱 제작 -> 카카오 데브톡에 비즈니스 앱 신청 -> Rest API Key, Redirect URI로 카카오 로그인 URL 작성 ->..
제일 힘들었던 부분입니다. 예를들어, www.example.com/?code= 라는 URL로 접속하였을 경우 카카오 로그인을 하고 관련 권한을 수락하면 URL이 www.example.com/?code=AS55geY2vYb13Zxb43 처럼 뒤의 인가 코드가 나오게 됩니다. 이 code가 필요했었는데 셀레니움과 urllib등 여러가지 방법을 써봤지만 실패했었는데 지금 생각해보면 초점을 다른데에 뒀었습니다. 첫번째 실수는 Redirect URI 였습니다. 현재 EC2안 Flask로 서버를 돌리고 있는데 어이없게도 Redirect URI에 포트번호인 :5000을 빼고 작성하여서 계속해서 오류가 났었습니다. 별거 아닌 문제였지만 이 부분을 눈치채지못하여 한참을 고민하고 시도했었습니다. 여기서 OWNER와 Use..