javascript で Kinect v2 for Windows を扱う
Kinect v2 for Windows がjavascriptで簡単に扱えるようになっていたので紹介
windows用のkinect2SDKをインストール
何はともあれまずは windows 用の kinect v2 SDK をインストールします。
Download Kinect for Windows SDK 2.0 from Official Microsoft Download Center
#公式のSDKのサンプルプログラムでの開発は、visual studioが必須だったりと、あまり現実的でなかった記憶が・・・
nodejsのインストール
今回使う kinect2 というライブラリは nodejs 上で動作しますのでインストールします。
Node.js
kinect2ライブラリをダウンロード
そして、メインの kinect2 ライブラリをダウンロードします(Download ZIPをクリック)。github.com
必要なパッケージをインストール
ZIPファイルを解凍すると、フォルダの中にpackage.jsonがありますので必要なパッケージをまとめてインストールします。package.jsonがある場合、npm installでライブラリをまとめてインストールしてくれるんですね。これ便利です。
$ npm install
#単体でkinect2 のインストールをする場合はこちら
$ npm install kinect2
サンプルプログラムの起動
examplesフォルダにサンプルプログラムがありますので、そちらを起動します。
$node examples/depth-feed-browser/index.js
あとは、ブラウザで表示されるURL(http://localhost:8000)にアクセスすれば動作を確認できます。
color-feed-browser-lwip-hackはnpm installが通らなかったけど、それ以外は動作したので、ちょっと遊んでみるにはいいのかも
参考記事
何やら単体でのkinect2 for windowsはなくなりxbox用のと変換アダプターを買ってねっとのことjapanese.engadget.com
www.amazon.co.jp
www.amazon.co.jp
Andorid2.3でも画像などのファイルをAjaxっぽく画面遷移なしにアップロードする方法
Andorid2.3の標準ブラウザではajax送信時に便利なFormDataでの画像添付や、画像をbase64化してテキストとして送信するFileReaderが使えません。
ですので、一見、画像遷移なしに画像の送信ができそうにありませんが、formのtargetにiframeを指定することで画面遷移なしでファイルをアップロードすることができるようになります。
ファイル送信用(index.html)
<html> <head> <script type="text/javascript" src="jquery.js"></script> </head> <body> <script type="text/javascript"> //jqueryを使う場合のcallback指定方法 var callback = {}; $(function(){ callback.yourFunction = function( message ){ alert(message); } }); </script> <form target="iframe_upload" action="getAndShow.php" enctype="multipart/form-data" method="post"> <input type="file" name="myFile"/> </form> <iframe name="iframe_upload" id="iframe_upload"></iframe> </body> </html>
ファイル受け取り用(getAndShow.php)
<?php ob_start(); var_dump($_FILES); $result = ob_get_contents(); ob_end_clean(); echo <<<HTML <script type="text/javascript"> window.onload = function(){ if(window.parent) { //iframeから見た親要素の関数を呼び出す window.parent.callback.yourFunction("{$result}"); } }; </script> HTML;
facebookのタイムラインを根こそぎ持ってくる
facebookの特定ページのタイムラインを根こそぎ持ってくる方法です。
まずは、タイムライン情報の取得に必要なApp IDとApp Secretをディベロッパーページより作成し、取得します。
<?php // $app_id = ""; //App ID $secret_id = ""; //App Secret // $want_face_book_page_id = ""; //取得したいfacebookページの https://www.facebook.com/xxxxx のxxxxの部分 // $access_token = file_get_contents("https://graph.facebook.com/oauth/access_token?client_id={$app_id}&client_secret={$secret_id}&grant_type=client_credentials"); $url = "https://graph.facebook.com/{$want_face_book_page_id}/posts?".$access_token; $res = file_get_contents($url); file_put_contents("facebook_timeline_{$want_face_book_page_id}_0.json",$res); $cnt = 1; $res = json_decode($res, TRUE ); while( $res["paging"]["next"] ){ $res = file_get_contents($res["paging"]["next"]); file_put_contents("facebook_timeline_{$want_face_book_page_id}_{$cnt}.json",$res); $res = json_decode($res, TRUE ); $cnt ++; }
sqliteでの日付の扱い
sqliteでは日付の扱いが、UTCになりますので、日付データーを入れる際や、取り出す際には少し工夫が必要
挿入
INSERT INTO table_data( date_update )VALUES( datetime( "2015-03-13 11:11" , "utc" ) );
2015-03-13 02:11:00 (世界時間)として date_update に値が挿入される
取り出し
SELECT datetime( date_update , "localtime" ) as date_update FROM table_data
2015-03-13 11:11:00 (日本時間)と出力される
ちょっとWindowsのphpでmongodbを扱う際に手間取ったのでメモ
ちょっとWindowsのphpでmongodbを扱う際に手間取ったのでメモ
ソフト | Ver. |
---|---|
Windows8 | 64bit |
Xampp | - |
PHP | 5.6 |
での環境
まずは、ネットで調べた通りmongodbのドライバをこちらよりダウンロードして解凍したものを 「C:\xampp\php\ext\」に放り込む。
次に「C:\xampp\php\php.ini」ファイルにmongoを有効にする文字「extension=php_mongo-1.6.4-5.6-vc11.dll」をDynamic Extensionsあたりに記述する。
xamppコントロールパネルよりApacheの起動
ここで「libsasl.dllが無い」とエラーがでる。
調べて見ると、「C:\xampp\php」にある「libsasl.dll」を「C:\xampp\apache\bin」にコピーすればいいとのこと。