技術・開発

怒涛の攻めを見せるMicrosoft社のデータ分析ツール

マインドテックの冨です。

3月末のカンファレンス”Build 2016″で、Ubuntu Linuxの環境をWindowsネイティブで稼働させたり、従来のPowerShellに加えてLinuxの事実上の標準のシェルbashを利用できるようにするなどの発表を行いました。今年の夏の予定とのことですが、これはすごい事ですね。まあMac使いの人には今までできているけど何か?とか言われそうですけど。

それにしても昨年から今年にかけてのMicrosoftの攻勢は圧巻だなあと思う次第なのです。OS+Office屋さんから、改めてクラウドやデータ分析などのビジネスのメインストリームに食い込んできています。クラウドでは先行するAmazonに一日の長がありますが、それでもAzureの充実ぶりを見るとよくぞここまでという感があります。

以前、Excelを持っているMicrosoftが本気でデータ分析の領域に突っ込んで来たら、分析領域のツール開発ベンチャーが軒並み吹き飛ばされるんじゃないかと思っていましたが、なんとなくそんな雰囲気も改めて感じています。まあ、TableauやQlikViewなどが持っているシェアをひっくり返すには相当時間がかかると思いますけど。

そんなわけで、Microsoft社が提供しているデータ分析関連の主なツールをまとめてみました。(「アレが入ってない」とか見落としがあるかと思いますがご容赦を)

(1) Excel

Wordとならび、ほぼすべてのPCにインストールされているのではというくらいに普及している表計算ソフト。単純な集計の他にもソルバー機能やピボットテーブルも使える。予測もできる万能ツール。UI面でちょっとしんどい事を除けば、機能的にはたいていのことは対応できる。少なくとも中小企業のレベルではデータ分析の専用ツールを買う前に、Excelの機能をしゃぶりつくす位でちょうどよいくらい。(アルゴリズム的にいろいろある話も聞きますが、そういう業務の方は専用ツールを買うべき)

(2) Power Pivotアドイン for Excel

https://support.office.com/ja-jp/article/PowerPivot-%E3%82%A2%E3%83%89%E3%82%A4%E3%83%B3-a9c2c6e2-cc49-4976-a7d7-40896795d045
Excel2010から利用できるようになったピボットのプラグイン。ノーマルのExcelを越えて大量データの集計処理が可能になる。これもあまり使っている人をみかけないが勿体ない。(ついでにPowerViewも)一般的なビジネスデータの分析であれば、ここまでで大抵は何とかなる。

(3) PowerBI

https://powerbi.microsoft.com/ja-jp/
ビジュアライゼーションやレポートのためのダッシュボードのサービスであるが、驚くことに無料!これもあまり利用されていませんが、もっと知られて良いサービスだと思いますよ。

(4) Microsoft R Server

https://www.microsoft.com/en-us/server-cloud/products/r-server/
2015年4月に買収したRevolution Analyticsが提供していたディストリビューション。R言語はデータ分析界隈では有名ですが、MS社が買収した時は驚きをもって迎えられました。今後、いろいろな製品・サービスと連携していくと思われますので非常に楽しみです。

(5) Microsoft Azure HDInsight

https://azure.microsoft.com/ja-jp/services/hdinsight/
HadoopファミリーのSaaSサービス(素のHadoopの他にも、Pig/Hive, HBase, Storm, Sparkなど)

(6) Microsoft Azure Machine Learning

https://azure.microsoft.com/ja-jp/services/machine-learning/
cortana Intelligence suiteとして提供されている機械学習のプラットフォーム

こうしてみるとデスクトップからクラウドまで、そつなく網をかけにきています。しかも独自サービスのみならず、RやHadoopファミリーなどの業界標準までもカバーしてきており、ユーザー/開発者側への歩み寄りも見て取れます。

AI/人工知能の領域ではWatsonを有するIBM社の存在感も大きいですが、AWS, GCPとならんでのクラウド業者としての位置づけや、Officeツール領域では依然として大きなシェアを持っていることから、2016年の動向も興味深いです。

WinXPなどの古いPCを使い続けるリスク

