page_adsence

2012年3月15日木曜日

Firefox11のページインスペクタが3Dで見ると面白い

先日、帰り際にFirefox11がリリースされているってのに気づいたので、早速アップデートしてみた。
とりあえず必須アドオンだけ動くのを確認してアップデート。

で、リリースノートを見てみたらすごいよくわからない機能があった。

「Google Chrome から、ブックマーク、履歴、Cookie を
インポートできるようになりました。」

ふむ、まぁ便利だね。

「Firefox Sync でアドオンを同期できるようになりました。」

これも会社と自宅のアドオン同期できるようになるので、まぁ便利だ。

「ページインスペクタの 3D ビュー を使って、
Web ページの構造を立体的に視覚化できるようになりました。」

ん??

3D??

3Dにする必要あるのか?と思いながらも、早速使ってみました。
使ってみた感想としては・・・。

すごいっ!!

Webページ構造を立体的に見るとこういう風に見えるのかと。
なんかpositionとかマイナスにして画面外に吹っ飛ばしている要素まで、
ぐるぐる回していると見つかってしまいます。
試しにYAHOOとかGmailのページにアクセスして使ってみたのですが、面白いです。
非常に。
これから無駄に使っていこうと思います。

ちなみに使い方は以下の通り。

1.ブラウザ上で右クリックしてコンテキストメニューを表示させる
2.要素を調査
3.すると画面右下に3D、HTML、スタイルと3つのボタンが並んで出てくるので、3Dをクリック。

そうするとこうなります。


以上。
簡単ですね。

2012年3月14日水曜日

JsonpでAjax通信時にネットワーク系のエラーが発生した際のエラーハンドリング

Twitterからタイムラインを取得してきて、表示するという単純な処理を書いていたのですが、
IP別に1時間のリクエスト数が150を超えると400 Bad Requestとなってしまうため、
callback関数が呼ばれずに処理が途中で終了してしまうという現象に遭遇した。

てっきりJSONPの場合もerrorとかの関数も呼ばれていると思っていたのですが、そうではない様子。
試しにerrorとか書いてみても全く反応なし・・・。

調べてみたらどうやらJSONPの場合はsuccessとcomplete以外はコールされないらしい。
とりあえずググってみたら、案の定出てきました。

「jquery.jsonp.js」

これを使えば普通にエラーハンドリングができそうです。

$.jsonp({
    url: "http://hoge.jp/",
    callback: "callback_function_name",
    success: function(json) {
       // This will be called in case of success no matter the callback name
    },
    error: function() {
       // This will be called in case of error no matter the callback name
    }
});

jqueryを使って配列をPOST

一番簡単な方法は対象のフォームを要素をセレクタで選択してシリアライズしてPOST。
あとはサーバサイドでよしなにすればOK。

Jquery
var postData = $('form').serializeArray();

$.post(
    'index.php',
    postData,
    function(data){
        console.log(data);
    }
);

php
var_dump($_POST);

但し、通常のフォームでPOSTされてきたように送りたい場合はJS側で色々と手を入れないといけない。
ソースに関してはその部分が出来次第公開予定。

2012年3月13日火曜日

mysqlに接続できない

会社で用意してもらったテスト用のサーバでローカル上のmysqlを使おうと思ったら
以下のようなエラーで出て接続ができなかった。

$ mysql -uroot
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

とりあえずググってみたら、mysqldが起動してない可能性があると。
で、psコマンドで調べてみた。

$ ps aux | grep mysqld

いない・・・。

じゃあmysqlを起動させようと思って、
$ /etc/init.d/mysqld start

へ移動しようと思ったらmysqldが存在してない!

mysqlコマンド自体は使えるから、インストールとかに失敗してるのかと思って、
何度かアンインストールしてから、再インストールしてみたりとかしたのですが、状況は変わらず・・・。

なぜかわからず、ググり続けてみたらありました。
mysql-serverがインストールされていないんじゃないかという・・・。

というか、よくよく見てみたら結構色々とインストールされていなかった・・・。
mysql-serverだけでなく、php-mysqlとかも入ってなかった。
勝手に使える状態だと思っていたのですが、確認は大事ですね。

2012年2月29日水曜日

SimpleXMLElementを配列に変換(簡易版)

SimpleXMLを配列に変換するのがどうにもこうにも面倒くさいなーと思っていたのでググってみた。

$array = json_decode(json_encode($SimpleXMLElement), true);

