2018/02/18

㊗️Bloggerが独自ドメインでもSSLに対応


最近Google ChromeがSSL対応していないサイトへの警告をどんどん強くしています。
Chrome 62非対応サイト上では「保護されていません」というメッセージを表示するようになり、今後は「安全ではありません」と言うメッセージに変わるとか。

さて、そんなGoogleの運営しているBlogサービスのBloggerですが、標準でHTTPS化のオプションが用意されています。サイトの設定から選択するだけで利用開始できる手軽さです。
しかし、それはBlogger標準提供のドメインを利用している場合のみ。
このサイトみたいに独自ドメインを設定している場合にはHTTPS化のオプションは選択することはできませんでした。


いつからなのか、Bloggerの管理画面から独自ドメインを設定している場合でもHTTPS有効化のオプションが選択できるようになっていました。


ただしまだ一般機能ではないようで、先行して機能を試すことのできる「Blogger in Draft」で公開されている状態です。アクセスは下記URLからログインすると、通常のコンパネとほぼ同じUIが表示されますが、設定の項目が上記の様に少し変わっています。

draft.blogger.com

証明書の取得などの作業は必要なく、そのあたりは全部Googleの方で自動で対応してくれます。設定後10分程度アクセスできなくなる時間が発生しますので、アクセスが少ない時間帯などに作業するとよいかと思います。

そんなわけでBloggerも切り捨てられることなく今後も運用されてゆくだろうと思います:-p

ちなみに証明書にはLet's Encryptが利用されていました。

2018/01/10

Metabaseがすごく良い



データ可視化ツールの「Metabase」がQiitaで話題(OSSのデータ可視化ツール「Metabase」が超使いやすい)になっており、試してみたところ確かにこれは現在のデータ可視化オープンソースの決定版だと思います。
とりあえずデータ可視化をしたいならこれを使うべきという感じ。

Metabase



とりあえず良かったところを。

1、インストールが簡単

標準でDockerイメージやHerokuにデプロイできますし、何と言ってもJavaのJARファイルでまとめられているので、Javaさえインストールすればコマンド一つで実行できます。(さらに言えばMac向けにはインストール型のアプリも提供されています)
DBも内包されているので、ツールを使うにあたって設定情報保存のためのDBと言うものを用意する必要はありません。

実際に自分の環境はWindowsマシンなのですが、Re:dashやSuperSetなどの他のツールはそもそもネイティブのWindowsにインストールすることを前提としていませんが、このMetabaseならJavaの実行環境さえ整えればJARファイルの実行だけでWebサーバから何から何まで起動し即座にブラウザからアクセスできます。


2,データ・ソースの接続先が豊富

公式サイトにも書かれていますが、MySQLやPostgresqlだけでなく標準でSQL Serverにも対応しています。Windows使っている理由はSQL Serverを使っているという理由なので、特殊な設定を行うことなく直ぐにSQL Serverに接続できるのは非常に便利。

また、Amazon RedshiftやGoogle BigQuery、Google Analyticsなどにも対応しているのは便利かと思います。


3,グラフ表示がとてもリッチ

Re:dashを使われた方はわかると思うのですが、グラフやビジュアル表示が非常に弱いのには不満があったと思いますが、Metabaseはこれらを全部解消できています。
グラフの表現力の高さだけでなく、表示面積もマウスで自由に変えることができ、至れり尽くせりです:-)


今までは独自にSQLとHTMLを駆使してデータの可視化を行ってきましたが、よくも悪くも自分以外には扱えないシロモノでした。もちろん完全自作なので自分の作りたいものを作りたいようにできる利点はあるのですが、汎用性がないという問題も大きな障壁です。
Metabaseのお陰でやっとそれか卒業できそうです:-p

2016/12/12

Windowsに頑張ってSupersetをインストールしてSQL Serverに繋いでみた


SupersetはAirbnbが開発しオープンソースにしたデータ可視化ソフトウェアです。
最近では同じジャンルのでre:dashの次だなんて言われていますね。

デモを見ていただければわかると思いますが、可視化表現にかなり力が入っています。
Gallery — Superset's documentation

今回はこいつをインストールして実際に起動したというところまでのお話です。

オフィシャルでも書かれているとおりWindowsはサポートされていません。
公式のインストールドキュメントにWindowsでのセットアップ手順が書かれていたので調整乗ってインストールしましたが、ちゃんとした環境で動かしたいのであればLinuxやMacOS上で動作させることをおすすめします。

インストールの手順はオフィシャルのドキュメントのとおりです。

 Superset's documentation
 http://airbnb.io/superset/installation.html#getting-started

事前にWindows版Python3.5をインストールしておきます。

 Python Releases for Windows
 https://www.python.org/downloads/windows/

Pythonのインストールができたら今後Pipをインストールし事前の準備は完了です。
pipのインストールをしてvirtualenvのセットアップが完了したら今度は実際にsupersetのインストールにかかるわけですが、そのままインストールを実行しても失敗します。
C++のBuild ToolのインストールとSASLのためのモジュールが足りないと怒られます。

 Visual C++ Build Tools
 http://landinghub.visualstudio.com/visual-cpp-build-tools