マインドテックの冨です。東京では桜が一気に開花したなと思ったら雨。花散らしの雨にならないといいのですが。

最近、お客さんから開発やIT設備導入に関するの相談を受ける際に、すごく気になるのですが、現場で古いWinXP機やWindowsサーバーが現役で動いているんですね。それで独自開発した業務アプリケーションが保守されなくなってどうしようかとか、データ処理ソフトが最新フォーマット対応のアップデートができなくなって困ったとか。

この場合のリスクは大きく2つあります。

  1. 古いOSのセキュリティーアップデートが受けられない
  2. ハードウェア(特にハードディスク)の故障によるデータ損失
セキュリティーアップデートが受けられない

1については言うまでもないでしょう。ネットにもつながず、外部とのファイルの受け渡しも行わない(SDカードやUSBメモリなどを経由してもダメですよ!)完全なクローズド環境であれば情報漏えいのリスクは無いですが、大抵の場合はそんなこともないですし、特にサーバー機の場合には何らかの形でデータの送受信が行われるのが前提です。

「インターネットにつなげていないから大丈夫」といってもLANに接続されていれば、LAN内の他のPCがウィルス感染すると、LAN経由で感染することがあります。サポート切れOSに対してはセキュリティーソフトもサポートを停止する可能性が高いので、守る手段がなくなるのですよね。

ハードウェアがヘタる

2も発生した場合のダメージは大きいです。「ある日突然PCが起動しなくなった」「作業中にPCが突然落ちるようになった」などが典型です。特にHDDは稼働部品が多い消耗品です。データのバックアップさえ取れていれば、最悪の場合でもXP機であれば中古で調達できますが、それもあと数年の事でしょう。延命できるうちにリプレイスを行うべきです。

なんでリプレイス出来ないの?

お話をうかがっていると、ほぼ全ての場合で「予算」理由なんですね。無い袖は振れないと申しますか、どうしても現状で使えるものであれば、「入れ替えなくてもいいじゃん」と優先順位を落とす傾向があります。

中小ですとカツカツの資金で回している所も多いので、さすがに借金してでもリプレイスしろとも言えないわけですが、いろいろなリスクとのバランスをとる事となります。「年賀状の住所を保管している」程度であればダメージ少ないですが、日々の出納、受発注などを行っているような「PCが止まれば業務も止まる」レベルのものであれば、借金してでも入れ替えろと言いたい局面もあるんですけどね。


それでも使うならリスクヘッジを

継続利用を勧めるわけではありませんが、それでも使い続けるというのなら、最悪の事態に備えてリスクヘッジをする必要があります。(「電源が入らない」「起動しても固まる」と電話いただいても打てる手は限られるんですよ)

①なにはともあれデータのバックアップ

これは絶対!代替機が調達できれば復旧できます。もちろんアプリケーションのメディアやシリアル番号なども揃っていることを確認してくださいね。ここに至って同型機が調達できる見込みは薄いと思われますので、システム全体のバックアップをとってもリストアできるハードが無い可能性もありますが、最低限、アプリが出力したデータファイルや作成したドキュメントファイルなど、CD-R、USBメモリなど何でもいいから保存!保存!

②できれば予備機の調達

アプリが新しいOSに対応できない場合、XPなどが動く環境を用意しておく必要があります。最近はアキバの中古屋で1~2万といった機体も見かけますので、調達しておけば吉です。

③オフラインでの利用

インターネットにつなげるとかはもってのほか。出来ればLANとも切り離すべきです。(その昔、LAN経由でウィルスのピンポン感染があって大変だったんですよ・・・)

④データ復旧屋の連絡先をおさえる

最悪の中の最悪の場合、ハードディスクからのデータ救出を行わないといけない局面も出てくる可能性があります。そのような場合の連絡先やサービス内容、費用などを確認しておいてください。(ただ、このお金が出せるならPC買っとけよと思うのですが。)

いろいろと事前の用意が出来ていて分かる人がいるなら半日もあれば、業務復旧は出来ると思いますが、そうでなければダウン時の復旧に要する人件費やら業務が止まる日数やら、もろもろリスクと隣り合わせになりますので、その辺も考慮の上、予算の立案やリスクヘッジを行っていただければ幸いです。

