Skip to content

Commit 3de97aa

Browse files
[ci] generate question examples
1 parent e178295 commit 3de97aa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+179
-0
lines changed

public/docs/ruby/11-metaprogramming/1-0-dynamic.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
id: ruby-metaprogramming-dynamic
33
title: Rubyの動的な性質
44
level: 2
5+
question:
6+
- Rubyが動的な言語であるとは具体的にどういう意味ですか。
7+
- クラスが実行中に変更可能とはどういうことですか。
8+
- オープンクラスの具体例をもう少し詳しく教えてください。
9+
- 実行時とコンパイル時の違いを具体的に説明してください。
10+
- DRY原則やDSLとメタプログラミングはどのように関連しますか。
511
---
612

713
## Rubyの動的な性質

public/docs/ruby/11-metaprogramming/2-0-send.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
id: ruby-metaprogramming-send
33
title: 'send: メソッドを動的に呼び出す'
44
level: 2
5+
question:
6+
- sendメソッドはなぜ必要なのですか、通常のドット呼び出しと何が違いますか。
7+
- メソッド名をシンボルと文字列で渡すのはどちらが良いですか、違いはありますか。
8+
- 演算子もメソッドとはどういうことですか、他の演算子もsendで呼び出せますか。
9+
- sendとpublic_sendの違いをもう少し詳しく教えてください。
10+
- public_sendを使う方が安全なのはなぜですか。
511
---
612

713
## `send`: メソッドを動的に呼び出す

public/docs/ruby/11-metaprogramming/3-0-define-method.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
id: ruby-metaprogramming-define-method
33
title: 'define_method: メソッドを動的に定義する'
44
level: 2
5+
question:
6+
- define_methodはどのような場面で使うのが適切ですか。
7+
- define_methodの第2引数に渡すブロック(ProcやLambda)について詳しく教えてください。
8+
- 似たようなメソッドを多数定義する必要がある場合とは具体的にどのようなケースですか。
9+
- 定義されたメソッド内で使われているprefixやtargetはどこから来る変数ですか。
10+
- define_methodで定義したメソッドのスコープはどのようになりますか。
511
---
612

713
## `define_method`: メソッドを動的に定義する

public/docs/ruby/11-metaprogramming/4-0-method-missing.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
id: ruby-metaprogramming-method-missing
33
title: 'method_missing: 存在しないメソッドへの応答'
44
level: 2
5+
question:
6+
- method_missingはなぜ特別なメソッドなのですか。
7+
- NoMethodErrorが発生する前に呼び出されるとはどういうことですか。
8+
- superを呼び出すのはどういう意味ですか、どのような時に使うべきですか。
9+
- respond_to_missing?はなぜ必要なのですか、定義しないとどうなりますか。
10+
- method_missingをオーバーライドすると、実際のアプリケーションでどのようなメリットがありますか。
511
---
612

713
## `method_missing`: 存在しないメソッドへの応答

public/docs/ruby/11-metaprogramming/5-0-rails-example.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
id: ruby-metaprogramming-rails-example
33
title: Railsなどでの活用例
44
level: 2
5+
question:
6+
- RailsのActive Recordでfind_by_emailのようなメソッドがどのように動的に生成されるのか、もう少し詳しく教えてください。
7+
- has_manyやbelongs_toがdefine_methodを使っているとは具体的にどういうことですか。
8+
- Railsの「魔法」の多くを支えるとは、具体的にどんな「魔法」のことですか。
9+
- メタプログラミングを使わない場合、Railsのようなフレームワークのコードはどのように変わりますか。
510
---
611

712
## Railsなどでの活用例

public/docs/ruby/11-metaprogramming/6-0-summary.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: ruby-metaprogramming-summary
33
title: ⚡ この章のまとめ
44
level: 2
5+
question:
6+
- メタプログラミングがコードの構造を操作するとは具体的にどういうことですか。
7+
- メタプログラミングがコードの可読性やデバッグの難易度を上げるのはなぜですか。
8+
- メタプログラミングの「乱用は避ける」とは、具体的にどのような状況を指しますか。
59
---
610

711
## ⚡ この章のまとめ

public/docs/ruby/11-metaprogramming/6-1-practice1.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
id: ruby-metaprogramming-practice1
33
title: '練習問題1: 動的アクセサ'
44
level: 3
5+
question:
6+
- ゲッターとセッターを動的に定義するとは、具体的にどのようなコードを書くのですか。
7+
- attr_readerやattr_writerと、このmy_attr_accessorは何が違うのですか。
8+
- インスタンス変数である`@name`や`@age`を動的に読み書きするにはどうすれば良いですか。
9+
- '`extend DynamicAccessor`はなぜ必要なのですか。'
510
---
611

712
### 練習問題1: 動的アクセサ

public/docs/ruby/11-metaprogramming/6-2-practice2.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
id: ruby-metaprogramming-practice2
33
title: '練習問題2: シンプルな設定オブジェクト'
44
level: 3
5+
question:
6+
- ハッシュのように動作するとは、具体的にどのような振る舞いをさせたいのですか。
7+
- '`config.api_key = "12345"`のように値を設定する部分をmethod_missingでどのように実装しますか。'
8+
- '`config.api_key`で値を取得する部分をmethod_missingでどのように実装しますか。'
9+
- 設定されていないキーを呼び出した場合にnilを返すにはどうすれば良いですか。
10+
- respond_to_missing?を`true`にするのはなぜですか。
511
---
612

713
### 練習問題2: シンプルな設定オブジェクト

public/docs/rust/0-intro/1-0-features.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
id: rust-intro-features
33
title: Rustの特徴:なぜ学ぶのか?
44
level: 2
5+
question:
6+
- Rustを学ぶとどのようなメリットがありますか?
7+
- 「トレードオフを解消する」言語とは具体的にどういう意味ですか?
8+
- 他のプログラミング言語と比べてRustはどんな点が特徴的ですか?
59
---
610

711
## Rustの特徴:なぜ学ぶのか?

public/docs/rust/0-intro/1-1-memory-safety.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
id: rust-intro-memory-safety
33
title: 1. メモリ安全性(Memory Safety)
44
level: 3
5+
question:
6+
- 所有権とは何ですか?
7+
- ガベージコレクタがないのに、どうやってメモリを管理しているのですか?
8+
- ダングリングポインタや二重解放、バッファオーバーフローとは具体的に何ですか?
9+
- ランタイムコストなしに、とはどういうことですか?
510
---
611

712
### 1\. メモリ安全性(Memory Safety)

0 commit comments

Comments
 (0)