書籍『詳解MySQL 5.7』

詳解MySQL 5.7 止まらぬ進化に乗り遅れないためのテクニカルガイド (NEXT ONE)

詳解MySQL 5.7 止まらぬ進化に乗り遅れないためのテクニカルガイド (NEXT ONE)

 
Kindle版:詳解MySQL 5.7 止まらぬ進化に乗り遅れないためのテクニカルガイド

 MySQL史上最大の進化とも言える MySQL 5.7 について紹介した本が出版されました。
2015年10月に正式版がリリースされた MySQL 5.7 は、速度、安全性、追加機能のどの面から見ても、前バージョン MySQL 5.6 から大きくステップアップしています。 
 速度、安全性については、私の使い方では「まぁ早くなっているならありがたい、より安全になっているならありがたい」と、あまり深入りせずとも恩恵にあずかれるのですが、それでも気になって本書をめくって見ると、MySQL 5.7 では随分と細かいところに気を配るようになったのだなぁと驚かずはいられません。


 さて、本書『詳解MySQL5.7』は、書名に大きく「5.7」と入っているとおり、「MySQL 5.7の本」です。「5.7にも対応した、MySQLの解説書」ではありません。MySQL 5.7 の進化に視点をあてた本なのです。そのため、MySQL機能全般を網羅することを意識していないはずです、、、が、、、結果として MySQL 5.7が全方位に進化しているので結構、網羅性が高くなっていますが(笑)。
 これからMySQLを始める人向けではなく、少なくとも2冊目以降の本と言えるでしょう。

 ただし、淡々と(旧バージョンの知識を読者の前提として)MySQL 5.7 で新しくなった部分だけを述べている本ではなく、ひとつひとつの進化に到る前提知識等についても丁寧に紹介されているところに、非常に好感が持てました。


 本書を薦めたい対象の方:
MySQLをこれまで使ってきて、これから最新バージョン5.7を使おうと考えている。何がどのように良くなったのかすごくなったのか機能が増えたのか、いっぺんに把握したい人
MySQLの動作の中身(メモリ管理や種々の処理のタイミングの前後関係など)を詳しく知りたい人(MySQL Internals マスターになりたい人)



 

セルコ『プログラマのためのSQLグラフ原論~リレーショナルデータベースで木と階層構造を扱うために』

 

 ジョー・セルコの新しい翻訳本が出ました。
プログラマのためのSQL 第4版 すべてを知り尽くしたいあなたに でも有名なセルコ著/ミック訳 の組み合わせで今回出たのが、「プログラマのためのSQLグラフ原論~リレーショナルデータベースで木と階層構造を扱うために~」です。前著「第4版」で階層構造をリレーショナルデータベースで扱うための工夫について述べられた章がありましたが、本書はその部分だけを取り出し、より詳細に説明を加えたものと言ってよいでしょう。


 今回も「査読」という名の、「公開前の原稿を拝読して気づいた所を指摘する作業」にて、微力ながらお手伝いをさせていただきました。


 読みながら感じたのは、本書に書かれている内容は、多くの人にとって、読んですぐに役に立つといったものではないなということ。SQLを学びたての人がこの本を読んで、このままの設計をするようなものではないと思います。それだけ「リレーショナルデータベースらしくない」考え方が満載なのです。

 と言っても、決してデータベース設計を行う際にまねをしてはいけないバッドノウハウ集という意味ではありません。階層(=親子関係)を持つデータを取り扱うシーンは、実際のデータベース設計の際にも頻繁に遭遇することでしょう。そんなときに、リストによる手法、範囲による手法など、様々な手法による設計の考え方を、本書は教えてくれます。つまり、SQLに対する考え方の「幅」が広がるのです。
 実運用のサービスへの本書内で紹介されている技術の投入は、階層の深さやデータ量に応じた、RDBMSのクセによって採用の可否を判断することになるでしょうが、この「考え方の "幅"」が自分の中で広がることは、DB設計者にとって大きな武器になると確信しています。
 とにかく、私もはじめて本書で紹介されている考え方に触れたときにはビックリしました。というよりも「何言ってんの、こいつ」くらいの衝撃でした(笑)。


 自身のSQLに対する発想の幅を広げたい方に、ぜひお勧めの一冊です。
本書を読み終えた頃には、「ツリーは集合である(集合であらわせる)」という言葉の意味が、スッキリと飲み込めるようになっていることでしょう。

オープンソースカンファレンス(OSC)2016-Kyoto 参画

