タグ

ブックマーク / tomykaira.hatenablog.com (4)

  • Rails のモデルはどうあるべきか - tomykaira makes love with codes

    2013-07-05 Rails のモデルはどうあるべきか rails TL;DR: Rails の model が太りやすいのは、生まれつき責務過剰だから。開発者が設計段階で責務を絞り、べる量を減らしてあげよう。 Rails の model というのは、概念も実装も、とても奇妙な使われ方をしている。 いささか不気味だし、実害もある。 fat model はずっと Rails 界で話題になりつづけている。 すでに Rails のプロフェッショナルは抜け出せているのかもしれないが、まだ議論の余地のある話題ではあるようだ。 なぜ model が太るかというと、なんでもかんでも model にべさせるからである。 一日中べてれば元々どんなにスレンダーでも太るに決まってる。 コードのダイエットべる量を減らすか、外に出すしかない。 太ってから外に出すのがリファクタリングである。 後知恵的に

  • git-now したコミットの誤送信をふせぐ - tomykaira makes love with codes

    2013-05-07 git-now したコミットの誤送信をふせぐ git-now やテスト時に自動コミットをおこなうようなものを使っていると、まちがって git-now なコミットを rebase や squash で消さないで push してしまうことがよくある。 これを防ぐために、 git 1.8.2 から導入された git-push を使ってみよう。 git 1.8.2 はかなり新しいバージョンなので、試す前にバージョンを確認すること。 pre-receive hook でサーバ側で確認することもできる。しかしこの方法ではすべてのプロジェクトのサーバ側に設定する必要があるし、その権限が与えられていない場合もある。 .git/hooks/pre-push の用意 新しめの git で git init すると .git/hooks/pre-push.sample というのが生成される

    y_uuki
    y_uuki 2013/05/07
  • Valgrind でメモリリークをデバッグ - tomykaira makes love with codes

    2013-01-28 Valgrind でメモリリークをデバッグ C++ C/C++ でメモリリークをデバッグするツールはいくつかある。代表的なものだと mtrace ccmalloc dmalloc LeakTracer valgrind など。 OpenCV と X11 を使ったプログラムのデバッグにおいて、 valgrind が役にたった。 使い方を他のツールのものもあわせてメモしておく。 紹介しているブログ記事や、それぞれのツールの example では通常短いプログラムを例に出している。 短いプログラムでそれなりの結果がでるのはあたりまえで、ライブラリを使って長時間動く複雑なプログラムにどれだけ対処できるかが腕のみせどころである。 今回は再現が簡単で、実行時間もせいぜい10分もとれば十分だったので、ケースとしてはそんなに難しくなかったが、規模が大きくなると解析結果を見ることすら困

  • 最近の git の使い方について - tomykaira makes love with codes

    先日の #shibuyarb の懇親会ですこし話したら、わりとい付いてもらえたので、 knowledge worth spreading だと感じた。git の設定を中心に共有する。 ワークフロー @kyon_mm さんの Continuous Commit の熱心な信奉者である。 Continuous commit とは continuous integration, continuous delivery とおなじように、開発中のコミットを自動化する試みである。 continuous commit という言葉はなくても、おなじようなことを自分でやっているひとは多そうだ。 continuous commit は大量のコミットログを残すので、これを整理する作業はけっこう負荷が大きくなる。 最近はこのあたりを改善している。似たようなワークフローを採っている人には役にたつと思う。 コミットを

    y_uuki
    y_uuki 2012/10/22
  • 1