Slide 1

Slide 1 text

1 クイズを作ってPHPに親しむ 中山 慶祐 (やんまー)/ GMO PEPABO inc. 2023.03.23 PHPerKaigi2023 LT

Slide 2

Slide 2 text

2 自己紹介 やんまー @yammerjp

Slide 3

Slide 3 text

GMOペパボ株式会社 EC事業部 2021年 新卒入社 3 自己紹介 PHP歴2年目 SoftwareDesignで「開発環境 探求の道」連載中 中山 慶祐 / やんまー (@yammerjp)

Slide 4

Slide 4 text

4 今日は PHPクイズを作った話 をします

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

6 PHP Conference 2022 にて クイズを出題

Slide 7

Slide 7 text

7 出題例: 次のコードの実行結果は? PHPクイズとは bool(true) bool(true) bool(true) 1

Slide 8

Slide 8 text

8 出題例: 次のコードの実行結果は? PHPクイズとは

Slide 9

Slide 9 text

9 クイズを解くのは 面白いですよね PHPクイズとは

Slide 10

Slide 10 text

10 クイズを作ると何がいいのか

Slide 11

Slide 11 text

11 クイズを作ると クイズを作ると何がいいのか

Slide 12

Slide 12 text

12 クイズを作ると PHPの仕様を知れる クイズを作ると何がいいのか

Slide 13

Slide 13 text

13 クイズを作ると みんなPHPが好きだとわかる クイズを作ると何がいいのか 注: 個人の感想です

Slide 14

Slide 14 text

14 クイズを作ると PHPに親しめる クイズを作ると何がいいのか

Slide 15

Slide 15 text

15 クイズを作るコツ

Slide 16

Slide 16 text

16 1.ネタを集める クイズを作るコツ

Slide 17

Slide 17 text

17 - 業務中に話題になったPHPの標準関数をメモ 1.ネタを集める クイズを作るコツ

Slide 18

Slide 18 text

18 - 業務中に話題になったPHPの標準関数をメモ - PHPerの登壇資料を探検 1.ネタを集める クイズを作るコツ

Slide 19

Slide 19 text

19 - 業務中に話題になったPHPの標準関数をメモ - PHPerの登壇資料を探検 - PHPマニュアルをランダムに開いて読む 1.ネタを集める クイズを作るコツ

Slide 20

Slide 20 text

20 - 業務中に話題になったPHPの標準関数をメモ - PHPerの登壇資料を探検 - PHPマニュアルをランダムに開いて読む - 社内のPHPerから募る 1.ネタを集める クイズを作るコツ

Slide 21

Slide 21 text

21 色んな人が参加できるよう、簡単、普通、難問を作る 簡単: PHPをあまり知らなくても解ける 普通: PHPerによく知られた話題 難問: ライブラリのコードに触れる人ならば知っている /人間が   覚えていないような細かな挙動 2.難易度を調整 クイズを作るコツ 注: 個人の感想です

Slide 22

Slide 22 text

22 出題例(簡単): PHPの開始タグは? クイズを作るコツ (難易度を調整) 1 3 4 2

Slide 23

Slide 23 text

23 出題例(簡単): PHPの開始タグは? クイズを作るコツ (難易度を調整)

Slide 24

Slide 24 text

24 出題例(簡単): PHPのマスコットキャラクターは? クイズを作るコツ (難易度を調整) dolPHPin (イルカ) PHPeasant (キジ) elePHPant (ゾウ) ePHPemera (カゲロウ) 1 2 4 3

Slide 25

Slide 25 text

25 出題例(簡単): PHPのマスコットキャラクターは? クイズを作るコツ (難易度を調整) elePHPant (ゾウ) 2 解説: https://tech.pepabo.com/2022/10/05/php-conference-japan-2022-quiz/

Slide 26

Slide 26 text

26 出題例(普通): 次の実行結果は? クイズを作るコ (難易度を調整) bool(true) bool(true) bool(true) 1

Slide 27

Slide 27 text

27 出題例(難問): $valの値は? クイズを作るコツ (難易度を調整) "a", " 0"=> "b", "01" => "c", null => "d", "e", true => "f", false => "g", ])); 5 1 6 2 7 3 null 4

Slide 28

Slide 28 text

28 出題例(難問): $valの値は? クイズを作るコツ (難易度を調整) "a", " 0"=> "b", "01" => "c", null => "d", "e", true => "f", false => "g", ])); 5 1 解説: https://tech.pepabo.com/2022/10/05/php-conference-japan-2022-quiz/

Slide 29

Slide 29 text

29 色んな人が参加できるよう、簡単、普通、難問を作る 簡単: PHPをあまり知らなくても解ける 普通: PHPerによく知られた話題 難問: ライブラリのコードに触れる人ならば知っている /人間が   覚えていないような細かな挙動 2.難易度を調整 クイズを作るコツ 注: 個人の感想です

Slide 30

Slide 30 text

30 ① 四択形式にする … 別解を避ける ② 信頼できる出典元から出題 … 公式ドキュメントや実行結果 → クイズを成立させ、納得感のある問題にする 3.答えの裏付け クイズを作るコツ

Slide 31

Slide 31 text

クイズを作るコツ 31 答えの 裏付け 難易度 を調整 ネタを 集める 31 クイズを作るコツ

Slide 32

Slide 32 text

32 まとめ

Slide 33

Slide 33 text

33 クイズを作ってPHPに親しもう まとめ クイズを解くことにも学びがある クイズを作ることにも学びがある

Slide 34

Slide 34 text

34 おまけ

Slide 35

Slide 35 text

35 問題: 次のコードの出力は? おまけ PHP7.4では1 PHP8.0では2 1

Slide 36

Slide 36 text

36 問題: 次のコードの出力は? おまけ