京都で開催された、オープンソースカンファレンス(OSC)2016-Kyoto に参加してきました。
今までは、関西開催の京都の部、みたいな感じで、OSC-Kansai/Kyoto という呼び方でしたが、このたび実績を重ねてめでたく OSC-Kyoto となったとのことです。

http://www.ospn.jp/osc2016-kyoto/

f:id:sakaik:20160729105925j:plain


暑い夏の京都。今回は、京都駅からまずバスで会場であるリサーチパークに向かってみました。
京都のバスは路線が多く、入り組んでいるため、非常にわかりにくいです。
路線案内板のところに、甚兵衛を着た案内役?案内ボランティアのおじいさんがいて、みんながどんどん質問するのに対して、テキパキと「何番乗り場で何番のバス」と答えていて、それだけでも格好良いのに、中国語らしき質問に対して流暢な(ように聞こえる;だってわからないから)中国語で、全然日本語のときとテンション変わらずに答えているのを見て、格好良さ倍増でした。
で。私も教えて貰ったバスに乗ったのですが、路線図のその番号を見ても、リサーチパークのほうには行かない路線。適当な事を教えられたのかなぁとドキドキしつつ、地図とにらめっこしながら乗っていたら、途中で路線図と違う道に入っていって、そのままリサーチパークのバス停にたどり着きました。切符売り場でもらった路線図よりも正確な案内。プロのお仕事でした(^^)。



f:id:sakaik:20160730121249j:plain

 ブースでは、いつも以上にまったりと、時々質問してくる方のお相手をしながら過ごしました。
ブースセッティングが対面ではない場合、座るとどうしても来場者に背を向ける形になってしまい、積極的な対応には高いモチベーションが要求される点が、なかなか難しいところですね。結果として、声をかけてきた人か、余程長く立ち止まっていたことで気づいた人だけの相手をする形となりました。
 頑張りゃいいのだけど、頑張らないがモットーなので、ずっと立っているつもりもないし、毎回会場が対面式であることを祈りながら参加しているところです(笑)。
ご来場のみなさま、そんな背景なので、ご興味あるブースがあったら遠慮なく声をかけてくださいね。大概、何かをしている風であっても喜んで中断して、説明してくれると思います。


 f:id:sakaik:20160730173457j:plain

 今回、宝酒造さんが試飲会を開いてくださり、スパークリング清酒の「澪」の、青と黒の飲み比べをしました。単独で呑むときには甘みのある青が好みだったけど、ごはんとかを食べながらだと控えめな主張の黒がいいなぁと感じました。で、青をもらったよ!



その他メモ:
今回、会場の京都リサーチパーク(の近くの大通りに出たところ)から京都駅(の横側につけてもらった)までタクシーで 910円。西本願寺から京都リサーチパークの会場目の前までで タクシー700円でした。 電車やバスの時間調整を考えると、十分に選択肢となる範囲かと思います(2人以上居れば尚のこと)

オープンソースCMSのSHIRASAGIをvagrantでさくっと入れて見たメモ

 SHIRASAGI(シラサギ)という、オープンソースCMSがあります。徳島県のウェブチップスさんが中心に(という言い方でいいのかな?)なっている SHIRASAGI Project にて開発されている、国産のCMSです。なんでも来週公開される Ver. 1.3.0 ではグループウェアの機能まで付いてしまうそうで、すでに多くの採用事例がありながらも、目下さらに元気に発展中のCMSという印象です。
http://www.ss-proj.org/


 以前より興味はもっていたのですが、最近腰が重いのを反省しながら改善しない日々。とりあえずインストールだけでもやってみようと思い立ち、やってみました。最近は「インストールしてみました」だけの日記やブログを書くのは流行らない感じですが、それでも自分のメモも兼ねて、敢えて書いてみる次第です。

があり、今回は、まず動作するものを見てみたかったのでVagrantを使う方法で実施してみました*1Windows 7 で試しました。
基本的にこの日記で書く事は、 https://github.com/shirasagi/ss-vagrant にて説明されている手順の、劣化コピーです(笑)。

準備

  • HDDとメモリは、十分にあるものとする*2
  • VirtualBox をインストールしておく。私は既にインストール済みだったので、最新の 5.0.24 にアップデートした。
  • vagrant をインストール。本日時点最新は、Ver. 1.8.4。インストール後、OSの再起動が必要だった。

