Tallman

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

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

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

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

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

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

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

erbからslimへ html2slimの変換で少し気になったこと

erbからslimへ 年末の空いた時間に、個人でたたき台として使っているrailsアプリのviewをerbからslimに変えて見ました。 GitHub - QWYNG/GuideGG: チャンピオンに対するガイド記事のブックマークサイト slimとhtml2slim、2つのgemを入れて for i in app/vie…

正規化理論 (第三正規形まで)

正規化理論とは データベース技術 [実践] 入門を読んで第二弾 データベース設計で行うべき手順 第1正規形から第5正規形まであります。 基本的には第三正規形までやれば十分といわれているらしいです。 第一正規形 テーブル構成において重複や繰り返し、複…

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

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

RESTとはなにか webを支える技術を読んで

はじめに エンジニアとして働くための予習としておすすめされた技術書を業務のあとに読んでいるのですが、なにかしらアウトプットしないと身につかないなぁという思いがありブログをしたためました。本のまとめ的な内容なのでQiitaにあげるのも違うよなぁと…