ハウテレビジョンブログ

『外資就活ドットコム』『Liiga』『Mond』を開発している株式会社ハウテレビジョンのブログです。

ソフトウェアエンジニアリング

CakePHP で実装したメール送信フォームで、文字化けしがちな全角チルダ「〜」やハイフンを文字化けしないようにフィルターする

こんにちは、エンジニアの@soyanaです。前回記事CakePHP2 で、phpass でハッシュ化されたパスワードが保存されたユーザーテーブルを扱えるようにするに引き続き、CakePHPのTipsをお送りします。 前提として、 メールフォームの文字エンコーディングは UTF-8 …

nginxのアクセスログにユーザーIDを記録する方法

こんにちは。来週末のPyConが待ち遠しくてたまらない祖山です。 以前、Fluentdを使ってElasticsearchやBigQueryにnginxのアクセスログを流す方法をご紹介しました。 fluentdでnginxのログをElasticsearchとBigQueryに保存するお話 - ハウテレビジョン開発者…

Capistranoによるデプロイの実行時にSlack通知する方法

2児の父、@artifactsauceです。愛の重さに潰されそうな毎日です。 Slack便利ですよね。ハウテレビジョンではSlack導入してから、あらゆるコミュニケーションを集約化しています。例えば弊社ではデプロイツールとしてCapistranoを使っており、Capistranoによ…

CakePHP2 で、phpass でハッシュ化されたパスワードが保存されたユーザーテーブルを扱えるようにする

こんにちは、エンジニアの@soyanaです。 CakePHP では、バージョン 2.4 から passwordhasher という仕組みが導入され、認証オブジェクトがパスワードハッシュの生成とチェックを行うために、新たなパスワードハッシュ化オブジェクトを使うようになりました。…

fluentdでnginxのログをElasticsearchとBigQueryに保存するお話

こんにちは。夏休みに長野に行って居酒屋で馬刺しをたらふく食べていたら 地元のおっさん人生の大先輩の絡み酒に付き合わされた祖山です。 4月に入社して以降、サーバサイドのWeb開発やスクラムの導入、サイト内検索の改善など様々な業務に 取り組んでいます…

CakePHP2でコントローラーのテストをする時の redirect を無視させない

ここ2週間ほど夏風邪でお粥とうどんしか食べていなかったのに、なぜか体重が2キロ増えた津田(id:YTsuda)です。 フロントエンドを中心に開発全般何でもやっています。 今回はハマりどころの多い CakePHPのControllerのテストについて書きます。 環境 CakePHP2…

CakePHPのarray地獄をHashクラスで生きのこる

CakePHPといえば array です。一挙手一投足にarrayがつきまとう、そんなCakePHPには、複雑な array を簡単に扱うために用意された Hash というユーティリティクラスがあります。 Hashクラスはこんな方々に有効です キーの存在確認のために array_key_exists(…

AROとなるモデルのparentNodeメソッドの書き方

日本語版cookbookの中の「ACLを用いた開発例」を紹介するページで、 リクエスタ(ARO)となるモデルの設定方法が書かれている。 ACL を制御するシンプルなアプリケーション しかしこの例における parentNode メソッドの書き方は不適切なので、 英語版cookbook …

cakephp でキャッシュを無視して静的ファイルが更新されるようにする

Webサイトで、画像や Javascript、CSS といった静的ファイルを更新したときに、 エンドユーザ側では、Webブラウザにキャッシュされているため タイムリーに更新が反映されない場合がある。 Webブラウザでリロードすれば更新されるのだが、 エンドユーザは、…