この1行のソースで対応可能らしい。
但し属性等がある場合には使えないので、そういう属性がつかないことが保障されている場合には使える。
1行でいけるのは結構便利だなー。

2012年1月26日木曜日

iPhoneでYoutube等の動画をバックグラウンド再生する方法

Youtubeやニコニコ動画等にあがっている作業用BGMを再生したい場合、
画像はずっと変わらないのに、ディスプレイをつけっぱなしにしないといけないので、
ちょっと触れただけで、いろいろと面倒くさいことになるし、
バッテリー消費がすざましいことになってしまいます。

しかし、ディスプレイを消そうとして電源ボタンを押してスリープ状態にしようものなら、
問答無用で再生が止まってしまいます。

じゃあどうするのか?

1.Youtube等で動画を選んで再生する。
2.ホームボタンを押してアプリを終了させる。
3.ホームボタンダブルクリックでタスクバーを表示させる。
4.フリックしてipodコントロールの画面を表示させる。
5.再生ボタンをタッチ

こうするとYoutubeの動画をバックグラウンド再生することができます。
これ、ものすごく便利です。
普通に再生するよりはバッテリーを喰いますが、
画面に触っても問題ないので、ポケットとかに入れて再生が可能になります。

2012年1月10日火曜日

mysql_real_escape_stringはMySQLの接続を確立していないと使えない

CSVを取り込む際にmysql_real_escape_stringを使ってエスケープする処理を入れていたのだが、
処理の順番を変更した際に、なぜかWarningが出てくるようになってしまった。
何かと思って原因を調べてみたら、MySQLと接続していなかったのが原因だった。

確かに、よく考えてみたらmysqlとの接続を確立できてないのに、
phpからmysqlの関数呼ぶことなんてできないよなーと納得の回答。

mysql_real_escape_stringを使う前にmysql_connectするように修正したんですが、
いまいち綺麗に書けてる気がしない・・・。
もうちょっと考えてソースを書こう。

2012年1月4日水曜日

久々にバスツアーでスノボに行ってきた。

学生の頃以来のスノボバスツアーに行ってきた。
行き先は野沢温泉だったんですが、夜23:00に出発して到着したのはなんと9時過ぎ。
そこからレンタルを借りにいったら、さらにそこでも待たされること30分。
結局滑り始められたのは11時過ぎ。
しかも帰りのバスの出発時刻は14:10。
1泊のツアーだったけど、結局1日分くらいしか滑れてないというなんとも悲しいツアーでした。

とはいえ、乗ったバスの品質はちょっと上がってた気がする。
たまたま一番後ろの席だったせいもあるのかもしれませんが、
長時間座っていたけど、ケツが痛くなることもほとんどなかったし、
窓際の席だったけど寒いと思うことはありませんでした。
つか、逆に熱すぎて寝れなかった・・・。

2011年12月27日火曜日

mysql_pconnectはmysql_closeで閉じても意味がない

マニュアルに書いてありました。
mysql_close() は、mysql_pconnect() により生成された持続的リンクを閉じません。

へー。

2011年12月24日土曜日

PS Vitaのソフトとメモリーカードが届いた。

今日ソフトとメモリーカードが届いたので、早速みんゴル6をやってみた。
カードを差すと問答無用でインストールされた。
ソフトにメモリーカード必須って書いてあったから、そのせいかも。
そうじゃないソフトはインストールなしでいけるんだろうか?
せっかくディスクじゃなくなったんだから、カードからロードしてもいいのに。
速度的にはインストールしたほうが断然早いんだろうけど。。。
メモリーカード大容量のは売ってなくて8GBしかないから、
あんまりインストールしたくないなー。
まぁいいや、その辺は別のソフトを買ってみたら試してみたいと思う。

インストールが終わってから、早速プレイ開始。
いつもと同じ感じのみんゴルでした。
特にこれと言って特筆すべき点もなく・・・。
キャラを使えるようにするのにラウンドしてポイント貯めないといけないのが面倒くさいってくらいかな。
あと、タッチに対応させる必要あったのか?って疑問が。
最初のメニューとかはタッチでいけるけど、ゴルフをやってる最中は基本全部ボタンだし。
タッチいらねー。

とはいえ、ゲームのクオリティ自体は相変わらずの安定感。
時間つぶしにはもってこいかな。

あと一個思ったのはゲームの難易度上がった気がする。
まだ全然始めたばっかですが、早くもコースの難易度が高くなってきた気がする。
こんなもんだったっけなー。