もちろん、新しいPC利用の場合でもバックアップは必要ですよ。

ChromeのSSLで接続エラーになったときのサーバー確認ツール

昨日、こんな投稿をぶっこんでみましたら、思いのほか参照されまして、世の中、SSLで困った人が多いのだなあとうかがえます。

Chrome 45でSSLサイトに接続できないという話がちらほら

いろいろなサイトを調べてみましたら、サイファー・スイートのミスマッチでハンドシェイクの段階で失敗しているのがほとんど。世の中にはSSL v3はおろか、SSL v2が生きているサイトもかなりお見受けいたします。大丈夫なんだろうか・・・

サーバー側のSSLの設定の確認ツールはいろいろとありますが、自分にとって使い勝手がよかったのは以下のサイトです。

SSL Server Test : https://www.ssllabs.com/ssltest/

とりあえずテストサイトのドメイン/ホスト名を入力してクリックすると、証明書、署名アルゴリズム、サイファー・スイート、主要ブラウザ出のハンドシェイクのシミュレーション結果などが表示されます。

心当たりがあればテストしてみることをお勧めしますし、対策後の確認にも使えるのではと思います。

Chrome 45でSSLサイトに接続できないという話がちらほら

最近、ChromeがVersion45にアップデートされたのですが、一部のSSLのサイトで接続できなくなったという話をちらほらと耳にしました。例えば、クロネコヤマトの宅急便のクロネコメンバーズのログインページの場合には、

SSL サーバーが古い可能性があります。
ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION
という表示が出てきます。さてはSSL v3のいわゆるPoodle脆弱性関連で手が入ったのかなと思いましたが、単純にそういうわけではなさそうでした。
NGとなるサイトを軽く調べてみますと、共通するのはサイト証明書の署名アルゴリズムがSHA-1であります。SHA-1自体は2015年で廃止予定で、サイト側は早めにSHA-2(SHA-256)への切り替えが推奨されますが、それまでの移行措置としてURL表示欄の鍵の部分に警告マークが表示されるようになってました。リリーススケジュールを前倒しでブロックしているわけではなさそうですが、さっさと切りかえるに越したことはないです。
また、v45のリリースではTLSプロトコルのlogjam脆弱性への対策がされています。具体的にどのような変更があったのかは見つけることができませんでしたが、v45以前のバージョン向けに以下のサイファースイートをdisableする対応が取れるとのこと。この手の設定変更が正式に組み込まれているのかもしれません。
(0xcc15) TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
(0xcc9e) TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
(0x0039) TLS_DHE_RSA_WITH_AES_256_CBC_SHA
(0x0033) TLS_DHE_RSA_WITH_AES_128_CBC_SHA
出展:https://scottontechnology.com/how-to-secure-chrome-against-logjam/
Chrome43のハンドシェークのシミュレーションで同じサイトを見ると、上記のサイファーのうち1つを使っていましたので、直接的な原因はこちらの方のようでした。
サーバー側の鍵やらサイファースイートの設定見直しが必要ですね。
US側にもトラブル事例が少ないようで、まだ詳しくは追えていませんが参考までです。
9/5追記
logjam脆弱性対策については、DHが1024未満のものはブロックする設定になったようです。
ブロック時のスクリーンショット
9/6追記

クライアントサイドでのTLS 1.0へのフォールバックが廃止されたためということらしいですね。
Intent to remove: TLS 1.0 version downgrade
https://groups.google.com/a/chromium.org/forum/#!msg/security-dev/F6ZjP6FnyRE/bK7TKtvnHYsJ

関連記事:スラド http://security.srad.jp/story/15/09/05/2140223/

Twilioを利用した素晴らしいOSS ”OpenVBX”は、もっと広まっても良いと思うよ。

