전체 글

전체 글

    9. 미니터(Miniter) API 개발 엔드포인트와 HTTP 요청 총 정리

    9. 미니터(Miniter) API 개발 엔드포인트와 HTTP 요청 총 정리

    ● 모듈 활성화와 변수, 핑 퐁 엔드포인트 from flask import Flask, jsonify, request from flask.json import JSONEncoder class CustomJSONEncoder(JSONEncoder): def default(self, obj): if isinstance(obj, set): return list(obj) return JSONEncoder.default(self, obj) app = Flask(__name__) app.id_count = 1 app.users = {} app.tweets = [] app.json_encoder = CustomJSONEncoder @app.route("/ping", methods=['GET']) def ping():..

    Ubuntu terminal quote, dquote 에서 빠져 나가기

    Ubuntu terminal quote, dquote 에서 빠져 나가기

    이에 대한 해답을 stack overflow에서 찾았다. CTRL + G 를 누르면 잘 못 입력되기 전의 상태로 되돌린다고 한다. 즉 무한 dquote에서 탈출한다는 뜻이다. 그런데 나는 분명히 " " (Double quote) 큰 따옴표를 썼음에도 불구하고 dquote 에 걸렸다. 왜 그런지는 몰라도 적어도 해결책은 찾아야 한다는 일념으로 스크롤을 더 아래로 내려 보았는데 역시 해답이 있었다. 답변에 따르면 !를 쓸경우 큰 따옴표 대신 작은 따옴표 (Single quote) 를 쓰라고 한다.

    urls must start with a leading slash

    urls must start with a leading slash

    이번에는 urls must start with a leading slash 라는 에러에 봉착하였다. urls 는 선행 슬래쉬로 시작해야 한다는데 그 말인즉슨 슬래쉬를 빼먹었다는 이야기 이므로 코드를 살펴보았다. 확실히 / 를 빼먹었다 이런 코드 누락으로 인한 실수를 최대한 줄여 나가는 것도 실력이라 생각되므로 빠르면서도 꼼꼼하게 코드를 작성하도록 노력해야겠다.

    8. 미니터(Miniter) API 개발 (타임라인)

    8. 미니터(Miniter) API 개발 (타임라인)

    이번에 구현할 기능은 타임라인 기능이다. 타임라인은 팔로우한 사용자의 글 목록을 보여주는 기능이다. 코드는 다음과 같다. @app.route("timeline/", methods=['GET']) def timeline(user_id): if user_id not in app.users: return '사용자가 존재하지 않습니다.', 400 follow_list = app.users[user_id].get('follow', set()) follow_list.add(user_id) timeline = [tweet for tweet in app.tweets if tweet['user_id'] in follow_list] return jsonify({'user_id' : user_id, 'timeline' : ..