著者アーカイブ takahashi

takahashi 著者:takahashi

XperiaのBluetoothで音が途切れる・聞こえなくなる不具合を治す方法

自分はメインのスマートフォンとしてXperia Z5 を使用しています。
SONYが製造・販売するスマートフォン、Xperiaシリーズは当初からかなり人気があり、一時期自分の周りのほとんどの人が、iPhoneかXperiaのどちらかを持っている状態になりました。

そんなXperiaですが、使っていて気づいたのがBluetooth周りの不具合。
自分の使っているZ5では、Bluetoothで音楽を聴いていると頻繁に音途切れが発生する問題が起きていました。
見ている限り端末の高負荷時に起きているような印象だったので、きっとそれが原因だと考えていたのですが、Z5より前に使っていたAQUOS PHONE 303SHでは負荷がかかってもBluetoothが途切れることはかなりまれだったので、変だな、とは思っていました。

最近かなり途切れ具合が酷くなっていたので、ネットで対策方法を調べていたらこんな記事が。

Xperia Z5でBluetoothイヤフォンが音飛び、途切れる、音が出ない場合などの改善・対処方法 – スマホ評価・不具合ニュース

どうやらこれ、どうもバグだったようで…
Androidの標準機能からペアリングすると不具合が発生するので、SONY独自のファームウェアに含まれる”Throw”からペアリングすることで安定するようになるとのこと。

まず、ホーム画面内のドロワーから、”設定”を開きます。

中から”機器接続”を選択

“Throw” をタップします。

Throwについて をタップ

はじめにをタップします。

今セットアップをしようとしている機器の種類を選択

Bluetoothを選択します。

機器を追加 をタップ

この状態になったら、Bluetooth機器の方をペアリングモードにすると、Xperia側に機器が表示されるので、そこをタップすると設定完了です。

この方法でペアリングしなおしてから、音飛びや音が再生されない不具合は今のところ解消しています。
Xperiaは他のAndroid端末と比較して、かなり幅広い機器と接続できるのがとてもいいのですが、その反面Bluetooth周りに弱点が出てしまったような形です。

今後改善されることを願います。

takahashi 著者:takahashi

スマートフォンで本格的な緊急地震速報が受信できるアプリ “Signal Now Mobile”

先日からちょくちょく南海トラフ自身の話題がTwitterなどで上がっていました。

もし南海トラフ地震が起きた際の静岡県内の被害は甚大で、想定死者数は10万人を超えると予測されています。

南海トラフ地震の被害想定 – 朝日新聞

地震が起きた際、生存率を少しでも上げる方法として、情報をいかに早くキャッチして、適切な行動をとれるか、というのも助かる要因の一つになるのではないかと思います。

自分の場合、詳細な緊急地震速報を受け取るために、自宅のPCにSignal Now Xというアプリをインストールしてあります。
このSignal Now X 緊急地震速報を受信すると、警報音とともに、あと何秒で津波が到達するかを教えてくれる、高度なアプリとなっています。

ただしこのアプリ、Windowsにしか対応しておらず、PC向けなので持ち出せないというデメリットがありました。

そんな中、同じシリーズでスマートフォン版があったことを先日知りました。
SignalNow MObile = Google Playストア

その名前もSignalNowMobileです。

月額100円の有料とはなりますが。SignalNowXで取得できるような、あと何秒後で地震が到達するか、まで教えてくれます。

キャリア標準の緊急地震速報も強力ですが、秒数が表示されるアプリは今のところこちらだけな気がします。

巨大な地震も、普段から準備しておくことで少しでもリスクを減らすことができるはず。
備えあれば憂いなし、ですし、今のうちから準備をしておきたいですね。

takahashi 著者:takahashi

IEで使えない”Object.assign”を補完するPolyfillなjsライブラリ”object-assign.js”

会社で構築していたプログラムのデバッグをしていたところ、IEで動作しないファンクションを発見してしまいました…

Object.assign() – MDN Web Docs
この関数は

一つ以上の ソース オブジェクトから、直接所有で (own) 列挙可能な (enumerable) すべてのプロパティの値を、ターゲット オブジェクトへコピーします。

という機能を持っているのですが、この関数がInternet Explorerで対応していなくて、プログラムがIEで動かない状況が発生してました。

IEで対応していない、といわれるとかなり焦ってしまいますが、よく使われている関数については、大抵の場合代替えとなる関数を誰かが公開していることが多いです。
今回の Object.assign() については、こちらのサイトでPolyfillなライブラリが公開されていました。

spiralx/object-assign.js – Gist

今回は、このGistのコードを使わせていただきました。

使い方は簡単。
Object.assign()を使用しているページで、一緒にobject-assign.jsを読み込むだけ。
“assign”という名前で使えるようにしてくれているので、コード内で記述したファンクションを書き換える必要がないのは非常にありがたいです。

