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
360
"ぼくのかんがえたさいきょうの"勉強法
Yusuke Inai
August 16, 2022
Tweet
Share
More Decks by Yusuke Inai
See All by Yusuke Inai
で、エンジニアになって1年経ったけどどう?
youliangdao
1
300
人よりアウトプットができるようになるためのコツ
youliangdao
0
170
Next.jsから見る Webフロントエンドの歴史
youliangdao
1
1k
SaaSスタートアップで3ヶ月働いてみて感じた現実(リアル)
youliangdao
0
460
個人開発で挫折する人を救いたい
youliangdao
2
3.3k
Qiitaでバズりやすい記事の書き方を伝授する
youliangdao
0
3.5k
React って本当に使う意味あるの? 〜SPA と React の「キホン」の「キ」〜
youliangdao
1
220
PumaとUnicornって結局何なん!?
youliangdao
0
1k
低レイヤへの誘い
youliangdao
0
280
Other Decks in Programming
See All in Programming
Duke on CRaC with Jakarta EE
ivargrimstad
1
610
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
400
鯛変だったRubyKaigi 2025 ── それでも楽しかった!
pndcat
0
130
Doma で目指す ORM 最適解
nakamura_to
1
160
Rethinking Data Access: The New httpResource in Angular
manfredsteyer
PRO
0
200
CRUD から CQRS へ ~ 分離が可能にする柔軟性
tkawae
0
210
Cloudflare Workersで進めるリモートMCP活用
syumai
13
1.9k
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
110
推論された型の移植性エラーTS2742に挑む
teamlab
PRO
0
130
『Python → TypeScript』オンボーディング奮闘記
takumi_tatsuno
1
120
〜可視化からアクセス制御まで〜 BigQuery×Looker Studioで コスト管理とデータソース認証制御する方法
cuebic9bic
0
220
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
2.1k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
The Cost Of JavaScript in 2023
addyosmani
49
7.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building an army of robots
kneath
306
45k
The Language of Interfaces
destraynor
158
25k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Balancing Empowerment & Direction
lara
1
75
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Building Applications with DynamoDB
mza
95
6.4k
Designing for humans not robots
tammielis
253
25k
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について)