PHPer Kaigi 2019 に参加したので自分用メモを公開する #2

はじめに

前回の続きです。 ohshige.hatenablog.com

今回も自分用メモが主です。

3月31日 午前の部

マニュアルにない引数を与えるとどうなる?php-srcへのバグ報告をした時の話

トーク
マニュアルにない引数を与えるとどうなる?php-srcへのバグ報告をした時の話 by てきめん | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

php-srcへのバグ報告のお話

引数のデータ型を間違えるとNULLが返る

どうすればバグが発生するのか
どうすればバグが発生しないのか
そのバグは既に報告されていないか

1報告するだけで結構時間がかかる
報告して、closeされたとき、世界中に影響を及ぼしてしまったことに気がついて動揺した

PHPerKaigi2019のサイトができるまで

トーク
PHPerKaigi2019のサイトができるまで by yasui risa | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

サイト制作のディレクションのお話

キーワードをもとにイメージを膨らませる

使いやすさ
様々な媒体で展開しやすいように

XDを利用
役割にあわせた共有の設定ができる
プレビュー用や開発者用
共有から生まれるコミュニケーションがある

タスク管理
Github導入
コンポーネント単位でissue化
netlify連携でデプロイプレビュー→プルリク毎にプレビュー用URL発行できる

Nuxt.jsを利用
.vue毎にコンポーネントが作れる
html/css/jsを同じファイルに書ける
javascriptとの連携が容易→コーダーとエンジニアの連携が容易

共有のしやすさとコミュニケーションを重視
コミュニケーションしやすい仕組み、わかりやすい仕組みのワークフローを作っていくことが大事

PhpStormでコードを理解する技術

トーク
PhpStormでコードを理解する技術 by 田中孝治 | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

PhpStormの設定と使い方のお話

キーマップはデフォルト!

コードを理解する
1. コードを読む・構造を知る
2. 変更の経緯をたどる
3. コードを実行
4. テストコードを利用する

ランチセッション

今回はランチをゲットできたので、しっかりとランチセッションを聞きました!

メルカリ株式会社

VALUEを体現するには

  1. 自分の限界よりもさらに上にチャレンジし続ける
    →自分を変化させる、自分の成功体験に縛られない

  2. 時には自分にこだわらない
    →自分にこだわらず、組織やチームのことも時には

  3. 柔軟な視点
    客観的な視点、論理的な視点、お客様視点
    →視点と視野と視座の違い(「from 視座 to 視野」のベクトル=視点)

  4. 変化のある環境に身を置く
    人は環境に流されやすい

3月31日 午後の部

アンチパターンから学ぶ、RDBの正しい設計

トーク
アンチパターンから学ぶ、RDBの正しい設計 by 曽根 壮大 | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

RDMアンチパターンから学ぶお話

フレームワーク依存症
FWを使う=制約に従う
例えばORM

アンチパターンのポイント
FWもORMもツールであることを意識する
受け取ったメリットと支払ったデメリットを把握する
ビジネスロジックとデータの責務をうまく分離する

アプリケーションの設計力
ビジネスロジックをコードにする実現力

知らないロックがあることを知る
だいたい「よくわからんが詰まる」はロックであることが多いかも

MySQLのギャップロックとネクスキーロック

キャッシュ中毒(麻薬)
使い始めるとやめにくく、システムの複雑度があがり、トラブルシューティングの難易度があがる

キャッシュの障害はテストやモニタリングが難しい、しかし障害はクリティカルだから困る
キャッシュを使わなくて良い場合は使わない
キャッシュの多段化は危険なので、必要だと感じたら設計を見直す

データベースの寿命はアプリケーションよりも長い
データは失うと取り戻せないし、データが無いと復元できない

技術で解決した問題の価値がエンジニアの価値
自分自身で問題を解決していきましょう

まずはアプリケーションから直す
→テストが書ける
→問題がわかってからDBを

まずは自分ができることからやる

jsonの甘い罠
jsonとORMのミスマッチは減る
jsonRDBMSのミスマッチは増える

PHP監視、サービスを守る為に行う不測の事態への努力

トーク
PHP監視、サービスを守る為に行う不測の事態への努力 by 清家史郎 | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

slide.seike460.com

監視のデザインパターン
組み合わせ可能な監視
作るのではなく買え
継続的改善
ユーザー視点での監視
→サーバのCPUが90%がやばいってのはユーザにとってはサービスが使えればどうでもいい

