コードを書きたい

コードが書きたかった

PHPerKaigi2020に参加しました #phperkaigi

2/9~2/11にかけて、練馬区立区民・産業プラザ Coconeriホールにて行われた「PHPerKaigi2020」に参加しました。

参加してみてどうだったかの感想や、聞いたセッションのなかで興味深かったものの内容について思ったことなど共有していきたいと思います。

 

PHPerKaigiとは

PHPerKaigi(ペチパーカイギ)は、PHPer、つまり、現在PHPを使用している方、過去にPHPを使用していた方、これからPHPを使いたいと思っている方、そしてPHPが大好きな方たちが、技術的なノウハウとPHP愛を共有するためのイベントです。

 

phperkaigi.jp

 

参加に至った経緯

参加に至った経緯ですが、Twitterをみていて前々からPHPerKaigiというカンファレンスがあることを知っており、今年は参加してみたいなと思っていたので、参加した次第です。今回が初参加でした。

 

Day0(前夜祭)

前夜祭の日は地元広島から東京に新幹線で向かいました。

開催時刻に東京駅についてしまったので前夜祭のオープニングと最初のセッションは拝見できませんでした。

 

PHPJVM を実装して、 HelloWorld を出力してみる

speakerdeck.com

最初はこのセッションを聞きました。

タイトルの通り、JavaVirtualMachineをPHPで実装して動かすと言うセッションでした。

個人的にバイナリファイルなどを扱うといったことを、今後したいとおもっていたので興味深い内容でした。

ただし、内容はそれなりに難しくてまだまだ自分の知識不足を感じました。

 

PHPアノテーションの仕組みとメリット・デメリット

speakerdeck.com

PHPアノテーションについてのセッションでした。

アノテーションというもの自体、ここで初めて聞いたもので、「これがアノテーションなのか」という知識をつけることができました。

アノテーションとは:

コンパイラや実行環境に対して、

プログラムがどういうものか伝えるもの

アノテーションの利用についてメリット、デメリットがはっきりとし、自分のものにすることができたと思ったのでよかったです。

 

PHPre Party

池袋の貸しパーティー会場で行われたイベントだったのですが、皆さんノリノリでとても楽しそうでした。自分は長距離移動をしてきていて、とても疲れていたので端から楽しそうな人たちをみて、楽しんでいました。

 

Day1

前日の疲れがとれなかったものの、朝から参加することができました。

宿泊は南千住のシェアハウスに泊まらせていただいたのですが、そこから会場まであまり時間もかからず、ゆっくりいくことができました。

なお、朝から朝食としてドーナツが支給されており、とても助かりました。

 

CakePHPの進化から読み解く、PHPフレームワークの"今"っぽさ

speakerdeck.com

このトークで1番に注目したいのは「今っぽさ」についてだと思います。

スライドで書かれていますが、PHPとそれをとりまく環境は、どうかわってきたのか、そして、「モダンさって何だ?」と疑問に思うこと、これらの観点を持って聞くことができました。

”今っぽさ”とは、”未来志向の”コードであり、”今っぽい”コードとは、未来へついていける・準備ができていることを指すと登壇者は述べられました。個人的には概ねその通りかなと自分でも共感することができました。

 

PHPでつくるインタプリタ入門

speakerdeck.com

インタプリタについては何の知識もない僕だったのですが、興味が沸いたので聞いてみようと思いました。

インタプリタPHPで実装する理由として、仕様が決まっていること、かつコマンドライツールなので練習として取り組みやすいということが挙げられるらしいです。確かにPHPでなにか作ろうと思ったらデータベースの知識やWEBの知識など勉強することがたくさんで時間が結構かかる印象がありました。

インタプリタの処理は大きく3つに別れていて、字句解析→構文解析→評価という順番で行われるらしいです。字句解析や構文解析についての説明が詳しくされておられましたが、自分には少し難しかった印象がありました。

実際に作ってみることにより、コンパイラの気持ちがわかるようになるらしいのですが、作れるようになるまで時間がかかりそうだなと感じました。

 

もっと気軽にOSSにPRを出そう!