今回のように、新しいブラウザでしか対応していない関数をほぼ同じ機能を持つ同じ名前の自作関数として定義してしまうことで、使えるようにしてしまう手法のことを”Polifill”と呼ぶそうです。

反対に、その関数でやりたかったことを別の関数で代替えすることを”Ponyfill”と呼ぶそうです。

PolyfillとPonyfill – Qiita

それぞれの違いや、メリット/デメリットについては、上記の記事が非常に分かりやすいです。

html5によって、各ブラウザ間の動作はそこそこ統一されてきている印象はありますが、まだまだ完全な互換性があるとはいいがたく、依然としてWebプログラムのデバッグをするために、主要なブラウザで一通り動作確認をする必要があるのが現状です。

特に酷いのがビューの部分。ブラウザによって大分解釈が違うようで、Chromeは意図通りに動いても、SafariやIEだとめちゃくちゃに崩れている…なんてことも結構あり、油断できません。

正直HTML5の意味…とか思ってしまうけど、統一するのもなかなか一筋縄ではいかないのでしょう。
HTML5はまだ改善の途上ですし、今後に期待したいです。

とりあえず、せめてモダンなブラウザとの互換性がかなり微妙なIEがデファクトスタンダードな風潮だけは抜けてほしいなーと思いますね…

takahashi 著者:takahashi

FuelPHPでNotice例外の表示を消す方法

FuelPHPはデフォルトで、すべてのPHPエラーを表示するように設計されています。

FuelPHP は、古い手続き型の関数からの(例外でなない)PHP エラーに遭遇した場合、デフォルトの PHP の振る舞いを変更します。 FuelPHP は、致命的でない PHP エラーに遭遇した場合、処理を継続せず、これらのすべてのエラーに対し PhpErrorException をスローします。 すると、以前は無視していたような E_NOTICE といったエラーもすべて解決することを求められます。 非プログラマが作成したビューファイル中の構文エラーといった、PHP のエラーを捕らえることも同時に可能になります。

つまり、PHP上で作法通り(例えば空の変数を参照しない、など)プログラムしていないとNoticeエラーでバシバシ怒られます。
綺麗なプログラムを描きたい場合は非常に有用です(し、可能な限り修正すべきです)が、既成のライブラリを用いたり、開発期間が短かかったり、などといった場合はNoticeエラーが表示されるのは非常に困ることがあります。

そういう場合にNoticeエラーを無効化する方法を紹介します。

自分の知る限り、無効化する方法は2通りあります。

一つ目は、.htaccessでPHPのNoticeエラーを無効化する方法です。
fuelの場合、ドキュメントルート/public/.htaccess に次の設定を加えることで設定できます。

php_value "error_reporting" "E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR"

この一行を、.htaccessの末尾に追加すれば設定完了です。
もう一つの方法は、fuelPHPの設定ファイル fuel/app/config/config.php に設定を記述することでnoticeを無効化できます。

アプリケーション設定 – FuelPHP

FuelPHPは”規定より設定”という思想で開発されており、かなり自由にコーディングすることができます。
最低限のルールの土台はfuel、それ以降の細かい部分は自分で作りこむことができるのがfuelの魅力ですね。

フレームワーク何を使うか悩んでいる方は是非一度試してみてはいかがでしょうか。

takahashi 著者:takahashi

AWSの料金をシンプルに計算してくれるサイト

AWSの料金計算って、わかりづらくてめんどくさい…
なんて思っている方結構いると思います。

そんな方にピッタリなサイトを発見。
その名も

ざっくりAWS

現在8個のサービスの見積もりを出すことができるようです。
今回は試しに、EC2の方を試してみます。

個人の小規模なサイトを想定してこんなもんかなーと入力してみました。

おおお!料金が出た!
値を入力してくと自動で合計額が増えていく仕組みです。

AWSのシステムを把握していない初心者にとっては、これぐらいシンプルだとわかりやすくてありがたいです。
ただ、シンプルということもあり、それぞれのサービスで計算できないオプションがあるようで、入力画面の下側に注意事項として書かれています。
オプションサービスを使う方は公式の料金計算ツールを利用しましょう。

なお、こちらのサービスですが、作者の方がQiitaに作り方を掲載しています。
AWSの料金を「ざっくり」計算できるサイトを作るぞ – Qiita

ちなみに、こちらのサイト、イースターエッグも仕込まれているようです。
興味のある方は是非探してみてはいかがでしょうか。

takahashi 著者:takahashi

“激安の殿堂”ドン・キホーテで販売されていたBTスピーカは本当にお得なのか試してみた!

