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
320
"ぼくのかんがえたさいきょうの"勉強法
Yusuke Inai
August 16, 2022
Tweet
Share
More Decks by Yusuke Inai
See All by Yusuke Inai
で、エンジニアになって1年経ったけどどう?
youliangdao
1
250
人よりアウトプットができるようになるためのコツ
youliangdao
0
150
Next.jsから見る Webフロントエンドの歴史
youliangdao
1
890
SaaSスタートアップで3ヶ月働いてみて感じた現実(リアル)
youliangdao
0
400
個人開発で挫折する人を救いたい
youliangdao
2
3k
Qiitaでバズりやすい記事の書き方を伝授する
youliangdao
0
3.1k
React って本当に使う意味あるの? 〜SPA と React の「キホン」の「キ」〜
youliangdao
1
200
PumaとUnicornって結局何なん!?
youliangdao
0
720
低レイヤへの誘い
youliangdao
0
250
Other Decks in Programming
See All in Programming
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
410
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
1.9k
rails newと同時に型を書く
aki19035vc
5
710
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.4k
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
1k
Scaling your build logic
antalmonori
1
100
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
590
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
630
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
420
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
1.9k
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
770
DevFest - Serverless 101 with Google Cloud Functions
tunmise
0
140
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
How GitHub (no longer) Works
holman
312
140k
The Language of Interfaces
destraynor
155
24k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
It's Worth the Effort
3n
183
28k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Optimizing for Happiness
mojombo
376
70k
GitHub's CSS Performance
jonrohan
1030
460k
A Tale of Four Properties
chriscoyier
157
23k
A Philosophy of Restraint
colly
203
16k
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について)