昨年のTwilioスマートコミュニケーションアワード2014で賞をいただき、今年のTwilio のカンファレンス “SIGNAL” 2015にも参加したせいか、時々、Twilio関連の案件打診をいただきます。昨日、Twilioを使ったコールセンターシステムの構築打診をいただいたのですが、予算が少なく、かつ、現状でも電話問い合わせがパンク気味なので、なるべく早急に欲しいという事でした。

例えば電話転送や留守番電話、指定のボタンを押した際に、押した番号によって転送先を切り替えるIVR機能などが必要とされるのですが、逆にこのくらいの要件であれば、オープンソースの素晴らしい製品”openVBX”を導入すれば簡単に利用できるのですね。

まずは、こちらのページをご覧いただくのがよろしいかと。OpenVBX powered by Twilio

まずはTwilioのアカウントを取得したのち、OpenVBXをインストールします。そしてTwilio関連の設定を入れてしまえば050番の電話番号はいくらでも購入できますし、それらの電話番号が着信した際の対応もドラッグ&ドロップなUIで定義できます。

もちろんIVRの機能も持っていて、押した番号によってふるまいを変えることができるわけです。(内部的にはTwilioのgather文を発行しているのだと思う。)

残念ながら日本語UIは用意されていないので、若干ハードルは高いですが、いわゆるLAMPスタックをいじれる人であれば、さほどインストールは難しくありません。

こんな事書いちゃうと開発案件が減ってしまうかもしれませんが(笑)、車輪の再発明をしてもしょうがないので、ぜひ検討してみてはいかがでしょうか。(これをSaaSサービスで提供すれば儲かるんだろうなあとは誰もが言いますが、あまり手を付ける人がいないですね・・・)

 

ThunderbirdのカレンダーをGoogleカレンダーと連動させる方法

今朝、メールをチェックしていたらThunderbirdの更新がかかり、38.1ではカレンダープラグインの”Lightning”がバンドルされました。以前にこのプラグインを利用していたのですが、Googleカレンダーを利用しておりまして、カレンダーが分散すると管理できないので使うのを止めていたのですね。

ただ、よくよく調べてみると連携出来る事がわかりまして、試してみたところ、それなりにうまく動きましたので、その手順をメモがてら。

1. “Provider for Google Calendar”プラグインの導入

このプラグインを利用するとGoogle Calendar RESTful データサービスに接続して、Google カレンダーやTODOのデータをLightningと連携します。

  • ツール>アドオン
  • 右上の「アドオンを検索します」に”Provider for Google Calendar”を入力
  • ADD-ONページを ”+ Add to Thunderbird”をクリック
  • ダウンロード後、右上の「今すぐ再起動」をクリック

Provider for Google Calendar

※Thunderbird本体ではなく、ブラウザで上記のページにアクセスした場合には、xpiファイルをダウンロードした後、ツール>アドオン>オプションボタンをクリック>ファイルからアドオンをインストール を選択し、ダウンロードしたxpiファイルを選択してください。

2. Thunderbirdの設定

連携先にGoogleカレンダーを指定していきます。

  • ファイル>新規作成>カレンダー
  • 「カレンダーの保存先」で「ネットワークのサーバーに保存する」を選択

カレンダーの保存先

  • 「カレンダーの保存先」で”Google Calendar”を選択
  • 連携したいアカウントのgmailのアドレスを入力
  • 連携したいカレンダーやタスクリストにスイッチを入れる
  • 「カレンダーが作成されました」が表示されればOK

カレンダーの画面は

  • 予定とToDo>カレンダー

または、Thunderbird画面の右下の「Todayペイン」

で表示されますので、連携できていればGoogleカレンダーの登録内容が反映されています。

逆にThunderbirdで

  • 予定とToDo>新しい予定

などから、追加した予定がGoogleカレンダーに追加されることを確認してみてください。(追加する際には「カレンダー」の指定をGoogleアカウントを指定することを忘れずに!)

Windows10への移行後に注意すること

以前に仕事でMacを使った時期もあったのですが、度重なるフリーズ、ファイルの破損、レポート納品後に「一応、みてくれは良いとせざるをえないけどねえ・・・」とか言われて、翌年から「WindowsのWordで作成したファイル」と、業務仕様書に書かれてしまうなど、あまり良い思い出が無いので、以来、ずっとWindowsをメインに使っています。演算用にAlpha版NT機まで使っていたので、そこそこのヘビーユーザーだったと思います。

