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

誰が作成しても1つの構造になるモデリング作成技術、Theory of Models⁠ に夢を見る

mokuo
August 08, 2024

誰が作成しても1つの構造になるモデリング作成技術、Theory of Models⁠ に夢を見る

builderscon 2024 で発表した資料です。以下、トーク概要です。

Webアプリケーションを開発・運用していく中で、1つのテーブルに日時カラムが増えていったり、巨大なテーブルが爆誕した、という経験はありませんか。また、これがプログラムの複雑さに繋がることもあると思います。このような事態を避けるために、私は、モデリングが重要なのではないかと考えています。

モデリングについては、DDD、sudo モデリング、イベントストーミング、UML図、アンチパターンなど、様々な概念や手法、ツール、書籍などを参考にすることができます。
しかし、モデルやテーブルの単位まで落とし込む際には、メンバーの経験や価値観によって解釈が異なり、意見が合わないこともあるのではないでしょうか。

Theory of Models(TM)は、前身となるT字形ER法を数学基礎論の観点から見直し、再体系化された技術体系です。誰が作成しても同じモデル構造になるように、規則に従ってモデリングするのが特徴です。

銀の弾丸、とまではいかないかもしれませんが、モデリングの指針となり得るものだと、私は考えています。

本セッションでは、2022年に発売された書籍「事業分析・データ設計のためのモデル作成技術入門」の内容をもとに、個人開発で試してみた経験も踏まえて、なるべく噛み砕いてお話ししたいと思います。

## 対象者

- モデリングしたが、これで良いか不安になったことがある人
- モデリングの合意形成で苦労したことがある人
- モデリングの社内規約をつくりたい人

## 話す内容

- Theory of Models(TM) のモデル作成技術
- 個体指定子(番号やコード、ID など)を使ってモノの集まりをつくる
- モノをイベントとそれ以外に分けて、並べる
- ルールに従って、モノとモノとの関係を構成する
- ...etc
- 個人開発で実践したフィードバック

mokuo

August 08, 2024
Tweet

More Decks by mokuo

Other Decks in Programming

