職業プログラマの休日出勤

職業プログラマによる日曜自宅プログラミングや思考実験の成果たち。リアル休日出勤が発生すると更新が滞りがちになる。記事の内容は個人の意見であり、所属している(いた)組織の意見ではない。

CakeFest 2019 Tokyo

2週間ほど前、ほぼ毎年開催されているCakePHPの国際カンファレンス「CakeFest」に参加してきました。ちょっとばかし登壇もしました。
cakefest.org
この記事は参加の記録です。

CakePHPとは

Webアプリケーションを開発するためのフレームワークです。名前の通り、PHP製です。
cakephp.org
筆者は2012年頃から、このフレームワークにほぼ依存して仕事をしています。
CakeFestとは、CakePHPの情報交換のための、毎年のお祭りです。開催地は毎年変わります。

当日の様子

既に他の多くの参加者の皆さんがブログ記事等に書かれていますので、今更ここに書いても、ねぇ😅
それはそうと、PHPの象さん(ElePHPant*1)のぬいぐるみも頂戴して、筆者はとても幸せです。

登壇に向けて

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。「ああ〜、そう解釈されちゃうのか〜」という学びが積み重なって行くのでオススメなのです。自分が英語で喋ってそれを通訳してもらうという状況は、これと同じ学習効果があるかもなぁ、と思いました。通訳さんが変な日本語に訳してしまった箇所は(辞書の問題を除けば)ほとんどは英語の問題(言い回しのわかりにくさ、など)や論説の問題(飛躍など)だと考えられるから、です。

参考にした本

技術面以外で参考にした本として、こんなものがあります。

英語プレゼンテーションの基本スキル―グレートプレゼンターへの道

英語プレゼンテーションの基本スキル―グレートプレゼンターへの道

英語でのプレゼンの方法を解説と言うよりは、日本人がプレゼンの現場でよく犯す誤りと、その改善手法についてまとまっている本です。似たような情報はネット上にも溢れていますが、まとまっていることに大いなる価値があります。
2002年に初版発行という少し古めの本ですが、英語という言語や、諸外国の皆さんの国民性は大して変わってないはずですし、十分に役に立つでしょう。ビジネス的な状況を想定した本であることには少し注意です。

CD BOOK 国際会議・スピーチ・研究発表の英語表現

CD BOOK 国際会議・スピーチ・研究発表の英語表現

タイトルの通り、国際会議で使われる英語表現をまとめた本です。発表内容には限られず、司会者が使う英語、会場の受付で交わされる会話、そして懇親会などについても言及されており、聴講者としての参加であってもとても役に立つ本です。

さいごに

来年も参加できるように頑張りたいところです。
そして、CakeFest運営の皆さんやスポンサー各社さん、会場におられた皆さんに本当に感謝です🙏

*1:https://afieldguidetoelephpants.net/

*2:unit test = 単体テスト、みたいな感じの簡易な辞書

*3:機密情報では、こんなことはしません