ピティナ開発者ブログ

全日本ピアノ指導者協会のIT担当者が気まぐれにつづる技術系中心のブログです


rubyでmysqlを操作できるgem"mysql2"をUbuntu 16.04.1にインストールする方法

Ubuntu 16.04.1にmysql2のgemをインストール(sudo gem install mysql2)しようとしたところ、 以下のエラーが出現しました。

ERROR: Failed to build gem native extension.
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

ちなみに他の環境は以下のとおりです。

mysql2は他のライブラリとも依存関係にあるので、以下の2つをインストールする必要があります。

sudo apt-get install libmysqlclient-dev
sudo apt-get install ruby-dev

特に後者の方はStackOverflowのAnswerではなくCommentに ちらっと出てくる程度なので最初は見逃していました。これも大事な物のようです。

インストールが上手くいったら

sudo gem install mysql2

で目的のgemが無事インストールできました。

あとは、各rubyファイルの中で、

require 'mysql2'

とすることで、mysqlにアクセスできます。

stackoverflow.com

(著: 平田 真人)

Ubuntu16.04でmysql初期導入時エラーの解消

ConoHaでUbuntu16.04が選べるようになっていたので、試しに使ってみることにしましたところ、mysql初期導入で躓くという悲しみ。 起動しようとすると、

Job for mysql.service failed because the control process exited with error code.
See "systemctl status mysql.service" and "journalctl -xe" for details.

こんなことを言われて怒られる。無念。
しかも、 See ... という割には、別に見ても大した情報もないという。
何はともあれGoogle先生に訊いてみたところあまり情報が見当たらなかったのですが、stackoverflowにこんな記事が。

askubuntu.com

解決のところで my.cnf をバックアップして云々、とありますが、入れたばかりで設定も何も特にしていない状態でしたので、そのあたり諸々をすっ飛ばしまして、以下だけ実行してみたところ、

sudo apt purge mysql-server mysql-server-5.7 mysql-server-core-5.7
sudo apt install mysql-server

うまく起動・再起動等できるようになりました。
これは何ともな。
同じく詰まった方がいらしたら、お試しください。

(著: Hiroyuki Noguchi)

bodyタグの終了直前でJavascriptを実行させたいけれど理由があって直接編集できない時の対策(はてなブログとか)

この開発者ブログでまさにぶち当たった問題なのですが……
Smoochの実装には、bodyタグの終了直前で、initializeしてあげなくてはならない。

ptna.hateblo.jp

しかし、はてなブログでは、bodyタグの直前に何かを入れることを直接編集できません。
たぶん、はてブロに限らず、JimdoとかWeeblyとかWEBサイトを簡単に見たまま編集できるぜ系の何かそういうツールでも、同じような壁に当たるのではないかと思いますし、bodyタグの直前で読ませてね系のものは色々多いので、そうしたいけれどちょっと難しいという局面もそこそこ出てくるのではないでしょうか。
で、どうするか、というと、jsでappendさせて実行させよう、というお話です。

実装例

headタグ内など他のところで次のようにJS実行させればOKです。
例はSmoochで。

<script>
document.addEventListener('DOMContentLoaded', function() {
  smoochAppend();

  function smoochAppend(){
    var script = document.createElement('script');
    script.src = '//cdn.smooch.io/smooch.min.js';
    script.onload = function() {
      smoochInit();
    }
    document.body.appendChild(script);
  }

  function smoochInit(){
    var script = document.createElement('script');
    script.innerHTML = "Smooch.init({ appToken: 'hogehoge' });";
    document.body.appendChild(script);
  }
});
</script>

外部jsファイルを読み込ませて、読み込み完了してからinitializeさせる、という処理内容になっています。
jQueryが先に読み込まれていなくても使えるようにしようという前提なので、生jsで。
たぶんもうちょいちょい素敵な書き方ができるとは思いますが、ご参考まで。

(著: Hiroyuki Noguchi)

Slackにintegrationできるカスタマー対応チャットツールのSmooch

遂に、遂に、「Slackにintegrationできるカスタマー対応チャットツール」の本命が来たか!?と思いました。

smooch.io

先日、Slaaskが有料になったと嘆いた記事を投稿しましたが、捨てる神あれば拾う神あり、という諺を実感した次第です。

