SimplePie EUC-JP 文字化け対策(仮対処)

2011/06/09 木曜日 10:02 投稿者 zon

CakePHP + SimplePie コンポーネントで一部の Feed が文字化けしていた。

※参考
SimplePie CakePHPのコンポーネント | The Bakery, Everything CakePHP

調べてみたら、ファイルの文字コードや改行コードが原因で文字化けする事象があるらしいので、全ファイルをチェックしてみると、いくつか CRLF が混ざってたり、SJIS だったりするところが見つかったので対処した。

※WinSCP + サクラエディタで直接編集する場合があるが、設定が適当だった(対処済み)ので混ざったみたい。今までほかの問題がでなかったのが不思議。

取得した文字が化けた。だいたいファイルそのものが原因だろうと思って調べると、 simplepie.php が SJIS + CRLF だったので、 UTF-8 + LF にして解決。

pc.casey.jp ≫ [CakePHP] RSSを取得する

しかし、文字化け問題は解決しない。

『SimplePie EUC-JP 文字化け対策(仮対処)』の続きを読む »

CakePHP でファイルアップロードするプラグイン

2010/05/18 火曜日 19:57 投稿者 zon

CakePHP でファイルアップロードの方法を調べていたら、Media Plugin for CakePHP というのが評判よさげだったので使うことにした。

サンプルとしてつくってみたのが以下。
シームレステクスチャ

ちょっと前にやったのでかなり忘れてきているけど、少しでも覚えているうちにやったことメモ。

基本的には下記の記事にやりたい事はほとんど書かれている。
多少違うところも、そこから貼られているURLを追いかければほぼ解決。
mediaプラグインまとめ – 趣味の延長線

『CakePHP でファイルアップロードするプラグイン』の続きを読む »

リンククッションのメモ

2010/05/14 金曜日 20:53 投稿者 zon

連休中に、いろいろと CakePHP の Plugin 的なパーツを作っていて、なかには管理画面が必要なものもあったりして、さらに、その管理画面から外部リンクをはりたいものがあったりもすると、ちょっと悩む。

悩み事

管理画面から直接外部リンクをはると、管理画面のURLがリファラとして渡されてしまう。
管理画面のURLは、第三者にはあまり知られたくない。

自作でリンククッションを作るのが手っ取り早い。
リンククッションだからという理由でドメインごとアクセスブロックされるのも困る。

リファラは空にしておく必要がある。

『リンククッションのメモ』の続きを読む »

サーバは、VALUE DOMAIN の XREA と CORESERVER を主に使ってます。

XREA や CORESERVER で Webアプリケーションとして公開する場合は、public_html 配下じゃないとアクセスできない。だからといって、public_html 配下にフレームワークの公開しなくてもいいものまで置くのはセキュアではない。URLも美しくない。

そのため、アプリケーションとしてWebからアクセスする部分だけを切り離して public_html 配下に置き、パスの部分を書き換えていた。

それでも、それなりに便利ではあるけど、できるだけ無駄なことはしたくないし汎用性が低くなる。

また、XREA や CORESERVER でサブドメインや複数のドメインを使用する場合は、「public_html/ドメイン名」でフォルダをアップロードしなくてはいけない。このため、public_html 直下をちゃんと整理できない人はごちゃごちゃしてイライラする。

公開する部分とその他の部分を分けているので、開発やメンテナンスをする時にあっち行ったりこっち行ったりで面倒だったりする。

シンボリックリンクがその辺を一気に解消した。

『フレームワークを使うならシンボリックリンクを張ると便利』の続きを読む »

Maple Project と Usagi Project がコラボレーション

2007/12/02 日曜日 17:52 投稿者 zon

オープンソースとしてSNSを開発しているUsagi Projectとコラボレーションをさせてもらうことになりました。

Maiple Project:[Maple] コラボレーション

