New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSS Gateワークショップ 2016-09-24: youchan: opal: 作業ログ #118

Closed
youchan opened this Issue Sep 24, 2016 · 27 comments

Comments

Projects
None yet
3 participants
@youchan
Contributor

youchan commented Sep 24, 2016

OSS Gate へようこそ。

OSS Gateワークショップでは一人ずつ issue を作り、そこに作業ログを残しながら進めます。
過去のビギナーのものはこちらで見られます。 https://github.com/oss-gate/workshop/issues?q=is%3Aissue+is%3Aclosed

この issue 作成時点でまずやること

  • この issue のタイトルを「OSS Gateワークショップ ${YEAR}-${MONTH}-${DAY}: ${アカウント名}: ${OSS名}: 作業ログ」の形式でつけてください
  • OSS 名が未定の場合はタイトルは後からでも変えられるので、とりあえず未定などでも OK です

作業ログを書くタイミング

作業ログを書くタイミングは次のタイミングです。

  • 違う作業を始めたとき(インストールを始めた、動作確認を始めた、テストを始めた、とか)
  • 詰まったとき(インストール時にエラーがでた、ビルドが失敗した、とか)
  • issueを出したとき
  • pull requestを出したとき

作業ログに書く内容

作業ログに残すことは次のことです。「備考」以外は作業の邪魔にならないように一言でよいです。備考は作業に役立つので必要な分だけ書いてください。

  • 作業(やること、やっていること、やったこと。)
  • 思っていること(そのときどう思っているか。)
  • 備考(必要な付加情報。)

ログはコメントとして追記していってください。テンプレートは次の通りです。

* 作業:(ここにやること、やっていること、やったことを書く)
* 思っていること:(今どう思っているかを書く)

備考:(必要なら必要なだけ書く。必要ないなら書かなくてもよい。)

例1(備考なし):

* 作業:インストールを始めた
* 思っていること:ドキュメント通りに進めれば大丈夫だろう

例2:

* 作業:インストールが失敗した
* 思っていること:ドキュメントに手順が足りない?

備考:エラーメッセージは次の通り

```text
XXX is not found
```

必要なファイルが足りないのかなぁ。

ふりかえり

作業ログは、ビギナーが、このワークショップを通して得るものをより増やすために重要になります。なぜなら作業ログがメンターからのフィードバックをより充実させるからです。

作業ログを元にメンターと「ふりかえり」をするタイミングがあります。「ふりかえり」では次のことをします。

  • ビギナーは作業ログの内容を順にメンターに説明する。
  • メンターは説明を聞いてビギナーにフィードバックをする。

メンターは次のようなフィードバックをします。これは、ビギナーとは違う視点からビギナーの行動を観察することおよびメンターの経験があるからできることです。(「ふりかえり」の前にこんなフィードバックをよろしくお願いします!とお願いすると効果が高まるので実践してみましょう。)

  • ビギナーが気づかずにやっていたよい行動に気づくきかっけを与え、今後もその行動を継続するように促します。
  • ビギナーが困っていることについて、解決策を一緒に考えてくれます。
  • 適切な質問をしてビギナーが整理できていない行動や考えを整理してくれます。
  • ビギナーが「問題」だと認識していないこと(「問題発見」は難しい!)をメンターの視点から「問題」だと見つけてくれます。「問題」がはっきりしたら直しましょう。
  • ビギナーが次にどの方向に進めばよいかを整理してくれます。

このように、ビギナーの作業をメンター視点で一緒に整理し、ビギナーの今後の行動に活かす活動がここでいう「ふりかえり」です。そのため、「ビギナーにとって」ログに残すべきかどうか、という視点ではなく、「とりあえずログに残す」という視点でログを残してください。これは、ビギナーが重要だと判断しなくてもメンターの視点から見たら大事なこともあるからです。

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

インストールの元ネタは?

Contributor

youchan commented Sep 24, 2016

インストールの元ネタは?

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor
Contributor

