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
2016-09-07 社内勉強会資料
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hirokazu Nishioka
September 07, 2016
Business
0
1.7k
2016-09-07 社内勉強会資料
Hirokazu Nishioka
September 07, 2016
Tweet
Share
More Decks by Hirokazu Nishioka
See All by Hirokazu Nishioka
全員でRuby/Rails移行を進めてきた話 / Shippai Night 2016
nisshiee
4
1.8k
イエウール立ち上げに込めた想い / Speee Cafe Meetup 04
nisshiee
2
730
Rails × Elasticsearch
nisshiee
0
2.2k
【16/06 SpeeeKaigi】人工知能
nisshiee
0
1.2k
Speee Introduction
nisshiee
0
1.9k
Ruby初心者チームが「Ruby日本一」を目指して半年の話
nisshiee
4
4.8k
ぼくらがScalaを選ぶ理由〜入門編〜
nisshiee
4
1.9k
「良いコード」とは何か
nisshiee
0
380
Scala vs Ruby
nisshiee
0
360
Other Decks in Business
See All in Business
習慣化するための技術 / Techniques for Habit Formation
3l4l5
2
350
about-oha
oha
0
20k
enechain company deck
enechain
PRO
10
160k
株式会社IDOM_FACT BOOK 2026
idompr
0
230
Antigravity × Claude Code:AIネイティブ開発を加速させるパートナーシップの組み方
tame
1
150
株式会社フェローズ会社紹介資料
kaorunm
0
720
株式会社ネオキャリア_新卒採用ピッチ資料_20260201
neo_recruit
0
470
Backlog迷子にさせないやさしい仕組み
mappuyo
0
140
giftee_Company introduction Febrary 2026
recruit_giftee
1
1.3k
事業を伸ばすKeyDriverを突き止めてコミットする
parayama0625
0
140
Hubになる開発者が、組織を強くする ― DevRelから見た、Hubになる開発者の価値 ―
natty_natty254
0
500
Claude Coworkで 非エンジニアも業務効率化しよう
suzakiyoshito
0
1.2k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
59
50k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Code Reviewing Like a Champion
maltzj
528
40k
Accessibility Awareness
sabderemane
0
71
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
970
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
470
How STYLIGHT went responsive
nonsquared
100
6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
290
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
140
Transcript
医療事業開発チー ム 2016-09-07 エンジニア全体MTG
の前に、 先週みんなを置き去りに してしまった型クラスの話 2
まず、「 型クラス」 という名前が良くない 英語で「type class」 「class」 は、 オブジェクト指向における「 クラス」 とは
まったく関係がない この発表では、 混乱しないように、 「 型クラス」 のことを 「 型ホゲ」 と呼びます ( 理解が進むとしっくりくるんだけどねw) 3
型ホゲとは何か 定義の話は今回は省略 何のために使うものか 4
型安全 アドホックな「 性質」 の付与 5
Java( 静的型付けオブジェクト指向) interface Walker { void walk(); } class Cat
implements Walker { private int x = 0; public void walk() { x++; } } 6
Ruby( ダックタイピング+ オー プンクラス) class Cat; end class Cat def
walk @x = (@x || 0) + 1 end end 7
レガシー な言語は、 この両立ができない 型安全 アドホックな「 性質」 の付与 8
Swift( 型ホゲ) // 性質 protocol Walker { func walk() }
// デー タ構造 struct Cat {} // 性質の実装 extension Cat: Walker { func walk() { // ... } } 9
型ホゲがあるとどんな設計になっていくか 「 デー タ構造」 の部分はあらゆるメソッドを持たず、 本当にデー タだけを持つ デー タに紐づくあらゆる処理は、 型ホゲとして切り出される
設計の段階で、 その「 性質」 の本質に迫っていく 抽象化 圧倒的な汎用性( 例: モナド) 10
例 trait Semigroup[T] { def append(t1: T, t2: T): T
} trait Monoid[T] extends Semigroup[T] { def zero: T } def double[T: Semigroup](t: T): T = append(t, t) def sum[T: Monoid](l: List[T]): T = l.foldLeft(zero)(append) ※ ほぼScala だけど一部省略した記法になってます 11
型ホゲおもしろい! 12
たぶん1 割ぐらいしか伝えられてないと思うので、 深く踏み込んでみたい方いたら教えてください 13
ここから本題の医療事業チー ムの話 14
開発手法の話 15
圧倒的ディレクション力を中心とした 開発フロー 16
よくあるSpeee の開発チー ム 17
医療事業開発チー ム 18
かわりに 技術と向き合う時間が増えた 19
エンジニアが技術と向き合う 圧倒的スピー ド 「 新規機能追加」 レベルの開発を半日~3 日で回し続ける ディレに「 思ったより早く開発進んでる」 って言わせろ
実現難度の高い要望も成し遂げる 利用経験のない技術でも何でも使って実現する 代替案なんか考えてる暇があったら実現方法を考えろ エンジニアは「 魔法使い」 20
技術的な話 21
Elasticsearch みんなどんどん使えばいいと思う Pros 公式ドキュメント読めば十分な知識手に入る クラスタ増強である程度パフォー マンス維持できる安心感 Cons デー タ設計やクエリ構築に慣れは要る Rails
がサポー トしてくれるわけではないので頑張る必要はある 22
SPA (Single Page Application) 操作感めちゃめちゃ気持ちいい 日本はまだそんな雰囲気ないけど、SPA 当たり前の時代来る いつやるの? 今でしょ、 感
意外とview がボトルネックになりやすいRails の強い味方 ( ただしSprockets、 お前はダメだ) Angular? React? ウチはReact Router でSPA 23
React!!! React Router Simple!! ソー スコー ド読めば分かる Redux Flux フレー
ムワー ク 公式ドキュメントにベストプラクティスまで用意されてる 「Redux にきちんと乗ること」 が、 フロントをスパゲッティにしないコツ 秩序と柔軟性の絶妙なバランス 24