インストール

  • D:\ に、shirasagi-dev フォルダを作成
  • 上記フォルダ内に、以下のページに書いてあるとおりに、Vagrantfile ファイルを作成
  • D:\shirasagi-dev> vagrant up 実行
    • うちの環境では15分ほどでダウンロード終了
    • 途中で、Windowsの「これをインストールしても良いか」と尋ねるダイアログが出ているのに気づかずに、数分無駄に待ってしまった(「==> default: Clearing any previously set network interfaces...」という表示が出ているところで)
    • ダウンロード終了後、設定と起動が行われて、DOSプロンプトに返ってくるまで、約6分。

VM上のOS起動の確認と、SHIRASAGIの起動

  • SSHターミナルソフト(私はPoderosa使用)で、host: 192.168.33.10:22、user/pass: vagrantvagrant に接続
  • $ ls -la shirasagi で、なんかファイルができていることを確認
  • $ bundle exec rake unicorn:start で shirasagi(にアクセス可能とするhttpdサーバ)を起動

ブラウザでの確認

  • 2つのサンプルサイトが用意されている。以下のURLにアクセスしてみる
  • 上記URLのどちらでも良いので、/.mypage にアクセスすると管理機能へのログイン画面が表示される
    • 以下、パスワードはすべて pass
    • sys(システム管理者)、admin(サイト管理者)、user1(一般ユーザ(記事管理とか)) のアカウントが用意されている模様
  • sysでログインすると管理下にあるサイトすべてに対する管理権限を有する。新規のサイト作成もここからできそうなので、次回は、まっさらのサイトの状態から、機能を増やして行く事などを試してみたい
    • この仕組みを「マルチテナント」と言います

 ちなみに、ブラウザで「localhost:3000」にアクセスしているのにVMのほうで動作している SHIRASAGIが見えるのは、Vagrantの処理(VirtualBoxの設定のところ)で、

==> default: Forwarding ports...
default: 3000 (guest) => 3000 (host) (adapter 1)
default: 22 (guest) => 2222 (host) (adapter 1)

とやっているからのようです。



 ということで、単にマニュアルに書いてあるとおりの手順でやりました、というだけのお話ですが、自分の手元で動作する環境を作るのが手軽であることに驚きました。
 さて、何をしようかな(^^)





追記:インストールされたファイルの配置先について
 どうやら、C:\Users\(自分のアカウント)\ の下にある .VirtualBox フォルダと .vagrant.d フォルダに配置された模様(タイムスタンプより推測)
 .VirtualBoxのほうに 800KB程度、.vagrant.d のほうに 1.1GB程度が置かれていました。

*1:単に動作を見たいだけならば、SHIRASAGIサイトにオンラインデモがあるので、そちらで十分かと思います。自分で色々いじる事を視野に入れるならば、自前でインストールして心置きなくいじりたおせる環境をゲットしましょう

*2:十分にあきのあるD:ドライブを指定したつもりだけど、使用量の増加の様子から、結構パツパツのC:ドライブに大きなファイルを置かれた気もするので、どこにファイルが置かれたのかあとで調べる>>本文末尾の追記参照

オープンソースカンファレンス(OSC)2016-Okinawa 参画

オープンソースカンファレンス(OSC)沖縄 に参加してきました。
全国色々な地域のOSCに参加している私ですが、OSC沖縄に参加するのは、実はこれが初めて。距離がありお金が多くかかりそうな事に加え、なんとなく「沖縄」という開放的な響きの中に、「リゾートに遊びに行く」的なイメージが強かったこともあって、躊躇していたのでした。

f:id:sakaik:20160702122952j:plain


 今回、「継続的に開催されている中では唯一、私が参加したことのないエリア」ということで(プラス、個人的な今年の趣味的な事情もあって)参加を決めた次第です。


 実際に、展示ブースが細い通路の一番奥だったことや、やはり来場者の特性もあって、北海道の時のブースが忙しくて堪らなかったのとは正反対のカンファレンスでした。そのぶん、現地沖縄からや他の地域から出展している人達と多く交流する時間をとることができ、自分の未知の分野について多くの知見(というほどのものに自分の中でなっているかどうか...)を頂戴しました。半分参加者、半分出展者、というくらいが、OSCを一番楽しめますね。もともとそういうものだったと思っているのですが、いつの間にか「出展に行く」的な面が強くなってしまった気がします。


 いずれにせよ、それぞれの面白さがあり、それぞれに有意義な時間を過ごせるから、どちらでも良いのですが(笑)。いや、「どちらでも」じゃぁないですね、「どちらも」だ。


 懇親会は、浜辺での焼き肉ビーチバーティ。沖縄っていつもこんなことをやっているのか!と思ったら、どうやら10年ぶりくらいだとのこと。現地幹事さんが、すごくすごくすごく頑張ってくれて実現したとのことでした。ご尽力くださった幹事さんありがとうございました!


 それにしても、押すだけできれいな色が撮れちゃう沖縄、すごい。(写真好きな人は「ずるい」と言っていました(笑))

