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
340
"ぼくのかんがえたさいきょうの"勉強法
Yusuke Inai
August 16, 2022
Tweet
Share
More Decks by Yusuke Inai
See All by Yusuke Inai
で、エンジニアになって1年経ったけどどう?
youliangdao
1
280
人よりアウトプットができるようになるためのコツ
youliangdao
0
160
Next.jsから見る Webフロントエンドの歴史
youliangdao
1
980
SaaSスタートアップで3ヶ月働いてみて感じた現実(リアル)
youliangdao
0
440
個人開発で挫折する人を救いたい
youliangdao
2
3.1k
Qiitaでバズりやすい記事の書き方を伝授する
youliangdao
0
3.2k
React って本当に使う意味あるの? 〜SPA と React の「キホン」の「キ」〜
youliangdao
1
210
PumaとUnicornって結局何なん!?
youliangdao
0
920
低レイヤへの誘い
youliangdao
0
260
Other Decks in Programming
See All in Programming
CTFのWebにおける⾼難易度問題について
hamayanhamayan
1
980
OUPC2024 Day 1 解説
kowerkoint
0
400
エンジニア未経験が最短で戦力になるためのTips
gokana
0
210
AIエージェントを活用したアプリ開発手法の模索
kumamotone
1
750
SQL Server ベクトル検索
odashinsuke
0
120
Fluent UI Blazor 5 (alpha)の紹介
tomokusaba
0
140
Going Structural with Named Tuples
bishabosha
0
170
PsySHから紐解くREPLの仕組み
muno92
PRO
1
520
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
130
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.2k
いまさら聞けない生成AI入門: 「生成AIを高速キャッチアップ」
soh9834
12
3.7k
今から始めるCursor / Windsurf / Cline
kengo_hayano
0
110
Featured
See All Featured
KATA
mclloyd
29
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
25k
Building Your Own Lightsaber
phodgson
104
6.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Producing Creativity
orderedlist
PRO
344
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
4 Signs Your Business is Dying
shpigford
183
22k
Why Our Code Smells
bkeepers
PRO
336
57k
How to train your dragon (web standard)
notwaldorf
91
5.9k
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について)