hitode909の日記

趣味はマリンスポーツですの日記です

1画面1APIと比べるとGraphQLのAPIはどこから作ったらいいか分かりにくい

Backends for Frontends的に、1画面につき1つずつAPIを作っていると、画面のリストを作って、それぞれ1画面につき1個ずつAPIを作っていくことになるので、進捗の把握がやりやすかった。10画面あって3APIできてたら進捗30%ということになる。

グラフをたどって開発することになる

GraphQLでAPIを作っていると、「実はこの画面を組み立てるためのクエリは、あちらの画面の条件を変えたものである」みたいなことが起きるようになる。たとえば、トップページではサマリを表示していて、もっと見るを押すと全件表示するような場合とか。
このように、着手しようとするともう作るものがなかったりとか、逆に、作るときに、他の画面から使う想定でパラメータの設計をするなど、考えることが増えたりもする。
スキーマに沿ってグラフをたどるだけで画面を組み立てられるのは良いことだけど、開発内容の依存関係が一見するとわかりにくい。
グラフの探索というと、さまざまなアルゴリズムがあるけど、グラフをどう実装していくか、という作戦も、幅優先でトップレベルから使いたいものを順に作ることもできるし、深さ優先で1パーツずつ着実に作ることもできるし、確実に使いそうなResolverやDataLoaderからボトムアップに作っていくこともできる。

衝突回避

開発を進めていくときも、この情報はこっちのオブジェクトのこれ、みたいに、いきなり別の画面用に開発する予定だったフィールドにたどり着いてしまったりする。
複数人で分担して作業しているときに、二人で同時に触ってしまうと、同じものを2回作ってしまうことになったり、お互いが回避すると気づくと実装されてない、みたいなことが起き得る。
ぜんぜん違うところを触るなら大丈夫そうだけど、1画面のうち2コーナーなどを同時に作っていると、作業場の依存関係が発生することがたびたびありそうな印象だった。

落ち着いて開発できるならボトムアップにするのがよさそう

餅つきやわんこそば的にViewもどんどん作って結合していきたい、みたいな事情がなくて、落ち着いて開発できるなら、ボトムアップに、ドメインモデルまわりから定義していくと、出たとこ勝負でtypeをどんどん追加するような混乱を回避できるとと思う。
Atomic Designとかをイメージすると、Atomsから順に作っていくはずで、Pagesから考えて必要に応じてAtomsをどんどん足していくと統一感を得にくいと思う。

スキーマのレビューを通しておく

あと一つ思い出したので書いておくと、実装までやらずに、スキーマ段階でレビューを通すのがおすすめ。
スキーマを読み書きするだけなら、他メンバーと合意する手段としては手軽で、実装まで済んだあとにスキーマからやり直しになるよりは、早い段階でコストを小さく試行錯誤できるほうがよい。
クライアントサイドが別チームになっているときには、ユースケースを満たせるか確認できるし、スキーマさえあれば、Apollo Serverなどから読むことでモックサーバーを動かすとか、作業を進めることができる。

これまでのあらすじ

先日はクライアント、サーバー間の分担について気にしていた。
blog.sushi.money

卵かけご飯

ご飯の用意する時間がなくてもなんとかなるもの、として、卵かけご飯がある。
炊飯器に米を炊いて保温していることと、卵が備蓄されていることが前提。
昨日は明太子と高菜があったので助かった。けどこれを常備しても、そんなに毎日明太子食べたいわけではなさそう。
キッチンで立って食べられる、とか、ダイニングテーブルに運ぶ間に歩きながら食べ終わることができるのも良い。ダイニングテーブルに辿り着く前にすべての食事が完了すれば、ダイニングテーブルが不要になる。
課題としては、栄養バランスが偏っていると思うので、野菜も取れるようにするとか、乗っけるものを工夫していって完全食にしたい。

英文

びっしり英文の書いた製品をたまに見る。こないだは、テレビスタンドにもびっしり英文が書かれているのを発見してびっくりした。
いったい何のために…と思っていたけど、昨日気づいたのは、眠れないときに英文を読むと入眠しやすくて便利そう、ということ。
読めない本を買わなくても、英文のびっしり書かれたテレビスタンドを買っておくことで安眠が約束される。

最近寝る前に読んでるのはこれ。

21 Lessons for the 21st Century

21 Lessons for the 21st Century

だらだら読んでいたけど日本語訳も普通に出ていた。悲しいことです。

チャリで中古車ディーラーを巡って様子を見てきたところ、相場観が分かってきた。10日くらいで納車できることもわかった。
印鑑登録、車庫証明、とかこまごま面倒そうな手続きがあることがわかって、面倒さゆえに興味が失われてきた。そして、面倒な手続きの代行をお願いすると2万5000円くらい。
36万円のフィットとか27万円のデミオとか見てるときに2.5万円の手続きと聞くとものすごく高く感じる。誤って始めたプロモーションツイート費用4万円があれば…とか考えてしまう。

チェンソーマンを読むってTODOがタスクリストに入ったまま時間が経っていたのを思い出してついに読んだらおもしろかった。
個人のタスクリストは割とめちゃくちゃで、仕事をして、家事をやって、あるいは家事をやらずに気絶して寝る、ということで精一杯で、計画的にタスクを片付けていく時間はあまり確保できていない。OSSのissueを片付ける代わりに洗濯物が溜まっていくのは持続性がないと思って、先に洗濯物をやってしまう。
オフィスに通ってた頃は家事が見えずに済んでいたので気にならず、メリハリがついてたと思う。一方で、オフィスに通ってた頃のほうが、1ヶ月掃除機をかけてなかったりとか、床に置いてるものの面積がどんどん増えてきたりとか、明らかに部屋がめちゃくちゃだった。それもそのはずで、気が済むまで飲酒して帰って寝るだけなので、家事をやる時間は数分くらい(歯磨き、顔洗いくらい)だった。二度とあのような暮らしには戻りたくない。

認定中古車を見ているけどなかなかいいお値段する。移動さえできればなんでもいいので、母に車を買ってあげて、そのかわりに母の乗ってる軽自動車をもらう、とかでもよいかもしれない。そうすればいいことしたわ〜という雰囲気になって気持ちよく支払いができる。

世間の車の買い方ノウハウを得ようとこの本を読んでみたらひたすら試乗していた。この人は予算が潤沢にある。

羽田圭介、クルマを買う (WPB eBooks)

羽田圭介、クルマを買う (WPB eBooks)

  • 作者:羽田圭介
  • 発売日: 2019/07/26
  • メディア: Kindle版

今日は近所のディーラーに行ってカタログを貰ったり、新車の見積もりをもらったりした。認定中古車だとそこからマイナス50万円でだいたい最新装備のを買える、そこから50万円引くとブレーキサポートがついてるくらいになる、そこからマイナス20万円で、走って止まる車になる、というイメージ。
ディーラーでこういう条件で中古車ないですかねって聞いたら家で見てたのと同じネットで探してくれるというスタイルだったので、今度はちょっと遠方の中古車を置いてる空間に様子を見に行ってみようと思う。