今回、鳴り物入りで登場したWindows 10ですが、前評判の良さにワクワクしながらアップデートを待ったのですが、ちっとも「更新通知」が来ないのに業を煮やして手動で行いました。

1日使ってみた感想としては「評判通り」で、かなり良い仕上がりになっていると思います。

  • 移行が素晴らしい。もちろんダウンロードなどに時間がかかるが、起動後も特に問題なく使える。デバイスマネージャーで見てもドライバー互換性でのエラー0。すげー
  • UI周りで小さい虫がちらほら。マウスカーソルが変わったままになったり、画面がはみ出してみたり。まあ、時が解決してくれるでしょう。
  • 日本語だとcortanaが使えない・・・・さらには、オフラインマップのダウンロードが出来ないってばよ・・・
  • 噂のEdgeブラウザも、みずほ銀行と三菱東京UFJに突撃してみたが、残高照会くらいまでは問題なくできたので、IE6ゴリゴリ仕様な所以外はさほど問題にはならないのかと。ただ、Facebookの投稿の時に書いている途中の文が消えるなど、まだバグがちらほら残っている模様。
  • カレンダーがGoogleカレンダーと同期出来るのはGood。メールもマルチアカウント対応になった。
  • やはり仮想ディスクトップは便利。(いままでもアプリを入れて使っていたがOSがサポートしたのはGood. 「OS/Xでは昔からできたよーん」とか言わない!)
  • UIフォントが”Yu Gothic UI”に変更。正直、読みにくい。画面の読みにくさはClearTypeチューニングを行ったらそこそこ改善するが、それでもアプリによっては気になる箇所がちらほら。特に多用しているMozilla系アプリでは表示がボケボケ。使えないわけではないのであきらめる。
  • Modern UIさようなら。ダッシュボードとしては、それなりに使えていたんですけどね。

移行後に気を付けないといけなかったポイントとしては

  1. Skypeの再インストールが必要だった。他のアプリがキレイに移行されているので、そのまま放置していたら着信できなかったりするので注意。
  2. OneDriveの設定も個別に必要。移行後にシンクロが止まっているではないですか。管理対象フォルダの再指定と共に再開してあげないと、思わぬ事故の予感。

初期バージョンならではのトラブルは見られるものの、これまでのOS移行を思えば格段に良くなりました。フィードバックをバンバン送れば修正も早まるのではと期待してます。

 

ブラウザのシェアでIEが下がりChromeが主流に

かつてのブラウザ戦争を知る世代にとっては、IEの過半数割れって栄枯盛衰を感じますね。

ついに日本でもIEが過半数割れに、世界はすでにChromeが寡占
http://ascii.jp/elem/000/001/020/1020922/

バージョン3~6あたりのブラウザ間の互換性がひどかった時代に比べれば、それなりにそれぞれのブラウザが標準準拠してきました。そのため、画面での表現上、画面レイアウトが見るに堪えないレベルのという事は無くなりましたので、昔ほどはブラウザシェアの持つ意味は低くなったと思います。それでもWebアプリを外注するようなケースではテストケース作成の段階で、どこまでを対象にするかは悩みどころですね。社内限定利用のイントラ以外では「とりあえずIE限定で」というのも難しくなってくるわけです。

個人的にはChromeのメリットは出始めの頃よりは大きく薄れているように感じます。IEもMozilla系ブラウザも、もっさりとした挙動の中、Chromeの軽さは群を抜いていました。ただ、最近は機能追加によりメモリはバカ食いするわ、挙動は重くなってくるわと、IEやFirefoxを使うのと大差ない感覚ですね。使っている携帯電話がAndroidなのでChromeを使う方が親和性が高いように思えるのと、PCとの連携をするためにChromeも利用していますが、利用規約を見るとちょっと怖い事もあり、普段使いはFirefoxにしています。以前は敬遠していたIEも最近のバージョンは悪くないと思っています。ただ仕事柄か周りの人ではIEを普段使いしている人は見ませんね。そもそもMac使いがかなりを占めるようになってきていますし。

