Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Agile的学習方法

 Agile的学習方法

基礎研究をやって0->1 をやる場合は、確かに開発より先に基礎だと思います。
とはいえ、基礎研究を役立てる訳じゃないパターンの人までそれというは...的な内容でした。

kanayannet

June 03, 2023
Tweet

More Decks by kanayannet

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  5. 昔の技術
    ?
    BBS
    CGI or
    素のPHP

    View Slide

  6. 懐かしいでしょ?

    View Slide

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

    View Slide

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

    View Slide

  9. 何を
    ?
    BBS

    View Slide

  10. 実は

    View Slide

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

    View Slide


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

    View Slide

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

    View Slide


  14. 2
    C
    言語 or Java
    RDB
    mysql

    View Slide

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

    View Slide


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

    View Slide

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

    View Slide


  18. 4(

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

    View Slide

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

    View Slide

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

    View Slide


  21. Easy
    」でもいいじゃん

    View Slide

  22. ここで終わり
    ?

    View Slide

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

    View Slide

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

    View Slide

  25. RDB(MySQL)

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

    View Slide

  26. ここでお終い
    ?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  36. View Slide