speakerdeck.com

OSSにプルリクを出してみたいと思っていたものの、どう出していいのか分からなかったので聞くことにしました。

ここでは、4つの着眼点に沿ってどのようなことを行えばよいのか登壇者は述べられていました。まとめると、「作者の関心ゾーンの外側をみる」、「業務で得たノウハウを横展開」、「使っていなくてもコントリビュート」、「ダメもとでも送ってみる」といった感じでした。

話のなかでは、Issueの書き方について、「I know」や「I think」といった言葉が重要なことや、ドキュメントの難しい英単語をもっと読みやすい英単語に変えることも貢献につながるといったことなど、わりと誰でも簡単に始められそうなことなどを話されていて、とてもためになりました。

 

LT

皆さん、しゃべりが上手で大変面白いLTをされておられました。

参考になるLTもあり、聞いて良かったと思いました。

 

PHPer茶会

この時間は後述のPHPerチャレンジのトークン探しに熱中しておりました。

ボードゲームなどが楽しめる時間だったようなのですが、体力もそこそこに尽きていたので早めに退散してしまいました。

 

Day2

最終日は朝から体調が悪く、午前のセッションは聞くことができなかったのですが、午後からのセッションを聞きにいくことができました。

 

PHPPHPを実装する 〜プログラミング言語実装入門〜

speakerdeck.com

PHPPHPを実装するという謎のタイトルだったので好奇心から聞いてみようと思いました。

ASTの話など、すごく難しくて自分にはついていけませんでしたが、なんとなく面白そうだなということだけは伝わってきました。

 

Webアクセシビリティを支えるための技術

www.slideshare.net

 

Webアクセシビリティという言葉を初めて聞いたので、どのようなものなのか気になり聞いてみようと思いました。

Webアクセシビリティとは、 アクセス可能性のことをいうらしいです。

Web Content Accessibility Gidelinesというものもあり、レベルごとにアクセスがしやすいかどうか判断する材料などもあるらしいです。

Webアクセシビリティを支える技術として、ハイパーテキスト、HTML、HTTPプロトコルWorld Wide Webなどがあり、これらは全てシンプルであるらしいです。

サーバーサイドとしてWebアクセシビリティに向き合うには、自分ごと化する必要があります。それは適切なHTTPメソッドを選択したり、適切なHTTPステータスコードを返却したり、アクセスの速度を保証したり、フロントエンドを意識したDB設計を心がけたりすることが挙げられます。

 

LT

2日目のLTも大変レベルの高いLTだったと思います。意外と知らなかったことも知れてよかったです。

 

PHPerチャレンジ

PHPerチャレンジは会場内外に隠された「PHPerトークン」を探しだし、イベントサイトに入力して得られたスコアを競う企画です。 PHPerトークンは「記号の# + 任意の文字列」の形をしています。

blog.phperkaigi.jp

このPHPerチャレンジ、大変面白く、熱中してしまいました。

僕は今回のPHPerチャレンジは14位か、15位だったかと思いますが、もう少しトークンを集めることができたんじゃないかなと個人的には思っています。

意外と見落としていた部分とか結構あったりしたし、見つけるのも他の人よりも早く見つけることができたらもっと点数が稼げたと思います。

次回はもっと点数を稼いで高い順位を目指していきたいと思います。

 

ノベルティ・配布物など

PHPerKaigiの配布物でとても面白いと思ったのはTwitterアイコン付きの名札と、Twitterアイコンが描かれたトレーディングカードだと思います。

このカードが意外と役に立ち、初めての人とでもカードを交換することによって話が進んだりして楽しく交流の輪を広げることができたと思います。

まだカードが余っているのでこれからいく予定のあるカンファレンスでは(名刺を持っていないので)このカードを使って自分のことを知ってもらおうと思います。

 

最後に

とても楽しい三日間を過ごすことができました。

スタッフの皆さん、お疲れ様でした。

また来年も参加したいと思えるようなカンファレンスだったと思います。

毎回言っているようですが、次に参加するときはもっともっと強くなって参加したいなと思っています。