タグ

ブックマーク / lukesilvia.hatenablog.com (8)

  • Mochaが楽しそう - LukeSilvia’s diary

    以前、テストの際にTimeオブジェクトの比較があると、1秒差で落ちるという問題に対して、エントリーを書きました。 テストで、Timeオブジェクト同士を比較するときのメモ - Slow Dance そしたら、同じようなことやっている人もいた。 Jay Fields' Thoughts: Ruby: Time::is [ruby][rails]テストの時にTime.nowで好きな時間を使えるようにするMock - よしだメモ と、思ったら、rubikitchさんの記事に面白いことが書いてった。 Time.nowのテスト? それMochaでできるよ - ’(rubikitch wanna be (a . lisper)) Time.nowは偽装しないとテストは書けない。 だったらこんなまわりくどいことしないでMocha使おうよ。stubで簡単に偽装できるから。 Mochaの偽装のスコープはテスト

    Mochaが楽しそう - LukeSilvia’s diary
    iR3
    iR3 2014/04/01
    ふむふむ Mochaとモックとスタブ
  • 大きめのテーブルにカラムやインデックスを追加する際の注意 - LukeSilvia’s diary

    先日大きめ(といっても500万行くらい)のテーブルにインデックス付きのカラムを追加しようとして痛い目にあったので調査。 大きめのテーブルにカラムやインデックスを追加するとどうなるか 今回は単純に、「ALTER TABLE 〜 」で追加しようとしました。追加するカラムは3つで、 varchar(255) インデックスなし varchar(255) ↓のdate 型カラムとマルチカラムインデックスの形式のユニークインデックスあり date インデックスあり SQL を実行し、状況を「SHOW PROCESSLIST」で監視していたら、1つ目のカラム追加で次のような状態に… 最初にState が「copy to tmp table」状態になり、次の状態に遷移するまで1時間かかる 次にState が「Repair with keycache」状態になり、完了までに1時間かかる 次のカラム追加に対す

    大きめのテーブルにカラムやインデックスを追加する際の注意 - LukeSilvia’s diary
    iR3
    iR3 2012/03/21
  • Windowsでテスト結果を見やすくする - LukeSilvia’s diary

    Macのautotestの記事とかを見て、autotestは毎回走るところがちょっとなと思っていたのですが、あの色が付いたテストはいいなーって思って、Windowsでやってみました。 スクリーンショット こんな感じになります。大量のテストを行うと、こけた箇所が分かりやすいです。また、全部緑になると心が癒されます。 やったこと redgreenのインストール gemからインストールできます。 gem install redgreen このgemを使うと、テストで「.」(=通過)には緑、「F」は赤で表示されるようになります。便利ですね。最初は「Term::ANSIColor for Ruby」を使おうとしていました。(汗) Unix系OSのターミナルなら、これで十分です。Windowの場合は、仮にこの状態でテストを行うと、以下のような結果になります。 なお、テストで使う際には、TestHelp

    Windowsでテスト結果を見やすくする - LukeSilvia’s diary
  • Rails におけるレースコンディションの例とその回避方法 - LukeSilvia’s diary

    最近立て続けにレースコンディション問題に遭遇したのでメモ。 レースコンディション(競合状態)とは、複数のプロセスやスレッドが共有リソースに対して何らかの操作をする際に、処理のタイミングによって結果が異なってしまう状態のこと。よくトランザクションの解説の際に銀行口座の例として紹介されるおなじみのやつです。 今回は、アプリケーションの書き方によって発生するレースコンディションと、MySQL のテーブル定義時の制約不足で発生するレースコンディションについてそれぞれ紹介したいと思います。 どちらの場合も共有リソースはDB で、条件を満たすと意図しない形でデータが保存されてしまいます。 サンプルアプリケーション サンプルアプリケーションとして、簡単なアクセス解析機能付きの短縮URL ツールを考えます。 アクセス解析機能として、以下のような機能を持つとしましょう。 URL毎 にクリック数を計測できる

    Rails におけるレースコンディションの例とその回避方法 - LukeSilvia’s diary
  • 現場で役立つRuby on Railsパターン(RubyKaigi2009)を聴いたまとめ - LukeSilvia’s diary

    今年はRubyKaigi に行ってきました。今回聴いたセッションの内、いくつかのメモを残します。全てを1エントリーにまとめるのは量的にも厳しいし、エントリの切り方としても微妙なので小分けにして書いていきます。 あくまでメモなので間違いがあるかもしれません。特にコードについては詳細はメモしていなかったので必要な部分は自分で補完したりしました。 というわけで、最初は「株式会社万葉 大場さん」のセッションです。 Pragmatic Patterns of Ruby on Rails - 現場で役立つRuby on Railsパターン(大場 さん) 学生時代はAPI 仕様書を読むのが好きだった大場さんは、周りに同じような趣味を持つ人がいなくて孤独だった。Ruby コミュニティの人達に出会い感動し、自分も何かしたいと思ったと最初におっしゃっていました。 概要 今回のセッションの要点は次のようなことで

    現場で役立つRuby on Railsパターン(RubyKaigi2009)を聴いたまとめ - LukeSilvia’s diary
  • まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary

    まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」に行ってきました〜。今年初めて行ったイベントなのですが、とてもいいお話を聞くことができました。美しいコードとはどのようなものか、またそのようなコードを書けるようになるためにはどうすればいいのかというお話でした。 以下、まとめになります。僕のメモを元にしたので、まつもとさんが話された内容と多少ズレがあるかもしれません。 そもそもコードとは何か 「コードの美しさとは」という前に、そもそも「コード」とは何か。 ソフトウェアの作成はものづくりではない コードは工業製品ではない。コードは、車とかと同じ工業製品だと思われることが多く、例えば次のような勘違いがある。 日は「ものづくり」が得意だ。だからソフトウェアも「ものづくり」として取り組めばいい 車のように、ソフトウェアも部品をどんどんコピーして組み合わせばできる 違うよ!全

    まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary
  • 2008-04-22

    Macのautotestの記事とかを見て、autotestは毎回走るところがちょっとなと思っていたのですが、あの色が付いたテストはいいなーって思って、Windowsでやってみました。 スクリーンショット こんな感じになります。大量のテストを行うと、こけた箇所が分かりやすいです。また、全部緑になると心が癒されます。 やったこと redgreenのインストール gemからインストールできます。 gem install redgreen このgemを使うと、テストで「.」(=通過)には緑、「F」は赤で表示されるようになります。便利ですね。最初は「Term::ANSIColor for Ruby」を使おうとしていました。(汗) Unix系OSのターミナルなら、これで十分です。Windowの場合は、仮にこの状態でテストを行うと、以下のような結果になります。 なお、テストで使う際には、TestHelp

    2008-04-22
  • Mac にphpMyAdmin を入れる手順 - LukeSilvia’s diary

    MySQL を使って開発している人ならお世話になるであろうphpMyAdmin。なんと、最近まで使っていませんでした。先輩が使っているのを見てとっても便利そうだったので、インストールしました。その手順をメモりります。 phpMyAdmin って何 Wikipedia から引用。 phpMyAdmin - Wikipedia phpMyAdminはMySQLをインターネット越しに管理するためのツールで、PHPで実装されている。 phpMyAdminを用いることで、SQL文を記述することなく、MySQLのデータベースに対して様々な操作が行える。 また、ユーザが任意のSQL文を記述して実行することもできる。 要はブラウザからMySQLDB を操作できるツールです。更新や削除、スキーマ情報の閲覧などもできます。開発者としては、動作確認の際にブラウザでレコードが見られるだけでもかなり助かると思い

    Mac にphpMyAdmin を入れる手順 - LukeSilvia’s diary
  • 1