This domain may be for sale!
おてがるにバランシング mod_proxy_balancerを使うと、普段から使い慣れているapacheでお手軽にロードバランシングを行うことができます。 設定もものすごく簡単ですね。Virtualhostの中に書くこともできるので、NameVirtualを使ったL7バランシングをすることも可能です。 <Virtuslhost *:80> ServerName example.com ProxyPass / balancer://balancer/ ProxyPassReverse / balancer://balancer/ <Proxy balancer://balancer> BalancerMember http://localhost.localnet:8080 </Proxy> </Virtualhsot>mod_proxy_balancer - Apache HTTP サーバ
CakePHPのスピードアップTIPs。 http://www.pseudocoder.com/archives/2009/04/16/one-more-tip-for-speeding-up-cakephp-apps/ コントローラの中で、$usesでモデルをいくつも書いておけば、 $this->Model1->find(); $this->Model1->Model2->find(); みたいにして快適にモデルにアクセスできるのですが、この$usesの配列にモデル名を加えていくと、一つにつき、4-6%表示時間が多くかかるとのこと。試しに7モデルを$usesで読み込むようにしたら、40%も表示時間が増えたそうです (追記:たぶんこの比較は、あるアクションで使うモデルが1つだった場合に、$usesで7モデル定義した場合と、$usesには何も定義せず、該当アクション内で1つのモデルだけloa
CakePHP 1.1.13.4450 + PHP 5系 + MySQL 4.1系にてテスト Job モデルは com_id フィールドがあって Com モデルに belongsTo Job を一覧表示するときに Com の name フィールドも表示したい Job.idJob.nameJob.com_id 1仕事A1 2きつい仕事2 3楽な仕事1 Com.idCom.name 1会社A 2会社B というデータから、 Job.idJob.nameCom.name 1仕事A会社A 2きつい仕事会社B 3楽な仕事会社A こんな感じの一覧を表示したいわけです。どうするのが効率が良いか。まず、Job モデルのアソシエーションを以下のように設定。 <?php class Job extends AppModel { var $name = 'Job'; var $belongsTo = array(
補足 この記事は旧徳丸浩の日記からの転載です(元URL、アーカイブ、はてなブックマーク1、はてなブックマーク2)。 備忘のため転載いたしますが、この記事は2010年9月27日に公開されたもので、当時の徳丸の考えを示すものを、基本的に内容を変更せずにそのまま転載するものです。 補足終わり PHPカンファレンス2010にて「文字コードに起因する脆弱性とその対策」というタイトルで喋らせていただきました。プレゼンテーション資料をPDF形式とslideshare.netで公開しています。 文字コードのセキュリティというと、ややこしいイメージが強くて、スピーカーの前夜祭でも「聴衆の半分は置いてきぼりになるかもね」みたいな話をしていたのですが、意外にも「分かりやすかった」等の好意的な反応をtwitter等でいただき、驚くと共に喜んでいます。土曜にPHPカンファレンスに来られるような方は意識が高いというの
PHPのDateTimeクラスは標準装備なのでお手軽で便利なのだけど、若干使い勝手が悪い。 なのでDateTimeを継承してちょっとした拡張をしとくと便利かと。 <?php class MyDateTime extends DateTime { function year () { return $this->format('Y'); } function month () { return $this->format('n'); } function day () { return $this->format('j'); } function hour () { return $this->format('H'); } function minute () { return $this->format('i'); } function second () { return $this->
<?php を含めなくてよいところがウリ。php-eval.el を読んでそういえば欲しかったと思い出した。 (defun my-php-eval-region () (interactive) (when (region-active-p) (let ((region-str (buffer-substring-no-properties (region-beginning) (region-end))) (result-buf "*php*") (temp-file (make-temp-file "my-php-eval-region-"))) (with-temp-file temp-file (insert "<?php \n" region-str)) (shell-command (concat "php " temp-file) result-buf) (view-buff
emacs と PHP でプログラミングをしていて、ビューをいじっていて改行したときに想定外に大きなインデントを入れられたときの事後対策です。dot.emacs に次の設定を追記します。 (defun php-acrobatic-indent-taisaku () (interactive) (if (eq last-command this-command) (indent-relative) (progn (delete-horizontal-space) (indent-relative)))) (global-set-key (kbd "M-h") 'php-acrobatic-indent-taisaku) 使い方 ▼ ここで RET したら、 ▼ いややりすぎですよ、という状況。 ▼ 上の設定で M-h すると、直前の行の単語の先頭にそろった! ▼ 以降、連続して M-h して
こんばんは。php-completion.el で、 persistent-action を用いて php.net のマニュアルを参照できるようにするハッピーハックを行いました。本体のコードを参考に、少しだけ弄って実装しました。よかったら使って下さい。僕は C-o で呼び出す関数を phpcmp-complete から my-phpcmp-complete に変更して、これから使う予定です。問題ないといいな。php-completion.el をインストール済みなら、下の設定を dot.emacs に追加すれば機能します。 (setq phpcmp-persistent-document-buffer "*phpcmp persistent doc*") (defun phpcmp-popup-document-persistent-action (candidate) (interact
php-mode 時に " == " を入力すると "Oops!" と警告が表示される elisp を書きました。dot.emacs などで php-mode の設定のうしろに次のコードを追記してみて下さい。 ;; 設定時間内でもキー入力でオーバレイは消える (setq my-review-time '5) (add-hook 'php-mode-hook #'(lambda () (make-local-hook 'post-command-hook) (add-hook 'post-command-hook 'my-oops-trigger nil t))) (defun my-oops-trigger () "直前の単語で呼び出し判定する" (and (looking-back "\\s-==\\s-") (my-operator-check))) (defun my-operato
PHPが何で扱いやすいかわかったよ!PHPタグに真理があったんだよ! <html> <body> <?php $name = "fbis" ?> 僕の名前は<?php print $name; ?>です。 年齢は<?php print $_REQUEST['age']; ?>歳です。 </body> </html> これだけで動くんだもんそりゃ便利だし分かりやすいよ。 なのでPerlでもPHPタグ使えるようにしてみました。 package PHP::Block; use strict; use warnings; use Module::Compile -base; sub conver_print { my $str = shift; return '' unless $str; $str =~ s{\x27}{\x5C\x27}g; $str = ';header() if @_HEA
php-completion.el の phpcmp-popup-document-at-point の僕なりの使いこなし方法です。検索結果をトグルで表示/非表示を切り替えられるのが特徴です。php-completion.el をインストール後、.emacs などの設定ファイルに、以下の elisp を追記して下さい。 (defun search-result-pop () (interactive) (if (equal (buffer-name) phpcmp-popup-document-buffer) (search-result-pop-out) (search-result-pop-up))) (defun search-result-pop-up () (setq search-result-last-buffer (buffer-name)) (setq search-re
HatenaSyntax \ Package \ Openpear はてな記法パーサ&レンダラをopenpearで公開しています。現在beta版です。 CodeReposに置いていたはてな記法パーサの後継ですが、コードは全て書き直されています。使い方も違います。 CodeRepos版とopenpear版との違いは以下の通りです。 pearを通してインストールする 構文木を取り出すことができる いくつか細かな部分に対応できるようになった パーサの実装が変わった pearを通じてインストールする CodeRepos版の様にファイルを一つ保存してインストール終わり、という風にはいかず、openpear版の場合はpearを通じてインストールしてもらうことになります。 インストールする方法はOpenpear :: Open PEAR Repository ChannelとHatenaSyntax \
anything.elのインターフェイスを使い、EmacsにPHPの補完を実装するマイナーモード php-completion.el をリリースしました。 インストール・設定・補完のスクリーンキャストは以下です。 php-completion.el DEMO from imakado on Vimeo. 出来る事 visual studioやEclipseライクなポップアップ補完 anything.elのインターフェイスを使った補完 GNU Globalの作ったTAGSファイルから補完候補を自動収得 etags,ctagsで生成したTAGSファイルから補完候補を収得 php.netでのドキュメントの検索 インストール方法 php-completion.elのインストール方法を書きます。 スクリーンキャストと併せてご覧ください。 以下のElispが動作に必要です。anything.el,au
追記 2011-08-14 その2でgithubにあげてます。https://github.com/tetsujin/emacs-php-align 前回のエントリでphp-modeではM-x alignが使えなかったので、perlのalignを無理やりphp-modeに当ててみましたが、所々やっぱり不具合があるのでElisp全然わからんなりに初めて書いてみました。*1 .emacsに追加すればたぶん動くと思います。Emacs 22.0.99, 21.3.1で動作は確認しました。 (require 'align) (add-to-list 'align-rules-list '(php-assignment (regexp . "[^-=!^&*+<>/.| \t\n]\\(\\s-*[.-=!^&*+<>/|]*\\)=>?\\(\\s-*\\)\\([^= \t\n]\\|$\\)")
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く