ウィンティ・フリアン・ボウティン2週目(ウィンティ)回顧録


回顧録


1.なぜjavascriptチームはWanted課題をするのですか?


Javascriptチームですが、赤レンガの代わりにWanted課題が始まりました.
これは,元の課題における自動完了機能に興味を持ったためである.Pythonを使ったことはありませんが、怖くありません.ソウルを通じて新しい知識を学んだ時、自分を鍛えて怖がらないようにしたからだ.チームメンバーも、赤レンガの課題よりも原版の課題が好きだと同意した.

[原句]勉強しておいたらどうですか。


4人の隊員はFlaskとPythonに関する知識がほとんどない.しかし、前課題(マフィア社)のような状況でも、必要な技術が分からない状態でスタートしますが、うまく作れるので自信が持てます.キャラクターを割り振る前に、フラスコで簡単なページを作り、使い方をマスターしました.おおよそ感じたのは,要求事項をどのように開発するかについて議論と定義を行ったことである.

3.自動完了機能をどのように把握し、接近していますか?


百聞は一見にしかず、自動完了機能をそのまま使用しています.

予想通り、データを入力するたびにサーバに送信され、検索キーワードにタイムリーに応答します.

4.自動完了機能をプロジェクトに適用する方法


私が作成したサービスでは、クエリーロジックをキャッシュ処理した経験があります.クエリー・キャッシュ・ポリシー
私はチームメンバーに私の使用方法を説明し、私たちのサービスに適したキャッシュポリシーを採用することにしました.

最初に想定した自動補完機能ロジック



Look Asside(=Lazy Loading)ロジックを使用しようとします.
クライアントが要求を受信すると、Redisはデータを検索します.Redisでデータを検索すると応答し、データがない場合はMysqlにアクセスしてデータを検索し、Redisをバックアップします.クライアントに応答します.

改善された自動補完機能ロジック


  • Read

    最初に想定した論理は,対応するデータが見つからない場合にはMysqlへのアクセスを継続しなければならない.
    また、Mysqlでデータが見つからない場合、同じリクエストでもMysqlへのアクセスを継続する必要があるという欠点があります.データベースが更新されていないためです.したがって、RedisとMysqlの両方にデータがない場合は、データベースにデータを挿入することでこの問題を解決できます.しかし、この方法は適切ではないと思います.私たちのサービスは会社だけを検索しているからです.

  • Write

  • そこで,要求中の新規会社はAPIによりデータベースを更新することにした.
    それは.

    そくどしけん



    キャッシュ・ポリシーを盲目的に模倣するよりも、MysqlとRedisを直接テストしたほうがいい.
    確かにRedisはすぐに

    配置は順調ですか?


    Flaskサーバを配備する場合、ホストとポートを変更して配備する必要がありますが、知らないため3時間のトラブルが発生します.
     app.run(host=' 0.0.0.0', port=5000, debug=True) 사용하기
        #   app.run(host=' 127.0.0.1', port=5000, debug=True)

    6.プロジェクトで学んだこと

     - Python(Flask)
     - Python ORM
     - Flask 배포방법

    7.プロジェクトにおける目標技術

     - 자동완성 속도 비교 (RDBMS VS REDIS)
     - 캐싱전략

    8.個人的に挑戦する部分

    - 개발 일정 맞추기
    - gitflow를 활용한 협업하기