f:id:sakaik:20160702180605j:plain:w280f:id:sakaik:20160702192137j:plain:w280




 今回は前後の予定が比較的キツキツだったので、こんどはもう少しゆとりを持って行きたいものです。


 

GoPro3+のUSBが壊れた(修復不能レベル)

近日の遠出のために、GoPro3+の調整を家でやってみていました。
いつもスマホからの通信確立に手間取ってしまうことと、USBからの給電をしながらで熱を持つせいか、途中で録画が止まってしまうことが多くあり、それらの状況確認と練習として、のつもりでした。

 最初は、発熱対策としてヒートシンクを貼り付けると良いという記事を読んだので、早速 Amazon でちょうど良いサイズのヒートシンクを注文。

 しかし暫く触っているうちに、なんだか GoPro3+ のUSB端子の様子がおかしいことに気づきました。
接触が悪い。
充電しているつもりだったのに、充電されていない。
ちょっとだけケーブルを手で持って、角度を変えてあげると、ときどき充電されているっぽい。

 そうこうしているうちに、、、、、
とれちゃいました、、、、なんか、端子(メス)の中で、、、、。


 取り急ぎ、ヒートシンクの注文をキャンセルし(発送前に間に合った)、
とりあえず自分での修理の可能性の有無を確認するために、分解。
動揺していたので、写真を撮ることすら忘れてしまいましたが、
・オモテ蓋をこじあげ(多少、のり付け部分あり)
・小さいプラスドライバで4カ所のねじをはずして基板類を引っ張り出し
・もう少し基板上の部品をいくつかはずして
USB端子部分を確認しました。

 ああ・・・・・細かい。。。。。無理。無理。こんなの半田付け出来ない。


やむなく、私の GoPro3+ は、USB端子を持たない機器となりました。。


f:id:sakaik:20160614092249j:plain:w300 f:id:sakaik:20160614092516j:plain:w300



 ヒートシンクをキャンセルした代わりに注文したのが、これ。予備バッテリーと充電器。
充電済の電池をはめてあげれば、まだ使えるもんねー。
f:id:sakaik:20160614162243j:plain:w400
電池入れ替えで使用すると割り切ったおかげで、充電用のケーブルを延ばさなくていいし、却ってスッキリしたかも!
(と考えないとやってられない、、、、ショック)


ちょっと検索してみたら、この部分が壊れたと書いている方も多いようですね。

7ヶ月ほどMSBand2をただ普通に使ってみた

2015年の年末に Microsoft Band 2 を手に入れてから7ヶ月ほど、ただ普通に使ってみました。
エクササイズに使うわけでもないし、ランニングをするわけでもない。頑張って活用法を調査する等のことはせずに、ただただ、普通に使ってみました。

f:id:sakaik:20160612221739j:plain

Microsoft Band 2 を欲しいと思ったのは、そこに未来を感じたから。結論から言うと、私にとってMSBand2 は、まだ、文字通りの未来の道具でした。現在使える道具ではない。夢を感じる面もあれば、装着していたからわかるデメリットもある。
私の「腕時計」に期待するものとして、その欠点のほうがそろそろ耐えられなくなってきたので、このエントリをしたためて使用を終了しようと思う次第なのであります。

Microsoft Band 2 よかった点

  • 未来を感じられる。なんだかわからないが、なにかが起こりそうな、そんなワクワク感があります
  • 歩数計としての機能が何気に嬉しい。BluetoothAndroidスマホと通信しているので、何も気にせずにスマホで記録を見られる便利さ
  • メッセージ通知機能が便利。私の場合はFacebookのメッセージでの連絡が多いのですが、いちいちスマホ画面を確認しなくても、メッセージ着信があると MSBand2がブルっと震えて、送信者等の情報を教えてくれる。ちらっと見るだけで、今すぐに本文を見るかあとでいいかを判断できる。
    • 使用当初は日本語フォントが入っていなくて、アルファベットと数字以外はすべてトーフになってしまっていましたが、2016年に入ってからのアップデートで、フォントが入りました。それまでと比べて格段に活用シーンが増えた気分になったことを覚えています
  • 心拍計も、使い方によってはちょっと嬉しい。測定自体には興味があって、購入当初はこれをつけてラジオ体操をやってみたり、セミナーなどで喋ったりお客さんに大切な事項の説明をしたりするときに心拍数はあがるのだろうか、などと比較的頻繁に数値を確認してみたりしていたのですが、すぐに飽きて見なくなってしまいました(^^;)。
    • ですが、たぶん生活の流れの中にうまくハマった時には、きっと面白いのだろうと今でも思っています。

