PHPカンファレンス仙台
去年の年末のペチコンに出た時に存在を知り、仙台出身なので秒で参加登録しました。
当日
仙台へGO
— for_3 | ZOE (@for__3) January 25, 2019
はえーさむい
— for_3 | ZOE (@for__3) January 26, 2019
なう #phpconsen pic.twitter.com/A0lM9gO6Zf
— for_3 | ZOE (@for__3) January 26, 2019
セッション
聴講したセッションについて聴きながらツイッターにメモを取っていたのでまとめていく。
AWSでWordPressのスケールアウト (金澤 裕毅 / ランサーズ株式会社)
資料:
本日の発表資料です。https://t.co/NW3YaU9BdS#phpconsen #phpconsen
— やきとり (@yakitori009) 2019年1月26日
ランサーズさんの金澤さんの「AWSでWordPressのスケールアウト」聴講なう #phpconsen
— for_3 | ZOE (@for__3) January 26, 2019
AWSでWordPressのスケールアウト
— あだちん😆Lancers(SRE/採用広報) (@adachin0817) January 26, 2019
始まったぁああ!!#phpconsen pic.twitter.com/QshchcGCFQ
php7.2にしてサクサク動くようになった #phpconsen
— for_3 | ZOE (@for__3) January 26, 2019
ワードプレスの管理をgithubで管理していてデプロイして反映するようにしてる #phpconsen
— for_3 | ZOE (@for__3) January 26, 2019
ワードプレスをスケールアウトしたい人ってどれだけいるんだろう🤔 #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
ブログで済む内容なら今からワードプレス を選定しないほうがいいよ🤣 #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
自前でプラグイン作ってたり、アップデートができない人、AWSですでに始めてて戻れない人 #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
何も考えないでスケールアウトすると、、
— for_3 | ZOE (@for__3) 2019年1月26日
DBが分散
ファイルアップデートしても片方にしかない
画面からプラグインのアップデートできない
wp-cronがサーバの数だけ起動
アクセスログなどが分散
#phpconsen
意外と課題多いな #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
dnsをroute53に #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
albにインスタンスをぶら下げる #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
1台でもalbを使ったほうがいい
— for_3 | ZOE (@for__3) 2019年1月26日
証明書やHTTP2使えたり、セキュリティ向上など #phpconsen
DBをRDSに置いて参照させる
— for_3 | ZOE (@for__3) 2019年1月26日
マネージドなので楽 #phpconsen
DBをauroraにしておけばスケールさせる時も楽 #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
ファイルアップロードはS3にあげるようにする #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
そうだよなぁ #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
wp offload media liteプラグイン導入 #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
既存のアップロードしたファイルも載せ替える必要がある #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
ログ集約はtd-agentで #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
ログ用の集約サーバに集めてS3に投げる方式 #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
クラウドウォッチログを使っても良さそう #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
クラウドウォッチログを使うと集約用サーバが不要になるので楽かも? #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
管理画面用のサーバを別で立てて必要であればcronもここで #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
管理画面から全サーバにgit pullさせるように仕組んでおく #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
やっぱりgit管理大事だなぁ #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
オートスケーリング
— for_3 | ZOE (@for__3) 2019年1月26日
init処理にgit pullするようにしておけば良い #phpconsen
スケールするなら当たり前だけどmultiAZしようね #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
AZごと死んだとしても片方が生きてる状態になるので #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
独立したコアレイヤパターンによる PHP アプリケーションの実装 (新原雅司)
資料:
先ほど発表した「明日から使えるアーキテクチャ 独立したコアレイヤパターン」の資料を公開しました!セッションに参加して頂き、ありがとうございましたm(_ _)m #phpconsenhttps://t.co/ODf22eVPWN
— Masashi Shinbara (@shin1x1) 2019年1月26日
次はこちら聴講します https://t.co/dQg6mJqTUF
— for_3 | ZOE (@for__3) 2019年1月26日
独立したコアレイアパターンによるPHPアプリケーションの実装、始まった!#phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
すごい内容東京の時と違うらしい #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
コアレイアはアプリケーションで実現したいwhatが書いてあるイメージ#phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
コアレイアはフレームワークに依存しない #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
アプリケーションレイアはwhatに対してhowを実装する
— for_3 | ZOE (@for__3) 2019年1月26日
フレームワークやライブラリを活用していく
コアレイアの実行も役割 #phpconsen_b #phpconsen
コアレイアからORMなどを使いたい時どうする?依存してしまう #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
コアレイアインターフェースを使う
— for_3 | ZOE (@for__3) 2019年1月26日
コアレイアから必要な操作をインターフェースとして書き出す
#phpconsen_b #phpconsen
書き出したインターフェイスに対しての実装をアプリケーションレイアで実装していく #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
コアレイアがインターフェースにのみ依存してる状態になるのでフレームワークが変更になったとしてインターフェースを満たすように修正するだけですむ #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
資料とサンプルコードはアップしてるよ #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
顧客に対してポイントを追加できるエンドポイントの実装を考える #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
コアロジックがどこに当たるか考えそこを分離、コアロジックからフレームワークなどへの依存をインターフェースに変更していく #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
portはどこから来てるのか Port Adapter Paternから取ってます portじゃないといけない理由はないです #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
コアレイアのテストが楽、なぜならコアレイアが外部リソースに依存しないため #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
ヘキサゴナルアーキテクチャにおける Ports And Adaptersのことっぽい
— for_3 | ZOE (@for__3) 2019年1月26日
コンセントとかのようにメス側とオス側があるイメージかな#phpconsen_b #phpconsen
whatとhowを分離しておくことで、howが変更になった時に、改修しやすい #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
whatから要件が読み取りやすくなる、これだけでも充分な利点だよなー#phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
保守する人は変わる #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
whatの中だけでもテストする事ができる #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
whatの観点、howの観点でレビューができるため、レビューしやすくなる #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
レイアードアーキテクチャやクリーンアーキテクチャを適用してもいいが、現場に軽く入れるのは難しい
— for_3 | ZOE (@for__3) 2019年1月26日
#phpconsen
機械的に分離できるのも強み #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
(ランチセッション) ランチセッション: オミカレを支えるチーム開発 ~ プロダクトを支える文化 ~ (高橋 一騎 / 株式会社オミカレ)
資料:
オミカレを支えるチーム開発 ~プロダクトを支える文化~/phpconference-sendai2019-omicale https://t.co/6sOCWFdbdw
— イルカ@JPUG & 岡山swift (@ikkitang) 2019年1月26日
今からのランチセッションのスライドです。#phpconsen
婚活と言えばオミカレ お弁当ありがとうございます! #phpconsen pic.twitter.com/BHWW902fsT
— for_3 | ZOE (@for__3) 2019年1月26日
(ご飯に夢中でメモ取ってなかった、、)
チーム開発はコミュニケーション大事ですよね、複数の勤務地でも円滑にコミュニケーションとるためにスラックボットをうまく使ってコミュニケーションを円滑にしたよ、という感じの内容でした。
再発防止策を考える技術 (杉浦 颯太 / 株式会社メルカリ)
資料:
ありがとうございました! https://t.co/eR0yjFcZV5 #phpconsen
— きりん (@sota1235) 2019年1月26日
再発防止策を考える技術 #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
システム障害起きてますか!? #phpconsen_b #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
オペミス、仕様はあってるけど顧客に影響が出てるもの #phpconsen_a #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
バグであったけど、顧客に直接影響出てないものは? #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
サービスは運用され続けるものなので、その場で影響出なかったとしても知見を次は生かしていくべき #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
障害を100%出さずに開発できる人🙋♀️ #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
障害を唯一なくす方法は一切の開発、運用を止めること
— for_3 | ZOE (@for__3) 2019年1月26日
どう頑張っても開発、運用してる以上障害は起きてしまう
#phpconsen
障害起きても仕方ないよね、ハハってしていいという話ではなく、30回起きてしまった障害をいかに減らすか、を考えて欲しい #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
ぜひわかりやすいのでみてくださいhttps://t.co/GMjUaJfVdD
— for_3 | ZOE (@for__3) 2019年1月26日
あとで読む #phpconsen
障害対応の振り返りについて #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
振り返りの内容についてレビューする
— for_3 | ZOE (@for__3) 2019年1月26日
その時に"しない"こと
責任の追及
内容の読み合わせ
#phpconsen
何をするか
— for_3 | ZOE (@for__3) 2019年1月26日
事実
再発防止策、仕組み化
#phpconsen
再発防止策は当事者、チーム、場合によっては他チームにも相談してみる
— for_3 | ZOE (@for__3) 2019年1月26日
#phpconsen
障害対応、再発防止策用のチャンネル立てるのいいな #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
なぜチーム横断で障害振り返りをするか
— for_3 | ZOE (@for__3) 2019年1月26日
・多くの人の意見を出してもらう
・チームで解決できないことを解決してもらったり
・別職種の視点も入れるといい
#phpconsen
とはいえ非エンジニアがジョインするのは心理的安全性の面から抵抗あったりするので、うまくコントロールする必要がある #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
karakuriとautomationの考え方っていいな #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
何のための機能だったのか立ち返りながら、人の関わる範囲を最小限にしつつ、トレードオフを意識してどこまで再発防止策をやるか決定する #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
PHPではじめるCQRS (丹賀 健一 / 株式会社インフィニットループ)
資料:
発表資料アップしました! #phpconsen
— 男爵 (@dnskimox) 2019年1月26日
PHPではじめるCQRS https://t.co/GdTRYwfy5Z
phpではじめるCQRS
— for_3 | ZOE (@for__3) 2019年1月26日
聴きます #phpconsen
あらゆるクラスの特性はコマンド(命令)とクエリ(取得)に分けられる #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
クエリに副作用はあってはならない #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
命令はデータを返す必要がないから返り値は不要 #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
システムのユースケースはコマンドとクエリに分けられる #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
コマンドとクエリで求められるものが違うことが多い、整合性の話や、正規化の話、スケーラビリティの話 #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
ORMのメソッドで最適なSQLを発行するのが難しい
— for_3 | ZOE (@for__3) 2019年1月26日
これは関心の分離ができてないのが原因のことが多い #phpconsen
ドメインロジックはコマンド側に多くある場合が多い(本当だろうか?ここはよく考えたい) #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
お、少し追いつけない、あとで資料読む
— for_3 | ZOE (@for__3) 2019年1月26日
どうやってMVCからCQRSを適用していったか #phpconsen
ORMの本当の価値は取得したデータをドメインモデルとして一つのクラスにマッピングしてドメインロジックを適用しやすくすること #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
ORMでクエリを閉じ込めるとクエリの本来の集合を扱う強力な力の恩恵にあやかれない #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
なのでクエリで取得したものをORMにマッピングするものを作った #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
半年経ってどうか
— for_3 | ZOE (@for__3) 2019年1月26日
パフォーマンスチューニングしやすい
バグ原因調査しやすい
おーこれはすごい
#phpconsen
生クエリ書くの楽しい
— for_3 | ZOE (@for__3) 2019年1月26日
www #phpconsen
多分疑問に思ったのここら辺だろうなー https://t.co/4LnltyBvqV
— for_3 | ZOE (@for__3) 2019年1月26日
ある程度大きな規模でないとメリットは薄いかもしれないですね #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
学習コストはインストールは2〜3日
— for_3 | ZOE (@for__3) 2019年1月26日
レビューと設計で頑張る #phpconsen
完全生クエリを作るかどうかでいうとセキュリティ面や動的に生成するあたりで一部クエリビルダを使っていた #phpconsen
— for_3 | ZOE (@for__3) 2019年1月26日
ブース回ったりとか
ブースまわったりしてる#phpconsen pic.twitter.com/zbIDSuLMKZ
— for_3 | ZOE (@for__3) 2019年1月26日
今日の戦利品 #phpconsen pic.twitter.com/n2aLRfBFDW
— for_3 | ZOE (@for__3) 2019年1月26日
その他資料
#phpconsen GraphQL入門ご静聴ありがとうございました!資料アップロードしました!10枚くらいスキップしちゃったのでテキスト多めにしときましたm(_ _)m https://t.co/3jh1glw1w8
— s-ichikawa (@ichikawa_0829) 2019年1月26日
資料をあげますhttps://t.co/6Dpc5c3QZe#phpconsen #phpconsen_b
— nakamura244 (@nakamura_244) 2019年1月26日
#phpconsen の発表で使用する資料を先出しします。Track A 10:25〜10:55 「テストが辛いを解決するテスト駆動開発のアプローチ」 at PHPカンファレンス仙台2019https://t.co/AiAXwcPCKH
— ひがしぐち(K.higashiguchi) (@hgsgtk) 2019年1月24日
PHPカンファレンス仙台で発表する資料です。よろしくお願いします。
— 青ごへいもち (@blue_goheimochi) 2019年1月25日
「レガシーなPHPアプリケーションのリプレイスプロジェクトにおける取り組み」https://t.co/0qhD4wWmYU#phpconsen
PHPカンファレンス仙台で利用するスライドです。
— Yuuki Takezawa@ytake (@ex_takezawa) 2019年1月23日
スライド直したので再掲
Hackで作る堅実な アプリケーションアーキテクチャ #phpconsen https://t.co/IlA02r9d0H
PHPカンファレンス仙台の登壇資料を公開しました。 #phpconsen
— そーだい@初代ALF (@soudai1025) 2019年1月22日
Webサービスを支えるモニタリング - そーだいなるらくがき帳 https://t.co/7b3GT1SSew
本日 13:00 から Track C でフロントエンド部品共通化の話をします。スライドも公開しています(さきほど確認したら一度見づらい色があります)。よろしくお願いします。 #phpconsen https://t.co/vuqDS1c1zh
— しずひこ (@sizuhiko) 2019年1月26日
スライドアップしました。これからのトークのスライドです。 https://t.co/EdCfN4Cs2c
— Koji Tanaka (@tenkoma) 2019年1月26日
PHPカンファレンス仙台 2019 の 「開発期間2ヶ月でElasticsearchをプロダクトに使ってリリースした話」の プレゼンテーション資料を公開しました👍 #phpconsen https://t.co/pggXG8herI
— memory (@m3m0r7) 2019年1月26日
PSRを実装してみる #phpconsen / 黒點 さん - ニコナレ https://t.co/xGupftYDJq #kn3830
— にゃんだーすわん (@tadsan) 2019年1月26日