Technote

by sizuhiko

PHPカンファレンス2019で、「PHPを学ぶということ」について発表してきました

12/1に開催されたPHPカンファレンスに参加&登壇してきました。

早速ですが、当日のスライドです。

実はこの発表そのものは、PHPカンファレンス北海道 2019で「PHPを学ぶということ」について発表してきましたで登壇したときとまったく同じ内容です。 スライド内容の話などは、こちらの記事を辿ってください。

変更箇所としては、今回PHPUnit生みの親であるSebastian Bergmannのゲストセッションがあったので、 これは海外から来ていて日本在住のプログラマーとか、結構来るのでは?と思い英語を併記しました。 さらに発表の最初で「英語で字幕読んでね」みたいな挨拶も入れたのですが、反応薄かったので皆さん日本語でokだったようですw

北海道では30分だったセッションが、今回は25分です。 この5分をどうしても巻かないといけなくて、全体的に説明が雑になったりして、やっぱり30分以下は無理だな…と思いました。 すみません。 でも伝えたい重要なところは、ちゃんと時間をかけて話ました。

2019年最後のPHPカンファレンス

ということで、例のスタンプラリーも全制覇はできませんでした(LaraConは気づいたらチケット売り切れてた)が、7つ。 よく参加しました。特典として、大きい像がスタンプ1つあたり1,000円引きだったので、1万円の像を3,000円でお買い上げしてきました。

小さい像はスピーカー特典でした。

さいごに

20回目の節目となるPHPカンファレンスで登壇できたのは、とても良かったです。 心残りなのはSebastianのセッションが自分の1つ前だったので、彼の登壇後話せなかったのと、 懇親会にはいるだろ?と思ったら、早めに退席されてしまっていて、まったく話せなかったことです。 まぁでもまだどこかで会えるよね?という期待を抱いて生きていきます。 彼のセッション聞いて、OSS開発のモチベも上がったので、来年はOSS開発いろいろ頑張るぞー

冬のJavaScript祭りに参加して、E2Eテストについて登壇しました

11/30に開催されたJavaScript祭りに参加しました

早速ですが、私のスライドは以下のとおりです。

なぜこのテーマを選んだか?

最近E2Eテストの課題について、いろいろなところで話題になっていたのと、 CakeFestでJoseがテストに関連する講演をしていたのですが、 実はE2Eテストの理解って意外とされていないのでは?と思い、このテーマを選びました。

内容自体は、各種引用から成り立っていて、現時点では最適な解決策はPuppeteerを使うことなのでは?という話の流れです。

講演の概要

まずはTesting Pyramidの話ですが、これはGoogleが提唱した割合の話としてよく出没する3段の簡易な画像です。 Joseの発表でも、この簡易版の画像を引用していました。

Just Say No to More End-to-End TestsというGoogleのTesting Blogの記事なのですが、 これはテストの比率を説明する資料としてはわかりやすいものです。しかし具体性に欠けています。 そこで出典の記事を確認する必要があります。

記事の中で

Here is a simplified version of the testing pyramid from the opening keynote of the 2014 Google Test Automation Conference:

と書かれているように、Google Test Automationカンファレンスのオープニングキーノートを確認してみましょう。

そうすると、Testing Pyramidの話をしています。 よく見ると、これ自体が引用であることがわかります。さらに出典を辿ってみます。

WatirMelon - A Software Testing Blog by Alister Scottというブログがあります。 先ほどのキーノートのスライドの説明で、このブログの著者Alisterが観客の中にいることが示唆されています。

最初のTesting Pyramidの例では、ざっくりとしていた各層は、実はもう少しブレイクダウンされています。

これらは全て2014年の内容ですが、今でもこの理解がされていないのでは?という気がします。 E2Eはマニュアル(手動)テストも含んでいるのです。 自動化にばかりフォーカスされている気がしますね。

で、Testing Pyramidについて、新しい記事がないかな?というときに、ありましたよ。 我らが martinFowler.com のThe Practical Test Pyramidです。 こちらは2018年の技術背景を元に書かれています。 とても良い内容なので、これを読むことでテストに対する理解がぐっと深まります。

で、現時点で使うツールはPuppeteerで良いのでは?という、私の提案で終わります。 Puppeteerがなぜ良いかというのはスライドに書いてある内容で理解していただけると思います。

また、もしUIテスト(単体や結合)で使いたい場合の機能についても、簡単にふれています。

さいごに

同日にJSConf JPが開催されていて、JavaScriptのイベント同士で被るのかー、と思っていたら結構参加者も多く、 他にもとても楽しいセッションが多く、盛り上がりました。

次回もぜひ参加したいと思います。

Polymer.co-edo #28 を開催しました

2019年7回目となる Polymer.co-edo ミートアップ を開催しました。

9/23に開催された、Web Components SF Meetupの動画が公開されたので、みんなで観る会を開催しました。

動画は字幕をonにして日本語を選択すれば、かなりうまく翻訳されているので、英語に不安がある方も問題なく閲覧可能だと思います。

動画は

  • Web Components に関する最新動向
  • SalesForceの事例
  • CSSに関する話
  • Q&A

の4部構成になっていて、とくに最後のQ&Aが私たちがPolymerやPolymerチームに関して思っていることを遠慮なく突っ込んでくれていて、とても楽しめました。 ぜひQ&Aもご覧になってください。

次回

年末でGDG DevFest Tokyoの準備とかもあって、予定されていた18日の開催は難しそうです。 また日程調整して、お知らせします。

Doorkeeperのコミュニティページ

CHIRIMENおさわり&もくもく会 〜Raspberry Pi 4 & Jetson対応記念〜に参加しました