先日、地元に新しく出来た”メガドンキホーテ”に行ってきました。
自分の住んでいるところの近くにはないので、あまりじっくり見たことはなかったのですが、なかなかの品ぞろえで、巷ではあまり売られていない激安雑貨やアイデア商品など、見ていて飽きない印象です。

そんなドンキホーテですが、電化製品コーナーもあり、その中に”Bluetoothスピーカー”コーナーがあるのを発見。
普通の家電量販店では、有名なメーカーのBluetoothスピーカーしか置かれていないので、1万円弱以上の価格の者が多くて、自分のように”お試しで使いたい”という場合にはなかなか手が伸びにくいです。

一方こちらのドンキホーテでは、無名なメーカーではあるものの、1980円(税抜き)からという安さでおかれていました。
Amazonでもこれぐらいの価格帯のものはあるのですが、ドンキホーテでは実際に動作する実機の展示があり、手持ちのスマホや音楽プレーヤーを繋げて音を確かめてから購入できたのが個人的なプラスポイントでした。

一番安いものはキーホルダーでも小さい割にはかなり音が良かったのですが、重低音が足りなかったので1ランク上の2980円(税抜き)のものを購入。

URBAN NOTESという製品です。
複数色から自分の気に入ったものが選べるのがいいですね。

僕はこちらの青色のものを購入しました。

最近よくある海外製品かなーと思ったのですが、パッケージはちゃんと日本語で書かれています。
早速箱を開けて中身を確認。

スピーカー本体のほかに、AUXケーブル、microUSBケーブルが付属します。
取扱説明書もバッチリ日本語で書かれています。

スペックとしては
Bluetooth: v4.1
有線接続対応
連続再生時間:2.5時間

という、比較的値段相応なスペック。

本体上面にボタンがあるのですが、再生と一時停止、選曲と音量の調整、Bluetoothペアリングなどはここから行うことができます。
使用感としては、音はそこそこよく、コンパクトな筐体な割にはある程度しっかりと重低音を楽しむことができます。
玉に瑕なのが、操作時の音声ガイドの音量がちょっと大きめで調整できない点、そして、音の出だしが途切れることがしばしばある点です。

接続していても、一定期間たてば自動で電源が切れるような仕組みになっているので、恐らく音が出ていないときは省電力モードになっているのだと思いますが、音楽の出だしが一瞬切れてしまうのはちょっと残念です。

一方、公称値では駆動時間は2.5時間となっていますが、普段の使い方では結構持つようで、実際は4時間以上連続で利用することが可能でした。
据え置きで使うこと前提ではあったのですが、これだけ持つのであれば十分外に持ち出して使うことも出来そうですね。

全体的な印象としては、有名なメーカーから出ている製品に比べると、劣る部分は結構ありますが、お値段以上の満足感はあったかなと感じています。
Bluetoothスピーカーは欲しいけど、お試しで使いたいからしっかりしたものでなくてもいい、というエントリーモデルを求めている方には是非お勧めしたいですね。

takahashi 著者:takahashi

人気上昇中!?コミュニケーションに特化した新しいVR空間”VRChat”

現実世界で最大のVR空間…というと、SecondLifeが非常に有名ですよね。
個人的な感じ方ですが、SecondLifeは本当の意味でのVR空間を目指していたような印象です。

具体的には、ただコミュニケーションするだけでなく、VR空間内でいろいろなものを3Dオブジェクトで作ったり、販売したり、またLSLという独自のスクリプト言語を使うことで、アバターに特定の動作をさせたり、仕掛けを用意したりすることも可能な仕様です。

一方、最近になって新しいVR空間が人気を集め始めています。

その名も、”VRChat

最近、ネット上でにわかに人気を集めています。
このVRChatですが、一見すると非常にSecondLifeに似ているように思えます。

何かSLと比較できる点とかあるかなーとか思ったのですが、

バーチャル無法地帯『VRChat』の歩き方…今日から遊べるカオスな溜まり場 – GameSpark

こちらの記事を確認する限りではほぼSLと変わらない雰囲気です。
ただ、こちらのサービスは黎明期ということもあり、現在世界中の多くの人でにぎわっているようです。
VRChatの世界でも、自分で好きなアバターを入手、もしくは制作することで、好きな姿で参加することができます・
また、SLでいうリージョンのように、ワールドという仮想空間を作成することも可能です。

唯一SLと違う点としては、HMDを使用することが前提(PCでの利用も可)のサービスとなっていたり、モーショントラッキングができたりと、最近のVR技術に最適化されている部分があるようです。

ただ、SLのようにゲーム内での細かい規約がまだ設定されていないようで、自由度がかなり高いものとなっていますが、上記の記事にもあるように一部無法地帯となってしまっている部分もあるようです。

VRが発達して再び活気がつき始めた仮想空間サービス。
プレイ環境が誰でも比較的入手しやすくなった今こそ、面白いことになっていくのではないかというワクワク感を感じました。

