2016年9月18日日曜日

PostgreSQLの新しい教科書 ~ Software Design 10月号の特集記事を書きました ~


表題の通り、特集を執筆しました。
第2特集なので表紙で言うと左下のところに書いてあるのが僕の特集記事です。
昨日発売ですのでお近くの店頭で見かけたら是非手にとって貰えたらと思います。

内容ですがPostgreSQLの入門編と謳っていますが普段、なんとなくRDB使っている人には良い記事になったと思います。
あとOracleSE1からの移行を考えてる人へのヒントも書いてます。
ここはかなり血反吐を吐きながら頑張って情報を集めて信頼有る筋のレビューワーを通して居るのでかなり信頼度の高い部分だと思います。
ということで好評、酷評、どちらもお待ちしてますので是非読んでみてください。
2月号とは違い、PostgreSQL一色の記事ですが僕がJPUGで学んで来た道を振り返る良いきっかけでした。
皆様もコレを機にPostgreSQLに興味を持っていただければと思います。


今回の執筆を振り返ると納期直前にオリンピックがあったり(自業自得)、仕事のトラブル対応と被ったりでなかなか大変でした。
でもその分、かなり細かいところまでPostgreSQLを振り返る良いきっかけになりましたし自分自身が一番勉強になったように思います。
その結果、書いてる時はホント苦しかったのですが今は達成感でいっぱいです。
Twitterでも投稿しましたが



本当に執筆活動はこんな感じで産みの苦しみの大変さを感じました。
でもその分、感動も大きかったのでまた機会があれば是非執筆したいですね。
最近は


  • RDBデザインパターン
  • RDBアンチパターン


の本があればいいのになぁって思ったりするのでそんなテーマでどうでしょ技評さん!?
ってこのボリューム感だと書籍になるし、僕死ぬパターンですね。
あんまり墓穴を掘るのも恐ろしいのでこの辺でこの話題は止めておきましょうw


兎にも角にも皆さん是非読んでみてください。
それで興味が分けば是非コミュニティに参加してみてください。
年内だと下記のようなイベントが予定されています。
最寄りのイベントがあれば是非参加してみてください!!



来週がOSC島根、中国地方DB勉強会とに連続ですし来月上旬はOSC長岡で新潟でもJPUGが参加します。
それでは皆様と現地で交流できる事を楽しみにしております!!


2016年8月22日月曜日

第16回 中国地方DB勉強会 in 岡山でPostgreSQLアンチパターンの話をしてきた #ChugokuDB

先月の事ですが(もう一ヶ月が経とうとしてますが)第16回が開催されました。
今回はアンチパターンを題材にRDBの辛いことを語り合いました。
講師の@t_wadaさんがおっさんたちの心を要所でエグッてたのが印象的でした。

■登壇資料など
中国地方DB勉強会のポータルサイトにまとめました。

※今回は動画があります


中国地方DB勉強会


■メーリングリスト
次回の告知についてはDoorKeeperを使います。
興味がある方はチェックしてみてください。

DoorKeeper

■twitterのまとめ
Twitterについては@razonさんがまとめてくれています。

Twitterのまとめ

キャンセル待ちが出るほどの大盛況で当日は立ち見の人も居ました。
@a_suenamiさんが自主的に立ってただけなのですが)
僕もこの回の動画を振り返りとして見たのですが凄くいい内容でディスカッションも含めて良い回だったなと心底思います。
このような回はまた別の場所でも是非やりたいですね。

そして次回ですが次は島根です!!

第17回 中国地方DB勉強会 in 松江

■概要
開催日:2016年09月25日(日) 10:00 - 16:30
開催場所:松江市市民活動センター 島根県松江市白潟本町43番地 松江市市民活動センター 503研修室

申込はこちら
第17回 中国地方DB勉強会 in 松江

今回はOracleのやまさきさんが来てなんと2セッションもしてくれます!!
まだまだ進化しているMySQL5.7の話が聞けるはず。
もっと言えばOracle OpenWorld 2016の直後なので驚きの新情報も開示されるはず。
噂のMySQL 8とか聞けるんじゃないかなぁと期待してます!!!

なお今回は日曜日開催ですが土曜日にはオープンソースカンファレンス島根が開催されます。
こちらも合わせてご参加して勉強会駆動島根旅行を楽しんでいただければと思います。

第15回 中国地方DB勉強会 in 米子でプログラマに知ってほしいRDBな話をしてきた #ChugokuDB

既に第16回が終わってるのに15回の報告書きます。
色々ごめんなさい、ごめんなさいm(_ _)m
当日の資料はこちらです。
PHPカンファレンスの資料を元なので見たことある内容だと思います。
スライドについては失ってしまったのでポータルサイトから動画をお楽しみください^^;

セッションとしては目玉は梶山さんのMySQLの話と竹中さんの今日から使えるセキュリティtipsです。
竹中さんのセッション、マジ最高なので全人類に見てもらいたいですね。

■登壇資料など
中国地方DB勉強会のポータルサイトにまとめました。

※今回は動画はあります


中国地方DB勉強会


■メーリングリスト
次回の告知についてはDoorKeeperを使います。
興味がある方はチェックしてみてください。

DoorKeeper

■twitterのまとめ
Twitterについては@noborusさんがまとめてくれています。

Twitterのまとめ

鳥取の開催だったのですが懇親会の意見交換などが凄く活発で楽しかったです。
あと地方は懇親会の費用対効果が高い。
最近続けて東京のイベントの懇親会出たからか凄く感じました。
中国地方DB勉強会、スタッフが幹事をこなしてきた歴戦のおっさんばっかりなのでチョイスするお店のクオリティが高いのもプラスなところですね。

そして16回は既に終わっていて17回の予定が決まってます。
次は島根です!!

第17回 中国地方DB勉強会 in 松江

■概要
開催日:2016年09月25日(日) 10:00 - 16:30
開催場所:松江市市民活動センター 島根県松江市白潟本町43番地 松江市市民活動センター 503研修室

申込はこちら
第17回 中国地方DB勉強会 in 松江

今回はOracleのやまさきさんが来てなんと2セッションもしてくれます!!
まだまだ進化しているMySQL5.7の話が聞けるはず。
もっと言えばOracle OpenWorld 2016の直後なので驚きの新情報も開示されるはず。
噂のMySQL 8とか聞けるんじゃないかなぁと期待してます!!!

なお今回は日曜日開催ですが土曜日にはオープンソースカンファレンス島根が開催されます。
こちらも合わせてご参加して勉強会駆動島根旅行を楽しんでいただければと思います。

2016年7月19日火曜日

PHPerに知って欲しいRDBの事をPHPカンファレンス関西で話してきた

PHPカンファレンス関西@2016に登壇してきました。
まず登壇資料はこちらです。



PHPerに知ってほしいシリーズとしては最終章になると思います。
結局のところ


  • 正規化
  • INDEXの適切な利用
  • 外部キー制約やcheck制約を利用したデータの保護


この辺を適切にこなせていれば多くのPHPで作る規模のWebアプリケーションは問題にならないと思います。
またこの辺をクリアしていればORMでも便利にRDBを利用できると思います。
ということで伝えたいことは伝わったかわかんないけど僕のDBAとしての仕事が減ってくれるくらいにみんなが興味を持ってくれたら嬉しいなって思ってます!

あとカンファレンスの事だと基調講演がまぁよかった。
動画を是非ともみんなに見てもらいたいですね。
その中で出てくる名言が僕の心に刺さりました。



ほんとみんなにはあの動画見てもらいたいですね。
あと気づいたのですが"PHP"カンファレンスなのにPHPの話してない人が多かったです(お前が言うな
BigQueryやAWSの話は僕が元々好きな領域なので楽しく聞けました。
あとは聞きたい!って思っても満席で聞けなかったセッションもいっぱいありました。
動画公開楽しみにしてます!!


ということで残すPHPカンファレンスは東京のみとなりました。
僕は次は登壇しないかもしれないしそもそも行くかも分からないです。
ただPHPerの人はみんな優しい。
そして楽しい。
そんな出会いの場であるカンファレンスにはまた是非行きたいなぁって思ってます。
ということでPHPerの人向けのRDBエバンジェリスト業は一旦閉幕とさせていただきます。

いやほんと楽しかったなぁ。

2016年7月4日月曜日

やぱちーでベストトーカー賞もらって控えめに言っても最高すぎた話



YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa に参加してきました。
そこでなんとベストトーカー賞を頂きました!!
その時の資料はこちらです。
全国に百万人は居ると言われるそーだいファンの人は見たことある話だと思います。
懇親会LTでいつも酔っ払いながらやるいつものロングバージョンです。




元々はPHPカンファレンス福岡2016の前夜祭の二次会で@uzullaさんに

「やぱちーのトーク数まじやばいんで応募してください」

ってナンパされたのがきっかけです。
そもそも僕は言語系のコミュニティはJavaくらいしか参加してなかったし(1バイトもJava書いてないけど)、PHPカンファレンスですらアウェイなのにやぷしー系列の大型イベントなんて恐れ多い!と思ってました。
けれども勇気を振り絞って(どっちかというとお金を振り絞って)参加してホント良かったなと思ってます。


(福岡の時の話)
削除フラグを語るには30分は短すぎたPHPカンファレンス福岡2016な話


で色々右往左往した結果、トーク数の底上げのため2つ応募しました。
でぶっちゃけこっちが採択されると思ってました。


PostgreSQLとMySQLの機能で知っとくと便利かもしれないこと


これはすっごい真面目ないつもの感じを考えてました。
でも今思えばDB系の人は少なそうだったからポカーン枠になったかもなぁって思うのでこれで良かったなと思います。
真面目な感じでDBの話が聞きたい場合は中国地方DB勉強会の資料を見てください。
すごくいい話いっぱいあります。
あと遊びに来てもらうのも最高です。

中国地方DB勉強会


はてブで「DB知らなすぎ」と煽られたりしましたがこの勉強会のSpeakerは僕のトーク力の100倍は高い人ばかりなので是非遊びに来てください。
ちなみに次の岡山のSpeakerは@t_wadaさんです。
多分本当のSQLアンチパターンな話を聞かせてくれると思います。
なお既に満席ですのでキャンセル枠での参加は立ち見です(ぉぃ)

ベストトーカーについてはキャッチャー?なタイトルのお陰で集客が伸び、喜んでいただけたみたいで良かったです。
これを気にDBに興味が湧いた人は是非コミュニティに遊びに来てください。
みんながあなたの参加を待っています!!
まずはMySQLのイベントやPostgreSQLのイベント、そしてslackに参加するのがいいと思います。
僕の観測範囲ではみんな素晴らしい人格者で優しいコミュニティですよ!!






####立場上のあれこれはここまで####

ここからは一個人として参加したやぱちーの話


僕はやぱちーもやぷしーに参加したことがないのでどんなイベントになるか全く想像出来てませんでした。
トークに関しては人が入るかすら予想できません。
そんなやぱちーも蓋を開ければ最高の二日間でした。
特筆すべきは


  • 参加者(会場まで来てくれた人たち)のリテラシーが高い
  • 酒を呑む奴は信じれる(懇親会参加率が100%だった)
  • 気配りの素晴らしい運営
  • 飛び入り枠の面白いこと面白いこと
  • ベストトーカー賞は兎にも角にも嬉しい←超大事


ですね。
僕も何度が東京でイベントをやったことがありますがすさまじいキャンセル率でした。
懇親会のドタキャン5割という関東の洗礼を受けたりもしました。



しかしやぱちーはそんな事はなく「やり方によってはモラルの高い人たちにアプローチ出来るんだな」と勉強になりました。
また運営についても学ぶところが多く、事前資料や地方参加者への配慮など本当に学ぶところが多くありました。
そして実際に参加者として楽しく過ごすための配慮至るところにあり良かったです。
飛び入り枠やベストトーカー賞は是非他のカンファレンスでも真似て良いのでは無いでしょうか。

そして最後は@uzullaさんの人徳です。
これだけのスピーカーが90以上のわくで喋るイベントをボランティアベースでつくり上げる。
誰にも出来る話ではありません。
それはやっぱり@uzullaさんの人徳だからこそ皆がついて来るわけですし、みんなが楽しく参加出来たのだと思います。
私もそんな愛されるキャラを目指し今日も徳を積んでいこうと思います。

というわけでどのトークが面白かったとか特にご紹介するつもりはありません。
僕自身見れなかったトークが多いので動画が公開されたら順に全部見ていこうと思います。
皆さんも是非みて、「あぁ行けばよかったなぁ」と悔しがってください。
そしたらそれをみた@uzullaさんが「あぁまたやろうかな」って思ってくれると思います。
僕は次も絶対参加するしまたあの場所でトークがしたいです。
これなかった人たちは次回は会場でお会いしましょう!



以上なとおり、控えめに言ってもやぷしー最高すぎでした。
本当に主催の
  • @uzullaさん
  • 運営スタッフの皆様
  • トークをされたスピーカーの皆様
  • そして参加された皆様


お疲れ様でした!
また次回もよろしくお願いします。

2016年6月20日月曜日

JPUGという強い組織と世代交代について考えてみた

大前提ですがポエムです。

■前置き

僕はいつも言ってるけどITクラスタや格ゲークラスタ、なんでも良いんだけどコミュニティ(集まり)が大好きです。
特にIT系のコミュニティに育ててもらったと思ってるし、それを恩送りしていきたいと思ってます。
けど「出来る奴ほど東京に吸われる」って構図が僕の世代よりもずっと前から根強くあります。
リーダーシップを取ってた人が何らかの理由で東京に行き、コミュニティが自然消滅を繰り返してきました。
そしてそれは今も現在進行形で起きていて、僕がコミュニティ活動を始めた後も若者は東京に吸われています。
格ゲーも同じ事がここ10数年で起きてプレイヤーが減り、活気がなくなり、地方のゲーセンがどんどん潰れました。
ただIT系に関して言えばビジネスの母体が大きのでゲーセンのように数年で無くなると言うことは無いでしょう。
逆に地方創生と言われる昨今、むしろ巻き返すかもしれません。
そう考えると僕が今考えてる事が杞憂かもしれません。
また僕一人が悩んだところで何も変わらない可能性の方が高いです。
ですが座右の銘である

自分が行動したことすべては取るに足らないことかもしれない。しかし、行動したというそのことが重要なのである。

と思い、色んなactionをとっている最中です。
そんな東京一極集中問題とコミュニティの継続について強い危機感を持っています。

これからもIT勉強会(コミュニティ)は必要なのか本気出して考えてみた


■強い組織とは?

そういう危機感をずっと持って居る理由として過去にゲーセンが継続して欲しいと頑張ってた時期があります。
その時の経験として「一人で出来ることは限界がある」とまなびました。
毎月大会したりしましたが人集めるの大変だし、家族出来るとリソースは減るしどんどん一人で出来ることって無くなります。
その結果、フェードアウトしてしまったしプレイヤーとしても時間が止まってしまいました。

その経験を踏まえた上で現在は中国地方DB勉強会は多くの人を頼って運営されています。
実際に各県のスタッフの人が会場を用意してくださり、集客や準備を行ってくれます。
僕が担当してる事と言えば当日の講師の調整やJPUGの予算申請くらいで仮に僕が死んでしまっても継続の意思があれば継続していける体制になっています。
なので組織としての強さとは「個に依存しないチームとしての生産性の高さ」だと思っています。
俗に言う自立型組織であり、チームがチームとして信頼し高め合っていける組織です。
その点は中国地方DB勉強会については上手く作れたかなと思っています。

■組織の世代交代

しかし強い組織だからと言って「ずっと強いままで維持できる」わけではないなと最近感じています。
具体的な例だと日本PostgreSQLユーザ会はとても強い組織ですが今、大きなターニングポイントに立っています。
まずJPUGの現状ですが6/18に総会が行われました。

JPUG 2016 夏セミナーに参加してきました

ここでJPUGは既存の理事が3名ご退任し、関西支部を除くと2名減となりました。
また@snagaさんが理事長退任されました。
つまり、理事長も含めるとJPUGは組織として3名減です。
辞めていくことは大きな問題では無いと思います。
年齢的な事もあるし自由に選択できることです。
ただ@snagaさんという強いリーダーシップとビジョンを持った人が居なくなった事でJPUGのカラーが少し変わると思います。
でもそれは健全な組織の在るべき姿ですし世代交代の始まりでもあると思います。
しかし問題は「新たな人が入ってこない」ことです。
理事長は色々と議論された結果、高塚さんが引き継ぐ事になりました。
@snagaさんよりも若くなっていません。
高塚さんは能力の有無で言えば文句なく、十分に回せると思います。
しかし組織の世代交代としては若返りは無く、理事が新たに追加もされていません。
つまりこのまま行けば来年も同じように高塚さんが継続するでしょうし、平均年齢はカウントアップしていきます。
実は理事が交代した関西支部も同様で今、理事で20代は沖縄支部長しかいません。
これは僕は由々しき事態だと思っています。
似たようなコミュニティで言えば日本Javaユーザーグループは若い理事の任命、女性理事の拡大など見事に世代交代を行なっているように見えます。
ではこの2つの組織の違いはなんなのでしょうか?
そういったところをもっと危機感を持って見つめ直す必要があります。
それは地方コミュニティでも一緒です。
この問題に対して組織として対応していくことがJPUGが本当の意味で強い組織になるために必要なことです。

■強い組織にしていくためには何をしていくべきか?

それがわかってたら苦労しません。
ピープルウェアに書いてあることを愚直にこなして行くことが必ずしも最適解でもないでしょう。
でも少なくとも

  • 若者に興味を持ってもらうこと
  • コミュニティの楽しさを伝えていくこと
  • 自分のセルフブランディングやキャリアアップに大きなメリットがあること


などを伝えて窓口を広くする必要はあると思います。
なので私は今年は言語系のカンファレンスでRDBの人として登壇してるし、Web系の人たちに対してRDBの楽しさを伝えていきたいと思っています。
これは私が出来るアプローチであって他にもいろいろとあると思います。
例えばみかかデータなら新人社員教育のときに魅力を伝えるのもいいと思います。
僕がリスペクトしてやまない@yoku0825さんはとても素晴らしいアプローチ例です。



なのでJPUGの人は自分の出来る範囲でもうちょっと頑張っていけば面白いと思うし、若者はJPUGのドアを叩いて欲しいです。
私の調査ではJPUの理事の人の給料はWeb系の同世代のエンジニアよりも高いという調査が出ています(そーだい調べ)
つまりそれだけ外部から評価される場所であり、自分を高められる場所であることは間違いないと思います。
そこで私としてはまずslackであったり、開催されるイベントだったりMLにみんなも参加してほしいなと思います。



日本PostgreSQLユーザ会 ウェブ会員登録

また私として出来ることはJPUGの、PostgreSQLの、RDBのエバンジェリストのような事だと思っています。
ですのでお伺い出来る機会があれば全国何処でも伺います(JPUGの予算で)
例えばPythonやPHPのカンファレンスに実際に協賛したり参加したりしています。
ですので是非とも色んなイベントに声をかけていただければと思っています。


■まとめ

この記事を呼んで少しでも興味が湧いていただければ上記のslackやMLから参加し、実際にイベントに参加してもらいたいなと思います。
例えば今だとRailsやDjangoのデフォルトはPostgreSQLなのですから業務でRDBで苦しんでるWeb系エンジニアは必ずいるはずです。
またはOracle Standard Edition Oneからの移行を考えてる人もいるはずです。
そんな人達に私たちはアプローチして行きたいし是非ともコネクションを作りたいと思っています。
これを機に興味を持っていただけましたら是非ともなんらかの形でコミュニティに参加していただければと思っています。

●今年の予定されたイベント

・本部(東京)

- 開催済み

  • 2016/5/14 OSC 2016 Gunma 講演/ブース出展
  • 2016/5/24-25 de:code 2016 ブース出展

- 予定

  • 2016/xx/xx OSC 2016 Tokyo/Fall 講演/ブース出展
  • 2016/9/13-15 WebDB フォーラム 2016 ブース出展
  • 2016/12/2-3 PGconf.Asia 特別共産
  • 2017/xx/xx OSC 2016 Tokyo/Spring 講演/ブース出展

- 定期



・北海道支部

- 開催済み



- 定期

  • 支部勉強会開催


・東北支部

- 予定

  • 支部セミナー


・新潟支部

- 予定



・名古屋支部

- 開催済み



・関西支部

- 開催済み



- 予定



・四国支部

- 予定




・中国支部

- 予定



- 予定



・九州支部

- 開催済み

  • 2016年4月9日 支部勉強会を開催


- 予定

  • 2016/xx/xx オープンソースカンファレンス2016 Fukuoka 講演/ブース出展
  • 定例会を3回程度開催


・沖縄支部

- 予定

  • 2016/06/25 ハッカーズチャンプルー 2016 カンファレンス 参加
  • 2016/07/02 オープンソースカンファレンス 2016 Okinawa 講演/ブース出展


私は理事云々や世代交代云々はまずはコミュニティ全体の若返りと多様性の保持をしたその後に付いて来ることだと思っています。
もし最寄りのイベントがない場合は是非企画を持ちかけてください。
絶対喜んで開催してくれます!!!
ということで皆様のご参加、お待ちしてます!!


2016年6月6日月曜日

MySQL Workbenchを使うとJSON型の編集が楽になる

中国地方DB勉強会 in 米子で梶山さんがデモでJSON型のcolumnを簡単に編集してたのでその話。



つまりはこの事。
超便利なので皆にも知って欲しいのでまとめます!

1 事前準備


まずJSON型を使うためにMySQL 5.7を用意します。
そして次にMySQL Workbenchをインストールします。
既にMySQL Workbenchを使ってる人への注意点として6.3.5以降を使ってください。
そしてデフォルトの対象が5.6になってるので5.7に変更します。



あとはtableを作ってデータを登録します。
今回は下記のようなtableを作ってます。

CREATE TABLE `demo_json` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `doc` json DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4;


テストデータは婚活と言えばオミカレがAPIあるのでそこのデータを利用しました。
(xmlなんでJSONに変換してから登録しました)

お見合いパーティーAPI


2 JSONの表示

さて入ったデータがこちらです。


当たり前ですがJSONが1行になっているのでこれを編集しようと思うと辛すぎます…
そこで今回のViewerの出番です!
まず編集したい行で右クリックします。
そこでOpen Value in Editorを選択してください。


するとなんということでしょう!
JSONのタブをクリックすると整形済みで表示されます!


更に下部のタブのTreeをクリックするとフィルタリングも出来ます。



3 JSONの編集

でも本題は編集が辛いことです。
見るだけならCUIでjqなど使うことでも対応できます。
任意の要素を選択してF2を押してください(ダブルクリックでもOK)


なんと要素ごとに編集できます!!


保存後、再度確認するとちゃんと変更されています。


これでちょっとした編集の時にSQLを書く辛さは不要です!
またデータの中身が見たいのに整形用のワンライナー書いたりしなくても大丈夫です!
非常に便利なのでJSON型を使う人は是非合わせてMySQL Workbenchを使ってみてください。

やっぱこういうこと教えて貰えるから中国地方DB勉強会は最高なんだよな(ステマ