log.ソフトウェア関連の技術系記事やウェブサービスに関する話題が中心。SESではドメインの認証をすることで、そのドメインからのメール送信ができるようになる。ドメインの認証をするにはSESに指定された値をDNSのTXTレコードに設定する必要がある。<認証コード>で、認証が通りました。書式があるから、なにかそういう書式が必要なのかと思って迷いました。rejected」と言われてメールを送信できなかった。vultrのせいだった。さくらのメールボックスを借りてPEAR::Mailでメールを送信しようとしたところ、メールが送信できず困った。設定することでSMTPのやりとりを出力してくれる。rejected」というメッセージがでて接続が切れていた。なんとも不可解な動作にずっと悩んでいたが、どうもvultrというクラウドを使っていたことが原因のようだった。こちらのブログを見つけられなかったらずっと悩んでいたかもしれない。Vultrからメールが送れないのでSendGridを使うこのブログのリンク先の公式サイトにて、下記のメッセージを確認。form.しかし認証までうまくいくのは何故なのか謎すぎる。接続もできない状態であればすぐ気づいたのだけど。解決策としては、やはりクラウドサービスを利用することにした。AWSは使い慣れているのでAWSのSESを使うことにした。EC2以外から使う場合は無料枠がないようなのでちょっと微妙だけれどほとんどメールなんて飛ばないだろうからいいやという判断。共有2015年4月24日金曜日Androidでリンクを強制的にChromeで開く方法リンクを強制的にChromeで開く方法を30分くらい探しまわったところやっとこさStackOverflowで見つけた。http://stackoverflow.com/questions/29250152/what-is-the-intent-to-launch-any-website-link-in-google-chromeとても助かります。href="intent://stackoverflow.com/questions/29250152/what-is-the-intent-to-launch-any-website-link-in-google-chrome#Intent;scheme=http;package=com.android.chrome;end">テスト</a>強制的にChromeで開くのではなく、ユーザーにURLを開く方法を選択させる方法。href="intent://stackoverflow.com/questions/29250152/what-is-the-intent-to-launch-any-website-link-in-google-chrome#Intent;scheme=http;action=android.intent.action.VIEW;end;">テスト</a>Chromeでしか動かないWebアプリに飛ばす場合なんかに使いたいですね。理解すると色々応用が効きそうです。アプリケーションのデプロイ」という記事があがっていた。僕の関わっているプロダクトでもDockerを採用していて、ほとんどデプロイの仕方が同じだった。私の構成クックパッドさんと異なる点としては・Nginxもコンテナとして起動している・UnixソケットではなくコンテナのIPを直接してアプリケーション・サーバーと繋げているというところ。あと環境変数の共有とかはいまのところ必要性を感じていないのでやっていない。うちのNginxの設定はちょっとトリッキーかもしれない。設定ファイルはerbテンプレートから出力する。変数は環境変数として持っておく。Nginxの向き先を新しいアプリケーション・サーバーに向けるスクリプトはこんな感じだ。%>/;}Nginxに限らず多くの設定ファイルがerbテンプレートを使用している。基本的に設定の変数には環境変数を使っていきたいと考えたが、多くの設定ファイルは環境変数を参照するといったことはできない。sedなどでは対応しにくいパターンもある。柔軟に対応できるようにテンプレートシステムを使うことにした。erbにこだわりがあるわけではなくphpでもよかったと思う。最初に導入したのがruby製であるfluentdの設定ファイルを作成していたときなので自然と?erbになってしまっただけだ。基本的なオペレーションはAnsibleで包んでいる。新しいAPIサーバーをデプロイするには下記のようなコマンドを実行するだけでいい。"version=1"ansible-playbookを実行するWebフロントエンドも開発済みで開発環境では既にAnsibleのコマンドを叩く必要もないところまで自動化できている。課題Dockerによるデプロイ体制は整ってきたが、気になっているのが修正の反映をするのにかかる時間だ。ソースを修正して環境に反映するのには下記の手順が必要になる。手順にどうしても時間がかかってしまう。pullするだけで反映が終わるような仕組みも用意すべきか否か悩んでいる最中だ。マテリアルデザインのためのCSSフレームワークMaterializehttp://materializecss.com/Bootstrapに飽きてきたので別の何かを探していて行き着いたのがMaterializeだった。マテリアルデザイン用のCSSフレームワークだとGoogleが作っているPolymerがあるけどシングルページアプリケーションが前提の設計になってて使いにくい。Bootstrapみたいなグリッドシステムがないのでグリッドシステムが欲しい場合は別途導入する必要がある。Materializeはシングルページではないウェブアプリケーションでも使えてグリッドシステムも備えている。UIという競合フレームワークがあるけどReactベースなので単純に適用できない。僕はキメ顔でそう言った。僕はキメ顔でそう言った。(Atom)プロフィール@santa128bitdotneet主にウェブ・モバイルアプリの開発をしているソフトウェアエンジニアです。僕はキメ顔でそう言った。