Transcript

  1.  5IFPSZPG.PEFMT 5. චऀ͕ຊॻͰ࣮ݱ͔ͨͬͨ͠఺͸ɺσʔλͰ͚Γ͕ͭ ͘͜ͱΛϓϩάϥϜ͕੥͚ෛΘͳͯ͘΋͍͍ɺܗࣜతߏ ଄ʢσʔλߏ଄ʣͱϓϩάϥϛϯάͷڥքઢɺͭ·Γɺ σʔλͷܗࣜతߏ଄͕දݱͰ͖Δݶք఺Λ໌Β͔ʹ͢Δ ͜ͱͰ͢ɻͦͷ໨త͸ɺ΄΅࣮ݱͰ͖ͨͱࢥ͍ͬͯ·͢ɻ ʰࣄۀ෼ੳɾσʔλઃܭͷͨΊͷ Ϟσϧ࡞੒ٕज़ೖ໳ʱ

    ग़యɿ ࣄۀ෼ੳɾσʔλઃܭͷͨΊͷϞσϧ࡞੒ٕज़ೖ໳ɿॻ੶Ҋ಺ʛٕज़ධ࿦ࣾ https://gihyo.jp/book/2022/978-4-297-12946-0 w ೥ʹൃച͞Εͨॻ੶ w ߏจ࿦ɾҙຯ࿦ ʮ਺ֶجૅ࿦ʯͷू߹࿦ɾ ؔ਺࿦ɾϞσϧ࿦ ͳͲͷ࿩͕ग़ͯ͘Δͨ Ίɺগ͠೉͘͠ײ͡Δ͔΋͠Εͳ͍ ͦ͜Ͱࠓ೔͸ɾɾɾɻ
  2.  Ϟσϧ࡞੒ͷखଓ͖ ηοτͷͳ͔ʹʮ۠෼ίʔυʯ͕͋Ε͹ɺαϒηοτʹ੾அ͢Δ ʮ೔෇ʯΛ൑அͯ͠ɺϞϊΛ&WFOUͱ3FTPVSDFʹ෼͚Δ ݸମࢦఆࢠʢYY൪߸ɺYYίʔυʣΛ࢖ͬͯɺϞϊΛूΊΔ &WFOUΛ࣌ܥྻʹฒ΂Δ ϞϊΛूΊΔ ϞϊΛ෼ྨ͢Δ ϞϊΛฒ΂Δ ؔ܎Λߏ੒͢Δ

    ηοτ ू߹ Λͭ͘Δ ؔ܎3 B C ͷதʹɺ&WFOUͱ3FTPVSDFΛ୅ೖ͢Δ ग़య̎: ࣄۀ෼ੳɾσʔλઃܭͷͨΊͷϞσϧ࡞੒ٕज़ೖ໳ɿॻ੶Ҋ಺ʛٕज़ධ࿦ࣾ https://gihyo.jp/book/2022/978-4-297-12946-0 ग़య̍: tm-versions http://www.sdi-net.co.jp/tm-versions.htm
  3.  Ϟσϧ࡞੒ͷखଓ͖ ηοτͷͳ͔ʹʮ۠෼ίʔυʯ͕͋Ε͹ɺαϒηοτʹ੾அ͢Δ ʮ೔෇ʯΛ൑அͯ͠ɺϞϊΛ&WFOUͱ3FTPVSDFʹ෼͚Δ ݸମࢦఆࢠʢYY൪߸ɺYYίʔυʣΛ࢖ͬͯɺϞϊΛूΊΔ &WFOUΛ࣌ܥྻʹฒ΂Δ ϞϊΛूΊΔ ϞϊΛ෼ྨ͢Δ ϞϊΛฒ΂Δ ؔ܎Λߏ੒͢Δ

    ηοτ ू߹ Λͭ͘Δ ؔ܎3 B C ͷதʹɺ&WFOUͱ3FTPVSDFΛ୅ೖ͢Δ ग़య̎: ࣄۀ෼ੳɾσʔλઃܭͷͨΊͷϞσϧ࡞੒ٕज़ೖ໳ɿॻ੶Ҋ಺ʛٕज़ධ࿦ࣾ https://gihyo.jp/book/2022/978-4-297-12946-0 ग़య̍: tm-versions http://www.sdi-net.co.jp/tm-versions.htm
  4.  ϞϊΛूΊΔ ϒϩάλΠτϧ ϒϩά63- هࣄ63- هࣄλΠτϧ هࣄެ։೔ ϒϩά501ϖʔδ ϒϩά63- هࣄ63-

    ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ ݸମࢦఆࢠ ͦͷଞͷ߲໨ ը໘໊
  5.  ϞϊΛूΊΔ FQJTPEFUJUMF ϙουΩϟετ344 &QJTPEFUBHT HVJE FQJTPEFUJUMF FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF

    QVC%BUF EFTDSJQUJPO FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF HVJE QVC%BUF EFTDSJQUJPO ग़యɿA Podcaster’s Guide to RSS - A Podcaster’s Guide to RSS https://help.apple.com/itc/podcasts_connect/#/itcb54353390
  6.  ϞϊΛूΊΔ هࣄৄࡉը໘ هࣄ63- ΫϩʔϦϯά*% Ի੠ม׵*% Τϐιʔυ(6*% هࣄλΠτϧ هࣄެ։೔ هࣄຊจ

    Ϋϩʔϧ೔࣌ Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε ΤϐιʔυλΠτϧ Τϐιʔυެ։೔ Τϐιʔυઆ໌ <هࣄ>63- λΠτϧ ຊจ ެ։೔ ΫϩʔϦϯά*% Ϋϩʔϧ೔࣌ Ի੠ม׵*%ɹɹɹ Ի੠ม׵೔࣌ɹɹ Ի੠ϑΝΠϧύε <Τϐιʔυ>(6*% λΠτϧ આ໌ ެ։೔
  7.  ϞϊΛूΊΔ ϒϩά501ϖʔδ ϒϩά63- هࣄ63- ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ ϙουΩϟετ344 &QJTPEFUBHT

    HVJE FQJTPEFUJUMF FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF QVC%BUF EFTDSJQUJPO هࣄҰཡը໘ هࣄ63- هࣄλΠτϧ هࣄެ։೔ هࣄৄࡉը໘ هࣄ63- ΫϩʔϦϯά*% Ի੠ม׵*% Τϐιʔυ(6*% ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ هࣄຊจ Ϋϩʔϧ೔࣌ Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε ΤϐιʔυλΠτϧ Τϐιʔυެ։೔ Τϐιʔυઆ໌ ʮ৘ใʯ͝ͱͷ 5ࣈॻ͕ࣜ ࡞੒͞Εͨʂ هࣄϖʔδ هࣄ63- هࣄެ։೔ هࣄλΠτϧ هࣄຊจ
  8.  ϞϊΛूΊΔ ϒϩά501ϖʔδ ϒϩά63- هࣄ63- ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ ϙουΩϟετ344 &QJTPEFUBHT

    HVJE FQJTPEFUJUMF FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF QVC%BUF EFTDSJQUJPO هࣄҰཡը໘ هࣄ63- هࣄλΠτϧ هࣄެ։೔ هࣄৄࡉը໘ هࣄ63- ΫϩʔϦϯά*% Ի੠ม׵*% Τϐιʔυ(6*% ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ هࣄຊจ Ϋϩʔϧ೔࣌ Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε ΤϐιʔυλΠτϧ Τϐιʔυެ։೔ Τϐιʔυઆ໌ ݸମࢦఆࢠͷ਺͕ Ϟϊͷ਺Λද͢ هࣄϖʔδ هࣄ63- هࣄެ։೔ هࣄλΠτϧ هࣄຊจ
  9.  ϞϊΛूΊΔ ϒϩά501ϖʔδ ϒϩά63- هࣄ63- ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ ϙουΩϟετ344 &QJTPEFUBHT

    HVJE FQJTPEFUJUMF FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF QVC%BUF EFTDSJQUJPO هࣄҰཡը໘ هࣄ63- هࣄλΠτϧ هࣄެ։೔ هࣄৄࡉը໘ هࣄ63- ΫϩʔϦϯά*% Ի੠ม׵*% Τϐιʔυ(6*% ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ هࣄຊจ Ϋϩʔϧ೔࣌ Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε ΤϐιʔυλΠτϧ Τϐιʔυެ։೔ Τϐιʔυઆ໌ هࣄϖʔδ هࣄ63- هࣄެ։೔ هࣄλΠτϧ هࣄຊจ ϒϩά ݸମࢦఆࢠͷ਺͕ Ϟϊͷ਺Λද͢
  10.  ϞϊΛूΊΔ ϒϩά501ϖʔδ ϒϩά63- هࣄ63- ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ ϙουΩϟετ344 &QJTPEFUBHT

    HVJE FQJTPEFUJUMF FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF QVC%BUF EFTDSJQUJPO هࣄҰཡը໘ هࣄ63- هࣄλΠτϧ هࣄެ։೔ هࣄৄࡉը໘ هࣄ63- ΫϩʔϦϯά*% Ի੠ม׵*% Τϐιʔυ(6*% ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ هࣄຊจ Ϋϩʔϧ೔࣌ Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε ΤϐιʔυλΠτϧ Τϐιʔυެ։೔ Τϐιʔυઆ໌ هࣄϖʔδ هࣄ63- هࣄެ։೔ هࣄλΠτϧ هࣄຊจ هࣄ ݸମࢦఆࢠͷ਺͕ Ϟϊͷ਺Λද͢
  11.  ϞϊΛूΊΔ ϒϩά501ϖʔδ ϒϩά63- هࣄ63- ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ ϙουΩϟετ344 &QJTPEFUBHT

    HVJE FQJTPEFUJUMF FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF QVC%BUF EFTDSJQUJPO هࣄҰཡը໘ هࣄ63- هࣄλΠτϧ هࣄެ։೔ هࣄৄࡉը໘ هࣄ63- ΫϩʔϦϯά*% Ի੠ม׵*% Τϐιʔυ(6*% ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ هࣄຊจ Ϋϩʔϧ೔࣌ Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε ΤϐιʔυλΠτϧ Τϐιʔυެ։೔ Τϐιʔυઆ໌ هࣄϖʔδ هࣄ63- هࣄެ։೔ هࣄλΠτϧ هࣄຊจ Τϐιʔυ ݸମࢦఆࢠͷ਺͕ Ϟϊͷ਺Λද͢
  12.  ϞϊΛूΊΔ ϒϩά501ϖʔδ ϒϩά63- هࣄ63- ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ ϙουΩϟετ344 &QJTPEFUBHT

    HVJE FQJTPEFUJUMF FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF QVC%BUF EFTDSJQUJPO هࣄҰཡը໘ هࣄ63- هࣄλΠτϧ هࣄެ։೔ هࣄৄࡉը໘ هࣄ63- ΫϩʔϦϯά*% Ի੠ม׵*% Τϐιʔυ(6*% ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ هࣄຊจ Ϋϩʔϧ೔࣌ Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε ΤϐιʔυλΠτϧ Τϐιʔυެ։೔ Τϐιʔυઆ໌ هࣄϖʔδ هࣄ63- هࣄެ։೔ هࣄλΠτϧ هࣄຊจ ΫϩʔϦϯά ݸମࢦఆࢠͷ਺͕ Ϟϊͷ਺Λද͢
  13.  ϞϊΛूΊΔ ϒϩά501ϖʔδ ϒϩά63- هࣄ63- ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ ϙουΩϟετ344 &QJTPEFUBHT

    HVJE FQJTPEFUJUMF FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF QVC%BUF EFTDSJQUJPO هࣄҰཡը໘ هࣄ63- هࣄλΠτϧ هࣄެ։೔ هࣄৄࡉը໘ هࣄ63- ΫϩʔϦϯά*% Ի੠ม׵*% Τϐιʔυ(6*% ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ هࣄຊจ Ϋϩʔϧ೔࣌ Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε ΤϐιʔυλΠτϧ Τϐιʔυެ։೔ Τϐιʔυઆ໌ هࣄϖʔδ هࣄ63- هࣄެ։೔ هࣄλΠτϧ هࣄຊจ Ի੠ม׵ ݸମࢦఆࢠͷ਺͕ Ϟϊͷ਺Λද͢
  14.  ϞϊΛूΊΔ ϒϩά ϒϩά63- ϒϩάλΠτϧ Τϐιʔυ (6*% λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI

    FODMPTVSFUZQF ެ։೔ આ໌ Ի੠ม׵ Ի੠ม׵*% Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε هࣄ هࣄ63- هࣄެ։೔ هࣄλΠτϧ هࣄຊจ ΫϩʔϦϯά ΫϩʔϦϯά*% Ϋϩʔϧ೔࣌ ݸମࢦఆࢠ͝ͱʹ 5ࣈॻࣜΛ࡞Δ Ϟϊ
  15.  Ϟσϧ࡞੒ͷखଓ͖ ηοτͷͳ͔ʹʮ۠෼ίʔυʯ͕͋Ε͹ɺαϒηοτʹ੾அ͢Δ ʮ೔෇ʯΛ൑அͯ͠ɺϞϊΛ&WFOUͱ3FTPVSDFʹ෼͚Δ ݸମࢦఆࢠʢYY൪߸ɺYYίʔυʣΛ࢖ͬͯɺϞϊΛूΊΔ &WFOUΛ࣌ܥྻʹฒ΂Δ ϞϊΛूΊΔ ϞϊΛ෼ྨ͢Δ ϞϊΛฒ΂Δ ؔ܎Λߏ੒͢Δ

    ηοτ ू߹ Λͭ͘Δ ؔ܎3 B C ͷதʹɺ&WFOUͱ3FTPVSDFΛ୅ೖ͢Δ ग़య̎: ࣄۀ෼ੳɾσʔλઃܭͷͨΊͷϞσϧ࡞੒ٕज़ೖ໳ɿॻ੶Ҋ಺ʛٕज़ධ࿦ࣾ https://gihyo.jp/book/2022/978-4-297-12946-0 ग़య̍: tm-versions http://www.sdi-net.co.jp/tm-versions.htm 'JOJTI
  16.  5IFPSZPG.PEFMT 5. Λ࢖Θͳ͔ͬͨΒʁ ϒϩά ϒϩά*% ϒϩά63- ϒϩάλΠτϧ Τϐιʔυ Τϐιʔυ*%

    (6*% λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF ެ։೔ આ໌ εςʔλε هࣄ هࣄ*% هࣄ63- هࣄެ։೔ هࣄλΠτϧ هࣄຊจ Ϋϩʔϧ೔࣌ Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε εςʔλε w *%Λউखʹ௥Ճ w ࣝผࢠ͕ͦΕͧΕͭ͋Δ w ΠϕϯτଐੑΛهࣄʹ࣋ͨͤΔ w OVMMΧϥϜ͕࡞੒͞ΕΔ w 61%"5&͕ඞཁʹͳΓɺෳࡶੑ͕૿͢ w ΧϥϜ͕ͲΜͲΜ૿͍͑ͯ͘ w εςʔλεΛউखʹ௥Ճ w εςʔλεͷߋ৽͕ඞཁʹͳΔ ͜ΜͳϞσϧʹͳΓͦ͏
  17.  Ϟσϧ࡞੒ͷखଓ͖ ηοτͷͳ͔ʹʮ۠෼ίʔυʯ͕͋Ε͹ɺαϒηοτʹ੾அ͢Δ ʮ೔෇ʯΛ൑அͯ͠ɺϞϊΛ&WFOUͱ3FTPVSDFʹ෼͚Δ ݸମࢦఆࢠʢYY൪߸ɺYYίʔυʣΛ࢖ͬͯɺϞϊΛूΊΔ &WFOUΛ࣌ܥྻʹฒ΂Δ ϞϊΛूΊΔ ϞϊΛ෼ྨ͢Δ ϞϊΛฒ΂Δ ؔ܎Λߏ੒͢Δ

    ηοτ ू߹ Λͭ͘Δ ؔ܎3 B C ͷதʹɺ&WFOUͱ3FTPVSDFΛ୅ೖ͢Δ ग़య̎: ࣄۀ෼ੳɾσʔλઃܭͷͨΊͷϞσϧ࡞੒ٕज़ೖ໳ɿॻ੶Ҋ಺ʛٕज़ධ࿦ࣾ https://gihyo.jp/book/2022/978-4-297-12946-0 ग़య̍: tm-versions http://www.sdi-net.co.jp/tm-versions.htm
  18. هࣄ هࣄ63- هࣄެ։೔ هࣄλΠτϧ هࣄຊจ  ϞϊΛ෼ྨ͢Δ ϒϩά ϒϩά63- ϒϩάλΠτϧ

    3 3 Τϐιʔυ (6*% λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF ެ։೔ આ໌ Ի੠ม׵ Ի੠ม׵*% Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε ΫϩʔϦϯά ΫϩʔϦϯά*% Ϋϩʔϧ೔࣌ & 3 &
  19.  Ϟσϧ࡞੒ͷखଓ͖ ηοτͷͳ͔ʹʮ۠෼ίʔυʯ͕͋Ε͹ɺαϒηοτʹ੾அ͢Δ ʮ೔෇ʯΛ൑அͯ͠ɺϞϊΛ&WFOUͱ3FTPVSDFʹ෼͚Δ ݸମࢦఆࢠʢYY൪߸ɺYYίʔυʣΛ࢖ͬͯɺϞϊΛूΊΔ &WFOUΛ࣌ܥྻʹฒ΂Δ ϞϊΛूΊΔ ϞϊΛ෼ྨ͢Δ ϞϊΛฒ΂Δ ؔ܎Λߏ੒͢Δ

    ηοτ ू߹ Λͭ͘Δ ؔ܎3 B C ͷதʹɺ&WFOUͱ3FTPVSDFΛ୅ೖ͢Δ ग़య̎: ࣄۀ෼ੳɾσʔλઃܭͷͨΊͷϞσϧ࡞੒ٕज़ೖ໳ɿॻ੶Ҋ಺ʛٕज़ධ࿦ࣾ https://gihyo.jp/book/2022/978-4-297-12946-0 ग़య̍: tm-versions http://www.sdi-net.co.jp/tm-versions.htm
  20. Τϐιʔυ λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF ެ։೔ આ໌ (6*% 3 هࣄ

    هࣄެ։೔ هࣄλΠτϧ هࣄຊจ هࣄ63- 3  ϞϊΛฒ΂Δ ϒϩά ϒϩά63- ϒϩάλΠτϧ 3 ΫϩʔϦϯά ΫϩʔϦϯά*% Ϋϩʔϧ೔࣌ & Ի੠ม׵ Ի੠ม׵*% Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε & &WFOUΛ࣌ܥྻʹฒ΂Δ
  21.  Ϟσϧ࡞੒ͷखଓ͖ ηοτͷͳ͔ʹʮ۠෼ίʔυʯ͕͋Ε͹ɺαϒηοτʹ੾அ͢Δ ʮ೔෇ʯΛ൑அͯ͠ɺϞϊΛ&WFOUͱ3FTPVSDFʹ෼͚Δ ݸମࢦఆࢠʢYY൪߸ɺYYίʔυʣΛ࢖ͬͯɺϞϊΛूΊΔ &WFOUΛ࣌ܥྻʹฒ΂Δ ϞϊΛूΊΔ ϞϊΛ෼ྨ͢Δ ϞϊΛฒ΂Δ ؔ܎Λߏ੒͢Δ

    ηοτ ू߹ Λͭ͘Δ ؔ܎3 B C ͷதʹɺ&WFOUͱ3FTPVSDFΛ୅ೖ͢Δ ग़య̎: ࣄۀ෼ੳɾσʔλઃܭͷͨΊͷϞσϧ࡞੒ٕज़ೖ໳ɿॻ੶Ҋ಺ʛٕज़ධ࿦ࣾ https://gihyo.jp/book/2022/978-4-297-12946-0 ग़య̍: tm-versions http://www.sdi-net.co.jp/tm-versions.htm
  22.  ؔ܎Λߏ੒͢Δ ಉ͡ը໘ͷϞϊͷؔ܎ੑΛߟ͑Δ ϒϩά501ϖʔδ ϒϩά63- هࣄ63- ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ ϙουΩϟετ344

    &QJTPEFUBHT HVJE FQJTPEFUJUMF FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF QVC%BUF EFTDSJQUJPO هࣄҰཡը໘ هࣄ63- هࣄλΠτϧ هࣄެ։೔ هࣄৄࡉը໘ هࣄ63- ΫϩʔϦϯά*% Ի੠ม׵*% Τϐιʔυ(6*% ϒϩάλΠτϧ هࣄެ։೔ هࣄλΠτϧ هࣄຊจ Ϋϩʔϧ೔࣌ Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε ΤϐιʔυλΠτϧ Τϐιʔυެ։೔ هࣄϖʔδ هࣄ63- هࣄެ։೔ هࣄλΠτϧ هࣄຊจ
  23.  ؔ܎Λߏ੒͢Δ ᶃ &WFOU 3FTPVSDF ᶄ &WFOU &WFOU ᶅ 3FTPVSDF

    3FTPVSDF Ϟϊͷʮؔ܎ʯͷ૊Έ߹Θͤ͸࣍ͷ௨Γ͔͠ͳ͍
  24. Τϐιʔυ λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF ެ։೔ આ໌ (6*% 3 هࣄެ։೔

    هࣄλΠτϧ هࣄຊจ هࣄ هࣄ63- 3  ؔ܎Λߏ੒͢Δ ग़དྷࣄʹߦҝऀ͕ؔ༩͢Δ ˠ3FTPVSDFͷݸମࢦఆࢠΛ&WFOU ͷࠨଆʹૠೖ͢Δɻࣗ਎ͷݸମࢦఆ ࢠͱ۠ผ͢ΔͨΊʹ 3 ͱ͍͏ه߸ Λ෇͚Δɻ ᶃ&WFOU 3FTPVSDF Ի੠ม׵ Ի੠ม׵*% هࣄ63- 3  Τϐιʔυ(6*% 3 Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε &
  25. هࣄެ։೔ هࣄλΠτϧ هࣄຊจ هࣄ هࣄ63- 3  ؔ܎Λߏ੒͢Δ ϞϊͱϞϊͷؔ܎͕৽ͨͳϞϊΛ࡞ Δɻͦͷ৽ͨͳϞϊΛʮରরදʯͱ

    ͍͏ɻରরද͸ҙຯΛ͍࣋ͬͯΔɻ ྫʣ͜ͷΤϐιʔυ͸ɺ ͜ͷهࣄ͔Βੜ੒͞Ε͍ͯΔ ᶅ3FTPVSDF 3FTPVSDF Τϐιʔυ λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF ެ։೔ આ໌ (6*% 3 هࣄΤϐιʔυରরද هࣄ63- 3  (6*% 3
  26.  ؔ܎Λߏ੒͢Δ ϒϩά ϒϩά63- ϒϩάλΠτϧ 3 3 هࣄ هࣄ63- هࣄެ։೔

    هࣄλΠτϧ هࣄຊจ ΫϩʔϦϯά ΫϩʔϦϯά*% هࣄ63- 3 Ϋϩʔϧ೔࣌ & Τϐιʔυ (6*% λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF ެ։೔ આ໌ 3 Ի੠ม׵ Ի੠ม׵*% هࣄ63- 3  ΫϩʔϦϯά*% 3  Τϐιʔυ(6*% 3 Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε & Ϟσϧਤ͕ ࡞੒͞Εͨʂ ϒϩάهࣄରরද ϒϩά63- 3  هࣄ63- 3 هࣄΤϐιʔυରরද هࣄ63- 3  (6*% 3
  27.  ؔ܎Λߏ੒͢Δ ϒϩά ϒϩά63- ϒϩάλΠτϧ 3 هࣄ هࣄ63- هࣄެ։೔ هࣄλΠτϧ

    هࣄຊจ 3 ΫϩʔϦϯά ΫϩʔϦϯά*% هࣄ63- 3 Ϋϩʔϧ೔࣌ & Τϐιʔυ (6*% λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF ެ։೔ આ໌ 3 Ի੠ม׵ Ի੠ม׵*% هࣄ63- 3  ΫϩʔϦϯά*% 3  Τϐιʔυ(6*% 3 Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε & Ϟσϧਤ͕ ࡞੒͞Εͨʂ ϒϩάهࣄରরද ϒϩά63- 3  هࣄ63- 3 هࣄΤϐιʔυରরද هࣄ63- 3  (6*% 3 &WFOU 3FTPVSDF
  28.  ؔ܎Λߏ੒͢Δ ϒϩά ϒϩά63- ϒϩάλΠτϧ 3 هࣄ هࣄ63- هࣄެ։೔ هࣄλΠτϧ

    هࣄຊจ 3 ΫϩʔϦϯά ΫϩʔϦϯά*% هࣄ63- 3 Ϋϩʔϧ೔࣌ & Τϐιʔυ (6*% λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF ެ։೔ આ໌ 3 Ի੠ม׵ Ի੠ม׵*% هࣄ63- 3  ΫϩʔϦϯά*% 3  Τϐιʔυ(6*% 3 Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε & Ϟσϧਤ͕ ࡞੒͞Εͨʂ ϒϩάهࣄରরද ϒϩά63- 3  هࣄ63- 3 هࣄΤϐιʔυରরද هࣄ63- 3  (6*% 3 &WFOU 3FTPVSDF
  29.  ؔ܎Λߏ੒͢Δ ϒϩά ϒϩά63- ϒϩάλΠτϧ 3 هࣄ هࣄ63- هࣄެ։೔ هࣄλΠτϧ

    هࣄຊจ 3 ΫϩʔϦϯά ΫϩʔϦϯά*% هࣄ63- 3 Ϋϩʔϧ೔࣌ & Τϐιʔυ (6*% λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF ެ։೔ આ໌ 3 Ի੠ม׵ Ի੠ม׵*% هࣄ63- 3  ΫϩʔϦϯά*% 3  Τϐιʔυ(6*% 3 Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε & Ϟσϧਤ͕ ࡞੒͞Εͨʂ ϒϩάهࣄରরද ϒϩά63- 3  هࣄ63- 3 هࣄΤϐιʔυରরද هࣄ63- 3  (6*% 3 &WFOU &WFOU
  30.  ؔ܎Λߏ੒͢Δ ϒϩά ϒϩά63- ϒϩάλΠτϧ 3 هࣄ هࣄ63- هࣄެ։೔ هࣄλΠτϧ

    هࣄຊจ 3 ΫϩʔϦϯά ΫϩʔϦϯά*% هࣄ63- 3 Ϋϩʔϧ೔࣌ & Τϐιʔυ (6*% λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF ެ։೔ આ໌ 3 Ի੠ม׵ Ի੠ม׵*% هࣄ63- 3  ΫϩʔϦϯά*% 3  Τϐιʔυ(6*% 3 Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε & Ϟσϧਤ͕ ࡞੒͞Εͨʂ ϒϩάهࣄରরද ϒϩά63- 3  هࣄ63- 3 هࣄΤϐιʔυରরද هࣄ63- 3  (6*% 3 3FTPVSDF 3FTPVSDF
  31.  ؔ܎Λߏ੒͢Δ ϒϩά ϒϩά63- ϒϩάλΠτϧ 3 هࣄ هࣄ63- هࣄެ։೔ هࣄλΠτϧ

    هࣄຊจ 3 ΫϩʔϦϯά ΫϩʔϦϯά*% هࣄ63- 3 Ϋϩʔϧ೔࣌ & Τϐιʔυ (6*% λΠτϧ FODMPTVSFVSM FODMPTVSFMFOHUI FODMPTVSFUZQF ެ։೔ આ໌ 3 Ի੠ม׵ Ի੠ม׵*% هࣄ63- 3  ΫϩʔϦϯά*% 3  Τϐιʔυ(6*% 3 Ի੠ม׵೔࣌ Ի੠ϑΝΠϧύε & Ϟσϧਤ͕ ࡞੒͞Εͨʂ ϒϩάهࣄରরද ϒϩά63- 3  هࣄ63- 3 هࣄΤϐιʔυରরද هࣄ63- 3  (6*% 3 3FTPVSDF 3FTPVSDF
  32.  ࣗಈԻ੠αϯϓϧ wΤϯδϯχϡʔϥϧ wݴޠ೔ຊޠ wԻ੠5BLVNJ உੑ "NB[PO1PMMZͰԻ੠ಡΈ্͛ ग़యɿϛχϚϜͳ React Web

    ΞϓϦέʔγϣϯͷٕज़ελοΫΛେެ։ʂ - inSmartBank https://blog.smartbank.co.jp/entry/2024/07/09/174751
  33.  Ϟσϧ࡞੒ͷखଓ͖ ηοτͷͳ͔ʹʮ۠෼ίʔυʯ͕͋Ε͹ɺαϒηοτʹ੾அ͢Δ ʮ೔෇ʯΛ൑அͯ͠ɺϞϊΛ&WFOUͱ3FTPVSDFʹ෼͚Δ ݸମࢦఆࢠʢYY൪߸ɺYYίʔυʣΛ࢖ͬͯɺϞϊΛूΊΔ &WFOUΛ࣌ܥྻʹฒ΂Δ ϞϊΛूΊΔ ϞϊΛ෼ྨ͢Δ ϞϊΛฒ΂Δ ؔ܎Λߏ੒͢Δ

    ηοτ ू߹ Λͭ͘Δ ؔ܎3 B C ͷதʹɺ&WFOUͱ3FTPVSDFΛ୅ೖ͢Δ ग़య̎: ࣄۀ෼ੳɾσʔλઃܭͷͨΊͷϞσϧ࡞੒ٕज़ೖ໳ɿॻ੶Ҋ಺ʛٕज़ධ࿦ࣾ https://gihyo.jp/book/2022/978-4-297-12946-0 ग़య̍: tm-versions http://www.sdi-net.co.jp/tm-versions.htm
  34.  ηοτ ू߹ Λͭ͘Δ w ΞτϦϏϡʔτߏ੒͕ಉ͡৔߹ ɹɹه߸ w ΞτϦϏϡʔτߏ੒͕ҧ͏৔߹ ɹɹʷه߸

    ۠෼ίʔυͰαϒηοτ ෦෼ू߹ ʹ੾அ͢Δ هࣄ هࣄ63- ެ։೔ λΠτϧ ຊจ ΧςΰϦ σβΠϯ ΤϯδχΞϦϯά هࣄΧςΰϦ
  35.  ٙ໰఺ w ͦ΋ͦ΋63-ͱ͸ w 63- 6OJGPSN3FTPVSDF-PDBUPS ͱ͸ɺΠϯλʔωοτ্ͷ ݻ༗ͷϦιʔεͷΞυϨεͷ͜ͱͰ͢ɻ w

    ཧ࿦తʹ͸ɺͦΕͧΕ༗ޮͳ63-͸ҰҙͷϦιʔεΛࢦͯ͠ ͍·͢ɻ࣮ࡍʹ͸Ұ෦ྫ֎΋͋Γ·͢ɻ࠷΋Ұൠతͳ΋ͷ͸ɺ΋ ͸΍ଘࡏ͠ͳ͍Ϧιʔε΍Ҡಈͨ͠ϦιʔεΛࢦ͢63-Ͱ͢ɻ 63-͸ݸମࢦఆࢠͳͷ͔ ग़యɿURL ͱ͸Կ͔ - ΢Σϒ։ൃΛֶͿ | MDN https://developer.mozilla.org/ja/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL
  36.  ٙ໰఺ 2௕͍63-ͩͱΠϯσοΫε͕ ɹޮ͖ʹ͍͘ͷͰ͸ʁ "ҎԼͷΑ͏ͳखஈ΋͋Δ  63-Λਖ਼نԽ͢Δ  ਖ਼نԽͨ͠63-Λʢ4)"ͳͲʣ ݻఆ௕ͷϋογϡ஋ʹ͢Δ

     ϋογϡ஋Λσʔλϕʔεʹอଘͯ͠ ΠϯσοΫεΛுΔ URL ͷϋογϡԽ | Web Risk | Google Cloud https://cloud.google.com/web-risk/docs/urls-hashing?hl=ja
  37.  <࠶ܝ>Ϟσϧ࡞੒ͷखଓ͖ ηοτͷͳ͔ʹʮ۠෼ίʔυʯ͕͋Ε͹ɺαϒηοτʹ੾அ͢Δ ʮ೔෇ʯΛ൑அͯ͠ɺϞϊΛ&WFOUͱ3FTPVSDFʹ෼͚Δ ݸମࢦఆࢠʢYY൪߸ɺYYίʔυʣΛ࢖ͬͯɺϞϊΛूΊΔ &WFOUΛ࣌ܥྻʹฒ΂Δ ϞϊΛूΊΔ ϞϊΛ෼ྨ͢Δ ϞϊΛฒ΂Δ ؔ܎Λߏ੒͢Δ

    ηοτ ू߹ Λͭ͘Δ ؔ܎3 B C ͷதʹɺ&WFOUͱ3FTPVSDFΛ୅ೖ͢Δ ग़య̎: ࣄۀ෼ੳɾσʔλઃܭͷͨΊͷϞσϧ࡞੒ٕज़ೖ໳ɿॻ੶Ҋ಺ʛٕज़ධ࿦ࣾ https://gihyo.jp/book/2022/978-4-297-12946-0 ग़య̍: tm-versions http://www.sdi-net.co.jp/tm-versions.htm
  38.  ͓ΘΓʹ w ͲΜͳٕज़΍֓೦΋ɺ΍Γ͗͢͸ې෺Ͱ͋Δ w 5IFPSZPG.PEFMT 5. ΋ۜͷ஄ؙͰ͸ͳ͍ɹɹɹɹɹɹɹɹɹ ʢશͯΛղܾ͢ΔΘ͚Ͱ͸ͳ͍ʣ w

    ॻ੶ͷ಺༰Λશ۪ͯ௚ʹ࣮ߦ͠Α͏ͱ͢Δͱɺ͔ͳΓେม w 5.Λجຊํ਑ͱͭͭ͠ɺ૊Έ߹Θ͍ͤͯ͘ͷ͕ྑͦ͞͏ ۜͷ஄ؙ͸ͳ͍
  39.  ଞͷ஌ࣝ΍֓೦ͱ૊Έ߹ΘͤΔ %%%Λ࣮ફͯ͠࠷΋͋Γ͕ͨ͘ײ͡Δͷ͸ɺυϝ ΠϯΤΩεύʔτଆ΋͋ͳͨͷ࿩Λฉ͔ͳ͚Ε͹͍ ͚ͳ͍ͱ͍͏͜ͱͩΖ͏ɻ ͦΜͳ৔߹ɺ͋ͳͨ͸൴Β͕ࣗ෼ͷۀ຿ʹ͍ͭͯ ৄ͘͠ཧղͰ͖ΔΑ͏ʹखॿ͚Λ͢Δ͜ͱʹͳΔɻ ৔߹ʹΑͬͯ͸ɺۀ຿ͷվળΛखॿ͚Ͱ͖Δ͔΋͠ Εͳ͍ɻ ݱঢ়Λͦͷ··ϞσϦϯά͢ΔͷͰ͸ͳ͘ɺۀ຿

    ʹΑΓ໾ཱͭϞσϧΛ࡞Δɻ࣌ʹ͸ɺ࢖͍΍͍͢Ϟ σϧͱݱঢ়Λ൓өͨ͠Ϟσϧͱ͕৯͍ҧ͏͔΋͠Ε ͳ͍ɻ͔͠͠ɺͦΜͳ৔߹͸࢖͍΍͍͢ϞσϧΛબ ୒͢Δͷ͕%%%ͩɻ ࣮ફυϝΠϯۦಈઃܭ ग़యɿ࣮ફυϝΠϯۦಈઃܭ | ϰΥʔϯɾϰΝʔϊϯ, ∁໦ ਖ਼߂ |ຊ | ௨ൢ | Amazon https://www.amazon.co.jp/dp/479813161X
  40.  ଞͷ஌ࣝ΍֓೦ͱ૊Έ߹ΘͤΔ w ʮ5ࣈܕ&3๏ʯͷߟ͑ํΛ΋ͱʹ͍ͯ͠Δ w 5IFPSZPG.PEFMT 5. ͱ਌࿨ੑ͕ߴ͍ w ೔࣌ଐੑΛ΋ͱʹɺΤϯςΟςΟΛʮϦ

    ιʔεʯͱʮΠϕϯτʯʹ෼͚Δ w Ϧιʔε͸61%"5&͞ΕΔ͕ɺɹɹɹɹ Πϕϯτ͸61%"5&͞Εͳ͍ w ϩϯάλʔϜΠϕϯτͳͲ΋ࢀߟʹͳΔ ΠϛϡʔλϒϧσʔλϞσϧ ग़యɿWEB+DB PRESS Vol.130ʛٕज़ධ࿦ࣾ https://gihyo.jp/magazine/wdpress/archive/2022/vol130
  41.  <࠶ܝ>ηοτ ू߹ Λͭ͘Δ w ΞτϦϏϡʔτߏ੒͕ಉ͡৔߹ ɹɹه߸ w ΞτϦϏϡʔτߏ੒͕ҧ͏৔߹ ɹɹʷه߸

    ۠෼ίʔυͰαϒηοτ ෦෼ू߹ ʹ੾அ͢Δ هࣄ هࣄ63- ެ։೔ λΠτϧ ຊจ ΧςΰϦ σβΠϯ ΤϯδχΞϦϯά هࣄΧςΰϦ
  42.  <࠶ܝ>ηοτ ू߹ Λͭ͘Δ w ΞτϦϏϡʔτߏ੒͕ಉ͡৔߹ ɹɹه߸ w ΞτϦϏϡʔτߏ੒͕ҧ͏৔߹ ɹɹʷه߸

    ۠෼ίʔυͰαϒηοτ ෦෼ू߹ ʹ੾அ͢Δ هࣄ هࣄ63- ެ։೔ λΠτϧ ຊจ ΧςΰϦ σβΠϯ ΤϯδχΞϦϯά هࣄΧςΰϦ ˠςʔϒϧΛ෼͚ͳ͍ ˠςʔϒϧΛ෼͚Δ
  43.  ଞͷ஌ࣝ΍֓೦ͱ૊Έ߹ΘͤΔ w αϒλΠϓͷϞσϦϯάʹ͍ͭͯɺ ͭͷύλʔϯ͕঺հ͞Ε͍ͯΔ ᶃ γϯάϧςʔϒϧܧঝ ᶄ ۩৅ςʔϒϧܧঝ ᶅ

    Ϋϥεςʔϒϧܧঝ 42-Ξϯνύλʔϯ ग़యɿO'Reilly Japan - SQLΞϯνύλʔϯ https://www.oreilly.co.jp/books/9784873115894/
  44.  ଞͷ஌ࣝ΍֓೦ͱ૊Έ߹ΘͤΔ w ϨΠϠʔΛͭʹ෼͚࣮ͯ૷͢Δ w ϨΠϠʔυΞʔΩςΫνϟ͔Βґଘؔ܎Λٯసͤͨ͞΋ͷ w υϝΠϯ૚Λଞͷ૚ʹґଘͤͣ͞ɺυϝΠϯ஌ࣝΛදݱ͢Δ w ॻ੶Ͱ͸ΦχΦϯΞʔΩςΫνϟ͕͓͢͢Ί͞Ε͍ͯΔ

    w ݸਓతʹ΋ɺ՝୊͸͋Δ͕γϯϓϧͰྑ͍ͱࢥ͍ͬͯΔ ΦχΦϯΞʔΩςΫνϟ ग़యɿυϝΠϯۦಈઃܭ ϞσϦϯά/࣮૷ΨΠυ - little-hands - BOOTH https://booth.pm/ja/items/1835632 ʰυϝΠϯۦಈઃܭϞσϦϯά࣮૷ΨΠυʱ1 ΑΓҾ༻
  45.  ଞͷ஌ࣝ΍֓೦ͱ૊Έ߹ΘͤΔ w ͭΛશͯຬͨ͢͜ͱ͸Ͱ͖ͳ͍ w ׬શੑ ੑೳϨΠϠʔυΞʔΩςΫνϟ w ७ਮੑ ੑೳΦχΦϯΞʔΩςΫνϟ

    w ҎԼͷهࣄʹɺ෼͔Γ΍͘͢·ͱ·͍ͬͯΔ w ΞʔΩ෦ɿڧ͍ͯݴ͑͹ʮू໿Ͳ͏࣮૷͢Δͷ͔ͳɺΛߟ͑ΔʯձʹࢀՃ ͖ͯͨ͠ʂͦ͜ʹਔٛ͸͋Δͷ͔ Ծ ɹɹɹɹɹɹɹɹɹɹɹɹɹ IUUQTTZPCPDIJNIBUFOBCMPHDPNFOUSZ w ҎԼͷࢿྉ΋ࢀߟʹͳΔ w (SPLLJOH4JNQMJDJUZ୳๚c115ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ IUUQTXXXTMJEFTIBSFOFUTMJEFTIPXHSPLLJOHTJNQMJDJUZ w ݹయυϝΠϯϞσϦϯάύλʔϯͷղ୤େ٢঵ࣉQNLBXBTJNB IUUQTTDSBQCPYJPLBXBTJNB &'"&#&&"&"& #&"&&""&#&#& &#'&#$&#&"&&"" &#@@&""&&""&"'#"QN υϝΠϯϞσϧͷτϦϨϯϚ ग़యɿڧ͍ͯݴ͑͹ʮू໿Ͳ͏࣮૷͢Δͷ͔ͳɺΛߟ͑Δʯͳ࿩ | PPT https://www.slideshare.net/slideshow/ss-255489610/255489610#7
  46.  ଞͷ஌ࣝ΍֓೦ͱ૊Έ߹ΘͤΔ w υϝΠϯϞσϧͷτϦϨϯϚղܾͷώϯτ w લϖʔδεϥΠυͰ΋ݴٴ͞Ε͍ͯΔ w ҎԼͷൃද΋ࢀߟʹͳΔ w 5ZQF4DSJQUʹΑΔ(SBQI2-όοΫΤϯυ

    ։ൃᴷᴷ5ZQF4DSJQUͷܕγεςϜͱσʔ λϑϩʔʹண໨ͨ͠એݴతϓϩάϥϛϯ ά5&$)1-":.BHB[JOFIUUQT UFDIQMBZKQDPMVNO ؔ਺ܕυϝΠϯϞσϦϯά ग़యɿؔ਺ܕυϝΠϯϞσϦϯά - ΞεΩʔυϫϯΰ https://asciidwango.jp/post/754242099814268928/
  47.  ଞͷ஌ࣝ΍֓೦ͱ૊Έ߹ΘͤΔ 3BJMTͳΒ͜ͷൃද͕ࢀߟʹͳΔ w ΠϕϯτΤϯςΟςΟΛݟग़͢ w ͦΕҎ֎͸ϦιʔεΤϯςΟςΟ w ίτΛ3&45Ϧιʔεͱͯ͠ఆٛ͠ɺ $36%Ͱදݱ͢Δ

    4JNQMJDJUZPO3BJMT 3%# 3&45BOE3VCZ ग़యɿSimplicity on Rails -- RDB, REST and Ruby - Speaker Deck https://speakerdeck.com/moro/simplicity-on-rails-rdb-rest-and-ruby
  48.