youchan commented Sep 24, 2016

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

気にしなくてよいと思うけど、gem install opal

rbenv: cannot rehash: /Users/youchan/.rbenv/shims/.rbenv-shim exists
rbenv: cannot rehash: /Users/youchan/.rbenv/shims/.rbenv-shim exists
Successfully installed opal-0.10.2

rbenvがrehashできないって言われた。すでにインストール済みだから?

Contributor

youchan commented Sep 24, 2016

気にしなくてよいと思うけど、gem install opal

rbenv: cannot rehash: /Users/youchan/.rbenv/shims/.rbenv-shim exists
rbenv: cannot rehash: /Users/youchan/.rbenv/shims/.rbenv-shim exists
Successfully installed opal-0.10.2

rbenvがrehashできないって言われた。すでにインストール済みだから?

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

ドキュメントを確認

Contributor

youchan commented Sep 24, 2016

ドキュメントを確認

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

http://opalrb.org/
にGetting Startedがある

Contributor

youchan commented Sep 24, 2016

http://opalrb.org/
にGetting Startedがある

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

Getting Startedをやってみる

Contributor

youchan commented Sep 24, 2016

Getting Startedをやってみる

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

動いた!

% be opal user.rb                                                                                                                         [~P/tmp/OSS-GATE_2016-09-24/opal-sample]
#<User:0x10c>
false
Contributor

youchan commented Sep 24, 2016

動いた!

% be opal user.rb                                                                                                                         [~P/tmp/OSS-GATE_2016-09-24/opal-sample]
#<User:0x10c>
false
@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

http://opalrb.org/try/
でも動かせる

Contributor

youchan commented Sep 24, 2016

http://opalrb.org/try/
でも動かせる

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

http://opalrb.org/docs/guides/v0.10.1/getting_started.html
ここにもGetting Startedあった

Contributor

youchan commented Sep 24, 2016

http://opalrb.org/docs/guides/v0.10.1/getting_started.html
ここにもGetting Startedあった

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

Opal.compile("[1, 2, 3].each { |a| puts a }")

このコードはOpalからでは動かない。MRIで実行するとJavaScriptのコードが出力される。

Contributor

youchan commented Sep 24, 2016

Opal.compile("[1, 2, 3].each { |a| puts a }")

このコードはOpalからでは動かない。MRIで実行するとJavaScriptのコードが出力される。

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

OpalのドキュメントでRubyのコードが出てきてもときどき、Opal側で実行するのかMRIで実行するのか分らないことがある。

Contributor

youchan commented Sep 24, 2016

OpalのドキュメントでRubyのコードが出てきてもときどき、Opal側で実行するのかMRIで実行するのか分らないことがある。

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

http://opalrb.org/docs/guides/v0.10.1/compiled_ruby.html
この辺り見るといままで使ったことない機能とかあるので一通り使ってみる。

Contributor

youchan commented Sep 24, 2016

http://opalrb.org/docs/guides/v0.10.1/compiled_ruby.html
この辺り見るといままで使ったことない機能とかあるので一通り使ってみる。

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

そういえば、opal-replでパースエラーするとrepl毎落ちるの困る

Contributor

youchan commented Sep 24, 2016

そういえば、opal-replでパースエラーするとrepl毎落ちるの困る

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

nil is compiled to a nil javascript variable. nil is a real object which allows methods to be called on it.

>> nil.class
=> NilClass

NilClassのオブジェクトだった

Contributor

youchan commented Sep 24, 2016

nil is compiled to a nil javascript variable. nil is a real object which allows methods to be called on it.

>> nil.class
=> NilClass

NilClassのオブジェクトだった

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

Because true and false compile to their native javascript equivalents, they must share the same class: Boolean.

>> true.class
=> Boolean

Booleanクラス!

Contributor

youchan commented Sep 24, 2016

Because true and false compile to their native javascript equivalents, they must share the same class: Boolean.