VRChat公式サイト(英語)
VRChat 日本WiKi

takahashi 著者:takahashi

ApacheのRewriteでメソッドの種類を条件にした時の書き方

久々にApacheのmod_rewriteをこねこねしたので、その備忘録。

Apacheのmod_rewriteはかなり柔軟な指定をすることができ、それ故に”黒魔術”と呼ばれることもあります。
そんなmod_rewriteですが、プログラムを介することなくGET/POSTなどのメソッドに応じてリダイレクトさせることが可能です。

書き方としては

RewriteCond %{REQUEST_METHOD} ^(メソッド名)$

こんな感じです。
例えば、POSTの時だけリダイレクトしたいのであれば

RewriteEngine On 

RewriteCond %{REQUEST_METHOD} ^(POST)$
RewriteRule ^(.*)$ /post/only/path%{REQUEST_URI} [R=301,L]

のように書けます。

Rewriteは非常にたくさんのオプションを指定でき、柔軟に振り先を分けることができます。

Apacheのmod_rewriteモジュールの使い方を徹底的に解説 – OXY NOTES

ただし、誤った設定をしてしまうと、リダイレクトループに陥ってしまい、ページが表示できなくなってしまうこともよくあります。
すでに動いているサイトなどでは十分に注意して使用してくださいね。

takahashi 著者:takahashi

TwitterがUserStreamsAPIの廃止を延期

以前から波紋を呼んでいたTwitter Streams APIの廃止問題ですが、どうやら廃止が延期されたようです。

Twitter、“流れるタイムライン”の「User Streams API」廃止を延期 – ITMedia

User Streams APIとは、一度TwitterサーバーのこのAPIに接続してしまえば、リアルタイムにツイートの取得が可能となり、さらに現在サードパーティアプリに敷かれている15回/15分という厳しい取得制限の影響を最小限に抑えられる、唯一の回避策でもありました。
ところがTwitterはこのUser Streams APIも廃止を行い、TLの取得ができず、ほぼ有料であるAccount Activity APIの適用を強制することで、実質的にサードパーティークライアントの締め出しを行おうとしていました。

上記記事ではなぜTwitterがUserStreamsAPIの廃止が延期されたのかは不明と書かれていますが、こちらの記事ではTwitter社に対して抗議が多数寄せられたことが原因としています。

Twitter、サードパーティアプリを破壊する「User Streams API」の廃止を延期 – 携帯総合研究所

情報が錯綜気味なので、実際のところはわかりませんが、”謝罪専用係“や大量アカウント凍結などの事件もありましたし、UserStreamsAPIの廃止によって多数のデベロッパーやユーザーにとってさらに使いづらくなります。ユーザーやデベロッパーから猛烈な抗議が出るのも無理はないと思います。

経営難でいろいろな施策が必要なのは理解できるのですが、利用者数も少ないサービスではないですし、原因はユーザーではなくTwitter側にあるはずなので、ユーザーにばかりしわ寄せするような施策が多いのはどうかと思ってしまいますよね。

制限ではなく、Twitter、ユーザー双方にメリットのあるシステムを考えていって欲しいところです。

takahashi 著者:takahashi

IntelがノートPC向けにもCore i9を発表

先日、Intelのハイエンド向けCPU、Core i9のノートPC版が発表されました。

IntelがノートPC向けで初の6コア「Core i9」発表 新施策の「Core i+」とは? – ITMedia PCUSER_

発表されたCPUの型は Core i9-8950HK となっており、ノート向けとしては初の6コア・12スレッドの初のノート向けi9という初ぞろいのCPUになっています。
いままでCore i9はデスクトップ用のみで、ノートPCに積むことはできませんでしたが、今回の発表で、メーカーはノートPCにもi9を積むことができるようになりました。

さらにこのCPU、型番の末尾に”K”がついていますが、この型はオーバークロックに対応しており、パワーが必要な時は”Thermal Velocity Boost(TVB) Technology”によって自動で最大200MHzまでオーバークロックされるとのこと。
従来のデスクトップ用CPUを超えるスペックをノートPCで利用できるという、非常に魅力的なCPUとなっています。

見ての通りスペックがおかしいですね。自分では6コアCPUなんてデスクトップのものですら使ったことがないです(苦笑

その分お値段もかなりしそうではありますが、ノートPCでも高性能な環境を利用することができるようになれば、選択肢も広がりますし、高性能マシンをいつでもどこでも使えるようになるメリットもあります。

これまでAMD社が出したハイエンドCPU”Ryzen”が非常に人気があり、intelが苦戦を強いられていましたが、Core i9の登場で現在の両社の勢力図が今後どのように変わっていくのか、今後が楽しみですね。