タグ

2011年5月23日のブックマーク (15件)

  • 継続的インテグレーションをクラウド化する - プログラマの思索

    Hudson作成者の川口さんのBlogを読みながら、継続的インテグレーションはクラウド化と相性が良いという指摘に関するメモ。 【元ネタ】 Hudson EC2 プラグイン - 川口耕介の日記 Hudson PXE plugin - 川口耕介の日記 Hudson Selenium PluginでHudsonクラスタをSelenium Gridに - 川口耕介の日記 HudsonクラスタをHadoopクラスタに - 川口耕介の日記 Hudson PXE plugin - かおるんダイアリー 【既存の問題】 XPを代表とするアジャイル開発におけるコード共同所有やテスト駆動開発などのプラクティスで、いわゆる下流工程の生産性を大幅Upできる。 しかしながら、自動テストや回帰テストを行う継続的インテグレーションは、システムが大規模化するにつれてビルド時間が膨大になるので、生産性が低くなっている。 その

    継続的インテグレーションをクラウド化する - プログラマの思索
  • いまからでも間に合う開発者テスト - mixi engineer blog

    はじめまして。開発部じゃない加藤和良です。 最近、mixi では Buildbot をつかった継続的インテグレーションをはじめています。安定版の mixi のソースコードにコミットすると Buildbot がそれを検知し、自動的にテストが走るようになりました。 ここでの「テスト」は Test::Simple や prove(1) をつかった、Perl でかかれた開発者テストを指しています。mixi の開発者テストをとりまく環境は、ここ数年でかなり改善されました。今回はその歩みをふりかえりながら、テストの無いコードベースをどこからどうやって変えていったかという話をしたいと思います。 開発環境 はじめに、前提となる mixi の開発環境について説明します。mixi では複数人の開発者がひとつのマシンで作業を行います。それぞれの開発者は、あらかじめ割り当てられたポートで Apache を起動し、

    いまからでも間に合う開発者テスト - mixi engineer blog
  • Buildbot で継続的インテグレーション - mixi engineer blog

    こんにちは。パートナーサービス部の加藤和良です。 前回、mixi における開発者テスト について説明しました。だいぶ間があいてしまいましたが、今回は、そのテストを定期的に実行する 継続的インテグレーション の仕組みを紹介したいと思います。 テストが遅い 実は、mixi のテストは「遅い」という大きな問題を抱えています。 Micheal Feathers は『レガシーコード改善ガイド』のなかで、単体テストが高速に実行できることの重要性を解き「単体テスト」を厳しく定義します。 次に当てはまるものは単体テストではない。 データベースとやり取りする ネットワークを介した通信をする ファイルシステムにアクセスする 実行するために特別な環境設定を必要とする (環境設定ファイルの編集など) 上記に該当するテストが悪いというわけではない。多くの場合において、そのようなテストを書く価値はあり、しばしばテスト

    Buildbot で継続的インテグレーション - mixi engineer blog
  • java-ja #15 TDDとかペアプロとか

    株式会社ドワンゴの社にて開催された、java-jaの第15回勉強会に参加してまいりました。(ドワンゴさんありがとうございます!噂通りの社風が垣間見られておもしろかったです) 今回のテーマはTDDとペアプロ。TDDの権威である@t-wadaさん(http://twitter.com/t_wada)の講義+実際にTDD&ペアプロを体験する時間が設けられ、非常に充実した時間が過ごせました。 以下、Twitterにアップした感想を転載。 とにかく疲れる!そして慣れていないせいもあるがコードが進まない!普段の倍疲労して半分しかコードが進まないなら、明らかに生産性が下がっているように見える。でも違う、逆だ。こんなに生産的にコードが書けるとは思わなかった! TDDを進めていくうちに、自分が意図しない考えや見落とし、typoなどの指摘が次々に飛び出した。書き上がったテストコードも普段自分が作っているもの

  • JUnitMaxは、ソフトウェア開発のフィードバック サイクルを短くする

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    JUnitMaxは、ソフトウェア開発のフィードバック サイクルを短くする
  • Oracleの階層問い合わせ(1) (start with句、connect by句)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Oracleの階層問い合わせ(1) (start with句、connect by句)
  • SQLで木と階層構造のデータを扱う――入れ子集合モデル

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • OTN Japan - 404 Error

  • ツリー構造をRDBで表現するには?

    >特にコレクションのゴミ掃除の部分なんかはチンプンカンプンです。 あんまり気にしなくても良いんですが(「ゴミ掃除」に関してはそのまま書き写すだけで動作しますんで)、ちょっとだけ解説します。 えと、まず、一つの部品に付きフォームが1枚ですんで、複数の部品を同時に表示するためには、それだけの枚数のフォームを用意しなければならない。 あらかじめフォームを10個も20個も作っておくのはあまりにも非現実的ですんで、最初に汎用的なフォームを1枚作っておいて、必要に応じてその複製を画面に表示するようにしよう、と。 で、フォームの複製を作る(*1)のは良いんですが、どこかにそれを保存しなくちゃならないんですよね。 そこで、BuhinWins って名前を付けたコレクションを作成(*2)し、新しくウインドウを作るごとにそこに登録(*3)するようにしたわけです。 *1 Set frmBuhin = New Fo

    ツリー構造をRDBで表現するには?
  • Pocket WiFi D25HW でネット接続中のUSB充電が標準に: PCとネットの雑記帳 [HIDEHARU's blog 2]

    Pocket WiFi D25HW は、インターネット接続中はUSBは給電のみで充電はできない仕様、しかしMOTOROLA用miniUSB経由にすればOKという記事を以前書きました。 しかし、日2011年2月1日に公開された体バージョンアップで充電の仕様が変更になったようです。 「D25HW 新ファームウェア・ドライバについて」[PDF]を見ると、たとえば、項目「パソコンにUSB ケーブルで接 続した際の充電」で変更前「インターネット接続中は充電できません」→変更後「インターネット接続中も充電できます」に、項目「USB接続時の充電時間」で変更前「約6時間」→変更後「約4時間」等の記述が見られます。 まだバージョンアップしていないため確認できていませんが、記事の変換コネクタを使わなくても通信中のUS B充電が可能のように思われます。追って追試結果をアップする予定です。 【関連リン

  • Windows 7の、通知領域

    Windows 7の紹介 2009年10月22日、Windows 7が登場しました。Vistaに引き続き美しいインターフェース。しかも、新機能追加ローエンドからハイエンドまで快適に動く大幅なパフォーマンスアップ。 【サイトマップ~DELLレビュー】 【パソコン購入のコツ】 【DELLのキャンペーン情報】 【パソコンパーツ知識・一覧】 【PCベンチマーク記録集】 DELLデスクトップレビュー XPS 8500 新作レビュー Inspiron 660s 新作レビュー Inspiron 660 新レビュー Alienware X51 新レビュー DELL液晶一体型レビュー XPS One 27新レビュー Inspiron One 2330新レビュー Inspiron One 2020新レビュー DELL15.6インチノート DELL Inspiron 15R(5520)新作レビュー DELL I

  • Windows 7/8/8.1にクイック起動を表示させる方法|ぼくんちのTV 別館

    Windows7Windows8.1でも、Win98~Vistaまでと同様なクイック起動ボタンは用意されています。更に進化していて、複数のクイック起動を別々に管理できるようになっています。

  • 2011-02-18 - ITは芸術だ レガシープログラマかどうかを判断する10項目

    ※2011.3.30追記 11個目の判断項目を追加しました。 また、「昔はね...」の補足説明を各項目に追加しました。 レガシープログラマ = モダンな言語のおいしい機能をうまく使いこなせていないプログラマ おいらは時々社内システムのコードレビューなんかをやっているのですが、「なんかちょっと前時代的だな〜」とか「ちょっと修正したらC言語でもコンパイルできそうだな〜」って思うことがよくあります。 おいらがレビューする言語は主にC#です。C#やJavaのような比較的モダンな言語のおいしい機能をうまく使いこなせていないプログラマを、ここでは「レガシープログラマ」と呼ぶことにします*1。 そこで、おいらがこれまでに見てきたコードの中から「これはレガシープログラマっぽい」と思った典型的な症例を10個11個挙げてみます。 レガシープログラマの判断項目 使われるローカル変数をすべてメソッドの最初に宣言す

    2011-02-18 - ITは芸術だ レガシープログラマかどうかを判断する10項目
  • レガシープログラマさんと一緒にリファクタリングをする、の巻 - give IT a try

    前回のエントリではレガシープログラマの判断項目について、書きました。 その日、仕事でレガシープログラマさんの一人が書いたプログラムを一緒にリファクタリングしました。 レガシープログラマさんと言っても、おいらより年下の女性エンジニアです。 今回のエントリではそのやりとりについて書いてみたいと思います。 元のプログラムはどんなプログラム? そのプログラムは以下の判断項目に該当していました。 複数のデータをまとめて扱う際は毎回配列を使う。配列の上限数はありえなさそうな数を指定する(1000とか)。 基データ型(stringやint)と配列だけでデータ構造を表現しようとする。 クラスのフィールド変数をグローバル変数のように利用する。 言語はC#2.0で、CSVを読み込んでメールを送信するプログラムです。 ただし、同じFromとToの組み合わせに対しては一通のメール内の複数のコンテンツを含めて送信

    レガシープログラマさんと一緒にリファクタリングをする、の巻 - give IT a try
  • リフォーム会社に学ぶプロのお仕事 - give IT a try

    はじめに このブログを書いた動機 うちの嫁さんは趣味でパンを焼くのが大好きです。 研究熱心で向上心が強いので、最近ではプロ並み、いや、プロ以上においしいパンを焼きます。 なんでプロ以上なんだっていうと、大量生産せずに一つ一つのパンにめちゃくちゃ時間がかけられるからです。 知り合いや近所の人にも大好評なので、とうとう「パン屋を開いてみたい」という気持ちがわいてきました。 そんなわけで、今はパン屋の設計をしてくれる会社を色々と探しています。 まだ調査は始まったばかりなのですが、ものすごく対照的な会社が二つ現れました。 この話はおいらたちのようなITエンジニアが初めて顧客と接するときにも大事な話だと思ったので、ちょっとメモしておきます。 おいらたちの状態や要求事項 えっと、嫁さんはパンを焼くのは上手ですが、それ以外の知識はほぼゼロです。 なので、「パン屋を開いてみたい!」と思っても、何をどうして

    リフォーム会社に学ぶプロのお仕事 - give IT a try