タグ

ブックマーク / tnakamura.hatenablog.com (5)

  • Jenkins の WebSocketNotifier プラグインの Windows クライアントを作ってみた - present

    ちょっと前(?)に仕事で Jenkins を導入したとき、Jenkins でビルド失敗時にチーム全員にメールを送るように設定してみました。しかし、誰もメールを見ている気配がない…。まぁ、メーラー起動するの面倒だし仕方ないかな。私もメール見てないし。 ビルド結果の通知は、メールじゃなくて他の方法がよさそうです。そこで目を付けたのが Jenkins の WebSocketNotifier プラグイン。 Websocket Plugin - Jenkins - Jenkins Wiki これでビルド結果を通知し、それをポップアップかなんかで表示すればいいかも。WebSocketNotifer プラグインに対応した Chrome エクステンションがあるみたいですけど、残念ながらうちでは Chrome が使えません。IE マンセー。そもそも、ブラウザ起動しっぱなしの人ってうちにはほとんどいないから無

    Jenkins の WebSocketNotifier プラグインの Windows クライアントを作ってみた - present
  • .NET 開発者のための Jenkins 入門 - present

    はじめに 仕事で Subversion と Trac を使っていますが、残念ながら、活用できているとは言えません。継続的インテグレーション(以下CI)?何それおいしいの?って状態。そもそも CI やるために Trac とか諸々導入したはずなんですけどね…。 CI 導入しなきゃと思い続けて結構な期間が経過しました。その間、定期的にリリースビルドを行っていたんですが、コミット忘れや修正し忘れにより、何度もビルド環境がぶっ壊される…。その度に手作業で修正してたんですが、さすがに堪忍袋の緒が切れて CI 導入を開始しました。 やりたいこと ひとまず次ができれば OK。 Subversion を定期的に監視して、変更があったらビルドとテストを実行。 失敗したら管理者にメールを送信する。 ビルドぶっ壊した人にメール送る。 CI ツールは Jenkins、ソースコード管理システムは Subversion

    .NET 開発者のための Jenkins 入門 - present
  • 匿名クラスを使ったリファクタリング - present

    最近、メソッド内のローカル変数の数が多くなると、関連性のあるものを匿名クラスを使ってまとめるようになりました。こんな風に。 // WCF で使う設定を匿名クラスにまとめる var config = new { BaseAddress = "net.pipe://localhost", Address = "Greeting", Binding = new NetNamedPipeBinding(), }; var host = new ServiceHost( typeof(GreetingService), config.BaseAddress); host.AddServiceEndpoint( typeof(IGreetingService), config.Binding, config.Address); host.Open(); var client = ChannelFact

    匿名クラスを使ったリファクタリング - present
  • Protocol Buffers を C# で遊んでみた - present

    はじめに Google 製のシリアライズツール「Protocol Buffers」を、今更ながら、C# で使ってみました。 「Protocol Buffers って何?」という人は、次の記事を読むといいです。 【ハウツー】XMLはもう不要!? Google製シリアライズツール「Protocol Buffer」 | エンタープライズ | マイナビニュース C# で ProtocolBuffers を使うには C# で ProtocolBuffers を使うためのライブラリが、既にたくさん作られています。その中で今回は、「protobuf-net」というライブラリを使ってみました。 protobuf-net の使い方 使い方はすごく簡単。 プロジェクトの参照設定で protobuf-net を追加 シリアライズしたいクラスに ProtoContract 属性を付ける メンバに ProtoMem

    Protocol Buffers を C# で遊んでみた - present
    honamis
    honamis 2010/02/07
    [C
  • コードブロックを受け取るメソッドは便利 - present

    Ruby を使うようになってから、C# でもコードブロックを受け取るメソッドを多様するようになった。 public static class DatabaseHelper { public static bool Transaction(this Database db, Action<Database> block, int retryCount) { bool success = false; for (int i = 0; i <= retryCount; i++) { using(TransactionScope ts = new TransactionScope()) { try { block(db); success = true; ts.Complete(); break; } catch (Exception ex) { // 例外情報を保持しておいて、リトライに全て失敗

    コードブロックを受け取るメソッドは便利 - present
  • 1