2015年5月4日のブックマーク (4件)

  • ActiveRecordを速くしたいだけの人生だった - Qiita

    Help us understand the problem. What is going on with this article? Rails3.2からRails4.2に上げたらActiveRecordが遅くなったので、どうやって調査して、どのように対処したかを語ってみたい。 とても長いので、ダルい人は最初と最後だけ読めばよいです。 TL;DR 環境: Ruby 2.1.5 ARオブジェクトを大量に(ざっくり750kくらい)loadするバッチ処理 3.2系での実行時間は約480sec、 4.2系では約2900sec 約6倍の性能劣化 原因: preloadで性能劣化してた CollectionProxyの生成周りで遅くなってた Rails4からARオブジェクトの1attribute毎にObject生成するので遅い GCの時間も増えた 調査方法: Githubのcommit、Issueを

    ActiveRecordを速くしたいだけの人生だった - Qiita
    kouba_c
    kouba_c 2015/05/04
  • エラーハンドリング・クロニクル #nds41 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    はじめに プログラミング技術歴史は、ありとあらゆる歴史がそうであるように、いろんな「史観」で眺めることができます。ならば、プログラミング技術歴史を、「エラーハンドリングとの戦い」という視点から見ることもできるのではないでしょうか。日は、エラーハンドリングとの戦いの歴史を俯瞰することで、エラーハンドリングの勘所について考えていこうと思います。 なお、このエントリはNDSという勉強会の第41回で発表した内容と同一です。 Cの時代 Cの時代のエラーハンドリングでは、関数の返り値と、グローバル変数errnoを見ることで処理が成功したか失敗したかを見るのが一般的でした。 例として、文字列をlongに変換するstrtol関数をmanで引いてみましょう。すると、だいたい以下のようなことが書かれています。 変換に失敗すると、0を返す 変換に失敗した場合、グローバルな変数であるerrnoに以下の定数を

    エラーハンドリング・クロニクル #nds41 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    kouba_c
    kouba_c 2015/05/04
  • 睡眠時間を通知して夜更かしを防ぐスクリプト - GeekFactory

    暖かくなってきて、ついつい夜更かししてしまう季節になりました。睡眠時間は翌日の生産性に大きく影響するため、なるべく多くの睡眠時間を確保したいものです。Enterprise Neetなら昼前に出社する生活を堪能できますが、そんな機会はなかなかないものです。 そこで、翌朝の起床時刻までの残り時間を通知センタに表示するスクリプトを書きました。 スクリプトのインストールはREADME.mdをご覧ください。 github.com 仕組み AppleScriptで翌朝の起床時刻までの残り時間を計算して通知センタに表示しています。 set awake_time to date "08:00:00" set title_head to "Remaining" set description to "You can sleep only" set remain_time to date "0:0" + (a

    睡眠時間を通知して夜更かしを防ぐスクリプト - GeekFactory
    kouba_c
    kouba_c 2015/05/04
  • Markdownテキストでシーケンス図とフローチャートを描く - Qiita diagram sequence

    つい先日、とあるシステムの処理の流れと一部処理のフローチャートを付けた見積り資料を書くことになり、ちょうど良い機会だったので、MarkdownでUML図表が描ける「StackEdit」を使って、オールMarkdownで資料を作成してみた。 いやぁ、打ち込んだテキストがリアルタイムに図表化されていく様は、とても新鮮で、そしてすごく面白かった。資料が出来上がった後の達成感というか、完成した図表を見た時の感動が結構はんぱない。技術系の資料作成でこんな良い体験ができたのは初めてかもしれんな…(笑) ──と、結構感動的な体験ができるMarkdownでのUML図表作成なんだが、せっかくなのでそれの書き方を含めてもう少し突っ込んだTIPSとしてまとめておこうかと思った次第。 Markdown+UML とは? とりあえず、「Markdown+UML」というのは私の造語だ。まぁ、正確に言うなら「UML di

    Markdownテキストでシーケンス図とフローチャートを描く - Qiita diagram sequence
    kouba_c
    kouba_c 2015/05/04
    “StackEdit”