Programming in Lua
9月 29th, 2012
Programming in Lua http://www.lua.org/pil/index.html なんで、全部言語毎に書き方違うかな 間違えるじゃないか・・・
phpのnamespace+classを変数から使う場合。
9月 27th, 2012
http://www.php.net/manual/en/language.namespaces.faq.php クラス名を可変にするため、変数から利用するとき 普通にクラス名だけでは、ダメでした。 namespace A\B; use A\B as X; class Cclass{ } $c = new Cclass(); $c = new X\Cclass(); $c = new \A\B\Cclass(); $classname = ‘Cclass'; echo (class_exists($classname))?1:0; // 0 echo “\n”; $classname = ‘X\Cclass'; echo (class_exists($classname))?1:0; // 0 echo “\n”; $classname = ‘\A\B\Cclass'; echo (class_exists($classname))?1:0; // 1 echo “\n”; ということで、変数に入れるときは、namespaceも全部指定しないとダメでした。
kyototycoon /rpc/set で php curl が遅かった原因
9月 26th, 2012
追加問題発生。さてどうする。 apacheを介したときのphp+curlの挙動がおかしい問題です。 このままでは使えないので。。。いろいろ調べた結果 結論からになりますが、curl使うの辞めました〜 fsocketopenで自分でリクエストつくって流すだけです。 複雑な処理は何も無いので一瞬で完成。phpとcurlを弄った時間はムダでした。 速度には何の問題も無いです! colenc=Uの件もphp+curlの問題だったようです。BもUも速いです。 === ↓直ったと思ったら、apacheを介していると挙動が違います。 ↓php+curlのバージョンの問題とか何かの原因のようです。 結論から言うと colenc=U で urlencodeしたデータをpostしていたのが悪かったようで colenc=Bのbase64_encodeにしたら問題なくなりました。 colenc=Uで使ってみたのですが http://fallabs.com/blog-ja/promenade.cgi?id=99 を見直し、作者さんのサンプル通りにcolenc=Bに戻しました。 同じことやってるのにエンコードを変えるとcurlの挙動が変わっているようです。 curlのinfoの数値を colenc=U ["url"]=> string(34) “http://192.168.0.22:50821/rpc/set” ["content_type"]=> string(25) “text/tab-separated-values” ["http_code"]=> int(200) ["header_size"]=> int(144) ["request_size"]=> int(161) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(1.001801) ["namelookup_time"]=> float(1.9E-5) ["connect_time"]=> float(9.1E-5) ["pretransfer_time"]=> float(9.2E-5) ["size_upload"]=> float(1048) ["size_download"]=> float(0) ["speed_download"]=> float(0) ["speed_upload"]=> […]
ユーザーエージェント切替 version 0.3.0 chrome extension
9月 24th, 2012
URLバーに、新しいURLを入力するとtabIdが新しくなるという仕様に気付き修正しました。 新規やタブを消したり作ったりした後もタブ毎の設定を保持出来ます。 インストールはこちら(chrome webstore) スマートフォン向けサイト閲覧や開発に御利用ください。
mixi graph API
9月 22nd, 2012
touchバージョンでやること 1. 最初のリクエストでsignatureチェックする。 http://developer.mixi.co.jp/appli/ns/touch/oauth_signature/ 2. OKだったらauthorized codeを入手 http://developer.mixi.co.jp/appli/ns/touch/api_auth/ 一回で書くと <script type=”text/javascript” charset=”UTF-8″ src=”http://static.mixi.jp/js/application/touch.js”></script> <script type=”text/javascript”> mixi.init({ appId: “mixiapp-web_00000″ }); mixi.auth({ scope: “mixi_apps2 r_profile r_voice w_voice”, state: “touch” }); </script> で、認証画面が表示され、 ユーザーがOKすると 新方式(GraphAPI)利用に関する設定(PC、モバイル、スマートフォン) リダイレクトURIに以下のデータが返される。 ["state"]=> string(5) “touch” ["code"]=> string(40) “fc0ec7c95c05256215a7cbbe15f37296d1b79bff” 3. codeを利用して、access_tokenを取得。 この動作は、認証後すぐ行います。 […]
iPad 用 m.youtube.comを見る。| chrome extension
9月 20th, 2012
iPad用で見るとhtml5でmp4を見ることが出来ます。 flashだとパソコンが熱くなってくるので・・・ でiPad用を見てみました。 ↓ユーザーエージェントを変更できるchrome extension useragent changer | chrome extensionのインストールはこちらから ユーザーエージェントをiPadにして youtube.comを開くと以下のように iPad用が表示されます。 こんな感じで。 html5でvideoやりたいときにはとても参考になりますね!
mixi userchanger ミクシィのユーザー切替 chrome extension
9月 20th, 2012
mixi userchangerのインストールはこちら(chrome webstore) userchanger for mixi を更新しました。 スマートフォン向け開発をする方は、ユーザーエージェント切替extension useragent changerも併せてご利用ください。 useragent changerのインストールはこちら(chrome webstore) mixi userchangerのインストールはこちら(chrome webstore)
useragent changer タブ毎にユーザーエージェントを変更出来る chrome extension
9月 18th, 2012
タブ毎にユーザーエージェントを変更出来る chrome extensionを作成しました。 スマートフォン開発などにご利用ください。 chrome webstore chrome webstoreよりインストールしてご利用ください。 リストから選択するだけでタブ毎にユーザーエージェントを設定して利用出来ます。 ご自身のリストも追加可能です。 御意見・御要望等御座いましたらお気軽にご連絡ください。 インストールはこちら chrome webstoreよりインストールしてご利用ください。
javascript setTimeout setIntervalは、PCがスリープするとどうなるのか?
9月 15th, 2012
chrome extension で background の setInterval は問題なく動きました。 http://stackoverflow.com/questions/6032429/chrome-timeouts-interval-suspended-in-background-tabs アクティブじゃないタブのとき遅くなる?という話もありますが。 とりあえず動くみたいですね。 止まったらどうしようかなと。 独り言。 何かのタイミングでsetintervalを再実行しようかな とりあえず、ユーザーが明示的に clearinterval(preId) ⇒ setinterval でrefreshできるようにしておこうか
javascript で internet 接続を確認する for offline apps
9月 14th, 2012
http://www.w3.org/TR/offline-webapps/ In addition to those APIs HTML 5 also defines an onLine attribute on the Navigator object so you can determine whether you are currently online: var online = navigator.onLine; ということでnavigator.onLineのtrue/falseで接続確認が出来ました。