Tallman

技術とか読書とかいろいろ

読書録

大規模サービス技術入門を読みました。ついでにRubyでVB Codeを実装してみた

[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)作者: 伊藤直也,田中慎司出版社/メーカー: 技術評論社発売日: 2010/07/07メディア: 単行本(ソフトカバー)購入: 80人 クリック: 1,84…

「オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方」を読みました

オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方作者: Sandi Metz,?山泰基出版社/メーカー: 技術評論社発売日: 2016/09/02メディア: 大型本この商品を含むブログ (6件) を見る を読んだ備忘録です。 5章 ダック…

「失敗から学ぶRDBの正しい歩き方」を読んで

Twitterでおすすめされていたので 失敗から学ぶRDBの正しい歩き方 (Software Design plus)作者: 曽根壮大出版社/メーカー: 技術評論社発売日: 2019/03/06メディア: 単行本(ソフトカバー)この商品を含むブログを見る を読みました。わかりやすくていい本で…

オブジェクト指向設計実践ガイド 四章まで読んで気になったこと

序盤の章は具体的に自分のコードにしてみました。 メソッドの責任の分割 メソッドの責任を分割してみました。 自分より変更されないものに依存しなさい 引数の依存を避けるためにキーワード引数を導入してみました。 これで別の場所でインスタンスを作る際に…

SQLアンチパターン 第六章を読んで

SQLアンチパターンwww.oreilly.co.jp を読んでの要約、感想です。 目的 複数の親を持つテーブルが欲しい。例えばキャラクターに関するコメントもアイテムに関するコメントもおなじコメントテーブルに置きたいとうのが今回の目的です。 アンチパターン ポリモ…

SQLアンチパターン 第5章を読んで

SQLアンチパターンwww.oreilly.co.jp を読んでの要約、感想です。 目的 同じ属性を持ちつつも、例えばSmartphoneというオブジェクトがあるとして方やandroid_version、方やios_versionを持っている場合に対応したいというのが今回の目的です。 アンチパター…

SQLアンチパターン 第四章を読んで

SQLアンチパターンwww.oreilly.co.jp を読んでの要約、感想です。 目的 データベースのアーキテクチャを単純にしたい データベースのアーキテクチャ、複数のテーブルが複雑にからみあう中で、その関係をもっと柔軟にしたいとういのが今回の目的です。 アンチ…

SQLアンチパターン 第三章を読んで

アンチパターン 行の存在の重複をさけるため、主キーを定めることが多くあります。idというカラムを作って主キーの役割をもたせることも多いです。 今回のアンチパターンは全てのテーブルはidというカラムを持たせる、というものです。Railsなんかでもデフォ…

SQLアンチパターン 2章

アンチパターン この章ではツリー指向のデータ構造を格納する際のアンチパターンになります。 ツリー指向のデータ構造では、ノードは一つ以上の子ノード及び一つの親ノードを持ち一番上がルート、一番下がリーフとなります。文章だと難しいので視覚で、 SQL…

SQLアンチパターン 第一章を読んで

アンチパターンのテーブル例 Books book_id book_name tag_id 1 SQL-anti-pattern 1, 2 2 Readable Code 2 Tags tag_id tag_name 1 SQL 2 O'Reilly このテーブルの関係では、本はタグを複数持っていてタグは複数の本につけられています。この多対多の関係を…

情熱プログラマーを読んで

はじめに 僕が好きなVtuberできりみんちゃんさんという方がいます。小学生です。 kirimin.hatenablog.com 話し方から伝わる人柄の良さとか努力の過程を公開している感じが好きです。この方が動画でおすすめしていた本が情熱プログラマーという本です。 エン…

メタプログラミングRuby 6章コードを記述するコード

eval(string) evalメソッドに文字列を渡すと実行してくれます。 irbもevalで実行されています。 式展開してメソッドを定義したいときなんかに便利。 しかし文字列をコードとして実行してしまうということはコードインジェクションに弱くなってしまうので、ev…

メタプログラミングRuby 5章 クラス定義

特異メソッド カレントクラス クラスインスタンス変数 特異メソッド クラスマクロ 特異クラス 大統一理論 Object#extend メソッドラッパー アラウンドエイリアス Refinements Prependラッパー 5章のクイズ まとめ 特異メソッド カレントクラス Rubyのプログ…

メタプログラミングRuby 四章 ブロックの読書録

はじめに ブロックは強力なツール ブロックは束縛を包んでくれる instance_eval 呼び出し可能オブジェクト Procオブジェクト Methodオブジェクト 四章のクイズ おわりに はじめに 前職の出勤が16日に終わり、しばしニートしております。 最近discordbとい…

B+Treeインデックス (webエンジニアのためのデータベース技術[実践]入門)

はじめに webエンジニアのためのデータベース技術[実践]入門を読み進めているのですが、なかなか腹に落ちる感じがないので少量ずつ文字にして理解を勧めていきたい B+Treeインデックス ルートブロック、ブランチブロック、リーフブロックという木のような構…