この度、PHPフレームワークの「Maple Project (http://kunit.jp/maple/)」と、PHPライセンスでSNSエンジンを開発している「Usagi Project (http://usagi.mynets.jp/)」が、プロジェクトとしてコラボレーションし、今後の開発を共同で行うことを決定しました。

Usagi Project:国産のOSSフレームワークMaple Projectと、SNSエンジン開発OSSのUsagi Projectがコラボレーション!!

しばらく Ethna を使ってWebアプリを作ってみたものの、もうひとつしっくりこなかったというか、Ethna のよさを十分に活かせていないような気がして、他のフレームワークを使ってみようかと調べてみた結果、CakePHP を試してみようと思って、いろいろと CakePHP の情報を集めているところのでこのニュースを知りました。

『Maple Project と Usagi Project がコラボレーション』の続きを読む »

Ethna Controller のトレースをメモ

2007/08/07 火曜日 0:09 投稿者 zon

Ethna_Controller の大まかな流れをメモ。

  • バージョンは、2.3.2
  • トリガーは、GATEWAY_WWW

『Ethna Controller のトレースをメモ』の続きを読む »

404 Not Found でリダイレクトの勘違い

2007/08/02 木曜日 1:43 投稿者 zon

アクセスしたページに対して、サーバサイドリダイレクトや、meta要素のrefreshを用いたページリダイレクトをオンラインで検証することができる、リダイレクト検証ツールというWebツールがあります。以下に書かれているものがそれです。

リダイレクト検証ツール

いきなり、リダイレクト検証ツールの話から入りましたが、今回は404エラーとリダイレクトの話です。

ことの始まりは、前回の宅建の試験に合格するぞぉの記事で書いた 『404エラーを返してトップページにリダイレクトするようにしている。』 の部分ですが、書かれてある通りで、header() で、『404 Not Found』 を返して、そのまま header(Location: URL) でリダイレクトしていました。

リダイレクトを正しくできていないと、検索エンジンにスパム扱いをされるとどこかで目にしたので、正常にリダイレクトされてるか、上記のツールを使って調べてみました。そしたら 『302 Found』 を返してリダイレクトしているという結果がでたのです。

で、『HTTP Status』 で検索してみると [Studying HTTP] HTTP Status Code にたどり着いたのですが、これを見た感じだと 3XX を返す時意外はリダイレクトするのはダメなのではという気がしてきました。

また、404エラーでリダイレクトするのは使いづらいというようなこと書いてる人もいました。理由は 『ブラウザのアドレスバーに直接URLを打ち込んだ時に、タイプミスでリダイレクトされたら初めから打ち直さないといけないから』 というようなことだったのですが、ごもっともです。自分はトップページにリダイレクトしたほうが、ユーザや検索エンジンにやさしいかと思っていたのですが、見当違いでした。

なので、404 エラー用のページを作って、リダイレクトするプラグインを修正して、不正なURLにアクセスした時は、404 エラーを返して、404 エラー用のページを表示するようにしました。

おかげで、Ethna の Ethna_Controller を少しだけトレースしたので、Filter、Action、View の流れが理解できてきて、スマートな構成になりました。ついでに UrlHandler の使い方も 『理解できてきたかな?』 くらいになりました。

Controller 部に関しては、メモしておかないと忘れそうなので、近いうちに書こうと思っています。

宅建の試験に合格するぞぉ

2007/07/28 土曜日 13:51 投稿者 zon

このたび宅地建物取引主任者資格試験に挑戦することになりました。

資格試験のためのお勉強は嫌いではなく、むしろ楽しかったりするのでそれほど苦ではないのですが、3日もしないうちに飽きてきました。

で、試験勉強用の過去問集を作りました。その名も 『宅建の試験に合格するぞぉ』 (なんと採点機能付)

前から興味ありつつも放置していた Ethna で作ってみました。

実は前にも、Ethna でとあるシステムを作ったのですが、色々な理由があったなかでも何よりエレガントな構成にならなかったので、公開する気になれなくて私のPCの中で眠ったままになってます。

『宅建の試験に合格するぞぉ』 を作るに当たって

今回 『宅建の試験に合格するぞぉ』 を作るに当たって決めたことは以下の通りです。

  • 二日で公開できる物を作る
  • デザインはこだわらない
  • mod_rewrite を使って、SEOを意識したサイトを作る
  • appObject を上手く活用する
  • 拡張性が高くエレガントな構成にする

『宅建の試験に合格するぞぉ』 を作ってみて

実際に『宅建の試験に合格するぞぉ』 を作ってみて、結果は以下の通りです。

二日で公開できる物を作る

何とか間に合いました。7割くらいが、DBに流し込むデータ作りに時間を注ぐことになりましたが。データ作成方法をもう少し効率のいい方法を考えたほうがいいかも。Ethna とは全然関係ないことだけど。

デザインはこだわらない

見ての通りです。トップページに至っては、Ethna のデフォルトのままです。

mod_rewrite を使って、SEOを意識したサイトを作る

mod_rewrite の連携は、UrlHandler を使って、ごにょごにょやってたら何とかなった。結果オーライって感じで出来てしまったので、もう少し理解する必要がありそうです。

時間がなかったのもあって、実際に対応するアクションがなくてもトップページが表示されるようになっているので、その辺の対応も気が向いたらやろうと思う。アクションが存在してパラメータに誤りがあるものに関しては、リダイレクトするプラグインを自作して、404エラーを返してトップページにリダイレクトするようにしている。

Net_URL_Mapper を使えば簡単にできるとありましたが、どこかで PHP4 は使えないみたいなことが書かれていたので使いませんでした。もうすぐサポートも終わることだし、本気で PHP5 に乗り換えることも考えないといけない時期かも。

appObject を上手く活用する

いろいろネットを漁ってみたのですが、少々古い情報しか出てこなかったので、今のバージョンだともっとスマートな使い方があるのではと思いながらも判断することが出来ない。ただ、今のところは、appObject を上手く活用できている気がする。

拡張性が高くエレガントな構成にする

プロジェクトに影響しない Common のプラグインを作ったりもしたし、そこそこ拡張性は(今のところ)高いと思う。

今後の展望

このシステムは選択性の試験を作ろうと思えば、問題と解答をDBに流し込めばいいだけなので、色々な過去問集(採点機能付き)を作ることができます。
宅建の試験に合格したら、次は行政書士の試験に挑戦する予定なので、その頃には『行政書士の試験に合格するぞぉ』を作るかもしれません。

zontheworld HTML convert time: 0.462 sec. ( Login )