こんにちわ、ITプロパートナーズのエンジニアのくまモンエンジニア(@miyakey7)です。
Laraconに関する記事を書きたいと思います。多分今年出席した日本人は私しかいなかったような気がします。
Laravelは自分の転職のきっかけになったフレームワークで思い入れがあります。
元々組み込みエンジニアで通信ライブラリとか作っていた私が、去年Laravelが好きでというかLaravelしか知らないような状態からWEBエンジニアになんとか転職し1年以上経ちました。
今年、そして来年と開催されるLaravel jp conferenceもコアスタッフとしてお手伝いさせていただいてます。
そんなLaravel好きが高じて、ついには国境を越えてしまいました。
今年の7/24〜25日に開催された laraconUS(https://laracon.us/)に参加するためにNYに行ってきました!
私の目から見たLaraconUSの感想を率直に書いていきたいと思います!
英語力が皆無のため、多分間違ってる所があるかと思います、すいません!
誤りがあればご指摘お願い致します!!
入場
まずは朝8:30から入場開始です。
あと1時間くらいしたら向かいます! https://t.co/MAxJgORBKI
— くまモンエンジニア (@miyakey7) July 24, 2019
会場はタイムズスクエア近くのイケイケの場所です!
NYは以前も訪れたことがあり、とても好きな街でした。
今年のLaraconUSがNYと決まった瞬間に行くことを即決しました。
PlayStation Theater
ゴリゴリの強面SPに荷物検査をされ、金属探知機を通って、震えながら蛍光色光る地下のフロアへ。
完全に雰囲気に飲み込まれて震えてるなう#laracon pic.twitter.com/GnGAoSv1Jd
— くまモンエンジニア (@miyakey7) July 24, 2019
中はもう騒然とした雰囲気でおしゃべりで陽気なエンジニアたちが大騒ぎでした。
朝からみんな元気良いな...
今回のLaraconは昔の2Dゲームの世界観がテーマのようです。
ストⅡもありました👀
こちらはアメリカのスーパーファミコン(スーパーニンテンドー)ですね。
知らない外人と戦って2戦2勝でした。eスポーツイケますね。
会場に入ると既にかなり埋まってる状態。
座席は自由です。
空いてる座席にグッズが置いてありました!
中身は意外とシンプルでした。Laraconはあんまりこだわらないのかな?
本日、貰ったグッズ!新ロゴステッカーは明日貰えるのかな🙃
— くまモンエンジニア (@miyakey7) July 25, 2019
#Laracon pic.twitter.com/S2PCeFJROF
座席はかなり後方でした..出遅れた!
会場のwi-fiのパスワードがわからず弱弱のwi-fiモバイルルーター苦戦していたら、公式ツイートでアナウンスが!
Welcome everyone! Our WiFi code is “artisan19”… let’s tweet using the #Laracon hash tag! 🤙
— Laracon US (@LaraconUS) July 24, 2019
Laravelerなら誰でも胸アツなパスワード「artisan19」に胸が熱くなりましました!
午前セッション
ADAM WATHAN
自身が開発しているtailwind CSSについてのセッション
基本コードを書きながらレイアウトのデモをしまくっていました。
場馴れしてるからなのか余裕で話しながらガンガンコード書いてて凄いな〜と感じました。900人が見てる中でコーディングとか震える。
tailwind CSSはとても拡張性があり、容易なレイアウト置き換えが出来たりレスポンシブ対応していたりする便利CSSフレームワークでした。
Laravelと関与する所はbladeの中でも書きやすいよ〜くらいの感じでした。
bladeを適宜コンポーネント化してincludeで呼び出し、パラメータ引数としてクラス設定することで容易に変更出来るよねと。
FREEK VAN DER HERTEN
引用はこのツイートにまとまってます
Hope you liked my talk at @laraconUS 🗣
— Freek Van der Herten 🎆 (@freekmurze) July 24, 2019
Some interesting links for you:https://t.co/YL59aS6Spahttps://t.co/FVR0SsXHRphttps://t.co/zagELDvzIGhttps://t.co/JKlDi45hJehttps://t.co/Vn9NE6OCivhttps://t.co/UCrbNS3Wp8https://t.co/0IuAXLis3v
Slides: https://t.co/XEBGrWbXfg
観客と和気あいあいとしながら、こちらも基本ライブコーディングをしていたのが印象的。
文字サイズ大きくしろってめっちゃ煽られてる#laracon pic.twitter.com/pNzf9u3P1e
— くまモンエンジニア (@miyakey7) July 24, 2019
アクションをコントローラやモデルに書かず、アクションフォルダ配下に置く。
Interesting idea from @freekmurze and the @spatie_be team - putting reusable actions in a separate "Actions" directory rather than storing them on a model or controller. I'll have to give that a whirl. #laracon #laravel pic.twitter.com/3GZUSL9n34
— Kyle Barney (@KyleAndCode) July 24, 2019
viewに関してはviewModelを使った書き方を説明。
viewに渡すパラメータを沢山並べるとかもしやってるならば参考にしましょう。
続いてbladeの話。blade-xを使えばincludeの書き方を省略できるよと。
確かにそうですね。vueライクな書き方です。
休憩
休憩で一度全員が席を離れます。
そのチャンスを使って前の方に移動しました!
みんな意外と前の方の席にこだわりはなかったみたいで、すんなり座れました。
ただ、この前方エアコンがめちゃくちゃ効いていて寒かった。。
BOBBY ELITE BOUWMANN
laravelのデザインパターンの話
・Singleton Pattern
・Observer Pattern
・Bridge Pattern
についてピザとピザ窯を例に話していました。サンプルコードも載っているので
わかりやすいと思います!
印象的だったのは最後の方に言っていた
「No silver bullet, learn by doing and trying(銀の弾丸はない、やってみることで学ぶ)」
という部分。
設計に関しては本当にそう感じます。どれだけ向き合ってどれだけプロダクトを落とし込んで適切な設計ができるか。一朝一夕で身につくものではないと感じます。
JMAC
laravelのちょっと気の利いた書き方というセッションでした。
結構色んな省略形の話をしていました。
それこそbladeであれば @auth や@guest、@csrfみたいな所やModelリレーションのPivotsやMorphMapの書き方、redirectにwithInput付けるなど。結構基礎的な使い方が多かった印象。
Gateの話がちらっと出たりもしましたが(もう少し丁寧に聞きたかった)、全体的に公式リファレンスにある内容でしたね。
ランチタイム
ランチタイムになると900人が一斉に外に出ます。
人の流れとかガン無視カオス状態です。
ちなみに会場は映画館のシアターとロビーと通路があるだけのイメージなので、
全員が飛び出すととんでもない人の渋滞が発生します。
そんな事は全く気にしません、これがアメリカ。
ランチボックスと飲み物をカウンターで貰いあとは自由に食べてねという形式。
通路に座り込んで食べる人が半分、シアターの中で食べる人が半分ぐらいでした。
なんで中で食べないんだろう?
そして配られたランチボックスが完全にアメリカ!
ランチタイムに配られたランチボックス。
— くまモンエンジニア (@miyakey7) July 24, 2019
謎の巻き物とポテチとりんごとチョコチップクッキーにスプライト。
アメリカか!
#laracon pic.twitter.com/DJPmNUaEP2
午後セッション
KEITH DAMIANI
GraphQLに関するセッションでした
最もスライドが作り込まれたセッションでした。
データの繋がりをニューヨークの地下鉄の路線図を例にして表現し、グラフ理論の歴史を示した上で、どういう時にGraphQLの優位性が発揮されるかについて述べています。
KAYA THOMAS
彼女のセッションはサイドプロジェクトの走らせ方についてでした。
プログラミングの話は一切なく、マインドやマネジメント、ケアの方法、終わらせ方など一連を実体験を元に話をしていました。
Motivating speech from @kthomas901 at #LaraconUS “Get your work out into the world” pic.twitter.com/FeZTe5k3Hi
— Guvener Gokce (@guvener) July 24, 2019
サイドプロジェクトを始めたらちゃんと広めることも大事だよと。
JONATHAN REININK
こちらのコースの作者ですね。みんな大好きEloquentに関するセッションです!
内容はパフォーマンスチューニングの方法、テクニック、debugbarの数値確認方法などでした。
結果的には
副問い合わせちゃんと使った方が速い事多いよという話だった。
— くまモンエンジニア (@miyakey7) July 24, 2019
addSubSelectか。
#laracon
でした。
まぁ、最終的にこれに至るまでにメモリのサイズを確認したり、クエリの数を確認して少しずつチューニングしていくという手順のデモがこのセッションの有意義な部分だったと思います。そしてEloquentは何も知らないと簡単にN+1などを実装出来てしまうので、しっかりとした知識と結果のクエリをよく確認しようというお話ですね。
JUSTIN JACKSON
今回のLaraconのメインMCをやっていました。めちゃくちゃ話し上手で盛り上げ上手。
それもそのはずで、ポッドキャストの配信者でもあります。
スライドはこちら!
内容は人生とプログラミングを学ぶことについてでした。結構おちゃらけた感じでMCやってましたがセッションは真面目でした。
https://justinjackson.ca/assets/laracon-2019-compressed.pdf
最初にLaraconの会場にいる参加者の年代を聞いてましたが、圧倒的に30代が多かったです!アメリカのPHPerは30代が多いぞ!(日本はどうなんだ?)
「"It's too late for me to learn programming". This emotional baggage held me back.(「プログラミングを学ぶには遅すぎる」という感情が自分を引き留めていた。)」
これはプログラミングだけでなく色んな新しいチャレンジに言えることだと思う。
気にせずに飛び込んでチャレンジすればいい。
TAYLOR OTWELL
遂に出ました、大トリ。CREATOR OF LARAVEL
Laravelの創始者Taylorです。
セッションは早速Laravel6リリースの公式発表!
ロゴも変わり、会場のボルテージも上がりました!
ロゴが変わったー!
— くまモンエンジニア (@miyakey7) July 24, 2019
#laracon pic.twitter.com/8PgcPBHlZ0
ロゴが変わるために、カンファレンスTシャツはこのセッションが終わるまで配られませんでした。途中で帰る人とか気にしないのね...。
Tシャツまだ配られてなかったのは新ロゴだったからか pic.twitter.com/MvrGOb3NkE
— くまモンエンジニア (@miyakey7) July 24, 2019
ロゴ及び公式サイトが変わること、8月にリリースされること、ver6からセマンティックバージョニング(semver)というバージョン方式を取るという話がありました。
これでLaravel6の話は終わります。
そう、今回のセッションのメインはLaravel6の発表ではなく、Laravel VaporというLaravel用のサーバーレスデプロイプラットフォームの発表でした。
これは去年発表されたNova同様に有料になっております。
元々あったLaravel Forgeという環境管理ツールがあり、その中にあったlaravel-cloudというクラウドサービスと連携していた部分のコードを書き直し、独立進化しAWSと連携したサーバーレスプラットフォームに昇華したイメージでしょうか。
ちなみに先日、laravel-cloudは一瞬公開されましたが
I have mentioned Laravel Cloud, an abandoned attempt to build a "Forge Pro", several times. This project was eventually replaced by Vapor. However, the entire backend was completely finished. I have opened the source here if anyone is interested: https://t.co/8RQ9xhsSLO
— Taylor Otwell 🏝 (@taylorotwell) August 1, 2019
すぐにprivateに戻されましたw
Had to make Laravel Cloud private again. Amazingly, too much BS and whining about me even doing something as simple as sharing that code. Have a good weekend. 🤷♂️
— Taylor Otwell 🏝 (@taylorotwell) August 2, 2019
大丈夫かなw
まぁ、Vaporに関してはすぐに使う機会は無さそうという感覚です。
新規で作る際に使うのもありかと思う一方でVaporのコストを足す分の利点が今の所感じれていないという印象。
アプローチの方向性は面白いし今後の進化を期待したいと思います。
Vaporの詳細については以下にわかりやすくまとまっています。
既に公式サイトも公開されています。
また本セッションは他に先駆けて動画配信もされているので詳細はこちらを参考にしていただければと思います。
AFTER PARTY & MINGLING
そして遂に運命の時が...
Laravelの作者Taylorとの対面!
とりあえず記念写真!
テイラーと写真撮れた! pic.twitter.com/MGnGQp6wYt
— くまモンエンジニア (@miyakey7) July 24, 2019
そこからは緊張の会話タイム...!
日本から来た話、日本のカンファレンスのスタッフだよとアピール(初日に着ていたのはLaravel JP conferenceのコアスタッフTシャツ)、内緒の交渉、Laravelの今後について、Vaporの話も少し...短い間でしたが色々と聞けてとても貴重な時間でした。
これで完全に満足した私は、懇親会で数人と会話にならない会話をして帰りました。
「日本から来たの?」「何故?」「日本でLaravelはどうなんだい?」などなど、聞き取りやすい質問はサクッと返事出来るのですが、少しでも聞き取れなくなるともうお手上げ状態でした...。
ちなみに懇親会も人の配置はガン無視で通路やロビーに突然食べ物や飲み物が置かれたり、スタッフが配り続けたりして立ったままガンガン話すだけでした..アメリカ凄いぜ。
混沌としているのでそろそろ離脱します!また明日Laracon! pic.twitter.com/pvRM1ioKy8
— くまモンエンジニア (@miyakey7) July 24, 2019
次回、二日目編は会場にたどり着くまでにタイムズスクエアで黒人に捕まって60ドル払った話を中心にお送りする予定です😢
すいません、上記は事実なのですが、二日目もちゃんと書きます!!
Laravel好きは一度お話してみませんか?