一畳のくつろぎタイム

このブログでは紹介する商品画像をAmazonアソシエイトより借りています。画像やリンクにはアフィリエイト広告が含まれる事があります

2018年4月24日火曜日

ComposerでPEAR

PEARのライブラリcache_liteをComposerでインストールしたかったがうまくいかなかった。
configでHTTP接続を許可し、pearの取得先をrepositoriesで指定。
pear-pear.php.netの指定で
こちらのサイトで
pearのライブラリの名前とバージョンを調べて追記してupdateしたらうまくいった。

composer.json
{    
    "name": "vendor/myapp",
    "description": "プロジェクトの説明。",
    "authors": [
        {
            "name": "myname",
            "email": "your@email.here"
        }
    ],
    
    "config": {
        "secure-http": false
    },
    
    "repositories": [
        {
            "type": "pear",
            "url": "http://pear.php.net/"
        }
    ],
    
    "require": {
        "smarty/smarty": "~3.1",
        "pear-pear.php.net/cache_lite": "1.8.2"
    }
}
Composer2だとpearは取れないっぽいです。

PDOで表の名前にはプレースホルダーが使えない

ダメなコード

    // PDOによる接続
    $pdo = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8','test','password');
    // DBエラーで例外を発生させる
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // プリペアステートメントのエスケープ設定
    $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
    
    $stmh = $pdo->prepare("select * from :table");
    
    $stmh->bindValue(":table", "mytable");
    
    $stmh->execute();

show tableを実行して得た結果からテーブルを選ばせてその情報を取得しようとしたがSyntaxエラーとなる。

FROM句にプレースホルダーを使うことは少ないが、これはできないらしい。
自分で無害化するか、表名自体を表に出さないような作りにする必要がある。

参考
https://stackoverflow.com/questions/15182910/php-pdo-bind-table-name

2018年4月19日木曜日

adb rootできない時



特定のAndroidエミュレーターでadb rootができない。
中を覗けるのがエミュレータの良いところなのになぜかと調べたらstackoverflowには答えがあった。
To enable root access, use an emulator image like
rootアクセス可能なエミュレータイメージは
    Google APIs Intel x86 Atom System Image
Not
コレジャナイ
Google Play Intel x86 Atom System Image
https://stackoverflow.com/questions/43923996/adb-root-is-not-working-on-emulator
ということだった。
エミュレータ作成時のディフォルトがrootできないイメージが選ばれてしまうのでそうではないものを選べば良いようだ。

2018年4月18日水曜日

Andoridのカレンダーでマイカレンダーが表示されない



Android6標準のカレンダーアプリでマイカレンダーが表示されなくて困った。
この子である

Andorid5端末からは表示ができるので、どうもAndorid6標準カレンダの問題らしい。

色々ぐぐって試したがダメで、結局改善できたのは

Andorid標準ではなくGoogleカレンダーアプリのインストールを行い。
Android標準とGoogleカレンダーは同じと思っていたが違った

Googleカレンダーアプリから該当するマイカレンダーの表示をONにすることで、
Andoroid標準アプリからも見れるようになった。

でもGoogleカレンダーアプリの方が便利そうなので、Android6標準カレンダーはもう使いません。

2018年4月5日木曜日

GoogleHomeMiniとBluetoothスピーカー

GoogleHomeの神アップデートが来て、GoogleHomeに依頼した音楽再生をBluetoothスピーカーから出力できるようになりました。

音楽鑑賞に使えそうなスピーカー?を色々試した記録です。

Bluetoothスピーカーその1


昔パソコンの音を出すスピーカーが机のスペースを取って邪魔だと感じワイヤレス化をしました。
この機種はapt-xに対応しており、Bluetoothにありがちな遅延がなくそこそこの音をを出してくれました。

GoogleHomeMiniにつないだ場合、まぁ素よりは音は良くはなりましたが満足まではいきませんでした。
なんというか音が軽い印象があり、意外と素のGoogleHomeMiniでもサイズの割にはいい音出していることに驚きます。 


LBT-SP500(今は売り切れです)


