SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
©2018 Wantedly, Inc.
You won’t know it’s now Rust
How I introduce the new language
03.Jul.2018 - Masaki Hara
©2018 Wantedly, Inc.
Masaki Hara
• Software Engineer @ Wantedly
• Reads & writes Rust compiler as a Hobby
Who am I
©2018 Wantedly, Inc.
Problem
to consider before introducing Rust
©2018 Wantedly, Inc.
なぜRustを使うのか?
1. qnighyはなぜ使うのか?
• せっかく詳しくなった
• 使わなければ鈍ってしまう
2. Wantedlyでなぜ使うのか?
• 意味のある使い方をしたい
Why use Rust?
©2018 Wantedly, Inc.
マイクロサービスの棲み分けができている
Microservices in Wantedly
基本的な選択肢 機械学習系サーバー ハイパフォーマンス
©2018 Wantedly, Inc.
マイクロサービスの棲み分けができている
Microservices
©2018 Wantedly, Inc.
Solution
How I introduce Rust
©2018 Wantedly, Inc.
refine-imageサービス
Refine refine-image
©2018 Wantedly, Inc.
Refine refine-image
refine-imageをRustに移植!
• CROW → Actix Web
• aws-sdk-cpp → rusoto
• WebP → バインディングを自作
• OpenCV → 必要な処理を自作
©2018 Wantedly, Inc.
Refine refine-image
それから、手土産をひとつ
• Honeybadger: ウォンテッドリーで使っているエラートラッカー
• Rustクライアントを自作
©2018 Wantedly, Inc.
refine-imageを置き換えることにした理由
1. Rustに置き換える利点がある
2. Rustにして損しない
3. 退路がある
Why refine-image?
©2018 Wantedly, Inc.
多分明日入る 🎉🎉🤔
三日前とはなんだったのか
©2018 Wantedly, Inc.
Future
Landscape with Rust
©2018 Wantedly, Inc.
Things after refine-image
• C++サービスをRustにした。

退路を確保しつつ前進した。
• Rustを使える人を増やす。

安心して新規サービスに導入できるようにする。

Contenu connexe

Similaire à You won't know it's now Rust

Datadog monitoring with HashiCorp
Datadog monitoring with HashiCorpDatadog monitoring with HashiCorp
Datadog monitoring with HashiCorpMasatomo Ito
 
AI-OCR 導入最前線 (AI inside)
AI-OCR 導入最前線 (AI inside)AI-OCR 導入最前線 (AI inside)
AI-OCR 導入最前線 (AI inside)Shotaro Umeda
 
S-NETセミナー2019 in 大阪
S-NETセミナー2019 in 大阪S-NETセミナー2019 in 大阪
S-NETセミナー2019 in 大阪Ridge-i
 
ドライブレコーダーの Scene Text Recognitionにおける Multi-task Learning
ドライブレコーダーの Scene Text Recognitionにおける Multi-task Learningドライブレコーダーの Scene Text Recognitionにおける Multi-task Learning
ドライブレコーダーの Scene Text Recognitionにおける Multi-task LearningFumihiko Takahashi
 
エンタープライズ SaaS の初期成長戦略
エンタープライズ SaaS の初期成長戦略エンタープライズ SaaS の初期成長戦略
エンタープライズ SaaS の初期成長戦略Tomoe Sawai
 
Ruby コミッターと歩む Ruby を用いたプロダクト開発
Ruby コミッターと歩む Ruby を用いたプロダクト開発Ruby コミッターと歩む Ruby を用いたプロダクト開発
Ruby コミッターと歩む Ruby を用いたプロダクト開発Hiroshi SHIBATA
 
エンタープライズでもクラウドファースト! Amazon Web Servicesをフル活用する Developer Summit 2016
エンタープライズでもクラウドファースト! Amazon Web Servicesをフル活用する Developer Summit 2016エンタープライズでもクラウドファースト! Amazon Web Servicesをフル活用する Developer Summit 2016
エンタープライズでもクラウドファースト! Amazon Web Servicesをフル活用する Developer Summit 2016一成 田部井
 
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話Kamonohashi
 
楽楽精算iOSアプリのCI/CD紹介
楽楽精算iOSアプリのCI/CD紹介楽楽精算iOSアプリのCI/CD紹介
楽楽精算iOSアプリのCI/CD紹介KazukiHirayama
 
