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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  6. 懐かしいでしょ?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide


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

    View full-size slide

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

    View full-size slide


  12. 2
    C
    言語 or Java
    RDB
    mysql

    View full-size slide

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

    View full-size slide


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

    View full-size slide

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

    View full-size slide


  16. 4(

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide


  19. Easy
    」でもいいじゃん

    View full-size slide

  20. ここで終わり
    ?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  23. RDB(MySQL)

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

    View full-size slide

  24. ここでお終い
    ?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide