タグ

ブックマーク / abicky.net (3)

  • Rails Developers Meetup 2018 で「MySQL/InnoDB の裏側」を発表しました

    Rails Developers Meetup 2018: Day 1 で「MySQL/InnoDB の裏側」と題して SELECT クエリの実行フローや InnoDB のインデックス周りの発表しました。MySQL with InnoDB のインデックスの基礎知識とありがちな間違い + α の内容です。 Nested Loop Join のスライドは無理やり差し込んだ感が溢れてますがご了承ください>< 追記: 動画も公開されたので貼り付けておきます。1 key_len について発表で全然触れなかったんですが、重要な内容なので次のエントリーにまとめました。 MySQL で複合インデックスを作成する際には必ず key_len を確認すべきという話 補足 サンプルデータ MySQL のサンプルデータとしては world や employee が有名だと思うんですが、前々から world は物足り

    Rails Developers Meetup 2018 で「MySQL/InnoDB の裏側」を発表しました
  • Fluentd 入門 〜運用に必要な基礎知識〜

    最近業務で Fluentd を触ることが出てきて入門したんですが、最初のうちはトラブルが起きた時に何が起きているのか、どう対処したら良いのかがさっぱりわからなかったので、「Fluentd ってログの収集とかに使われるやつでしょ?」程度の知識しかなかった過去の自分に向けて「とりあえずこれぐらいは知っておけ!」と言いたい内容をまとめてみました。 トラブルが起きた時にどの処理で問題が起きているのか素早くコードを追うことができて、データの消失を最小限に抑えつつ適切に対処できるようになることを目的としています。 なお、現時点で最新版の Fluentd v0.14.21 を対象にしています。 アジェンダ Getting Started Fluentd のアーキテクチャ Processes Supervisor process Worker process Threads Input thread En

    Fluentd 入門 〜運用に必要な基礎知識〜
  • 私的アンリーダブルコード―他人を発狂させるための 9 のテクニック

    コードはたいてい一度しか書かれませんが、何度も何人も読むことになります。 普段何気なく書いているコードが他人の時間と精神を削っているかもしれません。 そんなわけで、個人的に辛いなと思うことを 9 つ挙げてみました。共感してもらえるものもいくつかあるんじゃないかと思います。 実体にそぐわない変数名 見分けの付かない配列とハッシュの変数名 呼び出し元で true/false を指定するだけの引数 暗黙の実行順序 [] メソッドの定義・Array の継承 ハッシュの乱用 密結合した mixin 過剰な nil guard 条件によって異なる返り値の型 推薦図書 静的型付き言語を使うことで解消される問題もありますが、その選択肢はひとまずなしということで。 Ruby 前提になっていますが、他の言語にも言えることも多いと思います。 実体にそぐわない変数名 例えば Vehicle というクラスが定義され

    私的アンリーダブルコード―他人を発狂させるための 9 のテクニック
    ikosin
    ikosin 2017/01/24
  • 1