まずはVC++のBuild Toolsのインストールを行い、次に、WindowsのPythonで使えるSASLのモジュールをインストールです。

 Unofficial Windows Binaries for Python Extension Packages
 http://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl

実行するPythonのバージョンとOSの環境に合わせたwhlファイルをダウンロードし、ローカルでインストールします。

pip install sasl‑0.2.1‑cp35‑cp35m‑win_amd64.whl
 ※今回はPython3.5の64bitWindows環境向けのファイルをダウンロードし実行


この状態で
pip install superset
を実行するとおそらく問題なくインストールが完了するはず。
それでもエラーが出る場合にはエラー文言を読みつつ対応してください。


インストールが完了した後、supersetコマンドは直接実行してもそんなコマンドないと怒られちゃいますので、python superset XXで実行してください。

Windowsの場合普通にrunserverを実行してもまだモジュールがないと言われ実行できません。
これらに対応する方法がよくわからなかったので、-d オプションを付けDeveloperモードで動かします。この状態ならなんとか動作確認できました。
 この場合にはlocalhost以外からのアクセスができないのであしからず。


なんとか起動している状態で、ブラウザを起動しアクセスしてみます。
http://localhost:8088
に接続すると延々とローディング画面が続きます。

これを無視して右上の「Login」からセットアップ中に設定したadminで入ってみます。
無事ログインできるとダッシュボード一覧が表示されます。
最初にログインした時には3つのサンプルが表示されているかと。

一番上に表示した画像はこのサンプルの中のBirthsと言うものです。
Re:dasのどことなく垢抜けない感じとは打って変わって見て分かる通り非常にグラフィカルでインタラクティブな表示になっています。


メインのお題となるSQL Serverとの接続です。
事前に2つPythonのモジュールを追加しておく必要があります。

pip install pymssql
pip install pyodbc

その後データベースの設定画面でSQLAlchemy URIの項目にデータベースを指定するわけです。

mssql+pymssql://sa:XXXXXXXXXX@localhost/dbname

XXXの部分にはsaに対応するパスワードを入力してください。
今回はSQL Serverが動いている同じサーバ上でSupersetを動かしているのでlocalhost/dbnameという指定を指定としていますが、実際には各々の環境に合わせて書き換えてください。

登録前にTest Connectionで接続確認できます。
接続確認できましたら今度はSaveでデータベースを登録します。

データベースを登録するだけでは使えず、今後はテーブルの登録も行う必要があります。
(もっといい方法があるかもしれないですが)テーブルは1つづつしか登録できないような挙動です。普通リレーションを組んでいるのでなんとも面倒くさく、それでいて使いにくい。



実際に画面を作成するためにはSlicesを作りDashboartdsに設置していくイメージ。この辺はRe:dashと同じ感じですね。
あとは、画面上に表示されるChart Typeを選択してサイドメニューのパラメータを弄るだけで確かに格好いい表示ができます。ただ、WordCloudのような非常に複雑なものチャートを選択するとパラメータ変更する前に開いているブラウザが落ちるという挙動が気になります。

また、複数のテーブルで計算した結果をグラフィカルに出力するにはどうすればいいのかイマイチ分からないです。
SQL Labの項目からSQLを手入力することはできるのですが、この画面で投入したSQLはどんなに簡単なものでも完了したことはありませんでした。

Re:dashは確かにグラフィカルな表示には向いていませんが、SQLの結果を可視化できるという意味ではシンプルでよかったのですが、SupersetはSuperset上でSQLを実行するのではなく事前に一時テーブルなどに整形結果を格納しておく必要がありそうです。
そもそも、SQL入力しても結果が帰ってこないのがWindows版の問題点という可能性もありえます。。。


最も自分の手元にある環境がWindows端末しかなかったので今回はWindows環境にインストールしましたが、素直にサーバ立ててその上にインストールすることをおすすめします。
Re:dashにしろSupersetにしろきちんと使い込まないとよし悪しが見えてこないと思います。当分はこれで試行錯誤したいと思います;-p

2016/12/02

AWS re:Invent 2016の気になる製品 2日目

昨日(AWS re:Invent 2016の気になる製品)に引き続き今日も色々と発表があるみたいです。
実際には3日目みたい。

Amazon Pinpoint
モバイル向けのプッシュ通知を定義されたユーザセグメントごとに簡単に実行・追跡できるサービスみたい。ちょっと具体的にどんなものか不明


AWS CodeBuild
スケールするビルド環境…どんなものなのか不明


AWS Personal Health Dashboard
利用者の個々の契約に基づいた関連される情報が一覧表示されるというもの


AWS Batch
ジョブを設定すれば必要なタイミングで必要なデータを参照し、必要なコンピューティングで処理をするというもの。
コンピューティングにはもちろんスポットインスタンスが使えるみたいです。


AWS Shield
DDoSプロテションサービス


なんというかこれまでAWSと連携できるサービス(開発者向け、バッチ処理請負)などを提供していた会社を食う勢い。
これだけサービス間連携など複雑化している状況を考えると、パートナー戦略がAWSにとっても重要視しているのが伺えます。