ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

初めてのRubyを読む その34 7.1

2011-10-21 23:56:07 | Ruby
「初めてのRuby」を読むの続き

今日から
7章 メソッド

7.1 メソッド呼び出し
から




■7章 メソッド

・メソッド:Rubyにおいて手続きをモジュール化し、再利用するための仕組み
  オブジェクト指向のメッセージ送信と
  構造化プログラミングのサブルーチン
 両方の役割

・関数型メソッド
  オブジェクトとは無関係に呼びさせる




■7.1 メソッド呼び出し
・Rubyプログラムにおけるすべてのデータはメソッドを持っている
  →どんなメソッドを持っているかは、クラスによる
・Rubyプログラミングで中心的な役割を果たすのがオブジェクトに
 対するメソッド呼び出し

・メソッドを呼び出すには、レシーバー、メソッド名、引数を以下のように書く

   a.some_method(1,"str")
   a::some_method(1,"str")

 クラスメソッドを呼ぶ場合を除いて、第一のスタイルが主流




■7.1.1 括弧の省略

・引数をくくる括弧はあいまいさを生まない限り省略可能




■7.1.2 メソッド連鎖

・メソッドは必ず何らかの値を返す
  →メソッドの返り値ないし戻り値という
  →返り値に対してメソッドを呼ぶことも可能
     →メソッドチェーン




■7.1.3 レシーバーの省略

・メソッドを呼び出すレシーバーを省略することができる
  →この場合は、デフォルトのレシーバーである
   selfに対してメソッドが呼ばれる
     →C++,Javaなどのthis

・擬似変数selfは常に「現在のレシーバー」をさしている

・privateメソッドは、常にレシーバーを省略形式で呼び出す。


・レシーバー省略とローカル変数
 引数をもたないメソッドのレシーバーを省略すると、
 ローカル変数の参照と見分けつかない
   →ローカル変数優先
 関数的メソッドでも形式的にはレシーバーを持っている

・組み込み関数
 どこからでも呼び出せる便利な関数メソッド
 Kernelモジュールのメソッド




■7.1.4 引数展開
・ * 修飾により、配列に格納された値を引数リストに
 展開できる

・Ruby1.8では、 * 付き要素は引数リストの最後
 Rubyi.9では、出現位置、回数ともフリー
 配列から引数リストへの自動的展開は行わない


・関数型メソッド
 非オブジェクト指向的に用いられるメソッド
 レシーバーを持たない手続き


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PMBOKのお勉強 その35 - 6.6

2011-10-21 17:51:34 | そのほか
今、

プロジェクトマネジメント 知識体系ガイド(PMBOKガイド)第4版
http://www.amazon.co.jp/dp/1933890681

のお勉強をしています。

前回は6.5章だったので、今回は6.6章です




■6.6 スケジュール・コントロール

<<インプット>>

・プロジェクトマネジメント計画書

・プロジェクトスケジュール

・作業パフォーマンス情報

・組織のプロセス資産


<<ツールと技法>>
・パフォーマンス・レビュー
   アーンドバリューマネジメント(EVM)採用の場合
      スケジュール差異(7.3)
      スケジュール効率指数(7.3)
   クリティカルチェーン採用(6.5)の場合
      バッファ

・差異分析
   スケジュールベースライン(6.5)との差異


・プロジェクトマネジメント・ソフトウェア


・資源平準化
   6.5

・What-ifシナリオ分析
   6.5


・リードとラグの調整


・スケジュール短縮
   6.5

・スケジューリングツール



<<アウトプット>>

・作業パフォーマンス測定結果
  WBS要素、特にワーク・パッケージと
  コントロールアカウントにて算出した
  スケジュール差異(SV)とスケジュール効率指数(SPI)
  を文書化して報告


・組織のプロセス資産更新版
  以下のものがあるが、これに限定されない
   ・差異の原因
   ・選択した是正措置とその選択理由
   ・プロジェクトのスケジュールコントロールから得られるその他の教訓など

・変更要求


・プロジェクトマネジメント計画書更新版
  以下のものがあるが、これらに限定されない
   ・スケジュールベースライン
   ・スケジュールマネジメント計画書
   ・コスト・ベースライン


・プロジェクト文書更新版
  以下のものがあるが、これらに限定されない
   ・スケジュール・データ
   ・プロジェクト・スケジュール

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

UMLなどの図に描くと、あいまいでなくなるという「あいまい」の定義って、あいまいじゃない?

2011-10-21 14:58:52 | トピックス

「UMLに描くと、あいまいでなくなる」

って、よく聞くじゃないですか・・・え、聞かない?
じゃ、検索してみて!
「UML あいまい なくなる」でけんさくすると、

  ・あいまいでないか、
  ・あいまいさが残る

っていう表現になる。前者は、ないって言い切っているし、後者も、あいまいがないからこそ、残っている部分もあるという表現になるので、どちらも、「あいまいがなくなる」という前提で書いている。

 問題はこのとき、「あいまい」の定義は何?
 これが判らなければ、「あいまいさがなくなる」って言っても意味はない。

ここで

1とおりにしか解釈できないことである
 というのなら、UMLの意味はない。
 いきなりプログラム言語で書いてしまったほうが、曖昧さはない。コンピューターは何通りにも解釈して、恣意的に結果を出すということはないのだから・・
 Javaとかで記述し、細かいところはダミーモジュールにして、シミュレーションしたほうが早い。


情報を網羅できる
 UMLのほうが、欠落している。UMLが出る前の業務フローのほうが、画面、帳票などの出力先が明示されるので、情報量がある。

情報が整理される
 整理という観点なら。Excelに書いたほうが整理される。


情報が見える化できる
 UMLじゃなくっても見えるか出来るし、もし、見える化命なら、ユースケース記述なんていう、記述にたよるのは、おかしいよね!

・・・あいまいの定義が、一番あいまいな気がする・・・
なんか、あいまいという言葉をあいまいに使うことにより、
「UMLはあいまいでない」ということに信憑性を持たせているんじゃないかなあ?
(あいまいの定義があいまいだと、あいまいでないかどうかはわからない)


構造化手法より、あいまいでないことは、どのように証明できるのだろうか?
少なくても「情報を網羅できる」「情報が見える化できる」という意味では、
構造化手法より、劣るよね・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

世界コンピュータ将棋選手権で優勝した将棋ソフト「Bonanza」の遊び方

2011-10-21 00:06:45 | Twitter
Bonanzaは、窓の杜にある

Bonanza
http://www.forest.impress.co.jp/lib/game/puzzle/tblegame/bonanza.html

の右上にあるDownloadをクリック

ZIPファイルを保存して、それを解凍。
Windowsの場合、解凍したフォルダをどんどん降りていくと、
winbinというフォルダがある。
その中のフォルダにCsa.exeというのがある(歩のアイコン)ので、
ダブルクリック。

起動すると、2つのウィンドウが出る。将棋版のウィンドウのほうで、
playをクリックすると、こんなかんじに

なるので、startを選択。すると

というダイアログが出る。先手でよければ、OKボタンクリック

すると、将棋のこまが適当に動かせる。
動かしたいこまをドラッグ&ドロップ。
コンピュータが手をさすと、ぴこ!とかいうかんじの音が出る。

詰まると、なんかダイアログが出る。
playメニューの横のFileメニューにexitがあって、終わらせられる。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする