2016年8月24日水曜日

GoogleDriveに保存した画像を直接URL参照する

GoogleDriveは、アプリケーションからもクラウドなファイルストレージとして利用できる側面があります。例えば、アプリケーションで画像ファイルを一時(または永続的に)保存する領域としてです。S3みたいな使い方ですね。
しかし、画像ファイルをURLアクセスで読み込むときには注意が必要です。例えば、GAS(Google App Scriptで)、ドライブに保存した画像ファイルのURLを getURLで取ってきた場合に
https://drive.google.com/file/d/XXXXXXXXXXXXXXXX
というのが入手できますが、このURLは真の画像のURLではありません。Google Appsとして表示するビュワーを含んでいます。

画像ファイルだけを入手する場合には、
http://drive.google.com/uc?export=view&id=XXXXXXX
とします。 上記XXXXXXはファイルのユニークIDです。

2016年8月22日月曜日

Kinect v2が動かない場合の対処例 ~ Let's note CF-LX3の場合~

御存知の通り、Kinect v2は稼働させるマシンの要求スペックが高く、
  • USB3.0
  • Graphics card that supports DirectX 11
の条件を満たさないと動きません。私の所有しているLet's note CF-LX3はこの仕様をいちおう満たしており、昨年度は稼働させることができたのですが、なぜか今になって動かない状況に、、、、その原因として
  • Windows8.1 → Windows10 へアップグレードした
というのが可能性が高いわけですが、それはともかく動かさないといけない状況。で、その解決策は以下のとおり。

【動かない原因】
まずは、SDK BrowserのKInect Cinfuigulation Verifierで動かない原因を探ると、
  • USB3.0の帯域が不足している
という項目が浮かび上がりました。つまり、USB3.0だけど帯域が足りないと。。。

【対応策】
ハード的な問題なのでどうしようもないようですが、
  • BIOS設定でUSB3.0ポートを1つだけにする
という方法で解決しました。CF-LX3には、左側側面に2つのUSB3.0ポートがあります。これの片方を殺す(USB2.0にする)ことで、1つのポートにフルスペックの帯域が使えるんじゃないか?と勝手に妄想しましたが、アタリだったようです。


GWTの画面遷移について

一般的なウェブアプリケーションでは、画面の変更=URL(ページ)の変更です。しかしながら、JavaScript系のUI遷移がページ遷移を伴わないように、GWTにおいても画面の変更にページ遷移は伴ないわないのが定石です。つまり、画面の変更とは、表示するGWTのUIコンポーネントを切り替えるということになります。
具体的な手順は以下のとおり。
  1. RootPanel.get().Clear()メソッドで、RootPanelに配置しているものをすべて消す
  2. RootPanel.get().add(new XXX())で、新しいUIを表すクラスXXXを表示する
となります。ClearしてもClearされたクラスはまだ生きていますので、注意して下さい。

もちろん、モジュールの切り替えでページ遷移を実現する方法もアリですが、それは1画面/1モジュールという非効率な設計となるわけでお勧めできません。


2016年8月18日木曜日

Netbeans8対応のGWT4NBが出てます

最近はNetbeansを使ってないんですが、とりあえずの覚書です。

Netbeans対応のGWTプラグインであるGWT4NBが出ているようですね。下記URLからダウンロード、、、というか、NetBeans Plugin Portal Update Centerからダウンロードするようです。
Netbeansもいろいろ進化してますね。Eclipseから戻ってもいいかなと思う今日このごろです。


2016年8月7日日曜日

Ubuntu on VirtualBox でホストOS(Windows)とフォルダを共有する

いつも忘れるのでメモ書き。。。。基本的に次の手順で。

0.Guest Additionをインストールしておく
 もしかしたら、関係ないかもしれませんが入れておいて損はないです。 

1.Windowsに共有ディレクトリを作成する(例:ubuntu)
 これは普通に作成しておいてください。

2.VirtualBox側で共有設定をする
 永続化と自動マウントに有効にしておきましょう

3.ファイルは /media/sf_XXXXXに共有されます
  Ubuntu側では、 /media/sf_XXXX に共有されます(XXXXは1で作成したディレクトリ名)

4.自分のアカウントをvboxsfグループに加える
 3のディレクトリは、ユーザrootでグループがvboxfsという権限になってます。自分のアカウントをvboxfsグループに追加しておきましょう。
sudo gpasswd -a ユーザ名 vboxsf
このコマンドを実行した後は、いったんログインしなおしてください。

なお、上記手順において、何度か再起動しなおす必要があるかと思います。

2016年8月3日水曜日

Windowsでスリープ状態が勝手に解除される場合の確認方法

Windowsにおいてスリープ機能はとても便利なのですが、スリープしたのにもかかわらずいつの間にか電源復帰していることがあります。大抵は、なんらかのハードウェアデバイスが悪さをしているわけですが(たいていネットワークアダプタ)、、、、で、その確認方法ですが、以下のコマンドを利用します。
C:\Users\ochi>powercfg -devicequery wake_armed
HID キーボード デバイス
Intel(R) 82567V-2 Gigabit Network Connection
HID 準拠マウス
HID キーボード デバイス (001)
このコマンドで該当するデバイスがリストアップされます。私の場合は、ネットワークアダプターが悪さをしていたようですので、早速、該当機能をOFFにしました(デバイスマネージャーからプロパティで操作しますが、これは各デバイスで設定が変わってきます)。

2016年8月2日火曜日

C#:BitmapFrame を利用する使用する場合の参照設定

小ネタです。BitmapFrameクラスを使おうとすると、参照が足りないみたいなエラーが出ます。下記の2つを参照設定に追加しましょう。
  • Presentation.Core
  • System.Xaml
2番目のXamlが必要というのが盲点でした。