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
210
Agile的学習方法
基礎研究をやって0->1 をやる場合は、確かに開発より先に基礎だと思います。
とはいえ、基礎研究を役立てる訳じゃないパターンの人までそれというは...的な内容でした。
kanayannet
June 03, 2023
Tweet
Share
More Decks by kanayannet
See All by kanayannet
FW と ライブラリ の考え方
kanayannet
0
130
TDDと今まで
kanayannet
0
340
個人開発 稼げなくてもいいアプリ
kanayannet
0
420
システムの堅牢性
kanayannet
0
210
GUIをエンジニアが考える
kanayannet
0
180
http2http3
kanayannet
0
130
old typeからのクラウドインフラ
kanayannet
0
320
疎結合と認知
kanayannet
0
340
クリーンアーキテクチャを活かす考察
kanayannet
1
230
Other Decks in Programming
See All in Programming
データサイエンスのフルサイクル開発を実現する機械学習パイプライン
xcnkx
2
450
API Platform for Laravel
dunglas
1
1.2k
上手に付き合うコンポーネントテスト
quramy
3
1.2k
Composing an API the *right* way (Droidcon New York 2024)
zsmb
2
540
AWS Lambda Web Adapterを活用する新しいサーバーレスの実装パターン
tmokmss
6
5.4k
App Router 悲喜交々
quramy
7
370
グローバルなソフトウェアテスト組織における課題と戦略 / Challenges and Strategies in a Global Software Testing Organization #mf_techday
imtnd
0
220
Делим тесты между QA и разработчиком
mariyasaygina
0
460
ファーストペンギンBot @Qiita Hackathon 2024 予選
dyson_web
0
210
Flutterアプリを生成AIで生成する勘所
rizumita
0
240
Micro Frontends for Java Microservices - dev2next 2024
mraible
PRO
0
180
コードレビューと私の過去と未来
jxmtst
0
150
Featured
See All Featured
Side Projects
sachag
452
42k
BBQ
matthewcrist
84
9.2k
Into the Great Unknown - MozCon
thekraken
30
1.4k
Typedesign – Prime Four
hannesfritz
39
2.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
26
4k
KATA
mclloyd
27
13k
The Cost Of JavaScript in 2023
addyosmani
43
5.8k
How GitHub Uses GitHub to Build GitHub
holman
473
290k
Building Your Own Lightsaber
phodgson
102
6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
Rails Girls Zürich Keynote
gr2m
93
13k
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