2016 講義のこと

Table of Contents

ホーム / 講義 / ruby / OO / poker開発 / emacs / meta-ruby / note / github-repos / svn-repos 2015 /

1 講義のねらい

1.1 主たるねらい

オブジェクト指向プログラミングの本質,

オブジェクト指向システムの仕組み,

メタプログラミングの有効性について,

オブジェクト指向言語 ruby を用いて考察する

1.2 もうひとつのねらい

emacs org-mode + babel を使って,

文芸的プログラミングをおこないながら,

講義しようとたくらんでいますが,

いつものとおり,どうなりますことやら。

2 おしらせ

2.1 2017-02-06

レポート課題です。

〆切は,成績報告に間に合わせるため,一応 2/16 にします。

提出が終了したら,その旨メールを下さい。

宛先は,msyk054@gmail.com です。

遅れる人も,その旨メールを下さい。

遅れる人も,3月の第3週末までには提出してください。

Object指向に関するまとめ oo.org

下記ドキュメントおよび講義中にふれたObject指向に関することを, 適切にまとめてください。

meta-ruby.org

Ruby における,次の事柄について,まとめてください:

ruby programming examples/*.rb

  • [X] file_print.rb <2016-11-21 月>
  • [X] home_directory.rb <2016-11-28 月>
  • [X] shuzo-meigen.rb <2016-11-28 月> home work
  • [X] dir_traverse.rb <2016-12-08 木> home work
  • [X] sinatra による org-mode 文書閲覧サービス <2017-01-16 月>

デザインパターン pattern/*.org

Ruby2.0.0で学ぶ、14個のデザインパターンを作りました について,講義 ではやらなかったデザイン・パターンについて,一つのパターンを動かし てください。

  • org ファイルにまとめる
  • 適切なディレクトリに分ける

感想と意見 myopinion.org

講義への感想・意見を書いてください。

2.2 2017-01-30

レポート

  • oo.org
  • meta-ruby.org
  • examples/
  • pattern/なにか一つのパターンを動かす

2.3 2016-12-12 学生さんのフォルダ

レポート提出用に,学生さんのフォルダ @ GoogleDriveを用意しました。 登録されていない人は言ってください。

2.5 2016-12-12 例題プログラムを github に置きました

work に置きました。

2.6 2016-12-05

サブバージョン リポジトリ https://wiki.cis.iwate-u.ac.jp/svn/meta-ruby/

2016 を 用意しました。

2.7 2016-10-17 休講します。

((s-:)) ネンリンピック長崎 サッカー出場のため

2.8 2016-10-12

初回の講義に参加できなかった人のために, もう一度軽くガイダンスを行ないす。

2.9 2016-10-03 開講します。

3 講義予定 (1) 2016-10-03

3.1 講義資料の説明

ホーム
https://masayuki054.github.io/meta-ruby
ruby
ruby 関連資料
OO
Object指向についての資料
emacs
Emacs についての資料
meta-ruby
ruby の メタプログラミングについての資料
note
昨年度の講義に関するメモ

3.2 オブジェクト指向プログラミング

プログラム言語とは

記述のための要素
  • 値と定数
  • データ構造体
  • 型と演算
  • 変数と代入
  • 文と流れ
  • 関数(手続き)
    • 定義
    • 呼出し
  • スコープ
  • モジュール
実行するということ
  • コードインタープリタ
  • 環境
    • 実行の流れを保存するスタック
    • 名前を解決する束縛
    • 静的か動的か
メタプログラミング
  • プログラムを生成するプログラムをつくること

WikiPedia.search("オブジェクト指向プログラミング")

特徴

  • 情報隠蔽
  • 多相性
  • 動的束縛
  • 継承

僕の考え

  • モジュール
  • メッセージパッシング
  • 差をプログラムする

Ruby オブジェクト原理主義

  • 純粋オブジェクト指向
  • プログラム可能なものは全て,オブジェクト
  • クラスもオブジェクト
  • 実行はすべてメッセージパッシングで起こる
  • オブジェクトは実行の場

3.3 講義のための環境つくり

ruby実行環境

  • rbenv, gem

ruby プログラミング環境

  • Emacs package

文芸的プログラミング環境

  • emacs org-mode

3.4 Ruby入門

3.5 オブジェクト指向へ至るまで

3.6 メタプログラミング Ruby

今年は,黒魔術本のその本質だけやるつもりです。

  • Ruby の原理
  • Ruby の動的プログラミング(メタプログラミング)

3.7 オブジェクト指向プログラミング

オブジェクト指向設計原則やプログラミング原則について一緒に勉強しましょ

う。

Strategic Choice を読もう

記事一覧

https://d.hatena.ne.jp/asakichy/archive

  • meta programming ruby の講義の一部にしよう
抽象データ型 - Strategic Choice

https://d.hatena.ne.jp/asakichy/20090225/1235547089

モジュールという考え方があった。 しかし,複数のインスタンスが作れない。

オブジェクト指向の本懐 - Strategic Choice
オブジェクト指向設計原則 - Strategic Choice
プログラミング原則 [Unix思想] - Strategic Choice
ソフトウェア開発の真実とウソ - Strategic Choice

ohttps://d.hatena.ne.jp/asakichy/20131007/1381097627

ソフトウェア開発原則一覧 - Strategic Choice
七つの設計原理 - Strategic Choice
漏れのある抽象化の法則 - Strategic Choice

4 講義予定 (2) 2016-10-12

4.1 講義内容(の提案)

Ruby入門

オブジェクト指向について学ぶ

オブジェクト指向設計原則やプログラミング原則について一緒に勉強しましょう。

Strategic Choice を読もう
記事一覧

https://d.hatena.ne.jp/asakichy/archive

  • meta programming ruby の講義の一部にしよう
抽象データ型 - Strategic Choice

https://d.hatena.ne.jp/asakichy/20090225/1235547089

モジュールという考え方があった。 しかし,複数のインスタンスが作れない。

オブジェクト指向の本懐 - Strategic Choice
オブジェクト指向設計原則 - Strategic Choice
プログラミング原則 [Unix思想] - Strategic Choice
ソフトウェア開発の真実とウソ - Strategic Choice

ohttps://d.hatena.ne.jp/asakichy/20131007/1381097627

ソフトウェア開発原則一覧 - Strategic Choice
七つの設計原理 - Strategic Choice
漏れのある抽象化の法則 - Strategic Choice

メタプログラミング Ruby

今年は,黒魔術本のその本質だけやるつもりです。

  • Ruby の原理
  • Ruby の動的プログラミング(メタプログラミング)

Ruby オブジェクト指向プログラミング

poker ゲーム
デザイン・パターン

デザイン・パターンについても下記サイトを読んでみましょう:

Ruby2.0.0で学ぶ、14個のデザインパターンを作りました
ruby で書いたデザイン・パターンの実装例です。
デザインパターン | TECHSCORE(テックスコア)
デザインパターンのリファレンスに使いましょう。

4.2 講義のための環境つくり

ruby実行環境

./ruby.html [0/2]

  • [ ] ruby情報
  • [ ] ruby環境作り [0/3]
    • [ ] rbenv とは
    • [ ] 自前で rbenv+ruby-build をインストール
    • [ ] ruby のインストール
    • [ ] gem (rubyのパッケージ管理)

ruby プログラミング環境

Emacs

  • [ ] emacs-24.5
  • [ ] emacsのパッケージと設定

文芸的プログラミング環境

  • emacs org-mode

4.3 ruby入門

20分ではじめるRuby (./ruby.html 2.ruby入門-2.1 2016)

5 講義予定 (3) 2016-10-24

self => ~suzuki/meta-ruby.git/org/lects/03/plan.org

5.1 講義内容

Todo Ruby入門 [0/2]

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

Todo 20分ではじめるRuby (./ruby.html 2.ruby入門-2.1 2016)

10/24 終了予定

Todo とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)

10/24~ 2~3回

オブジェクト指向について

人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita を読みまとめ 始めましょう。

  • ソフトウェア危機
  • 構造化プログラミング
oo.org にまとめはじめましょう
  • org-mode で書いてみましょう

Todo メタプログラミング Ruby

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

まずは,Ruby入門で行なったプログラムの実行について,考察しましょう。

  • self の存在
  • いったい self とは何でしょう?
self

self.class

self.class.ancestors

self.methods

Ruby入門で行なったプログラムの実行について考察しましょう。

Ruby オブジェクト指向プログラミング

まだ始まりません。

5.2 講義のための環境つくり

ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X] ruby のインストール
    • [X] gem (rubyのパッケージ管理)

ruby プログラミング環境

Emacs

  • [ ] emacs-24.5
  • [ ] emacsのパッケージと設定

文芸的プログラミング環境

  • emacs org-mode

6 2016.10.24 のメモ

self => ~suzuki/meta-ruby.git/org/lects/03/03-note.org

6.1 emacsの設定

  • ruby-mode
  • org-mode

Emacs24.5日本語マニュアル登場!!info作成方法

https://emacs.rubikitch.com/emacs245-manual-ja/

suzuki@cis.iwate-u.ac.jp:local/info

#11 Emacs に革命を起こすパッケージ「helm」 (Software Design 2015年3月号掲載記事) Emacs helm インストール 設定 使い方

6.2 org-mode の紹介

#10 巨大なオーガナイズシステム「org-mode」の世界 (Software Design 2015年2月号掲載記事) Emacs org-mode インストール 設定 使い方

6.3 org-mode babel の紹介

p 1.class
p "abc".class
Fixnum
String

7 講義予定 (4) 2016-10-31

self => ~suzuki/meta-ruby.git/org/lects/04/plan.org

7.1 講義内容

Doing Ruby入門 [0/2]

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

Doing 20分ではじめるRuby (./ruby.html 2.ruby入門-2.1 2016)

10/31 終了予定

~suzuki/rubys/ruby-begin.org
Todo とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)

10/31~ 2~3回

Todo オブジェクト指向について

人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita を読みまとめ 始めましょう。

  • ソフトウェア危機
  • 構造化プログラミング
oo.org にまとめはじめましょう
~/rubys/oo.org
  • org-mode で書いてみましょう

Todo メタプログラミング Ruby

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

まずは,Ruby入門で行なったプログラムの実行について,考察しましょう。

  • self の存在
  • いったい self とは何でしょう?
self

self.class

self.class.ancestors

self.methods

Ruby入門で行なったプログラムの実行について考察しましょう。

Ruby オブジェクト指向プログラミング

まだ始まりません。

7.2 講義のための環境つくり

Done ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X]

      ruby のインストール 先週,

      rbenv install 2.3.0-dev 
      

      ができない人がいましたが,どうも,

      ~/.rbenv/plugins/ruby-build/bin 
      

      にある,ruby-install が認識されていないためのようです。 取り敢えず,~/.rbenv/plugins/ruby-build/bin を PATH に入れてく ださい。

    • [X] gem (rubyのパッケージ管理)

Done ruby プログラミング環境

Emacs

  • [X] emacs-24.5
  • [X] emacsのパッケージと設定

Doing 文芸的プログラミング環境

  • emacs org-mode

8 講義実施内容 (5) 2016-11-07

self => ~suzuki/meta-ruby.git/org/lects/04/plan.org

8.1 講義内容

Doing Ruby入門 [1/2]

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

Done 20分ではじめるRuby (./ruby.html 2.ruby入門-2.1 2016)
~suzuki/rubys/ruby-begin.org
Todo とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)

11/07 ~ 2~3回

Todo オブジェクト指向について

人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita を読みまとめ 始めましょう。

  • ソフトウェア危機
  • 構造化プログラミング
oo.org にまとめはじめましょう
~/rubys/oo.org
  • org-mode で書いてみましょう

Doing メタプログラミング Ruby

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

まずは,Ruby入門で行なったプログラムの実行について,考察しましょう。

  • self の存在
  • いったい self とは何でしょう?
self

self.class

self.class.ancestors

self.methods

Ruby入門で行なったプログラムの実行について考察しましょう。

Ruby オブジェクト指向プログラミング

まだ始まりません。

8.2 講義のための環境つくり

Done ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X]

      ruby のインストール 先週,

      rbenv install 2.3.0-dev 
      

      ができない人がいましたが,どうも,

      ~/.rbenv/plugins/ruby-build/bin 
      

      にある,ruby-install が認識されていないためのようです。 取り敢えず,~/.rbenv/plugins/ruby-build/bin を PATH に入れてく ださい。

    • [X] gem (rubyのパッケージ管理)

Done ruby プログラミング環境

Emacs

  • [X] emacs-24.5
  • [X] emacsのパッケージと設定

Doing 文芸的プログラミング環境

  • emacs org-mode

9 講義予定 (6) 2016-11-14

self => ~suzuki/meta-ruby.git/org/lects/06/plan.org

9.1 講義内容

Doing Ruby入門 [1/2]

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

Done 20分ではじめるRuby (./ruby.html 2.ruby入門-2.1 2016)
~suzuki/rubys/ruby-begin.org
Todo とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)

11/14 ~ 2回

Todo オブジェクト指向について

人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita を読みまとめ 始めましょう。

  • ソフトウェア危機
  • 構造化プログラミング
oo.org にまとめはじめましょう
~/rubys/oo.org
  • org-mode で書いてみましょう

Todo メタプログラミング Ruby

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

まずは,Ruby入門で行なったプログラムの実行について,考察しましょう。

  • self の存在
  • いったい self とは何でしょう?
self

self.class

self.class.ancestors

self.methods

Ruby入門で行なったプログラムの実行について考察しましょう。

Ruby オブジェクト指向プログラミング

まだ始まりません。

9.2 講義のための環境つくり

Done ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X]

      ruby のインストール 先週,

      rbenv install 2.3.0-dev 
      

      ができない人がいましたが,どうも,

      ~/.rbenv/plugins/ruby-build/bin 
      

      にある,ruby-install が認識されていないためのようです。 取り敢えず,~/.rbenv/plugins/ruby-build/bin を PATH に入れてく ださい。

    • [X] gem (rubyのパッケージ管理)

Done ruby プログラミング環境

Emacs

  • [X] emacs-24.5
  • [X] emacsのパッケージと設定

Doing 文芸的プログラミング環境

  • emacs org-mode
  • emacs org-mode + babel

10 講義予定 (7) 2016-11-21

self => ~suzuki/meta-ruby.git/org/lects/07/plan.org

10.1 講義内容

Doing Ruby入門 [1/2]

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

~suzuki/rubys/ruby-begin.org
Doing とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)

11/21 ~ 2回

Doing Ruby programming

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

~suzuki/rubys/ruby-begin.org

Todo オブジェクト指向について

人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita を読みまとめ

始めましょう。

  • [X] ソフトウェア危機
  • [X] 構造化プログラミング
  • [ ] モジュラープログラミング

oo.org にまとめはじめましょう

~/rubys/oo.org

Todo メタプログラミング Ruby

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

まずは,Ruby入門で行なったプログラムの実行について,考察しましょう。

  • self の存在
  • いったい self とは何でしょう?
self

self.class

self.class.ancestors

self.methods

Ruby入門で行なったプログラムの実行について考察しましょう。

Ruby オブジェクト指向プログラミング

まだ始まりません。

10.2 講義のための環境つくり

Done ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X]

      ruby のインストール 先週,

      rbenv install 2.3.0-dev 
      

      ができない人がいましたが,どうも,

      ~/.rbenv/plugins/ruby-build/bin 
      

      にある,ruby-install が認識されていないためのようです。 取り敢えず,~/.rbenv/plugins/ruby-build/bin を PATH に入れてく ださい。

    • [X] gem (rubyのパッケージ管理)

Done ruby プログラミング環境

Emacs

  • [X] emacs-24.5
  • [X] emacsのパッケージと設定

Doing 文芸的プログラミング環境

  • emacs org-mode
  • emacs org-mode + babel

11 講義予定 (8) 2016-11-28

self => ~suzuki/meta-ruby.git/org/lects/08/plan.org

11.1 講義内容

Doing Ruby入門 [1/2]

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

Doing とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)
  • begin~end, 例外処理
  • 正規表現
  • メソッド
  • クラス
Doing Ruby programming

~suzuki/rubys/examples/ の下に,個々のプログラムを置くようにします。

File,Dir, Array, String のクラスについて,調べながら, 実践的なプログラムを作ってみましょう。

  • [X] file_print.rb <2016-11-21 月>
  • [ ] home_directory.rb <2016-11-28 月>
  • [ ] shuzo-meigen.rb <2016-11-28 月> home work
  • [ ] dir_traverse.rb <2016-12-08 木>

Todo オブジェクト指向について

人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

読みまとめ始めましょう。Strategic Choice も参考にします。

  • [X] ソフトウェア危機
  • [X] 構造化プログラミング
  • [X] モジュラープログラミング
  • [X] 抽象データ型
  • [ ] オブジェクト指向 メッセージングと動的ディスパッチ

oo.org にまとめてください。

~/rubys/oo.org

Todo メタプログラミング Ruby

file://~suzuki/COMM/Lects/meta-ruby/book を使います。

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

Ruby オブジェクト指向プログラミング

まだ始まりません。

11.2 講義のための環境つくり

Done ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X]

      ruby のインストール 先週,

      rbenv install 2.3.0-dev 
      

      ができない人がいましたが,どうも,

      ~/.rbenv/plugins/ruby-build/bin 
      

      にある,ruby-install が認識されていないためのようです。 取り敢えず,~/.rbenv/plugins/ruby-build/bin を PATH に入れてく ださい。

    • [X] gem (rubyのパッケージ管理)

Done ruby プログラミング環境

Emacs

  • [X] emacs-24.5
  • [X] emacsのパッケージと設定

Doing 文芸的プログラミング環境

  • emacs org-mode
  • emacs org-mode + babel

12 講義予定 (9) 2016-12-05

self => ~suzuki/meta-ruby.git/org/lects/09/plan.org

12.1 講義内容

Doing Ruby programming

~suzuki/rubys/examples/ の下に,個々のプログラムを置くようにします。

Doing File,Dir, Array, String のクラスについて,調べながら,

実践的なプログラムを作ってみましょう。

  • [X] file_print.rb <2016-11-21 月>
  • [X] home_directory.rb <2016-11-28 月>
  • [-] shuzo-meigen.rb <2016-11-28 月> home work
  • [-] dir_traverse.rb <2016-12-08 木>
Done Ruby入門 [1/2]
Done とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

  • begin~end, 例外処理
  • 正規表現
  • メソッド
  • クラス

Todo オブジェクト指向について

人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

読みまとめ始めましょう。Strategic Choice も参考にします。

  • [X] ソフトウェア危機
  • [X] 構造化プログラミング
  • [X] モジュラープログラミング
  • [X] 抽象データ型
  • [X] オブジェクト指向 メッセージングと動的ディスパッチ
  • [ ] オブジェクト指向 仮想機械とメッセージング

oo.org にまとめてください。

~/rubys/oo.org

Todo メタプログラミング Ruby

file://~suzuki/COMM/Lects/meta-ruby/book を使います。

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

  • 「オブジェクトモデル」を読み始めます。

Ruby オブジェクト指向プログラミング

単体テストを体験しましょう。

12.2 講義のための環境つくり

Doing 文芸的プログラミング環境

  • emacs org-mode
  • emacs org-mode + babel

Done ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X]

      ruby のインストール 先週,

      rbenv install 2.3.0-dev 
      

      ができない人がいましたが,どうも,

      ~/.rbenv/plugins/ruby-build/bin 
      

      にある,ruby-install が認識されていないためのようです。 取り敢えず,~/.rbenv/plugins/ruby-build/bin を PATH に入れてく ださい。

    • [X] gem (rubyのパッケージ管理)

Done ruby プログラミング環境

Emacs

  • [X] emacs-24.5
  • [X] emacsのパッケージと設定

13 講義予定 (10) 2016-12-12

self => ~suzuki/meta-ruby.git/org/lects/10/plan.org

13.1 講義内容

Doing Ruby programming

Examples

実践的なプログラムを作ってみましょう。

~suzuki/rubys/examples/ の下, work (github) に,個々のプログラムを置くよう にします。((@cis, @s))

  • [X] file_print.rb <2016-11-21 月>
  • [X] home_directory.rb <2016-11-28 月>
  • [-] shuzo-meigen.rb <2016-11-28 月> home work
  • [-] dir_traverse.rb <2016-12-08 木> home work

Todo オブジェクト指向について

Todo Rubyのオブジェクト原理主義

https://docs.ruby-lang.org/ja/latest/doc/spec=2fintro.html

を読んで Ruby らしさについて考えましょう。

Todo メタプログラミング Ruby

file://~suzuki/COMM/Lects/meta-ruby/book を使います。

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

  • 「オブジェクトモデル」の残りをやります。

Ruby オブジェクト指向プログラミング

デザイン・パターン (@github @cis @s)

Ruby2.0.0で学ぶ、14個のデザインパターンを作りました は,ruby で書 いたデザイン・パターンの実装例です。

AbstractFactory を読んで,考えてみましょう。

デザインパターン | TECHSCORE(テックスコア)
デザインパターンのリファレンスに使いましょう。
ポーカーゲームのテスト駆動開発
単体テストを体験しましょう。

講義のための環境つくり

Doing 文芸的プログラミング環境
  • emacs org-mode
  • emacs org-mode + babel

13.2 終わったこと

Doing Ruby programming

Done Ruby入門 [1/2]
Done とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

  • begin~end, 例外処理
  • 正規表現
  • メソッド
  • クラス

Todo オブジェクト指向について

Done 人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

読みまとめ始めましょう。Strategic Choice も参考にします。

  • [X] ソフトウェア危機
  • [X] 構造化プログラミング
  • [X] モジュラープログラミング
  • [X] 抽象データ型
  • [X] オブジェクト指向 メッセージングと動的ディスパッチ
  • [X] オブジェクト指向 仮想機械とメッセージング

~/rubys/oo.org にまとめてください。

Todo メタプログラミング Ruby

Ruby オブジェクト指向プログラミング

講義のための環境つくり

Doing 文芸的プログラミング環境
  • emacs org-mode
  • emacs org-mode + babel
Done ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X]

      ruby のインストール 先週,

      rbenv install 2.3.0-dev 
      

      ができない人がいましたが,どうも,

      ~/.rbenv/plugins/ruby-build/bin 
      

      にある,ruby-install が認識されていないためのようです。 取り敢えず,~/.rbenv/plugins/ruby-build/bin を PATH に入れてく ださい。

    • [X] gem (rubyのパッケージ管理)
Done ruby プログラミング環境

Emacs

  • [X] emacs-24.5
  • [X] emacsのパッケージと設定

14 講義予定 (11) 2016-12-19

self => ~suzuki/meta-ruby.git/org/lects/10/plan.org

14.1 講義内容

Doing Ruby programming

  • 自分のレポート提出フォルダに,Examples フォルダを作成し,
  • 課題ごとに,作成したプログラムと,その説明,実行とその結果をまと めた org 文書を作成し,
  • 上記 Examples/ フォルダに提出してください。
Examples

実践的なプログラムを作ってみましょう。

~suzuki/rubys/examples/ の下, work (github) に,個々のプログラムを置くよう にします。((@cis, @s))

  • [X] file_print.rb <2016-11-21 月>
  • [X] home_directory.rb <2016-11-28 月>
  • [-] shuzo-meigen.rb <2016-11-28 月> home work
  • [-] dir_traverse.rb <2016-12-08 木> home work

Todo オブジェクト指向について

オブジェクト指向の本懐 - Strategic Choice を始めましょう。[1/2]
sh ~/COMM/Lects/bin/github_link.sh $args

参考にしてほしい資料

読む予定のページです。~/rubys/oo.org にまとめてください。

Todo Rubyのオブジェクト原理主義

https://docs.ruby-lang.org/ja/latest/doc/spec=2fintro.html

を読んで Ruby らしさについて考えましょう。

Todo メタプログラミング Ruby

file://~suzuki/COMM/Lects/meta-ruby/book を使います。

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

  • 「オブジェクトモデル」の残りをやります。
sh ~/COMM/Lects/bin/github_link.sh $args

Ruby オブジェクト指向プログラミング

デザイン・パターン (@github @cis @s)

Ruby2.0.0で学ぶ、14個のデザインパターンを作りました は,ruby で書 いたデザイン・パターンの実装例です。

AbstractFactory を読んで,考えてみましょう。

デザインパターン | TECHSCORE(テックスコア)
デザインパターンのリファレンスに使いましょう。
sh ~/COMM/Lects/bin/github_link.sh $args
単体テストを体験しましょう。

14.2 終わったこと

Doing Ruby programming

Done Ruby入門 [1/2]
Done とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

  • begin~end, 例外処理
  • 正規表現
  • メソッド
  • クラス

Todo オブジェクト指向について

Done 人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

読みまとめ始めましょう。Strategic Choice も参考にします。

  • [X] ソフトウェア危機
  • [X] 構造化プログラミング
  • [X] モジュラープログラミング
  • [X] 抽象データ型
  • [X] オブジェクト指向 メッセージングと動的ディスパッチ
  • [X] オブジェクト指向 仮想機械とメッセージング

~/rubys/oo.org にまとめてください。

Todo メタプログラミング Ruby

Ruby オブジェクト指向プログラミング

講義のための環境つくり

Doing 文芸的プログラミング環境
  • emacs org-mode
  • emacs org-mode + babel
Done ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X]

      ruby のインストール 先週,

      rbenv install 2.3.0-dev 
      

      ができない人がいましたが,どうも,

      ~/.rbenv/plugins/ruby-build/bin 
      

      にある,ruby-install が認識されていないためのようです。 取り敢えず,~/.rbenv/plugins/ruby-build/bin を PATH に入れてく ださい。

    • [X] gem (rubyのパッケージ管理)
Done ruby プログラミング環境

Emacs

  • [X] emacs-24.5
  • [X] emacsのパッケージと設定

14.3 やらなかったこと

Ruby オブジェクト指向プログラミング

ポーカーゲームのテスト駆動開発

15 講義予定 (12) 2017-01-16

self => ~suzuki/meta-ruby.git/org/lects/12/plan.org

15.1 図を描きました

15.2 講義内容

Doing Ruby programming

  • 自分のレポート提出フォルダに,Examples フォルダを作成し,
  • 課題ごとに,作成したプログラムと,その説明,実行とその結果をまと めた org 文書を作成し,
  • 上記 Examples/ フォルダに提出してください。
Doing Examples [4/5]

実践的なプログラムを作ってみましょう。

~suzuki/rubys/examples/ の下, work (github) に,個々のプログラムを置くよう にします。((@cis, @s))

  • [X] file_print.rb <2016-11-21 月>
  • [X] home_directory.rb <2016-11-28 月>
  • [X] shuzo-meigen.rb <2016-11-28 月> home work
  • [X] dir_traverse.rb <2016-12-08 木> home work
  • [ ]

    sinatra による org-mode 文書閲覧サービス <2017-01-16 月> home work

    説明は ((@github/@cis/@s)) にあります。

sh ~/COMM/Lects/bin/github_link.sh $args

Todo オブジェクト指向について

オブジェクト指向の本懐 - Strategic Choice を始めましょう。[3/3]
sh ~/COMM/Lects/bin/github_link.sh $args

参考にしてほしい資料

読む予定のページです。~/rubys/oo.org にまとめてください。[3/3]

Todo Rubyのオブジェクト原理主義

https://docs.ruby-lang.org/ja/latest/doc/spec=2fintro.html

を読んで Ruby らしさについて考えましょう。

Todo メタプログラミング Ruby

file://~suzuki/COMM/Lects/meta-ruby/book を使います。

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

今日は,((s-:)) の meta-programming-ruby.org ((org@github/org@cis/@)) を使って,クラス階層,特異メソッド,メタクラス階層について,説明します。

sh ~/COMM/Lects/bin/github_link.sh $args

Ruby オブジェクト指向プログラミング

デザイン・パターン (@github @cis @s)

Ruby2.0.0で学ぶ、14個のデザインパターンを作りました は,ruby で書 いたデザイン・パターンの実装例です。

AbstractFactory を読んで,考えてみましょう。

デザインパターン | TECHSCORE(テックスコア)
デザインパターンのリファレンスに使いましょう。
sh ~/COMM/Lects/bin/github_link.sh $args
単体テストを体験しましょう。

15.3 終わったこと

Doing Ruby programming

Done Ruby入門 [1/2]
Done とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

  • begin~end, 例外処理
  • 正規表現
  • メソッド
  • クラス

Todo オブジェクト指向について

Done 人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

読みまとめ始めましょう。Strategic Choice も参考にします。

  • [X] ソフトウェア危機
  • [X] 構造化プログラミング
  • [X] モジュラープログラミング
  • [X] 抽象データ型
  • [X] オブジェクト指向 メッセージングと動的ディスパッチ
  • [X] オブジェクト指向 仮想機械とメッセージング

~/rubys/oo.org にまとめてください。

Todo メタプログラミング Ruby

Ruby オブジェクト指向プログラミング

講義のための環境つくり

Doing 文芸的プログラミング環境
  • emacs org-mode
  • emacs org-mode + babel
Done ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X]

      ruby のインストール 先週,

      rbenv install 2.3.0-dev 
      

      ができない人がいましたが,どうも,

      ~/.rbenv/plugins/ruby-build/bin 
      

      にある,ruby-install が認識されていないためのようです。 取り敢えず,~/.rbenv/plugins/ruby-build/bin を PATH に入れてく ださい。

    • [X] gem (rubyのパッケージ管理)
Done ruby プログラミング環境

Emacs

  • [X] emacs-24.5
  • [X] emacsのパッケージと設定

15.4 やらなかったこと

Ruby オブジェクト指向プログラミング

ポーカーゲームのテスト駆動開発

16 講義予定 (13) 2017-01-23

self => ~suzuki/meta-ruby.git/org/lects/13/plan.org

16.1 図を描きました

16.2 講義内容

Doing Ruby programming

今日は,課題 「sinatra による org-mode 文書閲覧サービス」について 説明します:

課題の提出
  • 自分のレポート提出フォルダに,Examples フォルダを作成し,
  • 課題ごとに,作成したプログラムと,その説明,実行とその結果をまと めた org 文書を作成し,
  • 上記 Examples/ フォルダに提出してください。
Doing Examples [4/5]

実践的なプログラムを作ってみましょう。

先生の見本は,~suzuki/rubys/examples/ の下, work (github) に,個々 のプログラムを置くようにします。((@cis, @s))

  • [X] file_print.rb <2016-11-21 月>
  • [X] home_directory.rb <2016-11-28 月>
  • [X] shuzo-meigen.rb <2016-11-28 月> home work
  • [X] dir_traverse.rb <2016-12-08 木> home work
  • [ ]

    sinatra による org-mode 文書閲覧サービス <2017-01-16 月>

    説明は ((@github/@cis/@s)) にあります。

Todo オブジェクト指向について

Todo Rubyのオブジェクト原理主義

https://docs.ruby-lang.org/ja/latest/doc/spec=2fintro.html

を読んで Ruby らしさについて考えましょう。

Todo メタプログラミング Ruby

file://~suzuki/COMM/Lects/meta-ruby/book を使います。

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

今日は,meta-ruby と meta-programming-ruby.org ((org@github/org@cis/@)) を使って,

  • [ ] <2017-01-23 月> ブロックとクロージャについて説明します。
  • [X] クラス階層,特異メソッド,メタクラス階層について,説明します。

Ruby オブジェクト指向プログラミング

デザイン・パターン (@github @cis @s)

Ruby2.0.0で学ぶ、14個のデザインパターンを作りました は,ruby で書 いたデザイン・パターンの実装例です。これを読んで,デザイン・パター ンの心を理解しましょう。

sh ~/COMM/Lects/bin/github_link.sh $args
単体テストを体験しましょう。

16.3 終わったこと

Doing Ruby programming

Done Ruby入門 [1/2]
Done とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

  • begin~end, 例外処理
  • 正規表現
  • メソッド
  • クラス

Todo オブジェクト指向について

Done 人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

読みまとめ始めましょう。Strategic Choice も参考にします。

  • [X] ソフトウェア危機
  • [X] 構造化プログラミング
  • [X] モジュラープログラミング
  • [X] 抽象データ型
  • [X] オブジェクト指向 メッセージングと動的ディスパッチ
  • [X] オブジェクト指向 仮想機械とメッセージング

~/rubys/oo.org にまとめてください。

Todo メタプログラミング Ruby

Ruby オブジェクト指向プログラミング

講義のための環境つくり

Doing 文芸的プログラミング環境
  • emacs org-mode
  • emacs org-mode + babel
Done ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X]

      ruby のインストール 先週,

      rbenv install 2.3.0-dev 
      

      ができない人がいましたが,どうも,

      ~/.rbenv/plugins/ruby-build/bin 
      

      にある,ruby-install が認識されていないためのようです。 取り敢えず,~/.rbenv/plugins/ruby-build/bin を PATH に入れてく ださい。

    • [X] gem (rubyのパッケージ管理)
Done ruby プログラミング環境

Emacs

  • [X] emacs-24.5
  • [X] emacsのパッケージと設定

16.4 やらなかったこと

Ruby オブジェクト指向プログラミング

ポーカーゲームのテスト駆動開発

17 講義予定 (14) 2017-01-30

self => ~suzuki/meta-ruby.git/org/lects/14/plan.org

17.2 講義内容

Doing Ruby programming

今日は,課題 「sinatra による org-mode 文書閲覧サービス」について 説明します:

課題の提出
  • 自分のレポート提出フォルダに,Examples フォルダを作成し,
  • 課題ごとに,作成したプログラムと,その説明,実行とその結果をまと めた org 文書を作成し,
  • 上記 Examples/ フォルダに提出してください。
Doing Examples [4/5]

実践的なプログラムを作ってみましょう。

先生の見本は,~suzuki/rubys/examples/ の下, work (github) に,個々 のプログラムを置くようにします。((@cis, @s))

  • [X] file_print.rb <2016-11-21 月>
  • [X] home_directory.rb <2016-11-28 月>
  • [X] shuzo-meigen.rb <2016-11-28 月> home work
  • [X] dir_traverse.rb <2016-12-08 木> home work
  • [ ]

    sinatra による org-mode 文書閲覧サービス <2017-01-16 月>

    説明は ((@github/@cis/@s)) にあります。

Todo オブジェクト指向について

Todo Rubyのオブジェクト原理主義

https://docs.ruby-lang.org/ja/latest/doc/spec=2fintro.html

を読んで Ruby らしさについて考えましょう。

Todo メタプログラミング Ruby

file://~suzuki/COMM/Lects/meta-ruby/book を使います。

~/rubys/meta-programming-ruby.org にまとめながらやっていきましょう。

今日は,meta-ruby と meta-programming-ruby.org ((org@github/org@cis/@)) を使って,

  • [ ] <2017-01-30 月> ブロックとクロージャ,スコープゲートについて説明します。
  • [X] <2017-01-23 月> ブロックとクロージャについて説明します。
  • [X] クラス階層,特異メソッド,メタクラス階層について,説明します。

Ruby オブジェクト指向プログラミング

デザイン・パターン (@github @cis @s)

Ruby2.0.0で学ぶ、14個のデザインパターンを作りました は,ruby で書 いたデザイン・パターンの実装例です。これを読んで,デザイン・パター ンの心を理解しましょう。

  • ((s-:)) の design-pattern.org ((org@github/org@cis/@))
    • [X] AbstractFactory・パターン

## nil

abstract-factory-pattern.org ((@github/@cis/@s))

  • [X] シングルトン・パターン

## nil

singleton.org ((@github/@cis/@s))

  • [X] ビルダ・パターン

## nil

builder-pattern.org ((@github/@cis/@s))

  • [ ] オブザーバ・・パターン

## nil

observer-pattern.org ((@github/@cis/@s))

単体テストを体験しましょう。

17.3 終わったこと

Doing Ruby programming

Done Ruby入門 [1/2]
Done とほほのRuby入門 (./ruby.html 2.ruby入門-2.1 2016)

~/rubys/ruby-begin.org にまとめながらやっていきましょう。

  • begin~end, 例外処理
  • 正規表現
  • メソッド
  • クラス

Todo オブジェクト指向について

Done 人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita

読みまとめ始めましょう。Strategic Choice も参考にします。

  • [X] ソフトウェア危機
  • [X] 構造化プログラミング
  • [X] モジュラープログラミング
  • [X] 抽象データ型
  • [X] オブジェクト指向 メッセージングと動的ディスパッチ
  • [X] オブジェクト指向 仮想機械とメッセージング

~/rubys/oo.org にまとめてください。

Todo メタプログラミング Ruby

Ruby オブジェクト指向プログラミング

講義のための環境つくり

Doing 文芸的プログラミング環境
  • emacs org-mode
  • emacs org-mode + babel
Done ruby実行環境

./ruby.html [2/2]

  • [X] ruby情報
  • [X] ruby環境作り [4/4]
    • [X] rbenv とは
    • [X] 自前で rbenv+ruby-build をインストール
    • [X]

      ruby のインストール 先週,

      rbenv install 2.3.0-dev 
      

      ができない人がいましたが,どうも,

      ~/.rbenv/plugins/ruby-build/bin 
      

      にある,ruby-install が認識されていないためのようです。 取り敢えず,~/.rbenv/plugins/ruby-build/bin を PATH に入れてく ださい。

    • [X] gem (rubyのパッケージ管理)
Done ruby プログラミング環境

Emacs

  • [X] emacs-24.5
  • [X] emacsのパッケージと設定

17.4 やらなかったこと

Ruby オブジェクト指向プログラミング

ポーカーゲームのテスト駆動開発

Author: suzuki@cis.iwate-u.ac.jp

Created: 2017-02-05 日 16:47

Validate