2週間ほど前、ほぼ毎年開催されているCakePHPの国際カンファレンス「CakeFest」に参加してきました。ちょっとばかし登壇もしました。
cakefest.org
この記事は参加の記録です。
CakePHPとは
Webアプリケーションを開発するためのフレームワークです。名前の通り、PHP製です。
cakephp.org
筆者は2012年頃から、このフレームワークにほぼ依存して仕事をしています。
CakeFestとは、CakePHPの情報交換のための、毎年のお祭りです。開催地は毎年変わります。
当日の様子
既に他の多くの参加者の皆さんがブログ記事等に書かれていますので、今更ここに書いても、ねぇ😅
それはそうと、PHPの象さん(ElePHPant*1)のぬいぐるみも頂戴して、筆者はとても幸せです。
かわいい😍 #CakeFest2019 pic.twitter.com/Q0OCFWYwVl
— T.MOTOOKA (@t_motooka) November 9, 2019
登壇に向けて
2019の開催地の人気投票が実施され東京での開催が決まった、というニュースは筆者の耳にも入りました。せっかくだし、と思って応募しました。
CakeFest https://t.co/dYalrcq5se 2019は11月に東京で開催されるそうなので、 Call for Speakers に応募してみました。
— T.MOTOOKA (@t_motooka) January 12, 2019
内容はデータベース処理関係です。
テーマの設定にあたって
次のようなトピックだったらいいなーと思ってテーマを考えました。
- (背伸びとかするのではなく)自分が普段から触れているもの、またはその延長線上にあるもの
- 技術そのものの面白さと、それをCakePHPと絡めて使うことができて面白い、という2種類の面白さが感じられるもの
その結果、データベースのレプリケーションをアプリケーション側から見たときの話、というのが最もこれらの条件に合致すると思いました。そして次のようなabstractを書いて応募したところ、多くの方から投票を頂いたらしく、採択されました。
This talk is related to the RFC "Read/Write database splitting" https://github.com/cakephp/cakephp/issues/9197
As mentioned in comments of the RFC, it's true that supporting database replications in the core is not the best way. But more applications than ever before are based on replicated databases and managing connections. This talk intends to introduce ways to support replications.Also, this talk will include the following topics :
- design patterns to support read-replicas
- adding read-replica to an existing CakePHP application
- transaction considerations
- unit test considerations
- database replications for local development environments
スライド
実際の発表のスライドは、こうなりました。
speakerdeck.com
概ねabstract通りの内容になったかな?と思います。頑張りました🍣
しゃべってる様子の動画は後日公開される予定なので、また貼り付けます。
通訳さんとの共同作業
採択された際に、コアメンバーの方に「日本語でしゃべるなら通訳さんつけるけど、必要?」と訊かれましたが、もともと英語で喋るつもりだったので不要と回答しました。
一人で30分喋りとおすイメージを抱きながら当日を迎えましたが、蓋を開けてみると、英→日 の逐次通訳がつくとのことでした。という訳で「自分が英語でしゃべって、それが日本語に通訳される」というレアな体験をすることになりました。元々、英語のトーク原稿を用意できていたこともあって、通訳さんとの事前の情報共有はスムーズに行きました。念のため、トーク原稿の中に登場する「普通じゃない英語」については日本語の訳語の辞書*2を添付しておいたところ、これは大いに役に立ったようです。ちなみに、こういう辞書を作るときはコンテキスト情報もとても大事です。計算機科学で一般に使われる語なのか、PHPの言葉なのか、CakePHPの言葉なのか、RDBMS製品固有の言葉なのか、これらの区別が無ければ通訳さんは間違えてしまいます。
ちなみに、英語を書く際に、筆者はよく「書いた英語を Google Translate 等に投げて、意図した日本語になってたら概ねOK」という行動を取っています*3。「ああ〜、そう解釈されちゃうのか〜」という学びが積み重なって行くのでオススメなのです。自分が英語で喋ってそれを通訳してもらうという状況は、これと同じ学習効果があるかもなぁ、と思いました。通訳さんが変な日本語に訳してしまった箇所は(辞書の問題を除けば)ほとんどは英語の問題(言い回しのわかりにくさ、など)や論説の問題(飛躍など)だと考えられるから、です。
参考にした本
技術面以外で参考にした本として、こんなものがあります。

英語プレゼンテーションの基本スキル―グレートプレゼンターへの道
- 作者: フィリップディーン,ケビンレイノルズ,Philip Deane,Kevin Reynolds
- 出版社/メーカー: 朝日出版社
- 発売日: 2002/05/01
- メディア: 単行本
- 購入: 2人 クリック: 3回
- この商品を含むブログ (4件) を見る
2002年に初版発行という少し古めの本ですが、英語という言語や、諸外国の皆さんの国民性は大して変わってないはずですし、十分に役に立つでしょう。ビジネス的な状況を想定した本であることには少し注意です。

- 作者: 石井隆之
- 出版社/メーカー: ベレ出版
- 発売日: 2006/01/01
- メディア: 単行本
- 購入: 1人
- この商品を含むブログ (8件) を見る
さいごに
来年も参加できるように頑張りたいところです。
そして、CakeFest運営の皆さんやスポンサー各社さん、会場におられた皆さんに本当に感謝です🙏