DeNA社内の技術共有会でFastAPIの便利さについて語った資料です。 ▼ 要点 ・機械学習の推論API立てる用途ならFastAPIが便利 ・型定義で開発UXばっちり ・ドキュメント自動生成でつなぎこみも円滑 ▼ ソースコード https://github.com/amaotone/fastapi-example
こんにちは、けんにぃです。ナビタイムジャパンで公共交通の時刻表を使ったサービス開発やリリースフローの改善を担当しています。 今回は Python 製の Web フレームワークとして FastAPI を導入した話をしようと思います。 Python 製の Web フレームワークPython には代表的な Web フレームワークが 2 つあります。 ・Django: フルスタックフレームワーク ・Flask: マイクロフレームワーク Django は大規模開発向け、Flask は小中規模開発向けと言われますが、今回開発したサーバは小規模なサーバだったため、以前は Flask で開発していました。 しかし、どちらのフレームワークを使う場合でも下記のような機能を使おうとするとプラグインやサードパーティの助けを借りる必要があります。 ・OpenAPI ・JSON Schema ・GraphQL ・We
先日、docker-composeを使ってFlaskアプリを構築しQiitaで紹介しました。 ■Flask+Docker+Vue.js+AWS...でゲームWebAppを作ってみた。 ■Githubにソースコード、ゲームルールを公開中 今回は、Flaskアプリ開発でのdocker-compose構成を掘り下げてまとめてみました。 複数コンテナでのWebアプリ開発を検討している方の参考になればと思います はじめに 最初はとっつきにくいコンテナ化技術。しかし、一度慣れると手放すことができません。 Dockerは実は楽 コマンド1行で環境を再現 環境作るのが楽 Docker-Hubから該当のimage取ってくるだけ どんな環境でも同じように開発 コンテナに環境を閉じ込めているのでwinでも、macでも同じように動きすぐに開発できる システム構築過程をコード化できる いろいろと環境を試せて、簡単に
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello, World!' #追記 if __name__ == "__main__": app.run() これだけでRailsで言うところのコントローラとルーティングが実装できました。 簡単すぎるっ...! 以下簡単な解説 1行目:Flaskをインポートしています。 2行目:Flaskをappに定義して使えるようにしています。 4行目以降:ルーティングの設定とアクションを定義します。今回の場合http://{ドメイン名}/にアクセスしたときHello, World!を返します。 8行目以降:チュートリアルには記載されていない内容ですが追記しました。hello_world.pyを実行したときにウェブサーバを起動します。 実
これは? APIを作リたい。Flask+MySQLで作りたい。そしてDocker化したい。 この手順をメモとして残す。個人的にDocker化するところが良く分かっていないので、ここを集中的に。 やること Flask単体で簡単なAPIを作る。 1をDocker化する。 MySQLを用意する。 FlaskとMySQLの連携をdocker-composeで実行できるようにする。 1. Flask単体で簡単なAPIを作る。 まずなんでもいいから単純なAPIを作る。今回は、会員リスト(仮)から条件にあうデータだけをリストにして返すものを作ることに決めた。 下のファイルから、prefectureがリクエストのパラメータと一致するmail_addressのリストを返却する機能を作る。 mail_address,sex,age,name,prefecture hoge1@gmail.com,male,18
Python、Flask、PyTorchを使って画像認識アプリを作ってみます。 この3つを組み合わせれば、お手軽かつ爆速でデモアプリを作れます。 前置き Flaskとは Python用のWebフレームワークです。 PythonのWebフレームワークはDjangoが有名ですが、Flaskは軽量を売りにしています。Djangoに比べると機能や拡張ライブラリは少ないですが、制約がある分コードもシンプルになり、お手軽にアプリケーションを作成することができます。 環境構築も簡単にできるのでWebアプリケーションのプロトタイプを作るのに向いています。 Flaskと画像処理、機械学習との親和性の良さ Pythonは機械学習関連のライブラリが充実しており、デファクトスタンダードになっているのは周知のことです。またPythonはOpenCVやPillow(PIL)などの画像処理ライブラリも充実しており、ネッ
初めに この記事はWebアプリ開発未経験の筆者が1週間でWebアプリを開発してサービスを公開するまでにやったことのまとめです。MacOSでの開発を対象としています。実際にやりながら書いていったこちらの記事を校正したものになります。 この記事の想定読者層 筆者のスペックは 応用情報を持っているので「HTTP通信」とか「サーバ」とか「データベース」とかの存在は知っているが、詳細も使い方も全く分からない 競技プログラミングをちょっとだけやっているのでロジック部分の実装はちょっと得意 仕事はエンジニアとは全然関係無いことをやっているし、当然個人で何かを開発したことも無い という感じです。 恐らく「ProgateとかでPythonとかHTMLのチュートリアルはやったことがあって多少は書けるし、データベースとかサーバとかとうまいことちょちょっとやればWebアプリとか作れるんだろうなぁ、と思っているけど
FlaskでAPIを作りました. そのときに調べた情報がチュートリアルレベルが多かったので,実際に書いたコードを紹介できればと. 随時追記していきます. 対象者 FlaskでちょっとしたAPI作りたい 環境 Mac Python 3.6.0 Flask==1.0.2 Flask-API==1.1 ソース ここにおいてます. https://github.com/monkeydaichan/flask-sample Code JsonをPostしてJsonが返ってくるPostAPI postするjsonのデータは{"name":"monkeydaichan"}です. 戻り値は{"data":{"id":1,"name":"monkeydaichan"}}こうしてます. # coding:utf-8 import json from flask import Flask, jsonify, m
レストラン事業部エンジニアの id:ninjinkun です。 一休レストランでは10年以上動いているシステムをPython 3で書かれた新システム(以下restaurant2)に順次移行する作業を進めています。現在ではPC用のレストランページ や主要な API を含め、いくつかのページがrestaurant2で提供されるようになっている状態です。本記事ではこの移行の経緯と、restaurant2システムの詳細、Pythonを選んだ理由、現在の進捗状況をお伝えします。 経緯 一休レストランはサービスローンチ時よりClassic ASP(言語はVBScript)でシステムが構築されてきました(こちらに驚かれる方も多いと思いますが、歴史的経緯という言葉で強引にまとめて話を先に進めます)。このシステムは現在も一休レストランを支えているのですが、長年の改修による複雑性の増加、言語の古さ、言語機能の
AWSのEC2、amazon linuxです。 $ sudo yum install -y python36 $ sudo pip-3.6 install flask $ vi ~/hello.py # 以下の内容で作成作成 from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello World!' if __name__ == '__main__': app.run(host='0.0.0.0') $ python36 hello.py * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) localhost:5000をcurlしてみる。 $ curl http://127.0.0.1:5000 127.0.0.
簡単な機械学習とWebアプリ Webサイトからの入力に対して、機械学習で作った判定モデルで結果を画面に表示する簡単なデモアプリを作ってみました。 アヤメのがく片と花びらの大きさ(縦、横)を入力すると、品種を判定して表示します。 コードはこちらにあります。 https://github.com/shibuiwilliam/mlweb 全体像 こんな感じです。 がく片や花びらを入力するフロントエンドと判定して結果を返すバックエンドという構成です。 スーパーシンプルです。 言語はPython3.6で、Webにはflaskとwtform、機械学習にはscikit-learnを使っています。 使い方 開発環境はCentOS7.3とPython3.6です。 ライブラリとしてflask、wtform、scikit-learn、Jupyter Notebookを入れています。 この辺は概ねAnaconda
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く