月別アーカイブ: 2011年12月

javascriptで実現しているアニメーションへの否定的な意見。

JavaScript Advent Calendar 2011 (オレ標準コース) : ATNDの21日目です。さっきこのイベントのことを思い出して今すごく焦ってます。

前日は、 @nazomikanさんの setTimeoutとUIスレッドを学ぶよ JS Advent Calendar, オレ標準コース – ぶれすとつーるでした。

えーと、最近はjavascriptでCSSを操作してアニメーションさせる、という処理を何個か作っていたのですが、 ぼんやりと、確信に似た気持ちが沸き上がってきています。

「javascriptはflashの代替えにはならない。flashを超えることは(今は)出来ない。)ただし、アニメーションの世界においては。」

そんなこと前から知ってるわー。という人もいると思いますが、javascriptでアニメーションの処理を書けば書くほどflashを書きたくなります。「アニメーション」の実現においては、の話しですけれども。

ブラウザのリロードボタンを押すたびにコマ落ちする箇所が変わるし。 マシンスペックによってイージングのスピードが結構違うし、(マシンスペックによってアニメーションのスピードが変わるのはflashも一緒ですね。たしか。) 画像の読み込みはflashみたいに監視できないし。

IE6、7、8を閲覧環境に入れてるとcanvasはまだ実践で使えないですね。(私の場合は。) canvasの不満点は、やはりIEでは重かったり、読み込んだ画像を回転させるとガビガビになったりするのが萎える。。。

少しgoogle先生に聞いてみたのですが、javascript → as3に変換するというソフトが見当たらなかったのが意外でした。 js書いてる人はflashやりたがってる人多いんじゃないかなぁ。

javascriptをDisってるわけじゃなくて、アニメーションはflashとかに任せて、jsはjsの得意な部分にフォーカスするというのが妥当な選択肢なんじゃないかなぁと思う今日この頃でした。
「javascriptで絶対コマ落ちしないアニメーションの極意」とかって本があったらお金出したいですね。

さぁお次は、@nothingcosmosさんです。

FuelPHPでメールフォーム雑感。

FuelPHP Advent Calendar 2011 : ATNDの19日目です。

前日の18日目は @NEKOGETさんの FuelPHPの呼び方。 でした。

私はプログラマーではないので、フレームワークはcakephpとcodeigniterしか触ったことが無いです。

cakephpに関して言えば、mysqlの設定がわからず挫折。
その数年後にcodeigniterに出会い、データベースの設定いらずのフレームワークに感動し、codeigniterでメールフォームをひたすら作って満足していました。
が、ライセンスの問題でcodeigniterを選択することがデメリットになる可能性が出てきた模様です。(自分自身詳しくはわかっていない状態ですが。)
そんな状況の中でFuelPHP Advent Calendar 2011 : ATNDなるイベントに出会ったので、この機会にfuelphpを触ってみよう。と思った次第です。

私がphpで作りたいものといえばメールフォームくらいなものです。
ですので、codeigniterのバリデーションは非常に便利でしたし、チェックボックス、ラジオボタン、セレクトボックスの値の保持機能には本当に助けられて来ました。
そして、世界中のプログラマーが利用しているという安心感がcodeigniterを選択するメリットでした。

大げさかもしれませんが、
フレームワークを使えばこんな私でもプログラマーになれる!
といったような安心感がフレームワークにはあります。

fuelphpのhello world

hello worldは非常に簡単でした。zipファイルをダウンロードしてきて解凍し、ブラウザでアクセスするだけです。hello worldと打ちこむ必要さえありませんでした。

fuelphpの日本語メール送信

さて次は、最大の目的の日本語メールの送信です。
結果から言うと、日本語の「送信者」、「件名」は文字化けしました。
しかしメールは送信されました。
メールさえ送信されれば残る問題は日本語へのエンコード処理だけのように思われますが、
非常に深刻な問題がまだ残っていました。。
それを下記に書きます。

fuelphpにはチェックボックス、ラジオボタン、セレクトボックスの値の保持機能は、無い。

追記(2012.04.20):Fieldsetクラスを使うと実現できるようです。

メールフォームの、
「確認画面」へ遷移した時にチェックされた値の再表示と、
「確認画面 → 入力画面へ戻る」の画面遷移を実行した時のチェックされた値の再表示
する機能です。

fuelphpには実は存在する機能なのかもしれませんが、私には見つけられていません。
fuelphpのフォーラム(英語)ではチェックボックスまわりの話題が出ていますので追いかければ値を保持するコードを見つけることができるかも知れませんが、私はまだ見つけていません。

まとめ

fuelphpはcodigniterから比べて、よりプログラマー寄りなフレームワークだと感じました。
しかしcakephpよりはシンプル(シンプルという表現が正しいかどうかわかりませんが。)だと思いました。

私個人の次のステップとしては、

などの他のライブラリやフレームワークも調べてみる。

もしくは、fuelphpを拡張して、自分の欲しい機能のコードを書いてみる。
と言った選択肢が残ったかなといったところです。
メールフォームを楽して構築するための旅は続く。。。

明日は、@kenji_sさんのFuelPHP でのセキュリティ対策(1) – A Day in Serenity @ Kenjiです。

b-mobileの980円simは引き続き継続。

先日、980円simのプランに新プランの発表がありましたが、 980円プランは消滅したものだと思い込んでいました。
やはり980円で運用するのは無理があったのだと。。
最低でも2270円くらいは払ってもらわないとペイできない。


そういう理由の新プランの発表かと思っていましたが、

結果は、980円のデータ通信のみのプランは引き続き提供される模様
よかったー。
simフリーを応援する日本通信は、未だ健在でした。

とは言っても、まだ不満点もあります。
docomoの機種の中でも980円simが利用できるものとできないものがあるという点です。
なぜこのようなことが起こるのか、素人なので検討もつきませんが、

この状況は980円simを利用したくてもできない人を多数生んでいる気がしてならないです。
かくいう私も980円simを契約しようとして一度キャンセルした人間です。

この点は改善を期待したいですね。

まぁもろもろ不満点はありつつも980円simを提供してくれている日本通信は応援したいです。
だからこそ980円simは契約させて頂きました。

ファーストサーバー + codeigniterでpostした全角文字が消える問題。

最初は何が原因が全く検討もつかなかったが、
いろいろ試す内に文字化けが原因だとわかった。
下記の記事にヒントがあった。

あと、php.iniの設定がEUC-JPになっていたのも原因。http_inputというのを初めて知った。


文字化けで文字が消える理由。

codeigniter内でpostしたデータにiconvという関数が実行されており、こいつを通った文字列は、
指定された文字集合で 表せない文字は黙って切り捨てらるそうです。
「つまり文字化けした文字は消す。」という意味なのではないかと予想しています。

詳細はマニュアルを見れば一目瞭然です。

文字化けに少し強くなったかな。