開発– category –
-
サービス開発
ユニットテストを書き始めて得られた効果、困っていること
ここ数ヶ月ほど、ユニットテストを書くように努めている。と言うと、むしろ今まで書いていなかったのかとお叱りを受けそうだが、書いていなかった。今のプロジェクトは某社から引き継いだものだが、ユニットテストは書かれていなかった(ゼロではないが)。 例によって周囲に先達がいなかったので、自分で勉強して始めるしかなく、とにかくK... -
自宅サーバ/VPS/クラウド
とにかくCloudSearch + boto3で全文検索するために学習する
サイトの全文検索のためにCloudSearchを使う、と決めたのはよいものの、取っ掛かりに苦労したので、とにかく「インスタンスをたてる」→「ドキュメントを登録する」→「検索して結果を取得する」までのなんとなくの流れを超ざっくりとメモ書き。そのうちちゃんとまとめたい。 参考にしたリンクとか書籍とか 公式 Amazon CloudSearch ドキュメン... -
プログラミング
SendGridのAPIでPythonライブラリ(6.0.5)を使って添付ファイルを送信する
SendGridのAPIは、Pythonで使えるものがGitHubで公開されていて、便利に使える。まぁだいたいのことはGitHubのページを見るのが一番良いのだが、自分でさっと使う用に、メモ書きしておく。 環境 環境は以下。 Python 3.7.3 sendgrid-python 6.0.5 GitHubのページは「GitHub - sendgrid/sendgrid-python: The Official Twilio SendGrid Led, C... -
サービス開発
バーンダウンチャートがバーンダウンするまでの半年間の苦闘の軌跡
見よう見まねで始めたアジャイル開発は、苦難の連続でした。最大でもせいぜい5人程度の少人数のチームだというのに、まったくまとまらず、チームは崩壊寸前(正直言って今もいつ壊れるかわからない)。 それでも、頑張って続けました。そして苦節半年、スプリントのバーンダウンチャートが、ようやくバーンダウンしたんです。感動です。そし... -
自宅サーバ/VPS/クラウド
DynamoDBのテーブル設計をするとき、自分に問いかけていること
DynamoDBをいじり始めてかれこれ一年くらい。見よう見まねで騙し騙しやってきたが、色々と痛い目を見てわかってきたこともある。転んで生傷つくりながら、テーブル設計をする際に考えるようになったことを、備忘録的に記述していく。 オートスケールの話はしない(わからない)。インフラ専門部隊がいないなら、オンデマンドがいいよ。人的コ... -
自宅サーバ/VPS/クラウド
S3 + CloudFrontでS3にファイルをアップロードしたら自動でキャッシュをクリアする
S3 + Cloudfrontでサーバレスな感じを出す場合、S3にindex.htmlなりなんなりアップロードしたら、エッジサーバー上のキャッシュもクリアしてもらわないと困る。 ということで、S3にファイルをアップロードしたら、自動的にキャッシュクリアするようなLambdaを作成する。S3 -> LambdaのところはCloudformation使います。 仕組み 仕組みとし... -
プログラミング
C1801: Do not use len(SEQUENCE) to determine if a sequence is empty (len-as-condition)と怒られた時
pylintを使っていると、C1801: Do not use len(SEQUENCE) to determine if a sequence is empty (len-as-condition)と怒られました。原因とその回避方法について。 pylintで怒られる たとえば以下のようなコードを書く。 test_list = [] if len(test_list) == 0: print('empty') 特に間違いというわけではなく、きちんと動作する。が、py... -
プログラミング
Python + SendGrid API でメールを送信する
SendGridのPython用ライブラリを使ってメールを送信するメモ。なんか妙にいろいろハマってしまった。。。 バージョンは5.6.0で現行6.0.2よりちょっと古い。引数とか割と違うし、結局ソースコードみるのが早い。。。 環境 環境は以下。 macOS mojave 10.14.4 python 3.7.3 sendgrid 5.6.0 最新の6.0.2だと引数とかいろいろ違ったので、バージ... -
自宅サーバ/VPS/クラウド
DynamoDBにboto3でトランザクションな書き込み
DynamoDBはトランザクションをサポートしている。とはいえ基本的に原子性を求められるようなユースケースでは使わないほうがよいと思うけれど、できると幅が広がるので、覚えておいて損はない。ということで、boto3での使い方のメモ書き。 やること 以下のようなテーブルを作る。 テーブル名 transact-test パーティションキー user_id use... -
プログラミング
Web APIのエンドポイントを考えるときの自分の指針
タイトルまま。APIを作り始めてまだ1年にもたたない若輩者だけれど、自分なりに勉強して考えてきたことをまとめる。まぁそのレベルなので初心者向け。Web APIの設計でエンドポイントをどうするか、自分がどういう理屈で考えているのか、一緒にやっている人たちに伝えるための記事であり、備忘録でもある。 極論、APIは一つでなんでもできる A...