概要 boto3でのSecretsManagerの操作。 バージョン情報 boto3==1.19.10 clientの生成 import boto3 session = boto3.session.Session() client = session.client( service_name='secretsmanager', ) secretの生成 初回はcreate_secretで生成するところから。…
概要 git commit時にコードのフォーマット(black, isort)やチェック(flake8, mypy)を実行する。 バージョン情報 python 3.9.7 black 22.1.0 isort 5.10.1 flake8 4.0.1 mypy v0.931 pre-commit 2.17.0 インストール $ pip install pre-commit black isor…
概要 Lambdaがコンテナで動かせるようになったので使ってみる。 バージョン情報 aws-cli/1.18.151 hello worldするコンテナ 最低限の構成で作ってみる。 app.py という名前でhello worldするhandlerを記述する。 def handler(event, context): return 'hello…
概要 git commit時にflake8を実行してコードをチェックをする。 最低限のチェックだけする内容です。 バージョン情報 pre-commit==2.13.0 flake8 3.8.3 pre-commitのインストール pip install pre-commit .pre-commit-config.yamlの記述 プロジェクトのルー…
概要 Flaskで作成したAPIとVue.jsで通信して画面を表示するページを作成するローカル環境を作る。 バージョン情報 flask==1.1.1 Flask-Cors==3.0.9 Flask-RESTful==0.3.8 "vue": "^2.6.11" "vue-router": "^3.4.8" "axios": "^0.21.0" @vue/cli 4.5.7 Flask…
概要 Vue.jsでURLに応じて複数のページの表示を切り替える。 バージョン情報 "vue": "^2.6.11" "vue-router": "^3.4.8" @vue/cli 4.5.7 プロジェクトフォルダの作成 $ vue create routing-example $ cd routing-example vue-routerのインストール $ yarn add…
概要 vue.jsのインストール、CLIからのプロジェクト作成、hello worldの表示。 バージョン情報 nvm 0.36.0 node v12.19.0 yarn 1.22.10 @vue/cli 4.5.7 nvmからnodeとyarnのインストール nodeはnvmから入れてみる。 https://github.com/nvm-sh/nvm#installin…
概要 Pythonでモジュール、関数、クラスを名称の文字列から取得する。 バージョン情報 Python 3.7.4 事前準備 下記のようなコードを書いて foo.py というファイル名で保存する。 class Foo: def hello(self): print('hello') サンプルコードではこのモジュー…
概要 COVID-19の国内の感染状況について、自分で手を動かしてデータを確認する為のサンプルコードです。 全国データ版はこちら 感染者数のデータ 下記に掲載されているCSVファイルを利用。 https://github.com/kaz-ogiwara/covid19 都道府県ごとの数値を取り…
概要 COVID-19の国内の感染状況について、自分で手を動かしてデータを確認する為のサンプルコードです。 都道府県版はこちら 利用するデータ 下記に掲載されているCSVファイルを利用します。 https://github.com/kaz-ogiwara/covid19 自分で厚労省のデータを…
概要 TensorflowでMNISTの手書き文字認識するWebアプリをFlaskで実装し、Cloud Run上で結果を表示するところまで実装する。 モデルの訓練はローカルで行う。 前半はモデルの生成部分。後半はFlask部分の実装とCloud Runでの実行について扱う。 余談 この手の…
概要 ヒストグラム平坦化を行うPillowのequalizeとOpenCVのequalizeHistの結果を比較する。 ついでにPillowのautocontrastの結果も並べてみる。 バージョン情報 opencv-python==4.1.0.25 Pillow==6.0.0 利用する画像 下記のようなとてもかわいい犬の写真を4…
概要 Tensorflowを使ってMNISTの手書き文字をClassificationではなくRegressionで予測するという特に意味のない行為。 バージョン情報 tensorflow==1.3.1 学習処理 よくあるCNNでの手書き文字認識のモデル。 変わっているところはlayersの最後が Dense(1) に…
概要 ユーザーがパスワードを忘れた場合に、入力されたメールアドレス宛にパスワード更新用のURLを送り、パスワードの再設定を行えるような画面をFlaskで作る場合のサンプル。 サンプルコードではDB操作とメール送信については取り扱わずにスタブで済ませて…
概要 SlackのAPIでチャンネル指定ではなく個人を指定してダイレクトメッセージを送る。 バージョン情報 slackclient==2.5.0 導入 pip install slackclient 下準備 下記URLから「Create New APP」で新しいアプリを作成。 https://api.slack.com/apps 作成され…
概要 PyFPDFを使ってHTMLからPDFを生成する。 バージョン情報 Python 3.7.6 fpdf==1.7.2 インストール $ pip install fpdf 簡易なPDFの作成 まずは公式サイトの説明にもあるミニマムなコードでPDFファイルを作成してみる。 from fpdf import FPDF pdf = FPDF…
概要 PostgreSQLで大量データを投入する際にcopy from stdin with csvを使った方が早いと聞いたので試す。 バージョン情報 Python 3.6 PostgreSQL 9.5.12 psycopg2==2.8.4 サンプルテーブル 下記のようなテーブルを用意する。 create table example ( name v…
概要 Flask + WTFormsなWebアプリでvalidationを行う。 各種built-inのvalidation利用と、エラーメッセージの表示、カスタムvalidationの作成などを取り扱う。 バージョン情報 Flask==1.1.1 Flask-WTF==0.14.2 サンプルコード 今回のコードを動かす上でベー…
概要 chart.jsの折れ線グラフで時系列のデータをグラフ表示する。 バージョン情報 Chart.js v2.9.3 Moment.js v2.24.0 導入 日時を扱う場合はMoment.jsが必要になるので、下記からインストールしておく。 https://momentjs.com/ cdnjsだとこのへん。 https:/…
概要 Flask + SQLAlchemyを利用してテーブル追加・削除、レコードの登録・更新・削除、検索、リレーションを利用した検索を実行する。 データベースはSQLite使用。 バージョン情報 Flask==1.1.1 Flask-SQLAlchemy==2.4.1 ファイル構成 サンプルコードは下記…
概要 Flask+Jinjaテンプレートでincludeやextendsを用いてデザインを共通化する。下記を実装。 要素の一部をパーツ化して読み込む(include) HTMLの大枠の部分を共通化する(extends) バージョン情報 Flask==1.1.1 サンプルHTML こんなHTMLがあったとする…
概要 PythonでTomlファイルを読み込んで値を参照する。 参照した値を編集してファイル出力する。 バージョン情報 toml-0.10.0 インストール pip install toml サンプルデータ 下記のデータを読み込ませてみる。 # 適当なtomlファイル a = 0 b = "hoge" c = "…
概要 Flask-Loginを用いて簡易なログイン機能を実装する。 具体的に実装される機能は下記あたり。 入力されたユーザー名とパスワードでログイン ログアウト ログインしていなければログインページにリダイレクト user/passwordをDB等と照合するような処理は…
概要 FlaskでHTMLフォームからファイルをアップロードしてサーバー上に保存する。 バージョン情報 Flask==1.1.1 参考ページ https://flask.palletsprojects.com/en/1.1.x/patterns/fileuploads/ シンプルなファイルアップロード機能 postされたファイルをフ…
概要 Pythonのimghdrモジュールを使って画像ファイルの形式を判定する。 バージョン情報 Python 3.7.6 参考ページ https://docs.python.org/ja/3/library/imghdr.html ファイル名を指定して判定 pngファイルをimghdrで判定してみる。 test.pngというファイル…
w## 概要 gitの操作をPythonから実行してみる。 cloneしてdiffを見てbranch切ってcheckoutしてcommitしてpushするまでを実行。 バージョン情報 Python 3.7.3 GitPython==2.1.11 インストール $ pip install GitPython clone import git # urlは適宜自身が編…
概要 2019年の1月にブログの投稿を始めてからおよそ1年が経つので、その間の記事数やPVの推移、検索ワード等について確認する。 ブログの内容 扱っている内容は主にプログラミング関連の備忘録やTIPS。 頻出のカテゴリは下記。 カテゴリ 記事数 python 58 py…
概要 アクセス数等をGoogleアナリティクスからPythonで取得する。 導入 pip install --upgrade google-api-python-client 参考サイト https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/installed-py 前提条件 Googleアナリ…
概要 Personality Insightsはツイートなどのテキストから書いた人の分析をします。 具体的にはビッグファイブ(知的好奇心、誠実性、外向性、協調性、感情起伏)の分析や、ミュージカル映画を好む、楽器の演奏経験がある等の分析結果が取れる。 価格 価格は…
概要 GCPのAPIを使っているとprotobuf形式で結果が返ってくることがあるけど、そのままだと扱いづらいケースもあるのでJSONに変換する方法を確認する。 バージョン情報 protobuf==3.10.0 サンプルデータ 公式サイトによく出ているサンプルデータを生成して利…