Microsoft Band 2 不満な点、合わなかった点、残念な点

  • とにかくバッテリーが持たない。帰宅後毎日充電が必要。忘れると時計として使えない。
    • 専用端子なので(他の機器用に)持ち歩いている micro USB ケーブルで充電できない。
    • とにかく腕時計の電池交換と時刻合わせがイヤで、太陽電池式の電波時計を購入して使っていた私にとって、毎日の充電は、とにかく最大の負担でした。人生を損している気分
  • 時計表示に秒単位の表示がない
    • もしかしたら設定や、他のアプリを入れることによって表示できるのかもしれませんが、少し設定を見た範囲では、できそうにありませんでした
    • 電車やバスの乗り換えのとき、「あと1分(60秒程度)」なら急がないけど、「1分50秒(110秒)程度」あるなら急ごうか、みたいなシーンがよくあります(さすがに「あと10秒あるから走れ-!」みたいな、駆け込み乗車用ではないです(笑))。分単位の表示ではこれがわからないのです。特にバスの場合、逃すと20分後、みたいなこともあるので、秒針がないのは、結構死活問題
  • 時刻表示がすぐ消える
    • 時計専用機との差として大きいのが、MSBand2では、すぐに画面表示が消えてしまうこと。時計を見るようなジェスチャーで手首をひねると、表示がオンになるのですが、うまく検知してくれないこともあり、今の時間をちらっとみたいだけなのに、なんども手首をひねる動作をするハメになることも、ザラ。何してるんだろう、自分、、と我にかえることもあります
  • 実は腕時計をずっとしていたくない
    • 主に、手首に汗をかくのがいやなので、腕時計はできれば外していたいタイプです。仕事などの出先で、着席したらまず時計をはずす、、、これが私の習慣でしたが、MSBand2 は、なんだかつけていなければいけないような気になって(ちょっと立ち歩くとき等の歩数が取れないのがやだなーみたいなケチな思いがあるのだと思います)、つけっぱなし。
  • GPS(を見る側の地図アプリ)がタコ
    • MSBand2 にはGPS記録機能もあり、こういう測定/記録計の機能は私大好きです。遠出したときなんて、移動したところ全部記録しておきたいくらい(今は Androidスマホgoogle maps の機能で記録していますが、もっと細かく(しかしバッテリは消費しすぎないで)記録されたらいいのになと思っています
    • MSBBand2 の機能はジョギングや自転車などのトレーニングのために用意されているようなのですが、都内にてある日、ランチに出たときの様子を MSBand2で記録したもの(をAndroidアプリで見たもの)は以下のような状態。ぜんぜんワクワクしない。

f:id:sakaik:20160612225114p:plain:h320

  • 便利だと思った通知機能が、意外とクセモノ
    • 日本語フォントが入ったときには、メールやメッセージの通知がMSBand2上にあらわれて便利だ、と思っていたのですが、意外とこれ困りもののシーンがあると分かりました
    • 例1)想像してみてください。取引先の方と立ち話をしているとき。かるく腕組みをする姿勢で「いやぁ、最大限の時間を投入しているんですが、いっぱいいっぱいなんですよぉ・・」と話しているとき、ぶるっ、(MSBand2)「今日の飲み会楽しみにしています!」 
    • 例2)満員電車で左手でようやくつり革に掴まっているシーン。ぶるっ、(MSBand2)「xx株式会社様との契約OKでました」
  • 心拍数を測る部分(?)が意外と分厚い
    • 数週間で慣れましたが、常用するものとしては(利用者の視点としては)無用に分厚いのが残念です。


 こんな感じで、「まず時計としてストレスなく使うことができて、その上で、便利な機能がいっぱいついてくる」ことを期待していた身としては、「時計機能もついているけど重要なのはそこじゃなくて、、」というポリシーすら感じる点に、大いなる不満を感じていたのでありました。貴重な体験をできた期間に感謝するとともに、明日から、充電不要+いつでも時刻が見える+秒針まである+出先では外せる な便利な腕時計の生活に戻ろうと思います。
 また近い将来に、「未来」が自然と生活の中に入り込んでくることを楽しみにしつつ。