技術

技術書の写経

写経を「しゃけい」と読んでいたwyukawaです。こんにちは。正しくは「しゃきょう」です。恥ずかしいのでみんな間違えないようにwさて開発者のみなさんはしゃきょうしてますか?ちなみに僕はほとんどしてません。ですが、 TDD Boot Camp福岡 - Togetter によ…

シェルスクリプトのユニットテスト

ちょっとシェルスクリプトを書く機会があったので、ユニットテストできるかなーと思って調べてみたのでメモ。こんなんがあった。 Google Code Archive - Long-term storage for Google Code Project Hosting.ダウンロードして解凍 $ wget http://shunit2.goo…

Shibuya.trac第10回勉強会でLTしてきました

meeting/14 - Shibuya.trac Wiki - Shibuya.trac - OSDN発表スライドはこちらhttp://dl.dropbox.com/u/8494587/Shibutra10/index.htmlまず会場を貸していただいた ニフティの皆様ありがとうございました。今回は最初の打診のときからいろいろとお手数をおか…

依存性管理は構成管理に含まれるのか?

個人的には含まれないと思います。とはいえ関連性はある。モジュールにどう分割して、どういう風に依存させていくかというのは重要です。モジュールというのは例えば、DBアクセス専用のクラス、各機能から横断的に使われる共通クラス、前記2つに依存するWeb…

構成管理とは何なのか

最近職場では構成管理というキーワードが(どちらかというと悪い意味で)ホットなのですが、考えてみるとこれは人によってイメージが違う抽象的な概念ですね。ソフトウェア単体の話じゃなくてインフラ環境まで含めた総合的なソフトウェア、ハードウェア環境…

BTSのワークフローと解決状況とカスタムフィールド

それぞれのBTSのワークフローはなかなか特色があるね。Tracのワークフローは以下のようになります。new(新規) → assigned(アサイン済み) → accepted(受け入れ済み) → closed(クローズ)TracWorkflow – The Trac ProjectTracはResolution(解決状況)…

Mantisについてのメモ

2/17(木)に某所でJIRA vs Redmine vs Tracなるものが開催されるようですが、Mantisのことを書いてみたいと思います。Mantisという名前はバグ(虫)を食べる昆虫カマキリから来ているようです。ちなみに僕のMantis実戦経験は製品開発で2週間ぐらいQAの人と…

コードレビュー

どうもコードレビューなんてほとんどやったことないwyukawaです。こんにちは。Review Boardならコードレビューを効率良くできる! (1/3):ユカイ、ツーカイ、カイハツ環境!(19) - @ITは面白そう。プレコミットレビュー方式なんだね。レビューOKまでコミ…

ユニークなID付け

バグIDが30の状況はどうなっている?とか、SVNリビジョン100のせいでテストが失敗するようになったとか、現在はテストケースIDが200のテストを試験しているとか、のように事象にユニークなIDを付けて管理することによりコミュニケーションコストを下げるとい…

ワークフロー管理の厳密性と作業スピードは反比例する

ソフトウエア開発において、例えば要件定義、基本設計などの作業を進めていくにあたって個々の作業をどう管理するかというのは重要な問題です。担当者が基本設計書を作成したら誰がレビューして承認するのか?といった個々のタスクの流れをどう管理していく…

ビルド時に環境ごとに設定ファイルをAntで切り替える方法

例えば以下のように環境依存な設定ファイルがあるとします。この設定ファイルを環境にあわせてどうやってビルド、デプロイするのがいいのか?というのがテーマです。 sample-common/ |--src/ |--main/ |--resources/ |--mail.properties メールサーバのホス…

分散バージョン管理勉強会で発表してきました

meeting/13 - Shibuya.trac Wiki - Shibuya.trac - OSDN 12月17日 分散バージョン管理勉強会(東京都)いつもながらですがスタッフ、発表者、また見に来ていただいた皆様に感謝します。ありがとうございました。m( )m あといちご大福うまかったです。^^); 当た…

環境依存の情報の管理やHudsonのジョブ設計など

環境依存の情報(DBサーバやメールサーバのIPアドレス、ファイルパスなど)をどう管理していくかは重要です。ローカルと結合環境では当然これらの値が違ってくるでしょう。僕がやっているのはこれらの設定が書かれたファイルをリポジトリに置く際はローカル…

ビルドシステム構築に関して

面白いエントリ見つけました。ビルドシステム構築スキルの重要性 - 達人プログラマーを目指していやー、もう本当によくわかる。100KSのコンパイルも通らないJavaコードより1KSのbuild.xmlのほうが重要だったりするんだけど、その必要性はあんま理解されてな…

Shibuya.trac 第8回勉強会でLTしてきました。

meeting/10 - Shibuya.trac Wiki - Shibuya.trac - OSDN発表スライドはこちらShibuya.trac.8View more presentations from Wataru Yukawa.slideshare見れない方は下記のPDF参照http://dl.dropbox.com/u/8494587/Shibuya.Trac.8.pdfまず会場を貸していただい…

