Slide 1

Slide 1 text

Agile 的学習方法 Gunma.web #49 @kanayannet

Slide 2

Slide 2 text

前提 学習方法を学習する話 すごい技術の話じゃない だがしかし「重要」です 単純な段取りの話でもない

Slide 3

Slide 3 text

今回の対象 自分の学習方法を見直したい方 初学者をマネジメントする役割の方 昔の技術が好きな方

Slide 4

Slide 4 text

対象外 「即戦力」「案件丸投げ」可能な人材 ほっといても「勉強してくる」人材 知識を「一気」に頭に詰め込みたい方

Slide 5

Slide 5 text

昔の技術 ? BBS CGI or 素のPHP

Slide 6

Slide 6 text

懐かしいでしょ?

Slide 7

Slide 7 text

解った方は同年齢かそれ以上

Slide 8

Slide 8 text

お題 プログラミングは出来る 開発は経験ない この前提の方にどういう順番で教えるか?

Slide 9

Slide 9 text

何を ? BBS

Slide 10

Slide 10 text

実は

Slide 11

Slide 11 text

重要な要素を揃えている 一覧表示機能 新規書込 対象指定して削除 対象を指定して表示 対象の記事を編集

Slide 12

Slide 12 text

例 1 Frame Work Ruby on Rails Lambda http api Express etc.. RDB Amazon aurora: mysql

Slide 13

Slide 13 text

どうなりやすいか? 作法だけで頭が一杯一杯 開発どころではない SQL を覚えるまでに心が折れる

Slide 14

Slide 14 text

例 2 C 言語 or Java RDB mysql

Slide 15

Slide 15 text

どうなりやすいか? 言語で苦戦はあまりない 大学や専門学校でやってる事多い しかし...HTTP server と言語を紐づけるところで 躓く RDB つまづく レコードとカラムの概念に不慣れ SQL??

Slide 16

Slide 16 text

例 4 レコードとカラムの概念を教える text ファイルでいいよ RDB 使わない 言語も「LL 」を何かしら教えて Python, Ruby, Perl 慣れるまで待つ 文法にや実行速度に違いはあるが... 「必要な機能」で足りないものはない

Slide 17

Slide 17 text

どうなるか? 実装の際のイメージは湧く 疑似コードは書ける状態 実行環境整はまだイメージ沸かない

Slide 18

Slide 18 text

例 4( 続 ) Docker コンテナで Amazon Linux 入れるレクチャ ー会 HTTP Server 立てる Apache で構わない chmod の概念を教える 読み, 書き, 実行 何らかのLL で実装しようと提案 CGI で構わない 言語の path をファイルの先頭で定義するだけ #!/usr/bin/....

Slide 19

Slide 19 text

どうなるか? 立ち止まりはするが「つまずいて止まらない」 ゆっくりだが確実に進む 最後まで行く

Slide 20

Slide 20 text

謙虚に考える 人間「一気」には無理 一つ一つ覚える方が Easy Simple と Easy 違うっていうけど...

Slide 21

Slide 21 text

「 Easy 」でもいいじゃん

Slide 22

Slide 22 text

ここで終わり ?

Slide 23

Slide 23 text

SQL をレクチャー Docker: mysql 公式イメージで立ち上げる MySQL client を install する 基本的な構文を教える insert, update, delete, select where, order by, limit, offset しばらくデータを色々入れてもらって... 「遊んで」もらう

Slide 24

Slide 24 text

LL と繋げ方をレクチャー 端末に LL の MySQL Library を install LL から基本構文で「遊んで」もらう

Slide 25

Slide 25 text

RDB(MySQL) と CGI を紐づける ここまで来れば自力でやれちゃう text ファイルから卒業おめでとう!

Slide 26

Slide 26 text

ここでお終い ?

Slide 27

Slide 27 text

デザインパターン いきなり難しい奴とかやらない MVC で十分 CGI ファイル = コントローラ 下記は別途ライブラリファイルで名前空間切っ て分ける Model View

Slide 28

Slide 28 text

どうなるか ? Model のライブラリ関数に全部引数渡しする 悪いんじゃないだが...

Slide 29

Slide 29 text

オブジェクト指向を教える インスタンス変数があるよ これ使えば関数の() 内に引数渡しにせずともやれ るよ (...) だけで数行使う問題解決

Slide 30

Slide 30 text

ここまで来ると ... 基本的なデータ設計 -> OK RDB の基本操作 -> OK OO での実装およびライブラリ設計 -> OK 自分で「とりあえず動くBBS 」を作れる

Slide 31

Slide 31 text

もっと 教えたい事あるんだけど詰め込みすぎ ここまでだけでも 2-3 週間は慣れながらだとかか るはず FW もこれをやってからだと「本当の価値」に気 づける

Slide 32

Slide 32 text

教育機関に言いたい事 プログラミングは出来るけど... 開発経験ない人多いんでない? 教えていると凄く「残念」な気持ちになる なぜなら...

Slide 33

Slide 33 text

「一番重要」で「一番楽しい」 おろそかにしてしまってカリキュラム消化するだ けになってない? 俺だけかな?この感想を持つのは?

Slide 34

Slide 34 text

まとめ 教えたい( 覚えたい) 事が一杯あるけど... 詰め込みすぎは要注意 順番守った方が結局覚えるの早い FW やRDB の「価値」にも気づける 他の学習必要なものも同じでは? 確実に「進んでいる感」大事 ちょっとづつでもね 「楽しい」よ?

Slide 35

Slide 35 text

ご清聴 ありがとうございました。

Slide 36

Slide 36 text

No content