サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
TGS2024
www.morijp.com
はじめに ここでは,Windows Scripting Host (WSH) に付属している FileSystemObject を使ってみましょう.FileSystemObject は,Win32 ファイルシステムにアクセスするために使われる OLE オブジェクトです. なぜ FileSystemObject を取り上げたのかというと,Ruby のファイルシステムの機能が Win32 環境では弱いためです.例えば,ファイルセパレータが バックスラッシュ '\' ではなく '/' になっており,この指定を変えることはできないようです.また,ファイル名に「表」などヤバそうな文字が含まれている場合,File#expand_path メソッドが正しく動作しません (少なくとも ruby-1.4.4 mswin32 版では). Excel プログラミングで,Excel ファイルをオープンすると
1999/06/11 石井 勝 はじめに 組織パターン(Organizational Pattern),プロセスパターン(Process Pattern)はソフトウェア開発をすすめる上で開発チームや開発の進め方、開発者間のコニュニケーションをより円滑に行う方法など,ソフトウェア開発のマネージメントについて記述されたパターンです.このパターンは,James O.Coplienによって提唱され(1994年[文献A]),現在も引き続き研究が行われています[文献B]. 組織パターンは,開発チームをどう編成すればいいのかということについて,プロセスパターンは開発プロセスどう進めていくかについて言及されており,両者には密接な関係があります.しばしば両者を一まとめにして組織パターンあるいはプロセスパターンと呼ばれている場合もあるようです. 特徴としては,より建築家アレクサンダーのパターン・ランゲ
2001/05/06 作成 石井 勝 はじめに ここでは Ruby の Testing Framework , RubyUnit で普段僕が使っている Tips を紹介したいと思います.また, RubyUnit を使いやすくするために作っている Emacs Lisp 関数も合わせて解説しましょう.Meadow などで Ruby のプログラムを書いている人はぜひ参考にしてください. Acceptance Test First 僕の場合, Ruby は開発環境改善のためのツール作成に使っています.ツール作成中は本業のソフトウェア開発を中断させなければならないため,ツール作成に割ける時間といえばせいぜい数時間といったところです.そういう短時間で Ruby のプログラムを書くには,いちいちオブジェクト指向だとかクラス設計だとか悠長なことはいってられません. そこで,数時間で作成できてしま
[ホームへもどる] Advanced Ruby:RubyUnit (Testing Framework) Part 1 : XP をはじめよう 2000/11/30 石井 勝 (Pair Programmer) スライドショー版はこちら (PowerPoint) はじめに RubyUnit は,eXtreme Programing (XP) とよばれる開発手法において単体テスト用に使われるツール: Testing Framewrok (xUnit) の Ruby 版です.RubyUnit の説明をする前に,まず RubyUnit 開発のきっかけとなった XP について説明しましょう. XP (eXtreme Programming) とは XP は,最近もっとも注目されているソフトウェア開発方法論の一つです. 小人数(2人から10人程度)による開発 仕様がはっきりせず
2003/01/05 石井 勝 はじめに ここでは,makeを使ってプログラマやSEが普段行なっている作業を自動化する方法を解説します. makeはプログラム開発だけでなく,いろいろな作業を自動化してくれます.自動化する作業のプラットフォームとしてmakeを活用することができます.ところが,最近はmakeを理解できる開発者が非常に少なくなってきました.普段統合開発環境を使っている人が多いことや,makeについて書かれた書籍やサイトが非常に少ないことが原因でしょう.makeについて少しは知っているけど,あまり使いこんだことがない人はこの記事を参考にしてみてください. 一口にmakeといってもいろいろな種類があり,それぞれ仕様が異なります.ここでは,僕が普段使っているGNU makeについて解説します.GNU makeは機能が豊富で他のmakeツールやAntに比べ優れています.開発環境
morijp.com 2024 著作権. 不許複製 プライバシーポリシー
[ホームへもどる] [JUnit 実践講座 へもどる] JUnit 実践講座 - プログラミングスタイルガイド 2002/01/02 作成 石井 勝 目次 はじめに 実装コードとテストコードの書き方は違う テストコードで一般解を扱わないこと コメントについて リファクタリングについて メソッド名と本体について テストコードの構成 Footnotes 更新履歴 はじめに XP による開発全体にいえることですが,JUnit を使った開発では,プログラマは次の 2種類のコードを書かなくてはなりません. 実装コード 実際にソフトウェアとして実装されるコード テストコード JUnit を使って書かれるコード 僕の経験では,一般に実装コードよりもテストコードの方がコード量が多く,コードを書くのに費やされる時間もテストコードの方が長くなります.したがって,何も考えず
はじめに ここでは,前のセクションで作成した FileSystemObject クラスを使って Excel ファイルをオープンするプログラムを書いてみましょう.ただオープンするのではなく,読み取り専用で Excel ファイルをオープンするツールを作ってみます. なぜこんなツールを作るのかという理由を少しだけ書いておきましょう.以前かかわった仕事ですが,そのプロジェクトでは開発文書が Excel ファイルとして Unix 上に大量にありました.ところが, Samba 経由で Excel ファイルを開くと何も修正していないのにファイルの更新日付が勝手に変わってしまうのです.これは困るので,急遽作ったのがここで紹介するExcelファイルを読み取り専用で開くツール xls.rb です.このツールを バッチファイル xls.bat から呼ぶようにして Meadow の dired から Exce
[ホームへもどる] [自動化のためのGNU Make入門講座へもどる] [前へ] 自動化のためのGNU Make入門講座 - Makefileの基本:ルール ここでは,メイクファイルの基本的な書き方としてルールの説明をしましょう.ここからは,Makefileといえばmakeが参照するメイクファイルのことを指すものとします. コメントと改行 その前に少しコメントの書き方について解説しておきます.Makefileでは,#から行末までがコメントです.例えば, # # Hello Worldを出力する # all: @echo Hello World! のように使います. また,makeは基本的に行指向です.見やすくするために改行したい場合はバックスラッシュ\を使って改行を無視させることができます.例えば,マクロの定義(後述)で object_files = \ foo
はじめに ここでは,Excel プログラミング(初級編) で作った Excel モジュールを用いて文書を作成するテクニックを紹介しましょう. Excel 文書作成プログラムは,ともすればシートのセル番号などが入り乱れ,複雑で管理しにくいものになってしまいがちです.ここに書かれた方法やパターンを使えば,それほど時間を割かなくても Excel 文書作成プログラムが比較的簡単に Ruby で書けるようになると思います. ところで,なぜここまでして Excel ファイルの自動生成をしなければならないのか,と疑問に思う人もいるかもしれません.程度の問題もありますが,そうした方がよい一番の理由は,モデルとビューの分離 です.文書のネタを XML ファイルなどのモデルとして作成し,提出しなければならない Excel ファイルをビューとみなせば,その利点を理解してもらえるでしょうか. オブジェクト
1999/08/27 更新 石井 勝 概要 ここでは,Decorator パターンモデルという Excel プログラミングに関するアーキテクチャを解説します.これは,Decorator パターンをアーキテクチャレベルにまで拡張したモデルで,継承が使えない VB プログラミングで威力を発揮すると思います.まだ実験段階なので,このモデルが実用化できるかは今後の課題です. Excel プログラミングとは? Excel のプログラミングを一言で表すと,VBA プログラミングで Excel を拡張する,ということです.オブジェクト指向の立場で拡張といえば,継承ですね.したがって次のように任意の ExcelObject クラスを継承してプログラミングできればいいですね: 例えば Worksheet クラスから MyWorksheet クラスを継承すればいいわけです.そうすると望みのカスタマイ
[ホームへもどる] [JUnit 実践講座 へもどる] JUnit 実践講座 - オブジェクトの文字列表現を活用しよう 2002/08/12 石井 勝 目次 はじめに エンティティオブジェクトの assertEquals オブジェクトの文字列表現を活用しよう コレクションオブジェクトの assertEquals 汎用文字列変換クラス - ToString クラス 更新履歴 はじめに JUnit で一番よく使われるのは assertEquals メソッドではないでしょうか. assertEquals(期待値, 実測値); このメソッドを呼ぶと,期待値と実測値が同じときにテストが成功し,異なるときにテストが失敗します.要するに,このメソッドが扱っているのは 「2つのものが同じかどうかを決定する問題」です. わかりやすいテストケースを書くためには,この assertE
相対性理論は,テンソル解析という数学を使うのですが,これには共変ベクトル (covariant vector) や反変ベクトル (contra-variant vector) という言葉が出てきます.ものすごく直感的な説明をすると,共変ベクトルは座標変換で同じ向きに変換されるベクトル,反変ベクトルは反対向きに変換されるベクトル,ということです. オブジェクト指向でも,共変 (covariant) と 反変 (contra-variant) という言葉が用いられていて,こちらの場合は, ベクトルではなくオブジェクトの型 座標変換ではなく継承 に対して共変,反変という言葉が用いられるようです.例えば,クラス Base はメソッド foo を持ち,Base の子クラス Derived も メソッド foo を持っているとします(って子クラスだから当たり前か).静的型付けのオブジェクト指向
2001/09/24 石井 勝 はじめに ここでは,make ユーティリティを使ってプログラマやSEが行う作業を自動化するための方法を解説したいと思います. make は,単にプログラム開発作業だけでなくいろいろな作業を自動化してくれます.自動化する作業のプラットフォームとして make を活用することができます.ところが,最近のプログラマは統合開発環境を使っているせいか, make を理解できる人が非常に少なくなってきました.今やっている開発でも,Makefile をメンテできるのは僕一人という非常にまずいことになっています.また, make について書かれたサイトや書籍が非常に少ないことも敷居を高くしている原因です.make について少しは知っているけど,あまり使いこんだことがない人はこの記事を参考にしてみてください. ところで,make といってもいろいろな種類があり,それぞ
2001/01/08 石井 勝 はじめに ここでは,Ruby の Win32OLE モジュールの使い方を解説します. Win32OLE モジュールを使えば,こんなときに便利です: データベースのテーブル定義仕様書が Word で提供されている.この Word ファイルを自動的に読み込んで,create table の SQL 文を自動生成したい. プログラムの関数仕様書を Excel ファイルできれいに整形し提出しなければならない.ソースファイルをパースして Excel ファイルを自動生成できないだろうか. テスト仕様書のフォーマットが Excel ファイルのテンプレートとして用意されている.Excel ファイルを直接編集するのはいやなので,普段は XML ファイルを編集し,提出時に Excelファイルとして自動生成したい. 個人的には,開発文書に Excel や Word
[ホームへもどる] [自動化のための nmake 入門講座 へもどる] 自動化のための nmake 入門講座 - 基礎知識編 nmake を使ってみよう make は,ある作業を自動化するためのツールです.make を利用するには, メイクファイルに作業内容を書く コマンドラインから make を実行 という手順を踏みます.ここでメイクファイルというのは作業内容が書かれたテキストファイルです.make は,メイクファイルの中身を参照してそこに書かれた一連のコマンドを実行します.メイクファイルは,通常 Makefile というファイル名を使います( makefile でもいいが,Makefile が僕の好み).実際にやってみましょう.まず, Makefile という名前のファイルを作成します. all: echo Hello World! このメイクファイルは,"Hello
1999/07/07 更新 石井 勝 はじめに ここでは,オブジェクト指向に出てくる法則・原則をまとめました.パターンに比べてほとんど知られていないのが現状ですが,優れたオブジェクト指向開発者を目指すならデザインパターンよりまずこっちを理解し覚えてしまいましょう. これらの法則は,絶対守らなければならないというものではありません.開発中に法則が守られているか意識することが重要です.つまり 今行っている設計はその法則が守られているだろうか その法則を破っている場合,破るべき正当な理由があるだろうか と絶えず考えるようにしましょう.そうするとそれは自然に優れたオブジェクト指向設計になるのです.つまりこれらの法則は,優れたオブジェクト指向開発のための指針なのです. Robert C. Martin の Principles of OOD Robert C. Martinは,オブジ
石井 勝 masarl@nifty.com まさーるのページにようこそ! このサイトでは,オブジェクト指向やプログラミングの話題を扱っています.書いていることはXPやデザインパターンなどですが,最終的には,どうすればSEが行っている作業を面白くし,仕事を楽にできるか,ということを目指しています.それでは,どうぞ. [プロフィール] [リンク集] [編集後記] [Cotton Bolls] What's New NUnit Converter ver 1.0.0 ― 2004/07/04 Contents Eclipse Quick JUnitプラグイン (2003/12/23) Eclipse上でJUnitの起動,テストコードと実装コード間のエディタ切り替えを簡単に行うためのプラグインです. JUnit Diffプラグイン (2003/12/23) JUni
はじめに XML はデータ交換のための汎用ファイルフォーマットとしての側面にばかりフォーカスが当たっているため,人間サイドの話(XML ファイルを作成するエディタは何がいいかとか,どういう DTD にしたら人が読みやすいかなど)はあまり表に出てきません.でも適切なエディタがあれば,XML は開発文書などの定型文書には最適です.XMLパーサのおかげで,人間にもコンピュータにも読みやすいですからね. XML ファイルを編集するには,いまのところ Meadow など Emacs 系のエディタで psgml モード を使うのが一番いいと思います.興味のある方は 山本陽平さんによる詳しい解説 をご覧になってください.このモードを使えば,DTD に従う XML ファイルを書くよう強制されるので,開発文書作成などにはもってこいです.開発者に DTD を渡しておけば,みんなそれに従う XML 文書を書
1999/06/11 石井 勝 概要 この記事では,まずOpen-Closed Principleの意味と解説を行い,その後デザインパターンをOpen-Closed Principleの観点から眺めます.デザインパターンのうちの多くはOpen-Closed Principleを満たすために用意されたものとみなすことができます.Open-Closed Principleを理解し,数あるデザインパターンの中から,どういう場合にどのパターンを使うのが一番効果的なのかを考えます. 目次 はじめに ソフトウェアと連続性 仮想仕事の原理 修正と追加 Open-Closed Principle Open-Closed Principleの例 Open-Closed Principleの反例 オブジェクト指向とOpen-Closed Principle デザインパターンとOpen-
1999/09/06 更新 石井 勝 はじめに Smalltalker として有名な Kent Beck は,ソフトウェアテスト用プログラムをフレームワークレベルにまで拡張し,テストを体系的に取り扱う方法を提唱しました.そのフレームワークは Testing Framework と呼ばれ,Smalltalk の他にも Java, C++, Visual Basic 用の Testing Framework が提供されています(それぞれ JUnit, CppUnit, VBUnit と呼ばれています). 同じソフトウェアテストを行う製品としては,Windows の場合 Rational 社(以前は Microsoft 社)の Visual Test が有名です.Visual Test の場合,スクリプト言語でユーザの操作をシミュレートしてテストを行うのに対し, Testing Frame
故 石井勝氏のWebページについて このサーバーには、故 石井勝氏の著作物であるページが含まれています。 このページは、以前http:// homepage3.nifty.com/masarl/ にあったものですが、消去されてしまいました。 石井氏のすばらしい知的財産を何とか残せないかと、ご遺族である石井努氏(お兄様)と相談させていただいた結果、掲載を承諾していただきました。 なお、このサーバーにあるコンテンツは、石井さんの業績をそのままの形でメモリアルとして残すことが目的であり、as isのままで置いております。 なお、リンクの修正など今後変更が必要な部分に関してのメンテナンスを含めた石井さんのコンテンツの管 理は、オブジェクト倶楽部様がされています。URIは [まさーるのページ] http://www.objectclub.jp/community/memorial/homepag
1999/09/03 更新 石井 勝 さて,このセクションではデザインパターンを統一的に理解するために,「 Open-Closed Principle (OCP) 」 という設計ルールに基づいてパターンを眺めてみることにします.まず OCP の意味と解説を行い,その後デザインパターンを OCP の観点から見てみます.実は,デザインパターンのうちの多くは OCP を満たすために用意されたものと考えることができるのです.このセクションでは, OCP を理解し,数あるデザインパターンの中からどういう場合にどのパターンを使うのが一番効果的なのかを考えます. GoF のデザインパターンは,全部で 23 個ものパターンがあります.このデザインパターンは,多くの局面で繰り返し現れる設計を抽出したものですから,オブジェクト指向のエッセンスを集めたものだと言えるでしょう.オブジェクト指向には,カプセル化
Welcome to Takashi Mori's Homepage revised June 17, 2005 このページは、試験運用中です。 (New) オブジェクト倶楽部様が、リンクの修正など今後変更が必要な部分に関してのメンテナンスを含めた石井さんのコンテンツの管理を引き受けて下さっています。 オブジェクト倶楽部様サーバー上にある 石井勝氏のページ オブジェクト倶楽部様サーバー上にある 石井勝氏のブログページ オブジェクト倶楽部トップ このサーバー上にある 石井 勝氏のページ (Niftyからコピー) 上記ページ参照前にお読みください。 生前石井勝氏が作成、公開したQuick JUnit プラグインを引き継いだ「Quick JUnitプラグイン・プロジェクト」により、Quick JUnit Plugin 0.1.0がリリースされました。皆さんにより、石井さんの遺志が
更新: 2003/11/05 公開: 2002/01/03石井 勝 はじめに ここでは, JUnit ついて僕が普段使っているテクニックやコーディングスタイルについてまとめていきたいと思います.読者としては,ある程度 JUnit を使いこなせる方を想定しています. 僕が仕事で JUnit を使い始めて 1 年半以上になります.つい先日まで行っていた開発プロジェクトでは,テストメソッドの数は 2000 程度,TestCase のクラス数は 2,3 百個という規模になりました.それぐらいの規模になれば,JUnit でコーディングする際に何らかの指針が必要になります.その開発プロジェクトでは,何度もプログラミングスタイルを変え,どういうスタイルが JUnit のコードをメンテナンスしやすいか,ということを考えてきました.そういったことをまず プログラミングスタイルガイド と シナリオベース
このページを最初にブックマークしてみませんか?
『Takashi Mori』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く