ソフトウェアジャパン2018 ITフォーラムセッション(3)
ソフトウェアジャパン2018 ITフォーラムセッション(3)ソフトウェアジャパン2018 ITフォーラムセッション(3)
ソフトウェアジャパン2018 ITフォーラムセッション(3)aitc_jp
 
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCDataSendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCDataCData Software Japan
 
Netadashi Meetup #6 20170629
Netadashi Meetup #6 20170629Netadashi Meetup #6 20170629
Netadashi Meetup #6 20170629Shigeki Morizane
 
Real Tech Night|LT資料:レガシーなシステムとの連携作業を入社1ヶ月の新人に丸投げするとどうなるか(JapanTaxi)
Real Tech Night|LT資料:レガシーなシステムとの連携作業を入社1ヶ月の新人に丸投げするとどうなるか(JapanTaxi)Real Tech Night|LT資料:レガシーなシステムとの連携作業を入社1ヶ月の新人に丸投げするとどうなるか(JapanTaxi)
Real Tech Night|LT資料:レガシーなシステムとの連携作業を入社1ヶ月の新人に丸投げするとどうなるか(JapanTaxi)Classi_Corp
 
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!Kazuya Sugimoto
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
JapanTaxi R&Dの取り組み事例
JapanTaxi R&Dの取り組み事例JapanTaxi R&Dの取り組み事例
JapanTaxi R&Dの取り組み事例Fumihiko Takahashi
 

Similaire à You won't know it's now Rust (20)

Datadog monitoring with HashiCorp
Datadog monitoring with HashiCorpDatadog monitoring with HashiCorp
Datadog monitoring with HashiCorp
 
Yahoo!ニュースにおける開発手法の取り組み
Yahoo!ニュースにおける開発手法の取り組みYahoo!ニュースにおける開発手法の取り組み
Yahoo!ニュースにおける開発手法の取り組み
 
AI-OCR 導入最前線 (AI inside)
AI-OCR 導入最前線 (AI inside)AI-OCR 導入最前線 (AI inside)
AI-OCR 導入最前線 (AI inside)
 
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
 
Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ
 
S-NETセミナー2019 in 大阪
S-NETセミナー2019 in 大阪S-NETセミナー2019 in 大阪
S-NETセミナー2019 in 大阪
 
ドライブレコーダーの Scene Text Recognitionにおける Multi-task Learning
ドライブレコーダーの Scene Text Recognitionにおける Multi-task Learningドライブレコーダーの Scene Text Recognitionにおける Multi-task Learning
ドライブレコーダーの Scene Text Recognitionにおける Multi-task Learning
 
エンタープライズ SaaS の初期成長戦略
エンタープライズ SaaS の初期成長戦略エンタープライズ SaaS の初期成長戦略
エンタープライズ SaaS の初期成長戦略
 
Ruby コミッターと歩む Ruby を用いたプロダクト開発
Ruby コミッターと歩む Ruby を用いたプロダクト開発Ruby コミッターと歩む Ruby を用いたプロダクト開発
Ruby コミッターと歩む Ruby を用いたプロダクト開発
 
エンタープライズでもクラウドファースト! Amazon Web Servicesをフル活用する Developer Summit 2016
エンタープライズでもクラウドファースト! Amazon Web Servicesをフル活用する Developer Summit 2016エンタープライズでもクラウドファースト! Amazon Web Servicesをフル活用する Developer Summit 2016
エンタープライズでもクラウドファースト! Amazon Web Servicesをフル活用する Developer Summit 2016
 
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
DLLAB Engineer Days:AIチームが履歴やリソース管理で疲弊してたので開発基盤作ってOSS化した話
 
楽楽精算iOSアプリのCI/CD紹介
楽楽精算iOSアプリのCI/CD紹介楽楽精算iOSアプリのCI/CD紹介
楽楽精算iOSアプリのCI/CD紹介
 
ソフトウェアジャパン2018 ITフォーラムセッション(3)
ソフトウェアジャパン2018 ITフォーラムセッション(3)ソフトウェアジャパン2018 ITフォーラムセッション(3)
ソフトウェアジャパン2018 ITフォーラムセッション(3)
 
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCDataSendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
 
Presto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnightPresto in Yahoo! JAPAN #yjdsnight
Presto in Yahoo! JAPAN #yjdsnight
 
Netadashi Meetup #6 20170629
Netadashi Meetup #6 20170629Netadashi Meetup #6 20170629
Netadashi Meetup #6 20170629
 