CreativeのT12やT15なら買えますがapt-x対応していません こちらのelecomのドングルがapt-xに対応しており、Windows10の標準ドライバで使用した時に、どう聴いても遅延がなかったので標準ドライバでapt-xに対応しているようでした。
パソコンのスピーカーワイヤレス化には重宝していました。

MM-BTUD44

Bluetoothスピーカーその2

最近風呂場にタブレットを持ち込みプライムビデオを見ていますが、シャワーを使って洗ったりすると音が聞こえなくて不自由していました。

これは4000mAバッテリ搭載など、明らかに携帯用途のスピーカーです。
Amazonレビューでは低音が良く出ると評判ですが、ちゃんと音楽聞く用途では向きません。
私のお風呂用途では十分な性能ですが、GoogleHomeMiniより音を良くする用途では、コレジャナイ感が満載です。

起動音は素敵です。
SoundPEATS(サウンドピーツ)P5 ブラック



イヤホン差し替え式のBluetoothレシーバーを使う

はるか昔に買いました。
自分の好きなイヤフォンが使えるBluetoothレシーバーです。

これをGoogleHomeMiniに接続し、オーディオケーブルで所持している自分ではいい音だと感じてる普通のスピーカーにつなぐというものです。

結果としてはやはりスピーカーがいつものスピーカーなので音としては満足なのですが、この機種は充電状態では使えないので、つなぎっぱなし電源入れっぱなしの運用ができません。

つなぎっぱなしでつかえないものがないかと手持ちを探したらいいのがありました。

DRC-BT30

爆安Bluetooth受信機を使う

 このBluetooth受信機はなんと175円。
これのほかにも恐ろしく安いものが色々ありましたが、他はモノラルという事なので、最終的にはこれしかありませんでした。

もちろんお金を出せば色々選択肢はあります。

HJX-001


GoogleHomeとつないでみるとBT_DONGLEという名前でつながり、問題なく音楽再生できました。

DRC-BT30と比べると時代が進んだ分、Bluetooth4.0で対応プロファイルはA2DP,AVRCP,AVDTP,HFP,HSPとなっています。つなぎっぱなしにできるのでGoogleHomeの相棒としては合格です。

つなぎっぱなしなら問題ありませんが、欠点として状況を知らせる青いLEDが明るすぎる点(ビニールテープで塞ぎました)、あとは本当に長時間音出ししないと切断されるので再接続の操作をする手間はあります。GoogleHomeが自動接続してくれるのであればスピーカーの電源と連動できると良いと思いました。


※追記
「OkGoogle Bluetoothスピーカーにつないで」と言うことで接続/切断ができるようになっていました。




USBで給電してつけっぱなしにしています。

2018年2月8日木曜日

NetBeansIDEでプロジェクトが開けない、アンインストールもできない

NetBeansIDEでプロジェクトを開くと落ちる
何かおかしくなったと思い、アンインストールを試みるもアンインストールも失敗する。

netbeans uninstall errorで調べて以下がヒット
https://stackoverflow.com/questions/42407291/unable-to-uninstall-netbeans-8-0-2
c:\Users\ユーザーのフォルダ\.nbi
という隠しフォルダが破損してこうなる事があるという事が調べたらわかったので、消したが治らない、違うらしい。

他、別のユーザーでアンインストールを行えば消せるということだったので、やってみたが消せない。

NetBeansのキャッシュを消してみる
C:\Users\ユーザーのフォルダ\AppData\Local\NetBeans\Cache
C:\Users\ユーザーのフォルダ\AppData\Roaming\NetBeans
変化せず。

再インストールすら不可能で、もう駄目だと思ったが、最初にできなかった事で出たエラーメッセージ
netbeans open project not working
と外人さんをたよりにして検索してみたら・・

答えはこれだった
https://stackoverflow.com/questions/43546590/netbeans-cant-open-project-or-anything

WindowsのGodModeを有効にするとそうなると・・・。
マジですか・・・。
興味本位で使いもしないのにGodModeのアイコンをデスクトップに作っていた。
 
GodModeを有効にしつつNetBeansを使っている人というニッチなところで同じ人がいるとは世界はほんとに広くすばらしい。

神の力を捨てたら開けた・・・

おかげで2時間損失。
でも世界のすばらしさを知った。