ブックマーク / kiyotakakubo.hatenablog.com (6)

  • MySQLパフォーマンスチューニングのためのインデックスの基礎知識 - 久保清隆のブログ

    仕事MySQLのパフォーマンスチューニングをしていて、インデックスについて分かっていないことが多かったので調べたことをメモ。基的なところから学習しなおした。 MySQLのインデックスは、カラムが特定の値をもつレコードの迅速な検索に使用される。インデックスを使用すれば、数百とか数億ものレコードが入っているテーブルから、一組のレコードを迅速に見つけて取り出すことが可能になる。 しかし、インデックスは速度を改善することもあるが、挿入の邪魔になって遅くなることもある。 インデックスを適切に使うために、まずはインデックスの基概念をおさえる必要がある。 インデックスの概念 インデックスとは インデックスの仕組みを理解するには、まずMySQLがどのようにクエリに応答するかを知る必要がある。 例えば、 SELECT * FROM phone_book WHERE last_name = 'Hoge'

    MySQLパフォーマンスチューニングのためのインデックスの基礎知識 - 久保清隆のブログ
    crist18
    crist18 2015/11/11
    mysql
  • 圧倒的に生産性の高い人の特徴、仕事の進め方、問題解決の方法 - 久保清隆のブログ

    「一人の科学者の一生の研究時間なんてごく限られている。 研究テーマなんてごまんとある。 ちょっと面白いなという程度でテーマを選んでいたら、 当に大切なことをやるひまがないうちに一生が終わってしまうんですよ。」 利根川 進 「フェルミは数学にも長けていた。必要とあれば複雑な数学を駆使することもできたが、 まずはその必要があるかどうか確かめようとした。 最小限の努力と数学的道具で結果へたどり着く達人だった。」 ハンス・ベーテ 「同じテーマでも、仮説の立て方が周到かつ大胆で、実験のアプローチが巧妙である場合と、 仮説の立て方がずさんでアプローチも月並みな場合とでは、雲泥の違いが生ずる。 天才的といわれる人々の仕事の進め方は、仮説の立て方とアプローチの仕方の二点が 優れて個性的で、鋭いひらめき、直観に大いに依存している。」 箱守仙一郎 「成果をあげる者は仕事からスタートしない。計画からもスタート

    圧倒的に生産性の高い人の特徴、仕事の進め方、問題解決の方法 - 久保清隆のブログ
    crist18
    crist18 2015/10/01
    イシューなつい
  • Railsで単数形を複数形に変換する方法と、その変換がうまく行かない場合の対処法 - 久保清隆のブログ

    単数形を複数形に、複数形を単数形にする方法 単数形と複数形の変換は以下のメソッドでできる。 String#pluralizeで単数形を複数形に。 String#singularizeで複数形を単数形に。 テーブル名などで複数形がわからなくなったりしたらこれを使えばいい。 #通常の場合 >> "program".singularize => "program" >> "programs".singularize => "program" >> "program".pluralize => "programs" #特殊な場合 >> "person".pluralize => "people" >> "people".singularize => "person" #単複同形 >> "sheep".pluralize => "sheep" >> "sheep".singularize => "s

    Railsで単数形を複数形に変換する方法と、その変換がうまく行かない場合の対処法 - 久保清隆のブログ
    crist18
    crist18 2015/07/23
    Inflector 単数/複数
  • プログラミングに必要な6つの才能 - 久保清隆のブログ

    ロシアの研究者 A.P.Ershovは、プログラミングに必要な才能として、6つを挙げた。 これは、確かにそうだなと思った。才能は磨いていけるものと信じて、これらの才能を磨いていけるように、メモをしておく。 プログラミングに必要な6つの才能 第一級の数学者の論理性 エジソンのような工学の才能 銀行員の正確さ 推理作家の発想力 ビジネスマンの実務性 協同作業をいとわず、経営的な関心も理解する性向 第一級の数学者の論理性 出現するケースをもれなく拾いあげる能力 実行の条件を正確に決める能力 この能力を高めるための書籍 プログラマのための論理パズル 難題を突破する論理思考トレーニング 作者: Dennis E. Shasha,吉平健治出版社/メーカー: オーム社発売日: 2009/03/26メディア: 単行購入: 21人 クリック: 412回この商品を含むブログ (63件) を見る論理トレーニン

    プログラミングに必要な6つの才能 - 久保清隆のブログ
    crist18
    crist18 2015/06/02
    essai programing
  • ハッシュのキーを文字列、或いはシンボルに統一するには?stringify_keysとsymbolize_keys:Rubyの基礎知識 - 久保清隆のブログ

    ハッシュのキーに、文字列とシンボルが混ざっていて困ることがある。 例えば、 {:a => "b", "c" => "d", :e => "f"}このハッシュに何らかの操作を施したい時、キーは統一されていた方がよい。 そういうときに便利なメソッドが以下の2つ、ハッシュのキーを文字列、或いはシンボルに統一するメソッド。 stringify_keys ハッシュのキーをシンボルから文字列に変える。 {:a => "b"}.stringify_keys #=> {"a" => "b"} symbolize_keys ハッシュのキーを文字列からシンボルに変える。 {"a" => "b"}.symbolize_keys #=> {:a => "b"} お読み頂きありがとうございます。 少しでもお役に立てたらクリックお願いします↓。

    crist18
    crist18 2014/10/10
    “symbolize_keys ”
  • Rubyのハッシュと配列の検索速度の違い - 久保清隆のブログ

    Ruby(1.8.6)で大量のデータを検索することがあったので、ハッシュと配列の検索速度はどのくらい違うのかを検証してみた。 検証用コード ※面倒なので変数名とか超適当にした。 # compare_hash_speed_with_array.rb 1 #!/usr/local/bin/ruby 2 n = 120000 3 4 a = {} 5 t1 = Time.now 6 n.times do |t| 7 a.update(t * 10000 + t => t + 123456) 8 end 9 t2 = Time.now 10 p "#{t2 - t1} sec for making hash sample" 11 12 b = [] 13 t3 = Time.now 14 n.times do |t| 15 b << [t * 10000 + t, t + 123456] 16 e

    Rubyのハッシュと配列の検索速度の違い - 久保清隆のブログ
    crist18
    crist18 2014/06/03
    Rubyはハッシュ検索のほうが速い。
  • 1