#119 1~2月にのりさんが読んだ本紹介!DB設計とTypescriptの本。(最後に翔泳社様に届けたい声)

2023/2/19 ·

  • さあやってまいりました今月の一冊きたーということでですね僕の今年の目標月に一冊技術を読むというのをひっそり掲げてるんですけど読むだけなら誰でもできます厳しいですねアウトプットしていきましょう



  • そうですね大事ですねエンジニアとしてやはり今年で12冊になるわけですよね今年12個の知識が増える知識本を達成するんですねなかなかそれもできないですけどねさらにアウトプットできればアウトプットして定着させていきたいなと思ってますさすがですということでアウトプットの場はですねこちらの番組をお借りして今月の1冊という形で



  • 毎月1冊読んだ本を紹介していくというのをやっていこうと思いますめちゃめちゃありがたいですノリさんが時間をかけて読んだ本をダイジェストに紹介していってくれるってことですよね違います違いました



  • ダイジェストに内容を紹介するっていうよりもこの本どんな人におすすめだよねっていうどっちかっていうとそっち系でいこうかなと思ってますなんかあれですね道しるべ的な感じになりそうですねそうですねなんでジャストフィットってなったらぜひ買っていただいてって感じですねそうですねで読んでいただいてっていう感じになるかなと思ってますありがたいですよろしくお願いしますはいということで初回の今回はですねはい



  • 1月やってないので初回記念っていうのもあって1月2月合併号でオープンしようと思っていきなり合併号合併号ですね年末年始のジャンプにありがちなやつありがちなやつですねということでまずは1月の一冊ですね1月に読んだ本達人に学ぶデイビー設計徹底指南書初心者で終わりたくないあなたへ中級者向け上級者向け



  • いや初心者で終わりたくないあなたへだから初心者向けです初心者向けですね確かに初心者向けですねこれはでどんな本なのってどこなんですけど名前の通りデータベースの設計を学べる本ですよとデータベースの設計って2種類あるんですけど何があるか分かりますか全然分かんないです2種類2種類の設計がありますねもしかしたらもっとあるのかもしれないけど分かんないですOKはい



  • 物理設計と論理設計というのがありますとはいはい聞いたことあります聞いたことありますはいありますこれ簡単に言うと物理設計はこのデータベースに載せるサーバーのマシンどうするみたいなそういうケースなるほど何ギガバイト置けるようにするのとかうんうんうん



  • あとは書き込みとか読み込みの速さみたいなやつがあるんですけどその辺の数値スループットとかって言ったりするんですねそれとかどうするのとかそういうハードウェアの部分の設計を物理設計と言いますともう一個は論理設計ですねデータベースターのテーブルとかあるじゃないですかテーブルって基本的には正解に近い形あるじゃないですかでもそうじゃない形でも作れるっちゃ作れますよね



  • っていうところのテーブルの構成どうするかみたいなのを論理設計と言いますとなるほどあれですよね正しい形って言ってるのは正規化とかの話ですね第三まではやろうみたいなその通りですせめてとか話ですよねちなみに今回の本も第三まではやろうってやっぱりそうなんですね一般的には第三までやりますね



  • でもここで言われているのは基本的には第三までやった方がいいしできるなら正規化した方がいいけどたまにパフォーマンスと正規化って結構トレードオフの関係にあるんでパフォーマンス上げるためにあえて非正規化することもあるよねっていうこともちょっと書かれてますねなるほど



  • これの本のすごいなと思ったのは論理設計とかは結構いろんな本であったなという気がするんですけど物理設計まで踏み込んでるのはあんまりないなと思ってその辺でデータベースについて基本の部分をざっくり知れるっていうのはすごくいい本なんじゃないかなって思ったのと内容結構簡単っすねそうなんすね読みやすい簡単読みやすいですねはいはい



  • だから多分普通に1年目とかに読んでちゃんと学びになるんじゃないかなっていうそんな内容でしたなるほど逆に僕今5年目なんですけどそれぐらいのタイミングになったらもう読まなくてもいいかもなとも思いましたもうそのぐらいの感じだったんですね確かにやっていく中で学んでったことが多いなっていう復習改めてみたいな



  • そうですね物理設計のとこだけちょっと僕は学びになりましたね論理設計はある程度確かにやってるかみたいな感じの内容だったので早く読んだ方がいい本かなって思いましたなるほどなので全然1年目とかでもそうね1年目でも全然いけるだろうし2年目ぐらいでもまだ学びはありそうだなって感じですねなるほどあとこれからエンジニアとしてなるために勉強してますみたいな人も



  • ある程度アプリケーション作った後ならわかるんじゃないかなっていう感じでしたまあ一回論理設計の方とかやったことあるぐらいの感じならポートフォリオ作りましたとかねこの本の中にですね



  • 名言が一個ありますデータベース設計を制するものはシステム開発を制すとバスケでいうリバウンドみたいなリバウンド桜木みたいな感じでしたね基本どのアプリケーションもデータのフォーマットを元にアプリケーションを作ることが多いんでここを制したらアプリケーションを制したようなもんだよみたいなデータのフォーマットというとあ



  • そのテーブルの構成というかそのテーブルの中に何のデータを置いておくかとかそうですねアプリケーション作るときってデータの保存の仕方ってさ実は選択肢あるじゃないですか保存の仕方例えば今普通だとデータベース使ってますけどはい



  • 別にファイルに落としてもいいわけじゃないですかテキストとかCSVとかにしてもいいわけですけどほぼリレーショナルデータベース使えますよねそれぐらい絶対的な地位築いてますよとそれのテーブル構造に結構アプリケーションの作りとかって左右されるじゃないですかバリデーションどうするとかその辺とかがあるんでやっぱりデータベースをちゃんと作れるとかちゃんと知ってるとシステム開発にとってすごくプラスになるよねとなるほど



  • っていう意味でデータベース設計を制するものはシステム開発を制すということでねまずは制してほしいなっていう特にバックエンドエンジニアはそうですよねめっちゃ綺麗に分離されてるフロントエンドエンジニアとかだとちょっと遠いかもしれないけどあんまり1年目とかで



  • テーブル設計を実際するとかっていうのはあんまないですけどまあそうね丸ごとはないかななんか新機能を作るときにこういうテーブル必要だから作らなきゃみたいなことはあるかもしれないですよねポートフォリオ作りのときとかは自分でそこからやったりしますからそういうときとかもめちゃめちゃいきそうですいきますいきますよ



  • はいこれが全然やってもいいぐらいの感じですね2年目なので全然やってもいいと思うやろう結構いろいろトレードオフについて話してくれてるんでいいなと思いましたねこれが正解だよって感じじゃないというかこれやると基本的にはいいけどこういうデメリットあるよみたいな感じで両面を全部説明してくれてるんですよねいいですね



  • あとこの本の中にあったこれ確かにそうだなって思ったのが全然データベース関係ないんですけどなんでこれ必要なのみたいなことないですかプログラミングしててあー



  • よくありますねそういう時の考え方が書いてあってはいはいはいもしこれがなかったらどう困るだろうって考えるとそれの必要性が分かるよみたいなこと書かれててこれはデータベース関係なく他の勉強する時にも応用できそうだなっていうのがあったんだよねやっぱコードの中で一番それが多いですねやっぱりこのコードなんでいらなくねえかなっていうのはやっぱりよくありますねそこにも生きるような考え方みたいのが



  • 書かれているちなみにアプリケーションのコードの中で言うとたまに本当にいらないやつあるよね確かに本当にいらない変数宣言とかされてることありますよねあるよねVSコードだとさ薄くなっちゃってるやつインポート分とかこれ使ってないのに薄いっすよね薄くなっちゃうからすぐ分かっちゃうんだよねうん



  • というのでなかなか分かりやすい本なのでちょっとこれからデータベース少し知りたいぜっていう人にはおすすめの本でしたねなるほどありがとうございます1月の本ですね続いて2冊目2月の今月の1冊はい



  • 2月だって今日18日とかですよもう1冊終えたんですねでもこれ読み始めはもっと前ですねなるほど2月に読み終えたって感じこれはタイプスクリプトとリアクトNEXT.jsで作る実践アプリケーション開発なんかむずそうむずいこれはむずかったそれでいうとねむずかったこれはじゃあなかなか5年目ののりさんでむずいって



  • レベル高めですねえっとねもろもろもろもろ言いたいことあるすごくいい本だったんですけどもろもろ言いたいことあるかっていう感じでですねはいまずこれどんな本かっていうと今のモダンなフロントエンド開発を学べるよっていう感じの本でしたうーん



  • 最初の方にだらーっと使う技術の解説があって後半ほとんどサンプルアプリケーション作るのに費やされるんですけどとにかくそのサンプルアプリケーションのコードの量がえぐいですねなるほど100ファイルぐらい作ったんじゃないかなと



  • ちゃんと作ったんですか?僕は結構こういうの社協する派なんで本とあとはGitHubにサンプルコード上がってるんですけどそれとか見ながら全部とりあえず一から手書きで書いてって動かしたんですけど手書きなんでとにかく動かすの大変でしたねエラーが出る出るあーなるほど多分だけど本にも誤字とかあってあと俺も誤字るから



  • 5時の5時で何書いてたか分かんなくなりますそう元々のある5時でもやられるし自分の5時でもやられるしで結構動かすまでに時間かかりましたねちょっとハマりそうサンプルアプリケーション作り始めたのが12月ぐらいだったんですよ本格的に触り始めたのは年末とかからだったんですけどマジで1ヶ月半ぐらい結構毎日1,2時間費やしてやっと終わりましたね結構重いですね結構重い



  • あと難しいっていうのはですねとにかく解説が少ないですねだから結構勉強するために調べまくりましたね僕は海外の本ですか?いや日本あえて少ないんですかねなんだろう



  • その辺にでも逆に特徴は感じたねなるほど一応これで学べる内容なんですけどまずリアクトリアクトで作られているNext.jsあとはTypeScriptそしてStorybookStorybookジェストテストツールですねJUnitみたいなハイテストみたいなそんな感じですあとAtomic DesignAtomic Design



  • 原始デザイン原始デザイン原始デザイン原始デザインでもね本当にそうだよアプリケーションの要素ってさ間違えたウェブのページですねこれフロントエンドの開発よく使ってるんですけどはい例えばウェブページってボタンあってさはいフォームあってとかいろんなパーツあるじゃないですかはいそのパーツを5つの流度で分けて作る手法がこのアトミックデザインってやつでなるほどえーっとね



  • なんだっけなちょっと調査まず5つの流動があってですねアトムス原子がめっちゃちっちゃいパーツですねそれを原子を組み合わせて作ったパーツをモルキュールス分子分子ですねはい



  • その原子とか分子を組み合わせて作ったオーガニズムスっていうパーツとあとはテンプレートっていうちょっと大きめのパーツあとページっていう丸ごと1個のページみたいな感じでページを作っていくと再利用しやすいよねっていうのがこのアトミックデザインってやつで例えばですけど入力フォームをイメージすると分かりやすいんですがえーっとね



  • 一個一個のインプットはアトムスですね送信ボタンとかも全部アトムスですそれを組み合わせて作られたのがどっちだろうなモルキュールスとオーガニズムスがすごい微妙なんだよね多分オーガニズムスだったと思うそういう風に流度を分けて作っていくと再利用しやすいよっていうフロントエンドの開発手法の一個ですねなるほど



  • なんかそうですねIDとかもクラスとかなんかうまく振り分けられてCSSでハマらなそうですね何言ってんのなんかごちゃごちゃしてるとなんかなんていうんですかCSSいろんなとこに聞かせすぎてなんか変な体裁崩れるみたいなあるじゃないですかそういうのがなくなりそうだなっていうおー



  • 鋭い鋭いありがとうございますリアクトとかって1個のファイルにHTML的なやつとJS的なやつとCSS的なやつ全部1個に書くんですよなんで本当にそのバッティングなくなりますね



  • だから多分それをやる前とか結構CSSのクラス設計みたいなやつ大事だったんですけどそういういわゆるCSSinJSみたいなのが出てきてから結構その辺適当でもバッティングしなくなって先週?今週?そういうのがちょっとあってちょっとCSSハマって



  • シンセンスハマった時さマジでムズいよもうどうしていいか分かんなかったんでもうあのベテランのフロントの人に相談してなんとか解決みたいな感じでしてなんかさ一箇所ダメだっただけでさありえない壊れ方する本当になんか



  • ページの10分の7が壊れるみたいなときあるわめっちゃわかるわなんでここ開業して崩れたんだろうみたいなそれが一個崩れたらなんか積み木倒しみたいな



  • こと起きるそうですね嫌なとこですねそれがなくなるとそれは別にアトミックデザインアトミックデザインだけどリアクトならそもそもCSSインJSのおかげかなって感じですねリアクトっていうよりもエモーションズとかスタイルドコンポーネントっていうねちょっとリアクト単体じゃないですねリアクトのエコシステムの中にあるこのライブラリーみたいな感じですねなるほど



  • そういうのを学べますよっていうのがこの本でしたとこれはね少し難しくてあと学習コストもかかるというか解説あんまり多くないっていうのはやっぱりあるんで個人的にはあんまりこうガチの初心者の人にはおすすめしないかなという感じでしたねそうですねノリさんが難しかったって言ってるくらいなんでまだ多分ねあの



  • 紙砕き切れてない部分ある?うーんよくわかんないけど動いたしなんかもうこれ以上知るのめんどくさいからいいやってなっちゃった部分あるもんまあ1ヶ月半くらい社協してるんですもん



  • しかも最初から完成品作っていくからちょっとむずいんだよな実際のアプリケーションってざっくり作ってこれだとダメだからこうしてこうみたいな感じで作っていくじゃないですかありがちですねでも本でそんなプロセス載せたら多分これの6倍ぐらいの分厚さになっちゃうんで最初から完成品作りに行くんですよ細かく分かれた状態というかだから一個一個のパーツを順番に作るからイメージしにくいみたいな感じはありましたねなるほど



  • これをお勧めしたい人はですねまず一通りフロントエンドの技術を習得しているリアクトとタイプスクリプトが分かっていればいいかなって感じなんですけどその辺がある程度習得した上でモダンな開発手法ってどんな感じなんだろうみたいなのを体験してみたい人とかあとはストーリーブックとかジェストとか多分今モダンなフロントエンド開発で必須のツールだと思うんでその辺触ったことないなっていう人には結構いいかもしれないですね



  • であと僕が思ったのは今までバックエンドやってたけどちょっとフロントも興味あって勉強しますみたいな人はいいかもしれないですねなるほどある程度そのプログラミングやってれば多分ある程度ね問題起きても解決できると思うんでそういう人は最後まで進めて学習できるんじゃないかなって思ってますねちょっと体力いるよっていう体力はいる体力いるわ



  • 本の厚さに対して実際にかかった量が異常でしたね意外と分厚くないですねまあ普通の技術書って感じじゃない一般的なサイズですねそれぐらいの人がやるとちょうどいいんじゃないかなと思いましたあとこの本の推しポイント僕結構これネクストJSやったろうぐらいの気持ちで買ったんですよやったことないしと思ってネクストやってみたんですけど



  • リアクトとあんまり変わらなくてあんまり変わらないルーティングとサーバーサイドレンダリングができるようになったリアクトって感じでしたねルーティングなんでしたっけなんか話出たことある気がするなルーティングは話出てないんじゃないかなわかんないけどルーティングは普通にあれですよURLに対してどの処理を動かすかっていうやつですよそういうのをルーティングって呼ぶうん多分スプリングとかにもルーティングあるんじゃない



  • ないどれのことだこのメソッドでこのパスに来たらこの処理するみたいなこのメソッドでこのパスに来たらこの処理にするゲットメソッドでユーザーズに来たらユーザー一覧取得するメソッド動かすみたいなありますあれですねあれをルーティングで言いますねありがとうございます恥ずかしい質問だったかもしれないかけ出しましたね急に



  • 恥ずかしいもう一個はレンダリングサーバーサイドレンダリング何ですかそれはこれはですねちょっとSPAの特徴でもあるんですけどSPAってページ遷移とか全部フロント側で完結させるというかフロント側でとりあえずデータだけ取ってきてフロント側で埋め込んだりするじゃないですかなんで早いんですけど一番最初に一気に全部の



  • JSファイルを読み込むんで重い重いんですよ最初の読み込みがなのでそれを早く読み込めるようにするためにサーバーサイドでレンダリングしちゃってそれを返してるんですよ最初の読み込みの時にサーバーサイドでサーバーサイドで先に持ってきておくページ作っちゃうみたいなそれ



  • それでサーバーサイドレンダリングなるほど初回だけそれをやることによって最初も早く表示できるしあとのページはSPAでヌルヌル動くっていうことができちゃうっていうその辺も最初から組み込まれてるんでそこは便利なるほど



  • それがNextJSです書き方はほぼリアクトでしたねあんま変わんなかった何も変わんなかった何も変わんなかった便利なコンポーネントは確かにちょっといろいろあったかもしれないけど基本的にはリアクト使えれば使えそうな感じでしたね2月の1冊はこれですかねはいありがとうございます今3月の1冊分もね続々読み始めてますねいいっすね今6割くらい読んだわおー



  • 早っ激重盆だけどね早め早めじゃないとじゃあきついですねやばいよあれ激重なんすね激重えーちょっとじゃあ3月の3月ちょっと消化不良でなんか消化不良のやつ出てくるかもしんない自信あるそこはまあちょっと頑張ってもらってそうねはい



  • まあでも結構旬なテーマというか割と流行ってるテーマだと思うのでいいですね楽しみにしておきます楽しみにしていてくださいはいはいということでまあこんな感じでね毎月一冊読んだ本の紹介をしていこうと思うんでいいですねこれ読んでほしいというリクエストあったらねお確かに無理だうんダメだうんダメだな



  • 読みたい本読みたい本基本技術書なんですね基本技術書ですね開発手法とかも込みですということで今回紹介したのは達人に学ぶDB設計タイプスクリプトとリアクトNEXT.jsで作る実践ウェブアプリケーション開発の2冊でした2冊合併号でしたありがとうございます



  • まだまだあと10冊ありますからあと10冊あるね何読もうかなそこは楽しみにしておきますそうですねちょっとエンディングトークいいですかエンディングトークというかちょっと118話配信できてなかったじゃんあれ申し訳ないなっていう感じですよねこれから今じゅんぺいくんが言い訳しますえっと



  • ちょっとより良いコンテンツにというかっていうところでプラットフォームをちょっと変えてるというかそうですねホスティングするサイトを変えてそれの変更に手間取ってしまうという感じですね申し訳ないことにちゃんと現状を把握して仮説立てて試して仮説立てて検索検索してダメだったら相談



  • あれ?4つ目なんか違う気がするやり直したなやり直しこのループを仮説立てて読解力を使ってページをちゃんと読み取ってそれを自分の状況に当てはめる抽象化力抽象化はいそれだはいはい



  • それでちょっとこの問題を解決していきますんですいませんもう少々お待ちくださいでもあれですよねスポーティファイ以外は配信できてるんですよねAmazon MusicとかApple Podcastには118話出てる朝の7時にはちょっと間に合わなかったんですけどそうですねスポーティファイ以外にはスポーティファイ以外には今配信できてるという状況でですねちょっと直しますんではい少々お待ちいただければと思いますよろしくお願いしますはいすいませんはいすいません



  • 今日終わりですかねいやありますまだありますかはいお願いしますちょっと今日本つながりということでですねはい以前ちょっと紹介したIT消費者のITエンジニア本大賞2023はいあったじゃないですかはいでなんとあれ今月会ったデブサミにて大賞が決まったんですけどおーまず技術賞部門はいの大賞が良いコード悪いコードで学ぶ設計入門うんうんうん水戸工藤さんの本ですねはい



  • でビジネス書部門はですねメタバース進化論という本が選ばれましておめでとうございますおめでとうございます僕実はこのそもそもこの企画って最初いろんなITエンジニアの人のウェブ投票が最初あるんですよ投票しました?してないですか?実は僕投票してるんです毎年投票してるんですけどで



  • なんかちょっとこれ応募した時知らなかったんですけどプレゼント企画になってたらしくてえはい



  • 僕なんとですねこれで当たりまして オライリーのソフトウェアアーキテクチャの基礎を当選したんですよまずはちょっとねあの消費者さんにこんな素晴らしい企画を立てていただいて運営していただいて本当にありがとうございますっていうのが一つもう一つはその本持ってますっていう



  • あのさこれさ読んだから投票したんですよ僕みんなそうなんじゃないのかな確かに読んだから応募したんで持ってるんですよねだからこの後2冊目がピカピカの状態で届く想定なんですけど



  • ですけど面白いこれ設計合ってますかね確かにこれ設計ミス多くの人が持ってる本当たってるんじゃないかなって思ったのとあとこういう制度なら来年以降読みたい本投票しないとダメなんだなっていうのをちょっと気づきまして当たりそうな読みたい本を投票



  • 投票するのが一番戦略として読者的には合ってる戦略なんだなと思ったんで今の状態はそうですねでもあれですかのりさんがおすすめした一冊目のデータベース設計みたいなの読んだらこのシステム改善されますかねこれはちょっとデータベースじゃないかもなこれビジネスロジックな気がするだから来月紹介する本を理解したらいけるかもしれないですね



  • 面白いな2冊あれじゃないですかリスナーの方にプレゼントプレゼント?プレゼント全然僕ダメージないんでいいですけどねですよねそのまま送るのちょい手間ぐらいですけどじゃあプレゼント企画します?マジですか?マジですか?どういう感じでやる?そうですよねツイッターとかでこのツイートをリツイートみたいなやばいやつじゃん俺とかですけど変なインフルエンサーじゃんでも



  • なんか他にうまくその2冊目を活かす方法が思いつかないですねプレゼント企画ぐらい順平にあげて順平がそれをまとめた回作ってくるとかでもいいけどあーなるほど欲しい?ちょっとありですねじゃあまあ今回は順平くんにあげるということではいなるほどソフトウェアアーキテクチャの基礎って話しなかったっけ?したか?なんか俺もカイチもしたような気がするんでじゃあツイートしてって世の内容わかりましたうん



  • そうですねもらったからにはもうするしかないですね逃げられないはいそうですよということでぜひね今年の年末にもまたきっと募集というか応募がかかると思うんでうんうんまあぜひあのね読んでよかったよっていう本を応援するっていうところとこれが当たったらいいなっていうところを半々で応募するとちょうどいいバランス取れるんじゃないかなと思っているのでなるほどなんか6冊ぐらい選べるんですよあれあー結構選べるんですねそう



  • 6冊全部読んだ本投票しちゃったんであれなんですけどでもそうですよねなので次からは今春の1冊今年読んでよかった今春の1冊と今年ピックアップされそうでかつ読みたい5冊を応募していくのがいいかなと思います戦略的にはわかりましたもしくは当たった時に送ってほしい本を入力する欄に入れてほしいなって確かにそれが一番いい



  • はいこれで反映されたらめっちゃ面白い面白いですね聞いてたらやばいすいませんって感じなんですそんな感じで本日は本尽くしのエピソードでございましたそれではマナさんマナさんそれでは皆さんまた次回バイバイこんばんは7時のニュースですまずは立てこもり事件の速報です現場ののりさんこちら現場ののりさんですたった今立てこもっている犯人が人質と一緒に出てきました何か言ってるみたいです



  • こいつを解放しようしければGoogleフォームへのお便りをよこせ番組への質問や話してほしいことをお待ちしておりますどうやらお便りを要求しているようですまた犯人は先ほどからしきりにSpotify、Apple Podcastでの高評価や感想のツイートも欲しがっています現場からは以上です詳しくは説明欄を見てとのことでした中継ありがとうございました本日のニュースは以上ですまた次回の番組でお会いしましょうさようなら

0:00 31:45

#119 1~2月にのりさんが読んだ本紹介!DB設計とTypescriptの本。(最後に翔泳社様に届けたい声)