>> true.class
=> Boolean

Booleanクラス!

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor
<<-EOS            # => "\nHello there.\n"
Hello there.
EOS

ヒアドキュメントは最初の改行は含まないのでドキュメントの間違いのよう

Contributor

youchan commented Sep 24, 2016

<<-EOS            # => "\nHello there.\n"
Hello there.
EOS

ヒアドキュメントは最初の改行は含まないのでドキュメントの間違いのよう

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor
1/3 # => 0.3333333333333333

なのは既知の問題
opal/opal#748
これを直したい気持ちがある

Contributor

youchan commented Sep 24, 2016

1/3 # => 0.3333333333333333

なのは既知の問題
opal/opal#748
これを直したい気持ちがある

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

Logic and conditionals

コンパイル結果違っていた

  val = 42;
  if (val !== false && val !== nil && val != null) {
    return 3.142
    } else {
    return nil
  };
Contributor

youchan commented Sep 24, 2016

Logic and conditionals

コンパイル結果違っていた

  val = 42;
  if (val !== false && val !== nil && val != null) {
    return 3.142
    } else {
    return nil
  };
@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

Instance variables

/* Generated by Opal 0.10.2 */
(function(Opal) {
  var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice;
  if (self.foo == null) self.foo = nil;

  return self.foo
})(Opal);

thisでなくOpal.topを使うようになっている?

Contributor

youchan commented Sep 24, 2016

Instance variables

/* Generated by Opal 0.10.2 */
(function(Opal) {
  var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice;
  if (self.foo == null) self.foo = nil;

  return self.foo
})(Opal);

thisでなくOpal.topを使うようになっている?

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

Compiled Files

/* Generated by Opal 0.10.2 */
(function(Opal) {
  var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice;

  Opal.add_stubs(['$puts']);
  return self.$puts("foo")
})(Opal);

$opal -> Opal

Contributor

youchan commented Sep 24, 2016

Compiled Files

/* Generated by Opal 0.10.2 */
(function(Opal) {
  var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice;

  Opal.add_stubs(['$puts']);
  return self.$puts("foo")
})(Opal);

$opal -> Opal

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

祝、初PR 🎉
opal/opal#1566

Contributor

youchan commented Sep 24, 2016

祝、初PR 🎉
opal/opal#1566

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 24, 2016

Contributor

#118 (comment)
クラスの中ではthis使うようになっていたので 🙆

Contributor

youchan commented Sep 24, 2016

#118 (comment)
クラスの中ではthis使うようになっていたので 🙆

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan
Contributor

youchan commented Sep 24, 2016

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 25, 2016

Contributor

ブログ書きました。
http://blog.youchan.org/2016-09-26

Contributor

youchan commented Sep 25, 2016

ブログ書きました。
http://blog.youchan.org/2016-09-26

@kou

This comment has been minimized.

Show comment
Hide comment
@kou

kou Sep 26, 2016

Member

役に立つ時間になったようでよかったです!

11月26日の回はメンターとして参加してみませんか!?他の人(ビギナー相当の人)にも同じような経験をしてもらえるといいなぁと思っています!そのためにメンターが必要なのです!

Member

kou commented Sep 26, 2016

役に立つ時間になったようでよかったです!

11月26日の回はメンターとして参加してみませんか!?他の人(ビギナー相当の人)にも同じような経験をしてもらえるといいなぁと思っています!そのためにメンターが必要なのです!

@youchan

This comment has been minimized.

Show comment
Hide comment
@youchan

youchan Sep 26, 2016

Contributor

はい。では次はメンターで参加します。 🙆

Contributor

youchan commented Sep 26, 2016

はい。では次はメンターで参加します。 🙆

@kou

This comment has been minimized.

Show comment
Hide comment
@kou

kou Sep 26, 2016

Member

さすがです!

Member

kou commented Sep 26, 2016

さすがです!

@tdtds tdtds closed this Nov 25, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment