グーグルは検索エンジンだけではなく、メールソフトのGmail、オフィス系ソフトのGoogle Apps、WebブラウザのChromeやOSのAndroidなど、さまざまな種類と規模のソフトウェアを開発しています。 それらはどのようにテストされ品質管理されているのでしょうか? グーグルのブログGoogle Testing Blogに、Test Engineering DirectorのJames A Whittaker氏による「How Google Tests Software」がポストされ、その概要を伝えています。 3つのチームからなるEngineering Productivity Whittaker氏はまず、グーグルにはテストの専門部隊はいないのだ、という組織構造の説明から始めます。 There isn't an actual testing organization at Googl
Common Lispはこの世に存在する言語の中でストレスなくプログラムできる唯一の言語であるというのは周知の事実です(ですよね?)。にも関わらず、実際に使われる機会はそれほど多くはありません。僕自身、仕事で使うのは難しいと考えています。 たとえばこんなことを言われたとします。 「やあ深町くん。実は大急ぎでTwitterみたいなサービスをつくってほしいんだ。できれば1週間でね」 そうすれば僕はこう言うでしょう。仕方ない。Perlだ。少しの間Common Lispと別れを告げ、ひたすらCPANを検索しつづける日々を迎えます。(もしくは転職先を探しているでしょう) なぜCommon Lispではないのか。違いは決定的なライブラリの数と質の差です。CPANには考えうる限りのライブラリがあり、しかも多くにおいて複数の選択肢が存在します。 一方のCommon Lispはライブラリがあればラッキーです
分散バージョン管理システムつかってますか? 世の中ではgitやhgなどの分散型のバージョン管理システムが流行していて、「もうsvnなんて、、、」「まだsvnつかっているの、、、」という風潮になっています。 弊社内でもgitのレポジトリが立ったり、svnのプロジェクトでも自分の環境だけはgit-svnで分散バージョン管理を使う人が増えています。 「自分の環境だけはgit-svnで」。そう、社内ではまだまだsvnを使っているプロジェクトが多いのです。「日本語のファイル名が使えない」「デザイナーさんに使ってもらうためのわかりやすいクライアントが無い」「svnからなかなか移行するコストが、、」などの理由でsvnを使い続けているプロジェクトも多いと思います。 というわけで、分散バーション管理システムではなく社内で運用されているsvnでのブランチマネジメントについて、備忘録もかねて説明します。 前提
ZendStudioに同梱されている「ZendCodeAnalyzer」というツールを業務で使ってたんですが, 残念ながらZend Studio 7 評価版で確認したところ含まれていないようです。*1 ※ZendCodeAnalyzerを使用するにはZendStudioのライセンスが必要です。 そこで代わりになるものを探してたらありました,PHP Mess Detector です。 PHPMDとは,JavaでいうところのPMDで,以下のような問題を見つけてくれます。 バグの可能性 準最適なコード 複雑な式 未使用パラメータ,メソッド,プロパティ 今日(2010/05/26)時点の最新版が,PHPMD 0.2.5 (2010/04/03 released) なので,早速このバージョンで試してみます。 前提環境 PHP >= 5.2.3 PHP_Depend >= 0.9.11 [root@l
JavaScript Patterns: Build Better Applications with Coding and Design Patterns 作者: Stoyan Stefanov出版社/メーカー: O'Reilly Media発売日: 2010/10/01メディア: ペーパーバック購入: 2人 クリック: 79回この商品を含むブログ (5件) を見るJavaScript Patterns(iTunes) 読みました。 JavaScriptのパターン(⊇デザパタ)まとめ本。 DOM(ブラウザ)関連は最後の1章のみ。 以下適当まとめ。 変数宣言 // antipattern function foo() { // aはローカル、bはグローバル var a = b = 0; // ... } // antipattern myname = "global"; function
A guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it. Git is a powerful, sophisticated system for distributed version control. Gaining an understanding of its features opens to developers a new and liberating approach to source code management. The surest path to mastering Git is to immerse oneself in its utilities and operations, to ex
Introduction The Open Graph protocol enables any web page to become a rich object in a social graph. For instance, this is used on Facebook to allow any web page to have the same functionality as any other object on Facebook. While many different technologies and schemas exist and could be combined together, there isn't a single technology which provides enough information to richly represent any
Ruby対Scala Javaの欠陥、Rubyの欠陥を埋めるものとしてScalaが選択されつつある。 ここでは特に、なぜRubyではだめなのか、他の方の言を紹介する。 なぜ Lift に違和感を覚えるか 一刻も早くJava から Ruby へ移行したいと思っていた。しかし、実際に Ruby で開発を行ってみると、そこには譲れないトレードオフがあった。Eclipse 上の Java コードは、死んだ文字列ではなく、呼びかければ応えてくれるオブジェクトだったが、Aptana RadRails 上の Ruby コードは、それとは程遠い代物だった。補完はまともに働かず、依存先へのナビゲーションや依存元の検索はインテリジェントでなく、リファクタリング支援は貧弱。これは、特定ツールの未成熟の問題というよりも、動的型付け言語のアイデンティティに関わる問題だろう。そして、Rails アプリケーションの実行
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く