タグ

ブックマーク / happyquality.com (10)

  • [さくらのVPS]サーバー監視がとても捗るlogwatchを入れてみた

    logwatchとは、サーバのログを解析しやすい形に変えて通知してくれる便利な監視ツールです。デフォルトの設定なら、/var/logにあるログをひと通りチェックして、サービスごとに、そして見るべきチェック項目ごとに、見やすいかたち整理してメールで通知してくれる、とても気の利いたサーバ監視ツールです。 チェックしてくれるサービスは環境によって異なると思いますが、僕の環境だとデフォルトで下記のサービスをチェックしてくれています。 たとえばApacheのaccess_logひとつとっても、手作業でチェックするのは(僕にとって)途方もない作業ですが、logwatchが届けてくれるログメールを見れば、どのIPアドレスからおかしなアクセスがあるとか、エラーレスポンスコードごとに、どのパスに対してのアクセスで何回エラーが出ているとか、ひと目でわかります。 僕みたいな素人でもこうした情報を元にすれば、不正

  • [CakePHP]htmlヘルパーを<link rel=”canonical” />に対応させる

    SEO的な事情で<link href=”URL” rel=”canonical” />を特定のページに入れる必要があったのでそのメモ。 html->cssの引数にrelがあったのでViewで$html->css(“URL”, “canonical”, array(), false));でできるかなーと思ってやったら、残念。 type=”text/css”が出てしまって、思うようにできませんでした。 なので、#6309 (Canonical meta tag in HTML Helper) – CakePHP : The Rapid Development Framework for PHP – Tracこちらのようにhtmlヘルパーを変更し*1 、該当アクションのViewで、 echo $html->meta("canonical", "URL", array(), false); しまし

    [CakePHP]htmlヘルパーを<link rel=”canonical” />に対応させる
  • [Cakephp]Inflectorのメソッドって何があったっけ?なメモ

    クラスのメソッド :: Inflector :: 実用的な各種の組み込みライブラリ :: マニュアル :: 1.2 Collection :: The Cookbook よく使うのに、いつも忘れるInflector。 単語を複数形にしたり単数形にしたり、キャメル記法にしたり、人間に読みやすい切り分けをしてくれたり?とにかく便利なInflectorですが、いっつもクラス名を忘れてしまって、検索することすらできない有様。最後には、じゃあ仕方ねーかとCakePHPのマニュアルページを見る羽目になるのでございます。 ……毎度大変なので、自前でメモ。 以下、マニュアルから転載

    [Cakephp]Inflectorのメソッドって何があったっけ?なメモ
  • [CakePHP][jQuery]Ajaxで論理値を変更(自分用メモ)

    例えば、「入金済み」「未入金」みたいなフラグがあったとして、 jQueryを使って画面変遷無しで変更する方法のメモ。 ※あくまで自分用のメモです。読んで頂いた方に理解できるように書く自信がありません。ごめんなさい。 やりたいこと 変更操作する一覧形式のビュー 【サンプル】 一覧形式のビューの一番上に下記コードを記述 一覧表の入金ボタン(入切)には、onclickでchangePayFlag(id);return false;を記述 *1 <?PHP echo $javascript->codeBlock( ' // 入金ステータス変更 function changePayFlag(id) { $.ajax({ url: "'.$html->url("change_pay_flag").'", // ここで変更処理するアクションを指定($html->urlを使用) type: "POST",

    [CakePHP][jQuery]Ajaxで論理値を変更(自分用メモ)
  • [PHP][メモ]post_max_sizeを超えるアップロード時のエラー処理

    post_max_sizeを超えたファイルをアップロードすると、 「Warning: POST Content-Length of …」というエラーが出てPOSTする内容が消えてしまいますよね。 どうやってエラー処理をしようか悩んでいたら、 以下の参考記事を発見。 参考 PDFファイルをサーバーにアップし、 そのPDFファイルをダウンロードする際、 ブラウザにPDFファイルが開くことなく、 ダイアログが出るように設定するようにしたいと考えて.. – 人力検索はてな PHPを使ったファイルアップロードで php.ini の制限越えた場合にはどのように処理されるのでしょうか? 越えると単に $_POST を array() に設定して、データおくらないで.. – 人力検索はてな 対策 post_max_sizeに失敗した場合には$_POSTがarray()で返り、$_SERVER[“REQUE

    [PHP][メモ]post_max_sizeを超えるアップロード時のエラー処理
    bojovs
    bojovs 2009/09/26
  • [CakePHP]paginateでbindModel

    これはみんなは知ってることなんだろうなぁと思いつつPOST。 僕は少々気付くのに時間がかかりました。 問題 paginateでbindModelしてもうまくいきません (><) 回答 paginateでbindModelを使うときはbindModelの引数にfalseを渡しましょう $this->Model->bindModel($bind, false); $this->paginate = array( "Model" => array( "conditions" => $conditions, "limit" => 30, "order" => array("Model.created" => "ASC"), ), ); $lists = $this->paginate("Model"); 解説 bindModelの第2引数はクエリを投げた後にbindをリセットするかどうかのフラグで

    [CakePHP]paginateでbindModel
  • [CakePHP]タグの絞込み機能

    HABTMのタグの絞込み機能のお話 CakePHPで、あるテーブルに対してHABTMで持たせたタグを絞り込んで表示させる機能を、散々苦労してやっと実装できたのでメモしておきます。*1 説明のためにCakePHPのブログチュートリアルのモデルをさらに簡略化して、それを元に説明してみます。 Model 規約に従っていれば必要の無いプロパティも記事に汎用性を持たせるために書いておきますね。 記事テーブル テーブル:posts モデル:Post フィールド:id, article, created, modified*2 class Post extends AppModel { var $name = "Post"; var $useTable = "posts"; // 規約に従えばいらない // 規約に従えば$hasAndBelongsToMany = array("Tag");でOK va

    [CakePHP]タグの絞込み機能
  • [CakePHP]Cakeで初めてSSLを使ったメモ

    明後日リリースするecサイトのプロジェクトで、CakePHPwithSSLを初めて経験したのでメモ。 注文フロー(カート内と呼称)や、問い合わせフォーム、マイページなど、個人情報に関する入力フォームのあるactionはhttps(SSL)のアクセスとする。 事前準備 特定のコントローラ、アクションに対してSSLアクセス必須の定義をするために、 /app/app_controller.phpSecurityコンポーネントを追加 そのアクセスがSSLかどうかを判定するisSSLを使うために、 /app/app_controller.phpでRequestHandlerコンポーネントを追加 /app/app_controller.phpに_sslFailメソッドを追加 参考:CakePHPクッキング – 投稿の詳細: 特定のURLのみSSL接続を必須にする方法 http://cakephp.b

    [CakePHP]Cakeで初めてSSLを使ったメモ
  • [CakePHP]$session->flash()内で改行できるようにする

    コントローラで$this->Session->setFlash();でメッセージをセットすると、ビューの$session->flash();で出力されますよね? でも、改行ができなくて困る。と思ったことありません? 今更だけどVer.1.3.13で普通にbrで改行するね。もしかして前からできたんだろうか・・・σ(^_^; ) というわけで、簡単に改行できる方法をメモ。 /cake/libs/view/helpers/session.phpを/app/views/helpersにコピー session.phpのflash()メソッドの該当箇所を下記のように修正。 if ($flash['layout'] == 'default') { if (!empty($flash['params']['class'])) { $class = $flash['params']['class']; }

    [CakePHP]$session->flash()内で改行できるようにする
  • [CakePHP]DebugKitとQdmailを一緒に使うときの注意

    cakephperさんがキャプチャつきで詳しく解説してくれているDebugKitですが、当に便利で助かります。 良く今までこれを使わず開発してたな!と(笑)言うくらい便利。無いと困る、もう。 同じくCakePHPの超便利なコンポーネント、Qdmailというメール送信コンポーネントがあるのですが、Qdmailの素晴らしい機能のひとつ*1 としてCakePHPのレイアウトとエレメントを利用してメール文を生成できるという点があります。 そのため、コントローラで$this->setした値をメール文で容易に使えるというメリットがあるのですが、DebugKitとQdmailを併用するとこの機能に障害が出てしまいます*2 。 調べたところ、DebugKitが$this->viewの値を”View”→”DebugKit.Debug”に変えてしまうのがまずいようです。 ですので、とりあえずの対処として

    [CakePHP]DebugKitとQdmailを一緒に使うときの注意
  • 1