Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
〜1度は真剣に考えてみたい再発明の意義〜 "ぼくのかんがえたさいきょうの"勉強法 2022.8.16 勉強法Tips
Slide 2
Slide 2 text
自己紹介 1 結論(「●●」型勉強法) 2 「●●」のメリット 4 「●●は無駄だ」の落とし穴 3 注意点 5 目次 おまけ(Rackについて) 6
Slide 3
Slide 3 text
1 自己紹介
Slide 4
Slide 4 text
・稲井友亮 ・25歳 ・RUNTEQ34期生 ・医者目指してた ・低レイヤ大好き
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
2 結論
Slide 7
Slide 7 text
「車輪再発明」型 勉強法
Slide 8
Slide 8 text
is 何?
Slide 9
Slide 9 text
車輪の再発明(しゃりんのさいはつめい)とは、「広く受け入れら れ確立されている技術や解決法を(知らずに、または意図的に無視 して)再び一から作ること」を指すための慣用句。誰でも直観的に その意味が分かるように、車輪という誰でも知っていて古くから広 く使われている既存の技術を比喩の題材として使った慣用表現で、 世界中で使われている。 引用元:Wikipedia
Slide 10
Slide 10 text
引用元:Why it’s Okay to Reinvent the Wheel
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
評判悪い
Slide 13
Slide 13 text
これホンマなん?
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
3 「車輪の再発明は無駄だ」 の落とし穴
Slide 16
Slide 16 text
「開発」と「学習」の差 開発 学習 1からライブラリやパッケージ作るのは アホ。時間の無駄。 1から作ってみるの本当に無駄?
Slide 17
Slide 17 text
※時と場合による
Slide 18
Slide 18 text
4 「車輪の再発明」 メリット
Slide 19
Slide 19 text
自作CPU ブレッドボード上 1からパーツ集め る 自作コンパイラ 独自コンパイラ Cコンパイラ (挫折) 自作OS HariboteOS めちゃむずい 自作フレーム ワーク Rack仕様 GETリクエストの み対応 VCのみ ぼくのさいはつめいしたもの
Slide 20
Slide 20 text
得た知識を横展開で きる 作ったものに対する 理解が深まる ⒈ ⒉ メリット
Slide 21
Slide 21 text
得た知識を横展開で きる 作ったものに対する 理解が深まる ⒈ ⒉ メリット
Slide 22
Slide 22 text
(M)VC ルーティング レンダリング DSL Rack Rubyフレームワークの場合... ⒈理解深まる
Slide 23
Slide 23 text
得た知識を横展開で きる 作ったものに対する 理解が深まる ⒈ ⒉ メリット
Slide 24
Slide 24 text
オブジェクトが何なのか? 値渡し、参照の値渡し インスタンス 変数(ローカル変数、インスタンス変数) JavaScriptのthisという概念 ⒉横展開できる
Slide 25
Slide 25 text
5 注意点
Slide 26
Slide 26 text
今やる必要ある? 時間がかかる ⒈ ⒉ デメリット(問題点)
Slide 27
Slide 27 text
今やる必要ある? 時間がかかる ⒈ ⒉ デメリット(問題点)
Slide 28
Slide 28 text
Rubyプログラムをサーバ上でどう動かせ るのか調べる(CGI) RubyでHTTP通信する方法 (Net::HTTP) WebサーバをRubyで作ってみる (WEBrick、Socketライブラリ) Rackについて調べる Rubyフレームワークの自作の場合... ⒈時間かかる...
Slide 29
Slide 29 text
今やる必要ある? 時間がかかる ⒈ ⒉ デメリット(問題点)
Slide 30
Slide 30 text
カリキュラムでほとんど役に立たない! フェッチ→デコード→実行...いらん! NANDゲート、ANDゲート...いらん! 機械語、アセンブリ言語...いら(略) CPU自作の場合... ⒉今やる必要ある?
Slide 31
Slide 31 text
アプリケーション Rails/Sinatra... Rack アプリケーションサーバ (Unicorn、Puma...) OS コンピュータ CPU/メモリ etc... IC/LSI トランジスタ Webブラウザ OS コンピュータ CPU/メモリ etc... IC/LSI トランジスタ HTTP Webサーバ HTTP通信 クライアント TCP IP イーサネット
Slide 32
Slide 32 text
目的から逆算した上で、再発明すべきもの なのか考える。興味本位で再発明すると時 間が無駄になることもある。 再発明すべきか 考える
Slide 33
Slide 33 text
ありがとうございます times_34期生_inai_yusuke
Slide 34
Slide 34 text
6 おまけ (Rackについて)