2010-01-01から1年間の記事一覧

はてなアカウント引っ越し計画

はてなアカウント引っ越ししようと思います。引っ越し先のブログ(下記URL)を更新したので、お知らせです。 http://d.hatena.ne.jp/jote/20100908/1283963804しばらくはこのままですが、いずれこのブログは削除します。 ご迷惑をおかけします。

Ruby3 ユニットテストのレビュー

Ruby3は読んでいて、ストーリーがしっかりしているから面白い。 この項目の流れも面白かった。 四則演算の簡単なプログラムを書いて、それをテストしていくお話。テストは始め自作する。すると、同じようなメソッドを何回も書くことになり、前章で勉強したフ…

ユニットテストの勉強

Ruby3 第6章を読んでみたので、覚書。 ユニットテスト プログラムを開発するためのツール ユニットテストプログラムと対象プログラム2つの作成・実行 オブジェクト指向の場合、1つのクラスの個々メソッドを対象にする 開発したプログラムの単体機能検証 ある…

簡単なwebサーバをプログラムで書いてみた

「ruby3 5章1 簡単なWebサーバーのプログラミング」を読んだのでレビュー 目次 ソケットの利用 HTTPリクエストの内容 HTTPレスポンスの内容 Webサーバの仕組み ソケットの利用 ソケットの説明が書いてある章。 Rubyでソケットを利用する場合はソケットクラス…

shiftの罠

Array#shiftメソッドの仕様を気にせずに使っていたので、ハマった事を書きます。配列をshiftしていって、空配列になった時。配列aは全ての要素が取り出された時、a = nilになると思っていました。 しかし、shiftは配列の要素を取り出すメソッドなので配列自…

ブロック付きメソッドとyield制御構造

ブロック引数について書いた記事があったのですが、間違ってたのでその記事は消しました。 ごめんなさい。まずは、ブロックについて、勉強やり直します。 ブロック doからend 又は、{} で囲われた一連の式 class Each_test def initialize(a) @myarr = a end…

テンプレートメソッドパターン

基底クラス 共通の処理を実装する 派生クラス独自の処理をからのメソッドとして定義しておく 派生クラス 基底クラスの空メソッドをオーバーライドする ※上記2つのメソッドはprivateをかけて、外部に公開しないようにする

メソッドのアクセス制御

メソッドのアクセス制御を行う理由は、公開するオブジェクトを限定しカプセル化を堅牢にするため。アクセス制御することで以下の効果がある。 公開するメソッドを複数のメソッドから構成した時、呼び出し側が知らなくても呼び出し手順やオブジェクトの事前準…