開発– category –
-
自宅サーバ/VPS/クラウド
家庭用なら1ベイNASで十分だ
最近、ReadyNAS 104のハードディスクが1つ逝った。で、それを機にNASの構成について考えた。ReadyNAS 104は4ベイNASで、なにも手を付けなければハードディスク4台構成のRAID-5が構築される。これはまぁ便利で、ハードディスクが1つ逝っても新しいものと入れ替えるだけで元通りになる。元通りになる、が……。 ……意味ある?ということに気づいて... -
サービス開発
このチームが20%ルールを採用できないたった一つの理由について
Googleで有名な20%ルールは、エンジニアにとって垂涎の羨ましい制度だ(一時期なくなったという噂を聞いたが、今はどうなっているんだろう?)。憧れるよね。いいよね。わかる。僕もできることなら取り入れたいと思う。 でもダメです。ごめん。このチームではできません。しないんじゃなくて、できないです。多分、言えばわかってもらえると... -
サービス開発
ユニットテストを書き始めて得られた効果、困っていること
ここ数ヶ月ほど、ユニットテストを書くように努めている。と言うと、むしろ今まで書いていなかったのかとお叱りを受けそうだが、書いていなかった。今のプロジェクトは某社から引き継いだものだが、ユニットテストは書かれていなかった(ゼロではないが)。 例によって周囲に先達がいなかったので、自分で勉強して始めるしかなく、とにかく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だと引数とかいろいろ違ったので、バージ...