Upgrade to Pro — share decks privately, control downloads, hide ads and more …

はやい開発のためのJSONデータ型の活用

 はやい開発のためのJSONデータ型の活用

sunnyone

August 24, 2023
Tweet

More Decks by sunnyone

Other Decks in Programming

Transcript

  1. JSON 型とは RDB に備わっているJSON を格納するためのデータ型 json 型やjsonb 型 JSON のための関数もある

    ->> 演算子, json_array_elements, etc 今回はRDB の機能自体については触れません 3
  2. JSON 型の運用上の課題:構造が変わる ???「タイトルの一部を太字にしたいんですけど」 { "title": [ { "text": " 失敗",

    "type": "strong" }, { "text": " から学ぶRDB の正しい歩き方" }, ], "author": " 曽根 壮大" } 6
  3. 対策 2. 最初から柔軟性のある構造にする ある程度変更を見越しておく。 { "title": [ { "text": "SQL

    パズル" }, ], "author": " ジョー・セルコ" } → 想定するにも限界がある 9
  4. 複数バージョンの罠 本来の目的の中に今の実装にない過去データの構造が入り込む 開発速度を下げる function BookBox({title}) { if (title instanceof string)

    { // こういうのが増えていく return <Box><div>{title}</div></Box>; } // 本来は見た目をどうにかするのが役割 return <Box><DecoratedText text={title} /></Box>; } 11
  5. 例 こういう層を書けるようにしておくと、本来の役割に集中できる function parseFooData(bookData): Data { if (bookData instanceof string)

    { return [ { text: bookData.title } ]; } return bookData; } function BookBox({book}) { return <Box><DecoratedText text={title} /></Box>; } 13