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
"ぼくのかんがえたさいきょうの"勉強法
Search
Yusuke Inai
August 16, 2022
Programming
0
310
"ぼくのかんがえたさいきょうの"勉強法
Yusuke Inai
August 16, 2022
Tweet
Share
More Decks by Yusuke Inai
See All by Yusuke Inai
で、エンジニアになって1年経ったけどどう?
youliangdao
1
240
人よりアウトプットができるようになるためのコツ
youliangdao
0
140
Next.jsから見る Webフロントエンドの歴史
youliangdao
1
860
SaaSスタートアップで3ヶ月働いてみて感じた現実(リアル)
youliangdao
0
390
個人開発で挫折する人を救いたい
youliangdao
1
3k
Qiitaでバズりやすい記事の書き方を伝授する
youliangdao
0
3k
React って本当に使う意味あるの? 〜SPA と React の「キホン」の「キ」〜
youliangdao
1
200
PumaとUnicornって結局何なん!?
youliangdao
0
670
低レイヤへの誘い
youliangdao
0
240
Other Decks in Programming
See All in Programming
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
200
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
250
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
140
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
480
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
390
103 Early Hints
sugi_0000
1
230
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
Amazon S3 NYJavaSIG 2024-12-12
sullis
0
100
Zoneless Testing
rainerhahnekamp
0
120
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
220
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
Code Review Best Practice
trishagee
65
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Thoughts on Productivity
jonyablonski
67
4.4k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
450
Being A Developer After 40
akosma
87
590k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Mobile First: as difficult as doing things right
swwweet
222
9k
Typedesign – Prime Four
hannesfritz
40
2.4k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Transcript
〜1度は真剣に考えてみたい再発明の意義〜 "ぼくのかんがえたさいきょうの"勉強法 2022.8.16 勉強法Tips
自己紹介 1 結論(「••」型勉強法) 2 「••」のメリット 4 「••は無駄だ」の落とし穴 3 注意点 5
目次 おまけ(Rackについて) 6
1 自己紹介
・稲井友亮 ・25歳 ・RUNTEQ34期生 ・医者目指してた ・低レイヤ大好き
None
2 結論
「車輪再発明」型 勉強法
is 何?
車輪の再発明(しゃりんのさいはつめい)とは、「広く受け入れら れ確立されている技術や解決法を(知らずに、または意図的に無視 して)再び一から作ること」を指すための慣用句。誰でも直観的に その意味が分かるように、車輪という誰でも知っていて古くから広 く使われている既存の技術を比喩の題材として使った慣用表現で、 世界中で使われている。 引用元:Wikipedia
引用元:Why it’s Okay to Reinvent the Wheel
None
評判悪い
これホンマなん?
None
3 「車輪の再発明は無駄だ」 の落とし穴
「開発」と「学習」の差 開発 学習 1からライブラリやパッケージ作るのは アホ。時間の無駄。 1から作ってみるの本当に無駄?
※時と場合による
4 「車輪の再発明」 メリット
自作CPU ブレッドボード上 1からパーツ集め る 自作コンパイラ 独自コンパイラ Cコンパイラ (挫折) 自作OS HariboteOS
めちゃむずい 自作フレーム ワーク Rack仕様 GETリクエストの み対応 VCのみ ぼくのさいはつめいしたもの
得た知識を横展開で きる 作ったものに対する 理解が深まる ⒈ ⒉ メリット
得た知識を横展開で きる 作ったものに対する 理解が深まる ⒈ ⒉ メリット
(M)VC ルーティング レンダリング DSL Rack Rubyフレームワークの場合... ⒈理解深まる
得た知識を横展開で きる 作ったものに対する 理解が深まる ⒈ ⒉ メリット
オブジェクトが何なのか? 値渡し、参照の値渡し インスタンス 変数(ローカル変数、インスタンス変数) JavaScriptのthisという概念 ⒉横展開できる
5 注意点
今やる必要ある? 時間がかかる ⒈ ⒉ デメリット(問題点)
今やる必要ある? 時間がかかる ⒈ ⒉ デメリット(問題点)
Rubyプログラムをサーバ上でどう動かせ るのか調べる(CGI) RubyでHTTP通信する方法 (Net::HTTP) WebサーバをRubyで作ってみる (WEBrick、Socketライブラリ) Rackについて調べる Rubyフレームワークの自作の場合... ⒈時間かかる...
今やる必要ある? 時間がかかる ⒈ ⒉ デメリット(問題点)
カリキュラムでほとんど役に立たない! フェッチ→デコード→実行...いらん! NANDゲート、ANDゲート...いらん! 機械語、アセンブリ言語...いら(略) CPU自作の場合... ⒉今やる必要ある?
アプリケーション Rails/Sinatra... Rack アプリケーションサーバ (Unicorn、Puma...) OS コンピュータ CPU/メモリ etc... IC/LSI
トランジスタ Webブラウザ OS コンピュータ CPU/メモリ etc... IC/LSI トランジスタ HTTP Webサーバ HTTP通信 クライアント TCP IP イーサネット
目的から逆算した上で、再発明すべきもの なのか考える。興味本位で再発明すると時 間が無駄になることもある。 再発明すべきか 考える
ありがとうございます times_34期生_inai_yusuke
6 おまけ (Rackについて)