CHIRIMENおさわり&もくもく会 〜Raspberry Pi 4 & Jetson対応記念〜に参加しました。

やったこと1 : 新しいハードのお触り

現在公式サポートしているRaspberry Pi 3より、どのくらい速く動くのか確認したかったので、参加しました。 自分の作成した、CHIRIMEN Piano, CHIRIMEN Guitar で検証です。

結果としてはレスポンスが速くなっていて、自作楽器にはもってこいでした。 私のはフロントをWebComponentsで作っているので、スペックの弱いマシンで動かすとモッサリするのですが、これなら良いと思いました。

やったこと2 : WebGpioエレメントとWebI2Cエレメントのパッケージ化

これまでは楽器アプリ内にて普通のエレメントとして作っていましたが、パッケージ化も進めています。 まずはWebGpio。 とりあえずTypeScript + LitElement + Rollupで。

sizuhiko/WebGpioElementで開発を進めています。 まだReadだけ。Write I/Fもそろそろ書きます。

今の所は

<web-gpio>
  <web-gpio-peripheral port="19" mode="out"></web-gpio-peripheral>
  <web-gpio-peripheral port="5" mode="in"></web-gpio-peripheral>
  <div slot="no-web-gpio">
    The device is not CHIRIMEN.
  </div>
</web-gpio>

こんな感じなんですが、

<web-gpio>
  <web-gpio-out port="19"></web-gpio-out>
  <web-gpio-in port="5"></web-gpio-in>
  <div slot="no-web-gpio">
    The device is not CHIRIMEN.
  </div>
</web-gpio>

みたいなのも悪くないなーと思って検討中です。

何かアップデートあれば、随時記事にしていこうと思います。

CakeFest 2019 Tokyoに参加しました

昨年はCakeFest自体がスキップとなったので、2年ぶり。 そして遂に東京です。 長くCakePHPコミュニティに関わってきて、念願の?というと大げさですが、何度か東京で…みたいな話が出ては消えてきたので、とても嬉しかったです。

前夜祭!

カンファレンスの前日に、渋谷の串カツ田中で前夜祭が行われました。

国際的なメンバーで串カツ、なかなか体験できない空間でした。 この後は、坂上のGoodbeer faucetsで2次会。 しかしよく飲むなー、カンファレンスは明日からが本番ですよー。 だが、その後3次会まで行って、2時過ぎにタクシーで帰宅しました….

カンファレンス Day1

場所はスマートニュースさんでした。初めての訪問です。 オシャレな会場でカンファレンスが始まります。

CakeFestはいつもノベルティもステキで、今回はCakeFestの像に、ノートでした。

まず驚いたのは通訳の人がいたということ。 ちゃんとCakePHPに関連するワードなど配慮されていて、日本人に配慮してくれたのかな、という感じでした。

一方で日本からの登壇者の方も、英語で話して通訳さんが日本語にしていたので、そこは登壇者が両方喋るか、日本語で話して英語に訳してもらうか、どちらかの方が良かったのかなーと思いました。

その後、みんなでランチ食べに行ったりして、夕方ごろLTの募集が始まります。 前夜祭でもLarryから、お前はやるだろ?みたいな事を言われていて、何も準備してないよ!と返しておいたのに、募集案内でいきなり指さされましたw(仕方なく手を上げたけどww

そこからLTの資料準備して(といっても、過去にやったものの流用ですが)、無事?LTを終えました。

LTはAMPについて。これは春先のGoogle I/O Extendで私が担当したもので、LT向きだなと思って慌ててスライドを英語に変換しました。

懇親会 Day1

10:00から20:00までという長いカンファレンス Day1を終えて、なぜか竹下通りにやってきました。 Savantはガチャやってます。

その後、Mark, Jose, Savant, 市川さんとビール飲みに行きました。

さらにグリフォンに福岡チームがいるということで移動することに。 ここで解散となれば良かったのですが、なぜか…..

カラオケに….(終わったの4時でした

カンファレンス Day2

ちゃんと起きて10:00過ぎには、カンファレンス会場に。今朝までいた中では一番早く到着していたと思う。

2日目最初のセッションはJoseのテストの話だったのですが、多くの人はテストの種類についての違いが理解できていないことも多いなと感じるので、こういったセッションは良いな、と思いました。私も来年はこのあたりの話をしていきたい。

グラハムを含め2人の登壇者の都合が悪くなり、早めに終了となったCakeFest2019。

最後は旗にサインして、恒例のリアルケーキで締め。

懇親会 Day2

最後はお好み焼き。

串カツに始まり、お好み焼きで終わる。 CakeFest TOKYO だったはずだけど、とても良かったですw

昨日の疲れもあり?そのまま解散となりました。

日本での国際カンファレンス

最近はPHPカンファレンスなどでも海外からスピーカーがやってきますし、いろいろなコミュニティイベントでも英語セッションがあったりと、それ自体はそんなに珍しいものでもないような気もします。 ただ全編英語で行われるカンファレンスともなると、あまりないのかな?と思います。

もちろん通訳の方がいたということもあるとは思いますが、参加者の満足度は高かったんじゃないかと感じました。 次にいつこういう機会があるかわかりませんが、また開催されると良いな、と思います。

また、これをキッカケに来年以降CakeFestに参加する日本人が増えると良いなーと。 一緒に来年はアメリカに行きましょう!(Larryが来年はアメリカ〜と言っていた

さいごに

CakeFest 2019とても楽しかった。 でも月曜からの仕事は辛かった(海外だと翌日出国でも時差の関係で2日間は休みになるが、国内は翌日からなのだ…