「Final Object #1」参加記録
3/27に@koriym さんのトークイベント、Final Object#1に参加してきました。 株式会社TRASTA さんで再び開催されました。
今回はゲストスピーカーに古賀さんと林さんを迎えての開催でした。
はじめまして!Webアクセシビリティ -サーバーサイドエンジニア編- by @shiori_pk
はじめまして!Webアクセシビリティ -PHPer編- by 古賀詩織 | プロポーザル | PHPerKaigi 2019 - fortee.jp
の素振りを兼ねての登壇です。 アクセシビリティを普段から考えているか、会社としてどこまで対応するか方針があるかといった話題が印象的でした。
ショッピングサイトみたいな画像のたくさんあるサイトの場合、
— 腹周りたぷたぷ@脂肪肝 (@hanahiro_aze) 2019年3月27日
URLしか返さないAPIではスクリーンリーダー向けのalt属性などの情報を伝えられなくなる。
#FinalObject
サーバーサイドエンジニアが意識すべき点としてAPIが返す情報にアクセシビリティを意識した情報を含んでいるか、という点は「なるほど」と思いました。 また、アクセシビリティというと目の見えないひとなどを意識することが多いですが、インターネット回線が弱い地域の人に向けても考える必要があるという点は、 前回のFinalObjectでも話題になったクライアントキャッシュの利用によって解決できるという示唆がありました。
アクセシビリティを高くすることで、これまでリーチできなかった人へサービスを届けることができるようになることは、マーケティング上もプラスに働くという提案もあり、とても参考になる発表でした。
=== 2019/4/1 追記 ===
古賀さんから資料をご提供いただきましたので、追記します。
www.slideshare.net
=== 2019/4/1 追記 ===
RESTの力 by @koriym
こちらもPHPerKaigiの素振りを兼ねた発表でした。 前回の話に引き続き、「アプリケーション状態」、「キャッシュ」、「自己記述的メッセージ」についてのお話です。
アプリケーション状態
キーワード
— 腹周りたぷたぷ@脂肪肝 (@hanahiro_aze) 2019年3月27日
リソース状態:リソースの状態。サーバーサイドが持っている情報
アプリケーション状態:アプリケーションが今何を見ているか。サーバーサイドは興味がない状態。
#FinalObject
安全な遷移と安全でない遷移:アプリケーション状態からリソースへの操作
— 腹周りたぷたぷ@脂肪肝 (@hanahiro_aze) 2019年3月27日
サーバーはリソースの状態と次のアクションを情報として返す。
たとえばaタグ(安全な遷移)やformタグ(安全でない遷移)
#FinalObject
「アプリケーション状態」と「リソース状態」を「安全な遷移と安全でない遷移」と「アフォーダンス」で繋ぐという点が整理して理解できました。 前回の話の後も、この点の理解がイマイチできてなかったのですが、以下のスライドで「なるほど」と腹落ちした感じです。
キャッシュ
前回も話に上がった「E-Tagでの条件付きリクエスト」、「no-cacheとno-store」を中心にキャッシュの設計についてのお話でした。
個人的にはこのスライドがキャッシュ導入の参考になるのでありがたかったです。
自己記述的メッセージ
「メディアタイプの選択」、「schema.orgなどを命名(ボキャブラリー)に使うこと」が中心のお話でした。 htmlかjsonくらいしか使ったことがなかったので、メディアタイプの膨大さには驚きました。また、適切なメディアタイプの選定の参考になるページの紹介もありました。
情報の設計(IA)ですべきことはこういうことなんだなぁと思いました。
資料の全編は↓で公開されていますので、ご参照ください。
事業開発をしてみよう by はやしりょう
ご自身でも事業をされているはやしさんによる、エンジニア目線での事業開発のはじめ方についてのお話でした。 「要件定義ができるなら事業開発もできるはず」ということで、エンジニアリングとグロースハックの差分は考えを「コードにする」か「行動する」かの違いとのこと。
個人的には「課題を解決する前に、解決すべき課題を設定するためにモデリングをする」、「ユースケース図->ER図->実装」というプロセスを通じて気づいていないことに気づくことができるというお話が印象的でした。
Extra: REST API (Hypermedia API)開発のための7ステップ by @koriym
RESTful Web APIs9章で紹介されている設計プロセスについての解説がありました。 Todoリストを例に、
- クライアントが必要なオブジェクトを書き出して「Semantic Descriptor」を作成する。
- それぞれの参照関係を結んで「状態遷移」を書く。
- 使用されているボキャブラリーをIANAなどに登録されている標準的なものに置き換える
- 適切なメディアタイプを選定する
- 独自のボキャブラリーの説明を書く(ALPSやJSON-LD)
- 実装する
- 公開する
という手順をさらいました。
以上簡単に当日の感想とレポートでした。