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
240
"ぼくのかんがえたさいきょうの"勉強法
Yusuke Inai
August 16, 2022
Tweet
Share
More Decks by Yusuke Inai
See All by Yusuke Inai
人よりアウトプットができるようになるためのコツ
youliangdao
0
58
Next.jsから見る Webフロントエンドの歴史
youliangdao
0
350
SaaSスタートアップで3ヶ月働いてみて感じた現実(リアル)
youliangdao
0
220
個人開発で挫折する人を救いたい
youliangdao
1
2.1k
Qiitaでバズりやすい記事の書き方を伝授する
youliangdao
0
2k
React って本当に使う意味あるの? 〜SPA と React の「キホン」の「キ」〜
youliangdao
1
150
PumaとUnicornって結局何なん!?
youliangdao
0
280
低レイヤへの誘い
youliangdao
0
170
RSA暗号から学ぶ公開鍵暗号の仕組み
youliangdao
1
170
Other Decks in Programming
See All in Programming
オブジェクト指向は必要なのか / Is object-oriented needed?
kishida
27
18k
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
4
2.7k
Laravel OpenAPIによる"辛くない"スキーマ駆動開発
kentaroutakeda
2
2.1k
Parallel Socket Communication in Swift
s_shimotori
0
210
object-oriented-conference-2024
fuwasegu
6
1.4k
「コンパイル時のユニットテスト」導入するとユニットテストを 書かなくてよくなるのか?
tomohisa
9
2.1k
Laravel標準バリデーションでできること
hmb_ok
2
360
上手な探索的テストとその上達方法について
matsu802
4
650
Go1.22からの疑似乱数生成器について/go-122-pseudo-random-generator
convto
1
160
WebComponentsで フレームワークを1ページに共存させる
webuilder240
0
150
もうすぐ新年度、Babylon.jsがお勧めな3個の理由
hideg
0
160
AppDeveloperCon 2024 EU: Building polyglot developer experiences in 2024
salaboy
0
370
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
91
13k
Web development in the modern age
philhawksworth
201
10k
Automating Front-end Workflow
addyosmani
1353
200k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
A Philosophy of Restraint
colly
195
15k
Embracing the Ebb and Flow
colly
78
4.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
1.9k
Designing with Data
zakiwarfel
94
4.8k
What's in a price? How to price your products and services
michaelherold
236
11k
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
The Cult of Friendly URLs
andyhume
72
5.6k
Web Components: a chance to create the future
zenorocha
304
41k
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について)