メーラーのThunderbirdに嫌気がさして、またThunderbirdに戻った話

WinbiffやAL-Mailあたりから始まり、Netscapeのバンドルのメールソフトに移行した後、Mozillaメールを経てThunderbirdへと。比較的Netscapeの流れをくむメールソフトを使いつづけていたのですが、頻繁にフリーズするのが嫌で大変ストレスがたまるわけです。ただひたすら惰性で使い続けていたのですが、先週についに臨界点を越えまして、乗り換えを決意しました。

乗り換え先の候補のために、最近の評判などをあれこれ検索してみたのですが、そんなに新しいものって出ていないのですね。まあ、メッセンジャーソフトの方にコミュニケーションが移りつつある今、枯れたメール系の方に今から足を突っ込みに来るのは得策ではないと。

Becky!、 秀丸メール、Opera Mail、などを、それぞれインストールして動きを見ていまして、それぞれ「懐かしいなあ・・・」「良いなあ・・・」と思いましたね。カレンダーと同期は以前からありましたが、メールへコメントをつける機能があったりと、それぞれ工夫されています。いくつかを入れっぱなしにして数日使ってみていたのですが、気になることが。それは・・・

「アーカイブ」ボタンが無い!

GTD的かつgmail的なメールの整理方法だと思うのですが、処理済メールをInbox/受信トレイから消していくやり方に慣れきったら、受信トレイにどんどんとメールが溜まっていくのは非常にストレスが溜まるのですね。「どこまで処理したんだっけか?」「返信忘れはないだろうか?」とか気になるんですね。この「アーカイブ」ボタンはThunderbirdにはついていまして、それぞれアーカイブフォルダに入れなおしてくれるんですね。いまどきのメールソフトにはこの機能が無い。これは意外でした。

同じような機能は、例えばアーカイブ用のフォルダを別に作って、処理済メールは「移動」コマンドなどを利用して受信トレイから消すことは出来るのですが、やはりボタン一発で処理できないというのは、それなりに面倒だったりします。

時々フリーズ気味の処理の不安定さと、処理の面倒さとを天秤にかけるわけですが、結局はThunderbirdを使い続けているわけです。何と言いますか、古女房といいますか、ダメな所も目をつぶって付き合っていくという男の甲斐性を試されているような気分にされるわけです。

いやあ、いまどきのメールソフトでも、いろいろと手を入れて俺好みに調教してやればいいのかもしれないのですが、それも面倒なんですねえ・・・

「これイイよ!」というのがあれば教えて欲しいです。

Windows版Emacsでtabbarをインストール

自分用のメモです。

Windows版のEmacsで、Packageを使ってパッケージをインストールしようとすると、エラーが出て出来ない場合がありまして。同じ設定でLinuxではすんなり入るのですが、Windows版だと途中で止まってしまっているようで困った。

elファイルを落としてきて、byte-compileするとかすれば使えるようになるんだろうけど、構成は合わせておきたいなあと。

packageの設定が出来ている事を前提にしまして

  1. パッケージのtarファイルをダウンロードしてくる。(今回は、tabbar-20141109.143.tar)
  2. C:\Users\(User Name)\AppData\Roaming\.emacs.d\elpa に解凍
  3. M-x update-directory-autoloads を実行
  4. “Update autoloads from directory:” プロンプトの後、”~/.emacs.d/elpa/tabbar-20141109.143/ を指定
  5. “Write autoload definitions to file:”プロンプトの後、”~/.emacs.d/elpa/tabbar-20141109.143/ tabbar-autoloads.el”を指定
  6. 上記のパスに tabbar-autoloads.el が作成されている事を確認

ここでemacsを再起動すると、tabbarが利用できるところまで確認。おそらくはパッケージのアップデートなどには対応出来ない気もするのだが、取り合えずの一時しのぎに。もっと良いやり方があるような気もする。単純にtar玉を展開するだけだと、起動時にエラーが出て有効にならないので上記3の手順が必要。