最新エントリ
トップ :
2007/09/06
2007/09/06
|
カテゴリ : PHPメモ
執筆者:
itoh (12:19 pm) |
UTF-8のカタカナの正規表現 http://www.itt-web.net/xeblog/index/action_xeblog_details.1/blog_id.459.html がコメントをもらってたとおり、ひらがなを一部含んでたので、書き直し。 |
2007/09/04
|
カテゴリ : 管理人日記
執筆者:
itoh (12:55 pm) |
ネットワークパスワードを忘れて3年ほど。 電話代がかなり安くなるらしいという、最近のプランにしたいのだけど、iモードから申し込むには、ネットワークパスワードが必要らしく、DoCoMoショップに行った。 店員の対応はいいですね。 99年に加入して以来のDoCoMoユーザーなんだけど、そのときに申し込んだプラン「おはなしプラスM」はもうなくなってて、この安いサービス受けるには「プランM」というコースにしないといけなくなってた。 あと、会費無料のプレミアクラブと、固定電話登録でファミリー割引追加っていうのができてたので、それにも加入。 んで、目的の「いきなり基本料金半額」のプランだけど、すでに8年目+ファミリー+今回入ったの=38%になってて、12%の割引にしかならなかった。月額にすると、1000円いかないくらい。無料通話分が増えるとかはないからね。 安くなったからには代償がある。 それは、2年以内の解約は9800円の違約金。 ということは、1年使えば、解約金を払っても元は取れるというところか。まぁ1年なら良いか。 ちなみに、10年つかうと、1年割りになって、1年以内の解約で3800円の違約金。 これって、長期利用者にはあまりメリット感じられない施策だね。これまでの長期利用者もこれからの長期利用者も。 まぁ、「いきなり半額」は乗り換えユーザー対策だからしょうがないけど。 |
2007/08/29
|
カテゴリ : PHPメモ
執筆者:
itoh (10:26 pm) |
環境によるんだろうけど、初めて出たのでメモ。 [ethna-users:0588] Windows版PHPとqmailでEthna_MailSenderから送信できず あたりの議論とも組み合わせて。 上鍵さんの言うPHPのmail()のできの悪さって言うのも影響してる。 http://blog.poyo.jp/archives.php/id-1139994430 で、Ethna_MailSenderは、送信する直前で ってやってるんだけど、 引用:
な環境では、余計なお世話になってて、 $header_line = str_replace("\n", "\r\n", $header_line); をコメントアウトしないとExtraHeaderがダブル改行されてしまって、あふれる。 うーん。どうしたもんかな。原因がわからないからMLにもよく投げられん。 |
2007/08/17
|
カテゴリ : Javascript
執筆者:
itoh (10:53 am) |
http://blog.livedoor.jp/dankogai/archives/50797726.html より。 for (var i = 0, l = spans.length; i < l ; i++){ って、毎回spans.lengthにアクセスするのが重いということで、一度lに格納してるんだけど、だけど、カンマ区切りでなんでこんな箇所で変数宣言できるのか・・・。よく見てみると、var i=0って宣言できてる時点で「あぁ」って感じだけど、これは気が付かない。 span['onclick'] = function(){ this.style.backgroundColor = "transparent" }; って、DOM Elementにイベントハンドラをくくりつける方法なんだけど、setAttributeとか、、attachEventとかよりもこの方法のほうがクロスブラウザっぽいらしい。うそ〜ん。って感じだけど。 |
2007/08/07
|
カテゴリ : Ethnaメモ
執筆者:
itoh (7:36 pm) |
よく忘れるのでメモ $class_nameは、問題ないとして。 $action_nameは、配列で与えるといい。 たとえば、 array('inquery_index', 'inquery_*') 見たいにした場合、actionは、この中のモノに強制される。 つまり、inquery_***********っていう感じ。 で、たとえば、外からのFormでinquery_nodefined_actionとか「まだActionClassに定義していない」アクションが指定で来てしまった場合は、先頭のinquery_indexがアクションとしてFIXされる。 ここまでで十分だと思うんだけど、Fail-Safe的にEthnaは第三の引数をとる。それは、inquery_indexが仮のFallbackにしたけれども、開発中の何かのきっかけで、inquery_indexを消してしまった場合。 そんなときは、第三の引数のActionにFallbackする。ここには、絶対無くならないActionを書いておくと、fail safeなアプリケーションになるということ。 |
2007/07/25
|
カテゴリ : Ethnaメモ
執筆者:
itoh (3:54 pm) |
AppObjectをいちいちNewするのってコストかかるじゃないですか。 そこで、Managerで ってなキャッシュを作っていたんです。 普通はこれで問題ないでしょう。 ところが、私はXOOPSで使っていたので、 XOOPSのBlock処理(Ethnaで処理) ↓ XOOPSのメインページの処理(もちろんEthnaで処理) と1回のパースで2回Ethnaを起動させていました。 (Actionチェインとかじゃなくて、CMSのフローとして) すると、Block処理で作ったAppObjectのキャッシュがメインページでの処理にも生きてくるんですね・・・。 これ、AppObject内のメソッドでActionFormを呼び出さなければOKです。 ところが、AppObject内のメソッドでActionFormと連携するもの・・・たとえば、 ・AppObject->exportForm() ・AppObject->importForm() とかは、NGです。 何がって、Block処理で作られたAppObjectは、その内部参照変数afにBlock処理のActionFormを収めるからです。 そして、キャッシュ機構により、メインページでのActionFormはafに収められず、exportFormは想定外のActionFormへのExportを実行してしまう・・・・。 AppObject自体のキャッシュ機構(Ethnaネイティブの$filterや$orderが同じときにはDBアクセスしないでキャッシュしておく)とは別です。 ちなみに、Ethna2.3ではAppObjectは、newしないでEthna_Backend->getObject()するようになっているけど、こんなキャッシュの仕方はしていない。 あくまで、このちょっと特殊な状況下でのワナ。 ![]() |
2007/07/24
|
カテゴリ : Javascript
執筆者:
itoh (3:35 pm) |
ToolTipsというそうだ。 とりあえず、ここにいろいろあったので、リンク先をクリックしまくってみる。 んで、最終的に候補に残ったのは、 tooltips.js http://tooltip.crtx.org/ glt.js http://www.robertnyman.com/glt/ nicetitle.js http://kryogenix.org/code/browser/nicetitle/ 要望としては、 ・ポップさせた画面は、HTML+CSSで制御したい ・Prototype.jsベースならなんとなく ・Ajax使ってとってくるまででもない ということで、 http://www.nickstakenburg.com/playground/scriptaculous/tooltip/ とかもあったんだけど、Jsだけで見栄え部分も設定というのが抵抗あってパス。その辺は、glt.jsも同じ。 nicetitle.jsは、なかなかいいなーと思ったんだけど、Jsコードが関数ベースでうーん・・・。ってそれはたいしたことない話なのかも。 (そういうところにこだわるのってJavaScript初心者っぽい・・・) ということで、tooltips.jsになりそうな感じ。 |
2007/06/19
|
カテゴリ : PHPメモ
執筆者:
itoh (10:09 am) |
$_SERVER['DOCUMENT_ROOT']使うときって、最後に"/"が付いているのが普通と思いますか? どうも、ApacheのDocumentRootを抜き出しているだけなので、/が付いてたり付いてなかったり。Confに拠るのね。 ということで、自分ルール「/は着いてないものとする」 |
2007/06/06
|
カテゴリ : Javascript
執筆者:
itoh (6:07 pm) |
minahitoさんのポジティブシンキングサービス、riafさんのネガティブシンキングサービスに続く、日本人的文章変換サービス。 Bookmarkletで提供します。 これで、言い切り口調のブログも心穏やかに読めることでしょう。 ![]() いえ、私は使いませんが。 |