監視すべき対象
死活
HTTPステータス
レイテンシー

監視ツールに求めるもの
ダウンタイムの最小化
正確なアラート
コスト感

手を動かした者だけが世界を変える
アンチパターンを選択(買うのではなく作る)
→faultline

faultlineではミドルウェア監視とユーザ視点監視ができない
→サーバーレスでフルマネージド監視したい
→fictionbase

誰にとってもベストな監視などない
なんとなくの考えから目的意識を持つ

3月31日 Lightning Talk

var_dump

みんなが愛したvar_dump()の実装を探しに旅に出た by くわこ | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

  • 意外と思ったとおりだった
  • 「...」の機能はxdebugの機能だった!

アクセシビリティ

はじめまして!Webアクセシビリティ -PHPer編- by 古賀詩織 | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

レガシーコード

レガシーコードに最低限の秩序をもたせる by ユーベ | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

Laravelの開発環境

Laravel の開発環境構築、何が良いかを比較検証してみた! by k_yoshikawa | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

  • 人事担当からエンジニアに!
  • 開発環境でとどめず次に進める

レビュー

エンジニアインターンが1年間でソースコードレビューの指摘が365回を超えた話 by 小川将輝 | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

  • レビュー貯金
  • 良いレビューを受けることで自分もレビューを良くしたい

CTF(キャプチャーザフラグ)

CTFで学ぶPHPセキュリティ by Ryoto | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

  • アカウント登録するときは捨てパスワードを使う!
  • write-up

tiktok

TikTokでプログラミング勉強コンテンツを作ってみた by Kaoru | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

  • プログラミングの共有の新世界
  • 体力とリズム感が大事

コードリーディング

ソースコードリーディングのススメ by 大津 和槻 | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

  • ソースコードリーディングはアウトプットの塊
  • OSSに参加できて登壇もできるようになる!

時を支配する

cakephp/chronosを使って日時の関連するテストを支配する by hkinjyo | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

  • PHPなら時を止められる!
  • 時を止められればテストが書ける

オフライン

どんと来い!オフライン by anzawatta | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

  • 開発マシンはインターネットにつなごう
  • インターネットってすごい

phpのいいトコ・求めるもの

PHPのいいトコ・求めるモノ怒涛の10選! by Yuta Abe | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

  • Swiftいいぞ
  • Kotlinいいぞ

静的解析ライブラリ

単方向依存を実現する静的解析ライブラリのご紹介 by 川島慧 | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

マサカリに備える

LT/登壇でマサカリに備えるたった一つの心得 by 果物リン | トーク | PHPerKaigi 2019 #phperkaigi - fortee.jp

  • 「素直に」「誠実に」答える
  • わからないことはわからないと答える

PHPerチャレンジ

徳丸さんの説明は大変わかりやすく面白かったです。
直前のLTの内容もトークに組み込んでいたり素晴らしいなと。

robots.txtを見て危険なディレクトリを推測する問題、ちゃんと把握してそのディレクトリを見られるか確認もしたのですが、ちょうどネットワークが不安定だったときでなかなか開けずに諦めたままそのままにしていて、結局再度挑戦するのを忘れていたのが悔しすぎました...

最終的に、PHPerチャレンジは45,850点で4位でした。
時間ギリギリまでこれ以上は無理だなと思いつつ、あらゆる単語を総当たりしていました。

そして、3位の @yKicchan さんが「徳丸 浩の挑戦状」で優秀な成績ということで表彰されることになったので、繰り上げでPHPerチャレンジの3位(実際は4位)の賞をタナボタでいただくことができました!
全く予期していなかったので、めちゃくちゃびっくりして、めちゃ嬉しかったです。
賞品として「失敗から学ぶRDBの正しい歩き方」をサイン付きでいただきました。
ありがとうございます!

f:id:ohshige:20190331224706j:plain:w500

さいごに

PHPer Kaigi 初参加でしたが、とても楽しかったです。
参加して良かったと心から思います。

スピーカーの皆さんの技術的なタメになるトークも面白くて笑えたトークもマニアック過ぎてついていけないようなトークも、どれも素晴らしかったです。
そして、参加者を楽しませようとしていることがめちゃくちゃ伝わってきて、運営の皆様も大変素晴らしかったです。

来年も参加します!