今のプロジェクトでの構成管理

とりあえずSVNのフォルダ構成はこんな感じ。単一リポジトリ複数trunk型ですね。僕がこのプロジェクトに入った時点でこうなってた。僕は単一リポジトリ単一trunk型がいいと思っていたんだけど、こっちのほうがいいかも。プロト置き場は必要だけど別にドキュメ…

Continuous Deliveryをポチッた

http://martinfowler.com/snips/201007301801.htmlって言われてる割にはいつ出版されるのかよくわからなかったContinuous Deliveryですが、最近買ったKindle版の専門書:柴田 芳樹 (Yoshiki Shibata):So-netブログを見て早速Kindleでポチッた。Continuous D…

環境構築の自動化

XP祭りは行ってないけど XP祭り「Pythonでアジャイル開発サイクル2010ver.」レポート - Block Rockin’ Codes にあるzc.buildoutを使った環境構築の自動化は面白い。VCSからチェックアウトしただけでは動かないことが多いのもその通り。JavaだとライブラリをV…

Shibuya.trac 第7回勉強会で発表しました

発表スライドはこちらHudson tanabata.tracView more presentations from Wataru Yukawa.私の勤めている会社のようにslideshareとかはてなフォトライフとか見れないんじゃい!っていう方のためにPDFも下記に置きました。ちょっと重いですがwhttp://dl.dropbo…

Subversion1.7はGitのような特徴を持つらしい

http://www.subversion.jp/index.php?option=com_content&view=article&id=50:subversion17enable-git-like-features&catid=25:subversion-article&Itemid=27マジですか。TwitterでつぶやいたらTLがホットになったよw次世代ワーキングコピー(Next Generatio…

インストーラ作成

4月からTrac 0.10ベースのソフトを0.11ベースに書き換えるという作業をやっていてだいたいめどがついたので、今週はインストーラ作成作業をしていました。 いままではいくつもの手順をふんでやっとインストールできるというものだったのでこれでだいぶ楽にな…

単体テストとバグ登録

Twitterでつぶやいていたら反応があったのでブログにも書いてみる。僕が見たり聞いたりしてきた品質管理のやり方としては試験工程として単体テスト、結合テスト、総合テストがあり、それぞれの工程毎にステップ数あたりのバグ件数を出す。で、指標値があるの…

RedmineとTracの比較

これまた今更感のあるネタですが少し調べてみたので書いておきます。比較対象バージョンはRedmine 0.9.4とTrac 0.11.7です。 あと僕は基本的にTracユーザです。といっても使い倒しているわけではありません。Redmineに関しては実戦投入したことはありません…

Subversionのリポジトリ構成

なんか今更感のあるネタですが書いてみたいと思います。大きく分けて3パターンあると思います。1. 単一リポジトリ単一trunk型 http://.../svn/ProjectA/ | |--------trunk/ |--------ComponentA/ |--------ComponentB/ |--------branches/ |--------Patch_1…

kindle買ってCoders at Work買ってjwzの章を読んでみた

ジョエルの ダクトテーププログラマ - The Joel on Software Translation Project というエントリを読んでCoders at Workを買ってジェイミー・ザウィンスキー(jwz)の章を読んでみた。Coders at Work: Reflections on the Craft of Programming作者: Peter …

ある言語で作業できるようになるためにはプラットフォーム周りも知っていないとつらいよね

最近はTracと戯れています。 Trac自体は使い込んだとまでは言えないにせよ数年使ってきたので使い方はわかります。PythonはみんPYを斜め読みしたレベルです。ちなみに僕は入社以来ずっとJavaをやってきました。Struts, Seasarといったフレームワーク、AntやM…

Subversion, Git, Mercurialそれぞれでのcherrypicking

つまみ食いとか青田買いといわれるcherrypickingはある特定のコミットをブランチから抜き出して別のブランチに反映させるというものです。 Subversion, Git, Mercuriaそれぞれのやり方を調べてみました。まずSubversionいってみましょう。準備 $ svnadmin cr…

大規模受託開発におけるCI

そろそろ大規模ソフトウェア開発に一言いっておくか。デイリービルドとリグレッションテストすばらしいスライドだ。ディリービルドとリグレッションテストを大規模パッケージ開発において適用したときの雰囲気が良く現れている。10年前の話のようだが今で言…

ログ設計は難しい

デバッグ、コードリーディング、構成管理、例外あたりは情報が近年でつつあるように思う。ただログに関してはあまり見ない。開発時にはほとんど考慮されず保守で必要なログが出ていないで困るというパターンが多い。開発と保守では担当する人が異なることが…

コミットコメントについてのブログのてきとー訳

James Lorenzen's Blog: Commit Comments: A Conversation with your Future Self の画像は「バック・トゥ・ザ・フューチャー」のマーティ(マイケル・J・フォックス)とその両親だと思う。 なんか面白そうだったのでこれも訳そうとしたが、、、うーんよくわ…