ptna.hateblo.jp

登録の仕方

「Get started for free」のボタンを押します。
あとは、何とチャットでの対話形式で登録完了まで進められます。
解説をわざわざ書くまでもない、ほんと楽。
このUI/UXは革新的で、うおおおかっけええええとなります。
「これぞチャットツール」だし「チャットbotでここまでできるんだぜ」というのをこれ以上ない説得力で顕示してきている感じです。 惚れる。

試しに設置

bodyタグ終了の直前あたりにScriptタグを仕込むだけで設置できます。
楽。 このはてなブログにも設置できます(右下にあるのがソレです。Stop!イタズラ)

Slackでもいけるし、それ以外でも

登録の最中に、どこにintegrationする?と問われます。
Slackに限らず、HipchatでもLINEでもメールでも何にでもintegrationできます。
ピティナでは、Slackを愛用しているのでSlackにしました。
使い勝手はSlaaskとほぼ同じで、チャットメッセージがユーザから届いたら、そのユーザごとにChannelが増えるかたちですね。 Slaaskとちょっと違うのは、リプライするときには頭に /sk とコマンドをつけること、くらいですが、別段面倒なほどでもありません。

フリー版でも十分実用に堪えうる

プラン/価格は以下の通りですが、フリー版でも月間2,500メッセージのやり取りができるので、ヘヴィに使わなければ、全く問題ないでしょう。
「問合せフォームを全部チャットに置き換えるぜ! 電話対応もしないぜ!」という中規模以上のサイトでもなければ、いけるいける。

smooch.io


(2017/01/16追記)
2017/01/13付で料金体系が変更されたようです。
フリー版は従来、月間2,500メッセージのやり取りまで、でしたが、今後は、月間500対話まで、になったそうです。
おそらく、複数メッセージやり取りのまとまりを「1対話」と見なすのでしょう。


割と勢いもあるらしい

つい先日、「資金調達ラウンドで760万ドルを獲得した」らしく、今、割と勢いもあるらしいです。

thebridge.jp

ので、試しに乗っかってみるのは手でしょう。
Slaaskが有料化してしまって他の代替サービスも今のところこのSmoochくらいしか見当たらないですし。
日本でユーザが増えて、色々と情報が出回るといいなと思います。

2016/08/16追記

はてなブログの「デザイン」>「フッタ」に実装してみたところ、他のjsが食われてしまったので、一工夫必要でした。

ptna.hateblo.jp

(著: Hiroyuki Noguchi)

Slackにintegrationできるカスタマー対応チャットツールのSlaask……が有料になっていた件

以前、以下記事を投稿したのですが、

ptna.hateblo.jp

本日、このSlaask経由で「Slaaskについて」とご質問・ご連絡いただき調べてみたところ、何と有料になっているではありませんか……

https://get.slaask.com/pricing/

しかも、フリープランはなくて、フリートライアルのみという。
しかもしかも、最安プラン(16.94ドル/月)では、月間ユニークユーザ50名までにしか対応できないという。

いきなりここまで使えない子になってしまうとは……
もちろん、何でもかんでも無料こそ至上と言いたいわけではないですが、Slackがここまで広まっていて、有料プランで収益を上げることができているのだって、最初は無料で、しかも機能が何ら見劣りするようなレベルのものではなく高次において試験導入できるからであるからして、そこをプラットフォームにして乗っかっていくSlaaskが、こんな料金体系にするというのは、ちょっとセンスが悪いなと思った次第です。

とはいえ、普段使いしているSlackに、ぴょこん、と通知が来て気軽にユーザ対応できるという価値がかなり大きいのは、使ってみて本当に実感しました。
カスタマーサポートこそがコアコンピタンスに来るといった業種において、Slackを導入しているのであれば、有料版の最上位プランでもオススメできる質のものであるのは、確かです。
一方で、個人とか、小規模グループとかで、気軽に使ってみよう~感は、有料プランであれば皆無ですね。

さて、どうしたものか……代替が思い浮かびません。
Arrowchat?
ArrowChat - JQuery/PHP Chat Software and Facebook chat plugin for websites

うーん、無いかなー。

(2016/08/15追記)きました。 ptna.hateblo.jp

(著: Hiroyuki Noguchi)
この記事は現在0人が閲覧中