2018-01-01から1年間の記事一覧

AWS Lambda 上での Python API サービスをローカルでも検証するために serverless-wsgi を利用する

serverless framework を使って Web API を作りたいと思っていて色々調べていたのだけれど、以下のような場合にどうしようかなあと思っていた。 AWS S3 Bucket上に展開したWeb Hosting上からAPI Gateway経由でサービスを叩くアーキテクチャ つまり別途フロン…

WSL on Dockerでbridgeネットワークを使うと通信速度がやけに劣化する

Windows Subsystem for Linux に apt 経由で docker をインストール*1したものの、どうにもこうにも処理が遅い。 元々のきっかけは docker をビルドに利用する別のツールを利用していたのだけれど、1ビルドに数十分かかるのでいったいなぜだと調べ始めたこ…

serverless frameworkでpublic repositoryに含めるべきではないデプロイ情報を扱う

AWS

AWS Lambdaの開発環境としてServerless Frameworkを使ってみることにしました。Frameworkと銘打っていますがソフトウェアの中に組み込んで使うフレームワークではなく、各種のSource Code as a Serviceに対するデプロイや運用をサポートしてくれるためのツー…

ファイル操作をmock化する

open とか codecs.open でファイルを開く場合は基本 with句で使っているので単純にopenをモックに書き換えようとすると相当面倒くさい。そのために mock_open という関数が用意されている。 open() をコンテキストマネージャーとして使う方法は、ファイルが…

Github上のPythonプロジェクトに必要なテストツールとCIツールのセットアップを行った話

Githubに公開するなら、普通のPython関連の周辺ツールのインストールや設定をしてみようと、色々と試行錯誤したところでハマったところとかポイントとか工夫とかのメモ。今回はプロジェクトの構造は boto3 のものをまねることにした。対象プロジェクト - htt…

nosetestsをWindows Subsystem for Linuxで使う場合の注意点

Pythonのunittest実行ライブラリの nose ですが、ファイル名に test がついているテストファイルを nosetests コマンドで自動検索しようとしても全然引っかからない事象に遭遇。 一応、直接ファイルを指定すれば実行はしてくれる。で、色々なところを見て回…

ボードゲームカード自作補助のためのツール testplay-card-generator のα版を公開しました

別の名義を使ってはいますが、個人的な趣味でボードゲームの自作などをやっています。 そういったゲームを作る中でも汎用性が高く、印刷しやすいコンポーネントにカードがあります。で、実際にルールを考えてテストプレイをするタイミングで実際に考えた内容…

複数の画像から印刷用のpdfファイルを作成する(Python, ImageMagick)

複数の画像をまとめて1回の印刷で対応できるような PDF ファイルを作りたい場合にどうするか。 Python上でプログラムによって pdf ファイルを生成する AWS Lambda Python で PDF 作りたくてどうしようかと思って調べていたけど、Pillow(PIL) と reportlab …

MFAによって認証された有効期限付きのAWS Access Keyをできるだけ楽に使いたい

AWSのIAMユーザーを作って権限を与えて管理している場合、やっぱりふとしたミスが怖い。例えば、AccessKeyとSecretAccessKeyをプログラムの中に埋め込んでしまっていることを忘れて public repository にコミットしてしまったりなど。 そもそも、profileをち…