サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
oh-sky.hatenablog.com
アイドルマスター Advent Calendar 2016 14日目の記事です。 CIとは CIとは、昨今のソフトウェア開発において品質・生産性を改善するための方法論で、Continuous Integration(継続的インテグレーション)の略として知られている。 が ケイゾクテキインテグレーション? そんなこと言われてもいまいちティンと来ません。 CI・・・ CI・・・ そうか!CANDY ISLANDだ! CIの環境を整える というわけで、CANDY ISLANDのメンバーと楽しく開発できる環境を作ります。 用意するもの CIの環境構築には下記のようなものが必要です。 VCS(とそのホスティング環境) CIサーバ チャットツール ビルド結果をチャットツールにPOSTする仕組み それぞれ、下記を使用しました。 Git + Bitbucket CircleCI Slack Sqale +
RDSとは Relational Database Service AWS上にリレーショナルデータベースを簡単にセットアップできるPaaS MySQL/Oracle/MS SQL Serverのインスタンスを、マウス操作だけで、短時間で用意できる。 (MySQLでcharcter-setを変更するにはコマンドラインツールが必要) RDSで冗長な構成を作る方法 Multi-AZ 概要 プライマリとは別のAvailability Zoneに、完全同期のスタンバイインスタンスを構築する プライマリに変更を加えると同時にスタンバイも変更される。 メリット プライマリインスタンスに障害、プライマリインスタンスのあるAvailability Zoneに障害が発生すると、自動的にスタンバイがプライマリに昇格する。その際、CNAMEの変更等も自動でされるので、障害が発生しても手動オペレーション無しに引き続
CakePHP Advent Calendar 2014 16日目 Shellの作成 src/Shell/ に作成。 例えば、 AiuraShell.php を下記のような内容で作成する。 デフォルトではAppShellクラスが無い点が、CakePHP2と異なる。 必要なら自分で作る。 上記のAiuraを実行すると下記のようになる。 Taskの作成 src/Shell/Task に作成。 例えば、KanakaTask.phpを下記のような内容で作成する。 Kanakaを実行するために、下記のようにAiuraShell.phpを変更する。 Aiuraを実行すると下記のようになる コマンドからTaskを実行する Kanakaタスクのmainメソッドを実行できるようにするため、AiuraShell.phpを下記のように変更する。 CakePHP2と違い、OptionParser::addSubC
パスワードの入力無しでsshログインしたいことって、ありますよね。 例えばrsyncをcronで叩いて別マシンとファイルを同期させたい、とか。 DSA鍵ペアを使ってパスの入力無しにSSHでログインする ローカルマシン(接続する側) : local リモートマシン(接続される側) : remote ログインするユーザ : root の場合(local,remote等はご自分の環境に合わせて置き換えてください) 注意 rootがsshでログインできる状態には通常すべきではありません。 今回はLANからしか接続できないサーバなので、rootでのログインを許可しています。 またrootでのログインを許可していない環境でも、適切なファイアウォールの設置、 /etc/hosts.denyの設定、待受けポートの変更等でしっかりサーバを守ってください。 DSA鍵ペアの生成 root@local ~#ssh
RDSのMySQLインスタンスにてトリガを作成するには MySQLでは、binlogを出力する設定になっている場合、SUPER権限を持つユーザでないとトリガやファンクションを作成できない。 RDSのMySQLインスタンスは、リードレプリカの有無に関係なくbinlogを出力する設定になっており、 且つ利用者側ユーザにSUPER権限は無いため、トリガを作成しようとすると下記のようなエラーが出る。 You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) 解決手段 グローバル変数log_bin_trust_function_creatorsの値を1にすれば良い。
RDSのMySQLインスタンスはタイムゾーンの設定をすることができず、UTC固定です。 AWSの管理上の都合らしいです。 UPDATE `table_name` SET `dt_column`=NOW() WHERE `id`=1; といったようなクエリを実行すれば、dt_columnフィールドにはUTCの時刻が入ります。 日本時間を登録するにはどうすれば良いか ADDDATE(), ADDTIME()等の関数を使う 例えば UPDATE `table_name` SET `dt_column`=ADDTIME(NOW(), '09:00:00') WHERE `id`=1; UPDATE `table_name` SET `dt_column`=ADDDATE(NOW(), INTERVAL 9 HOUR) WHERE `id`=1; UPDATE `table_name` SET `d
PostfixからSESにメールを投げる方法は2種類ある - STARTTLSを使用する方法 - SMTPsを使用する方法 Postfix自体の設定はSMTPsを使う方がシンプルであるが、 SMTPsを使用する場合はStunnelという別のデーモンが必要になる。 STARTTLSはPostfixだけ(別のモジュールは使うが・・・)の設定で使用できるので、 今回はSTARTTLSを使う方式を選んだ。 STARTTLSを使用する場合のメールの流れ -----------Webサーバ--------------- |webアプリ,cron,etc... -> Postfix | -> SES -> 宛先 ---------------------------------- ↑ この通信でSTARTTLSする 前提 Verified Sendersの設定は済んでいる SMTP Settingsにて
m1.small 以上のインスタンスにはswap用のデバイスが存在し、デフォルトでswapとしてマウントされるようですが、残念ながらt1.microインスタンスにはそれがありません。 t1.microインスタンスでの free コマンド実行結果例 $ free total used free shared buffers cached Mem: 626524 550784 75740 0 113388 208792 -/+ buffers/cache: 228604 397920 Swap: 0 0 0 上記のようにSwap: 0 0 0と、星のカービィ スーパーデラックスを想起させる絶望的な数字が出力されます。 Swap領域を自分で作成する ただでさえRAMが少ないt1.microでswapが無いとなると不安で夜も眠れなくなるので、 自分で用意するのが吉です。 デバイスを追加することはで
Facebook GraphAPIを使用するにはAccessTokenが必要です。 AccessTokenの有効期限はデフォルトで2時間、延長用のAPIを使用すると、有効期限が2ヶ月のAccessTokenを取得できます。 AccessToken取得用API codeの取得 https://graph.facebook.com/oauth/authorize ?client_id=APPLICATION_ID &redirect_uri=REDIRECT_URI &scope=SCOPE APPLICATION_IDには、GraphAPIにアクセスするアプリのIDを、 scopeには必要なSCOPEをCSVで指定します。 scopeについて:https://developers.facebook.com/docs/authentication/permissions/ このAPIにブラウザ
Fiddler とは FiddlerはMicrosoftが無料で配布しているWebProxyで、通過するHTTPの通信を覗き見したり、特定のリクエストに対してローカルファイルを返すようにしたり、いろいろゴニョゴニョできます。 +---------+ HTTP +---------+ HTTP +-----------+ | browser | <----> | Fiddler | <----> | WebServer | +---------+ +---------+ +-----------+ ↑ ここでいろいろゴニョゴニョ Fiddlerのインストール Webのデバッグにはとても便利なツールなのですが、Microsoft謹製のツールで、Windows版しかありません。 なのでWindowsが必要です。何かしらのVM(VirtualBox等)を用意して、XP以降のWindowsをインスト
下記コマンドを実行 # dpkg-reconfigure tzdata 表示される設定画面にてAsia/Tokyoを選択すれば、ローカルタイムがJSTになる この設定により、例えば $ date コマンドでJSTの時刻が表示されるようになる しかし、cron等でローカルタイムを使用するかどうかはまた別の話 timezoneがJSTなのにcronがUTCで動いてしまうときは、下記ファイルを確認 /etc/default/rcS このテキストファイル内で utc=yes となっていたら utc=no と書き換える するとcronがtzdataに設定したタイムゾーンに従って動くようになる この変更によるcrondの再起動の必要は無い 参考にしたWebサイト http://www.bnote.net/kuro_box/debian_date.shtml
CakeEmail::returnPath()の罠 CakeEmailクラスには $_returnPathというプロパティを操作するreturnPath()というメソッドが用意されているが、 何故かこのメソッドで設定した値は、送信時のEnvelope Fromに反映されない。 'transport'=>'Mail'の場合 transport=>'Mail'の設定だと、内部的にはPHPのmail()関数が使用される。 mail()関数を直接使用してEnvelope Fromを指定したいときは、mail()の第5引数に"-f{$envelope_from}"`というような文字列を渡す。 CakeEmailにて、それを実現するためには下記のようにする。 $envelope_from = 'return-path@example.com'; $email = new CakeEmail(); $e
Amazon SESとは Amazon Simple Email Service AWSのクラウド型メール転送サービス http://aws.amazon.com/jp/ses/ 利用料は従量課金だが、無料で使用できる範囲は広く、かなり安い印象 通常のSMTPサーバとして使っても良いし、メールマガジンの送信に使うのも良いと思う。 バウンスメールの処理はSNSを併せて使うと楽に行える(らしい) IPアドレス逆引きの設定を気にする必要がない 設定すればDKIMも使用できる Postfixの設定が三度の飯より好きという人以外は使うと幸せになれそう。 今回はEC2で動かすWebアプリからSMTPサーバとして使う目的で設定をしてみる。 SMTPサーバとして使うための設定 SMTP認証アカウントの作成 SESのダッシュボードに入り、左ペインの「SMTP Settings」をクリック 右ペイン上部にSM
このページを最初にブックマークしてみませんか?
『oh-sky.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く