Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Agile的学習方法
Search
kanayannet
June 03, 2023
Programming
0
280
Agile的学習方法
基礎研究をやって0->1 をやる場合は、確かに開発より先に基礎だと思います。
とはいえ、基礎研究を役立てる訳じゃないパターンの人までそれというは...的な内容でした。
kanayannet
June 03, 2023
Tweet
Share
More Decks by kanayannet
See All by kanayannet
無関心の谷
kanayannet
0
180
生成AIの使いどころ
kanayannet
0
150
github copilot と 心理的安全性
kanayannet
0
190
FW と ライブラリ の考え方
kanayannet
0
220
TDDと今まで
kanayannet
0
540
個人開発 稼げなくてもいいアプリ
kanayannet
0
510
システムの堅牢性
kanayannet
0
290
GUIをエンジニアが考える
kanayannet
0
250
http2http3
kanayannet
0
190
Other Decks in Programming
See All in Programming
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
210
生成AIで日々のエラー調査を進めたい
yuyaabo
0
600
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
290
関数型まつりレポート for JuliaTokai #22
antimon2
0
120
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
510
実践ArchUnit ~実例による検証パターンの紹介~
ogiwarat
2
270
Select API from Kotlin Coroutine
jmatsu
1
170
SODA - FACT BOOK
sodainc
1
1k
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
120
プロダクト開発でも使おう 関数のオーバーロード
yoiwamoto
0
150
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
290
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.7k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
It's Worth the Effort
3n
184
28k
Agile that works and the tools we love
rasmusluckow
329
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
910
Site-Speed That Sticks
csswizardry
10
640
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Making Projects Easy
brettharned
116
6.2k
Speed Design
sergeychernyshev
31
1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Transcript
Agile 的学習方法 Gunma.web #49 @kanayannet
前提 学習方法を学習する話 すごい技術の話じゃない だがしかし「重要」です 単純な段取りの話でもない
今回の対象 自分の学習方法を見直したい方 初学者をマネジメントする役割の方 昔の技術が好きな方
対象外 「即戦力」「案件丸投げ」可能な人材 ほっといても「勉強してくる」人材 知識を「一気」に頭に詰め込みたい方
昔の技術 ? BBS CGI or 素のPHP
懐かしいでしょ?
解った方は同年齢かそれ以上
お題 プログラミングは出来る 開発は経験ない この前提の方にどういう順番で教えるか?
何を ? BBS
実は
重要な要素を揃えている 一覧表示機能 新規書込 対象指定して削除 対象を指定して表示 対象の記事を編集
例 1 Frame Work Ruby on Rails Lambda http api
Express etc.. RDB Amazon aurora: mysql
どうなりやすいか? 作法だけで頭が一杯一杯 開発どころではない SQL を覚えるまでに心が折れる
例 2 C 言語 or Java RDB mysql
どうなりやすいか? 言語で苦戦はあまりない 大学や専門学校でやってる事多い しかし...HTTP server と言語を紐づけるところで 躓く RDB つまづく レコードとカラムの概念に不慣れ
SQL??
例 4 レコードとカラムの概念を教える text ファイルでいいよ RDB 使わない 言語も「LL 」を何かしら教えて Python,
Ruby, Perl 慣れるまで待つ 文法にや実行速度に違いはあるが... 「必要な機能」で足りないものはない
どうなるか? 実装の際のイメージは湧く 疑似コードは書ける状態 実行環境整はまだイメージ沸かない
例 4( 続 ) Docker コンテナで Amazon Linux 入れるレクチャ ー会
HTTP Server 立てる Apache で構わない chmod の概念を教える 読み, 書き, 実行 何らかのLL で実装しようと提案 CGI で構わない 言語の path をファイルの先頭で定義するだけ #!/usr/bin/....
どうなるか? 立ち止まりはするが「つまずいて止まらない」 ゆっくりだが確実に進む 最後まで行く
謙虚に考える 人間「一気」には無理 一つ一つ覚える方が Easy Simple と Easy 違うっていうけど...
「 Easy 」でもいいじゃん
ここで終わり ?
SQL をレクチャー Docker: mysql 公式イメージで立ち上げる MySQL client を install する
基本的な構文を教える insert, update, delete, select where, order by, limit, offset しばらくデータを色々入れてもらって... 「遊んで」もらう
LL と繋げ方をレクチャー 端末に LL の MySQL Library を install LL
から基本構文で「遊んで」もらう
RDB(MySQL) と CGI を紐づける ここまで来れば自力でやれちゃう text ファイルから卒業おめでとう!
ここでお終い ?
デザインパターン いきなり難しい奴とかやらない MVC で十分 CGI ファイル = コントローラ 下記は別途ライブラリファイルで名前空間切っ て分ける
Model View
どうなるか ? Model のライブラリ関数に全部引数渡しする 悪いんじゃないだが...
オブジェクト指向を教える インスタンス変数があるよ これ使えば関数の() 内に引数渡しにせずともやれ るよ (...) だけで数行使う問題解決
ここまで来ると ... 基本的なデータ設計 -> OK RDB の基本操作 -> OK OO
での実装およびライブラリ設計 -> OK 自分で「とりあえず動くBBS 」を作れる
もっと 教えたい事あるんだけど詰め込みすぎ ここまでだけでも 2-3 週間は慣れながらだとかか るはず FW もこれをやってからだと「本当の価値」に気 づける
教育機関に言いたい事 プログラミングは出来るけど... 開発経験ない人多いんでない? 教えていると凄く「残念」な気持ちになる なぜなら...
「一番重要」で「一番楽しい」 おろそかにしてしまってカリキュラム消化するだ けになってない? 俺だけかな?この感想を持つのは?
まとめ 教えたい( 覚えたい) 事が一杯あるけど... 詰め込みすぎは要注意 順番守った方が結局覚えるの早い FW やRDB の「価値」にも気づける 他の学習必要なものも同じでは?
確実に「進んでいる感」大事 ちょっとづつでもね 「楽しい」よ?
ご清聴 ありがとうございました。
None