‘トラブルシュート’ タグのついている投稿

Bashから別階層のRubyプログラムを呼んだらBundlerがGemfileを読めない

2015 年 2 月 12 日 木曜日 by 山平

最近…でもないですが、Ruby界隈ではBundlerを使って環境を保証するのがトレンドのようです。

(さらに…)

Nokogiriでうまく解析できなかった場合の対処

2015 年 1 月 27 日 火曜日 by 山平

Rubyでスクレイピングするなら、Nokogiriが定番です。
概ねDOMに忠実な実装でありながら、rubyらしく書きたいポイントは押さえている心憎いライブラリです。

ところが先日、Nokogiriを使ってWebページをスクレイピングしていた時に、上手くノードが取得できない場面に遭遇しましたので、備忘録としてここに残します。

(さらに…)

Ubuntuの後でWindows7をインストールしてデュアルブートさせた記録

2014 年 4 月 8 日 火曜日 by 山平

WindowsとMacにしか対応していないアプリケーションを試してみたくなったのですが、我が家のPCはUbuntuです。
そこで、Ubuntuのパーティションを縮小してWindows7をインストール、デュアルブート環境を作成することにしました。

(さらに…)

.NETと日付の何とも言えない制限

2013 年 10 月 15 日 火曜日 by 山平

.NETのDatetimePickerを継承して、年を和暦で表示するWarekiDatetimePickerを作ろうとしたときの記録です。

(さらに…)

OpenCVでとりあえず顔認識のサンプルが動くところまでの記録

2013 年 3 月 4 日 月曜日 by 山平

最近流行(?)のOpenCVによる画像認識をやってみようとしたのですが、思いのほか苦労が多かったので、サンプルデータで顔認識の動作を確認できたところまでの記録を残しておきます。

(さらに…)

enchant.jsをTitanium MobileのWebView上で動かせた記録

2012 年 12 月 12 日 水曜日 by 山平

前回はTitanium Mobileで散々にやられちゃいました。

しかし、ネットで見る限り、Titanium Mobileそのものがそこまでひどいもののようにも思えないのです。
私の試し方にどこか問題があるような気がしてならないので、もう一度チャレンジしてみることにします。

テーマは同じく「Titanium Mobileでenchant.jsを(簡単に)アプリ化し、サウンドの再生(等の弱点)を克服する」です。
ネットの情報を見る限りiPhoneはここまで苦労していないようなので、今回のターゲットはAndroid(エミュレータ)のみです。

(さらに…)

Product Advertising APIのItemSearchで当然ヒットするはずの条件で結果が0件になる

2012 年 11 月 20 日 火曜日 by 山平

タイトルの通りなのですが、以下のような条件でItemSearchを行なっても、結果が0件という現象に悩まされました。

  • Title:”こころ”
  • Author:”夏目漱石”

Amazonのサイトで直接検索すれば当然ヒットしますし、//itemlookupresponse/items/request/isvalidノードの値もTrueなのに何故?

(さらに…)

Product Advertising APIのItemSearchでKindle版の電子書籍が混ざる

2012 年 11 月 5 日 月曜日 by 山平

AmazonのKindleが発売されたからなんでしょうが、ItemSearchの検索結果にKindle版の電子書籍が混ざってしまうようになりました。
リクエストパラメータ「SearchIndex(商品カテゴリ)」に「Books(本(和書))」を指定しているのに、電子書籍が混ざってしまうのは都合が悪い場合があります。
しかし、2012/11/04の時点で公式のドキュメントにも、SearchIndexでKindle版の電子書籍に関する記載がありません。

SearchIndex-ItemSearch パラメータの組合せ (JP)

(さらに…)

iPhoneでenchant.jsのサウンド再生

2012 年 10 月 15 日 月曜日 by 山平

Javascript製ゲームエンジンenchant.jsについて、過去にいくつかの記事を書きました。

ここでは触れていないのですが、enchant.jsではiPhone(MobileSafali)ではサウンドの再生に制限があります。

wise9 › enchant.jsのサウンド機能で、ゲームをさらにカッコよく!

特に、iOS上のブラウザ (Mobile Safari) については、「プレイヤーが画面にタップしたとき以外、音声が再生できない!」という大きな制限があるため、暫定的に、デフォルトでは以下のようなコードを実行しフラグを立てない限り再生されないという仕様になっています。・・・が、いまのところバグがあるらしくiOSで正しく再生されません!目下修正中です!

と、いうことで今回はiPhoneでのサウンド再生について調べてみました。
以下のサイトの情報を参考にしています。

D-lagoon ブログ [enchant.js]iPhoneで音を鳴らすのに一苦労 | D-lagoon ブログ

検証のために以下のようなコードを作成しました。


enchant();
enchant.Sound.enabledInMobileSafari = true;//必須

IMAGE_FILE = "chara1.png";
SOUND_FILE = "gameover.wav";
InitBear = function(no){
var game = enchant.Game.instance;
var bear = new Sprite(32, 32);
bear.image = game.assets[IMAGE_FILE];
bear.x = (game.width - bear.width) * (no/5);
bear.y = (game.height - bear.height) * (no/5);
bear.frame = no * 5;
return bear
};

window.onload = function(){

var game = new Game(320, 320);

game.fps = 15;
game.preload(IMAGE_FILE, SOUND_FILE);
game.onload = function(){

var no = 1;

// 1: 通常、これで再生できる
var bear1 = InitBear(no++);
bear1.addEventListener("touchstart", function(){
game.assets[SOUND_FILE].clone().play();
});
game.rootScene.addChild(bear1);

// 2: 参考サイト(D-lagoon ブログ)での回避策
var bear2 = InitBear(no++);
bear2.addEventListener("touchstart", function(){
game.load(SOUND_FILE, function(){
game.assets[SOUND_FILE].play();
});
});
game.rootScene.addChild(bear2);

// 3: 上からloadを省略してみる
var bear3 = InitBear(no++);
bear3.addEventListener("touchstart", function(){
game.assets[SOUND_FILE].clone().play();
});
game.rootScene.addChild(bear3);

// 4: イベントだけ拾って保持
var bear4 = InitBear(no++);
bear4.flag = false;
bear4.addEventListener("touchstart", function(){
if(this.flag) game.assets[SOUND_FILE].clone().play();
this.flag = false;
});
bear4.addEventListener("enterframe", function(){
this.flag = true;
});
game.rootScene.addChild(bear4);

};
game.start();
};

結果は予想通り、2と3でサウンドの再生を確認できました。
しかし、再生までに数秒かかるので、実用的とは言えませんが、Mobile Safaliではこれが限界なようです。

【後日談】
数日後、ふと同じ検証を行なってみました。
するとなぜか1,2,3,4すべてのパターンでサウンドが再生されました。
ソースは触っていないのに何故???
ですが、やっぱり再生までに数秒かかるので、実用的とは言えません。

以上です。

Dell Inspiron mini12でUbuntu11.04とGMA500ドライバに苦戦した記録

2011 年 7 月 4 日 月曜日 by 山平

Dell Inspiron mini12にUbuntu11.04 Nattyを入れました。
GMA500ドライバについては(確か)10.04 Lucidのときに苦戦済みなので今回は大丈夫。

…と思ったら前回以上に苦労したので記録しておきます。

(さらに…)