Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2016-09-07 社内勉強会資料
Search
Hirokazu Nishioka
September 07, 2016
Business
1.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2016-09-07 社内勉強会資料
Hirokazu Nishioka
September 07, 2016
More Decks by Hirokazu Nishioka
See All by Hirokazu Nishioka
全員でRuby/Rails移行を進めてきた話 / Shippai Night 2016
nisshiee
4
1.9k
イエウール立ち上げに込めた想い / Speee Cafe Meetup 04
nisshiee
2
750
Rails × Elasticsearch
nisshiee
0
2.2k
【16/06 SpeeeKaigi】人工知能
nisshiee
0
1.2k
Speee Introduction
nisshiee
0
2k
Ruby初心者チームが「Ruby日本一」を目指して半年の話
nisshiee
4
4.9k
ぼくらがScalaを選ぶ理由〜入門編〜
nisshiee
4
2k
「良いコード」とは何か
nisshiee
0
410
Scala vs Ruby
nisshiee
0
380
Other Decks in Business
See All in Business
reiwatravel ai era
reiwatravel_0405
0
860
uniam_事業概要.pdf
uniam
PRO
0
180
会社紹介資料/Idein株式会社
ideininc
0
1.2k
匠技研工業 採用紹介資料
takumiengineering
0
780
どうせなら「楽しい仕事」をする
kozotaira
0
340
依頼する技術 #tachikawaany
77web
0
530
採用ピッチデック
macloud
5
91k
会社説明資料
xinghr
0
3.2k
なんとかする力 〜 Android エンジニアからマネージャー、さらにその先へ? 〜
m_coder
2
480
【全資料公開】AIとアイデアソン:思考の盲点を突く「人機共想」のプロセスと実践手法
ishiirikie
1
360
LW_brochure_business
lincwellhr
1
91k
作れる人から、伸ばせる人へ~Anthropicの5アーキタイプで読み解く、成長率日本一の開発組織~ / Builder to Grower
hirokiyamamoto14
PRO
2
910
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Designing Powerful Visuals for Engaging Learning
tmiket
1
550
Tell your own story through comics
letsgokoyo
1
1.1k
Side Projects
sachag
456
43k
The Language of Interfaces
destraynor
162
27k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
520
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
280
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