Real Tech Night|LT資料:レガシーなシステムとの連携作業を入社1ヶ月の新人に丸投げするとどうなるか(JapanTaxi)
Real Tech Night|LT資料:レガシーなシステムとの連携作業を入社1ヶ月の新人に丸投げするとどうなるか(JapanTaxi)Real Tech Night|LT資料:レガシーなシステムとの連携作業を入社1ヶ月の新人に丸投げするとどうなるか(JapanTaxi)
Real Tech Night|LT資料:レガシーなシステムとの連携作業を入社1ヶ月の新人に丸投げするとどうなるか(JapanTaxi)
 
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
Mulesoft meetup #02 Anypointで日本のクラウドサービスを繋いでみた!
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
JapanTaxi R&Dの取り組み事例
JapanTaxi R&Dの取り組み事例JapanTaxi R&Dの取り組み事例
JapanTaxi R&Dの取り組み事例
 

Plus de Masaki Hara

How I Contribute to Rust Compiler
How I Contribute to Rust CompilerHow I Contribute to Rust Compiler
How I Contribute to Rust CompilerMasaki Hara
 
ご静聴ありがとうございました
ご静聴ありがとうございましたご静聴ありがとうございました
ご静聴ありがとうございましたMasaki Hara
 
いろいろな問題の解説
いろいろな問題の解説いろいろな問題の解説
いろいろな問題の解説Masaki Hara
 
“A ::= aAa / a” in PEG
“A ::= aAa / a” in PEG“A ::= aAa / a” in PEG
“A ::= aAa / a” in PEGMasaki Hara
 
Spaceships 解説
Spaceships 解説Spaceships 解説
Spaceships 解説Masaki Hara
 
Proving Decidability of Intuitionistic Propositional Calculus on Coq
Proving Decidability of Intuitionistic Propositional Calculus on CoqProving Decidability of Intuitionistic Propositional Calculus on Coq
Proving Decidability of Intuitionistic Propositional Calculus on CoqMasaki Hara
 
Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドRe永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドMasaki Hara
 
永続データ構造が分からない人のためのスライド
永続データ構造が分からない人のためのスライド永続データ構造が分からない人のためのスライド
永続データ構造が分からない人のためのスライドMasaki Hara
 
書くネタがCoqしかない
書くネタがCoqしかない書くネタがCoqしかない
書くネタがCoqしかないMasaki Hara
 
joi2012-sp-day2-broadcasting
joi2012-sp-day2-broadcastingjoi2012-sp-day2-broadcasting
joi2012-sp-day2-broadcastingMasaki Hara
 

Plus de Masaki Hara (13)

How I Contribute to Rust Compiler
How I Contribute to Rust CompilerHow I Contribute to Rust Compiler
How I Contribute to Rust Compiler
 
Coqの公理
Coqの公理Coqの公理
Coqの公理
 
ご静聴ありがとうございました
ご静聴ありがとうございましたご静聴ありがとうございました
ご静聴ありがとうございました
 
いろいろな問題の解説
いろいろな問題の解説いろいろな問題の解説
いろいろな問題の解説
 
“A ::= aAa / a” in PEG
“A ::= aAa / a” in PEG“A ::= aAa / a” in PEG
“A ::= aAa / a” in PEG
 
Spaceships 解説
Spaceships 解説Spaceships 解説
Spaceships 解説
 
Proving Decidability of Intuitionistic Propositional Calculus on Coq
Proving Decidability of Intuitionistic Propositional Calculus on CoqProving Decidability of Intuitionistic Propositional Calculus on Coq
Proving Decidability of Intuitionistic Propositional Calculus on Coq
 
Re永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライドRe永続データ構造が分からない人のためのスライド
Re永続データ構造が分からない人のためのスライド
 
永続データ構造が分からない人のためのスライド
永続データ構造が分からない人のためのスライド永続データ構造が分からない人のためのスライド
永続データ構造が分からない人のためのスライド
 
Coqでsprintf
CoqでsprintfCoqでsprintf
Coqでsprintf
 
Coqでsprintf
CoqでsprintfCoqでsprintf
Coqでsprintf
 
書くネタがCoqしかない
書くネタがCoqしかない書くネタがCoqしかない
書くネタがCoqしかない
 
joi2012-sp-day2-broadcasting
joi2012-sp-day2-broadcastingjoi2012-sp-day2-broadcasting
joi2012-sp-day2-broadcasting
 

You won't know it's now Rust