Submit Search
Upload
言語の検証と導入
•
1 like
•
983 views
W
weddingpark
Follow
複数言語の比較検討を実施しました。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 17
Recommended
Sentryを利用したエラー集約プラットフォーム
Sentryを利用したエラー集約プラットフォーム
weddingpark
Monitを使ってみた
Monitを使ってみた
weddingpark
人見知りでもイベントを楽しめる!!〜リアルとネットをつなぐ〜 #mlkcca
人見知りでもイベントを楽しめる!!〜リアルとネットをつなぐ〜 #mlkcca
Syoko Matsumura
Go x Slack API
Go x Slack API
weddingpark
Amazon Work Spaces Application Manager
Amazon Work Spaces Application Manager
Genta Watanabe
東ラるう(カラー)2012
東ラるう(カラー)2012
Ayako Ruu
TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料
TechBuzz第5回cocos2d-x勉強会 BrainWars発表資料
Takuma Kudo
スタートアップが AWS Lambda を導入した理由
スタートアップが AWS Lambda を導入した理由
Kiminari Homma
More Related Content
Viewers also liked
au女子会♪infobar a02体験会20130221
au女子会♪infobar a02体験会20130221
Hiromi Itou
AWSを使って沖縄から世界へ (JAWS DAYS 2015 A-1 GP LT大会)
AWSを使って沖縄から世界へ (JAWS DAYS 2015 A-1 GP LT大会)
Sanehiko Yogi
Scala戦士を増やせ
Scala戦士を増やせ
Yuto Suzuki
スタートアップにjoinして1年間の変化を振り返る
スタートアップにjoinして1年間の変化を振り返る
Masashi Ogawa
第21回 AWS User Group - Japan 東京勉強会 - 来場者10万⼈人超えイベントを⽀支えるイベントレジストとAWS
第21回 AWS User Group - Japan 東京勉強会 - 来場者10万⼈人超えイベントを⽀支えるイベントレジストとAWS
Daisuke Ikeda
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsug
aktsk
1000万DL突破!BrainWarsのアーキテクチャ
1000万DL突破!BrainWarsのアーキテクチャ
Masakazu Matsushita
オフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタ
Yosuke TOMITA
CTOが語るUI/UX
CTOが語るUI/UX
Satoshi Yokoi
AWSのおはなし at ChatWork
AWSのおはなし at ChatWork
Masaki Yamamoto
サイトパフォーマンスからUXを追求する
サイトパフォーマンスからUXを追求する
weddingpark
AWS Lambda Update
AWS Lambda Update
Keisuke Nishitani
Spark GraphX で始めるグラフ解析
Spark GraphX で始めるグラフ解析
Yosuke Mizutani
Spark Security
Spark Security
Yifeng Jiang
AWS Startup Tech - 宇宙と雲の間に CTO安川
AWS Startup Tech - 宇宙と雲の間に CTO安川
SORACOM,INC
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
Tadahiro Ishisaka
20161004 DMM/エウレカ/インテリジェンス合同勉強会
20161004 DMM/エウレカ/インテリジェンス合同勉強会
Yusuke Komatsu
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
Kenji Hiranabe
Viewers also liked
(18)
au女子会♪infobar a02体験会20130221
au女子会♪infobar a02体験会20130221
AWSを使って沖縄から世界へ (JAWS DAYS 2015 A-1 GP LT大会)
AWSを使って沖縄から世界へ (JAWS DAYS 2015 A-1 GP LT大会)
Scala戦士を増やせ
Scala戦士を増やせ
スタートアップにjoinして1年間の変化を振り返る
スタートアップにjoinして1年間の変化を振り返る
第21回 AWS User Group - Japan 東京勉強会 - 来場者10万⼈人超えイベントを⽀支えるイベントレジストとAWS
第21回 AWS User Group - Japan 東京勉強会 - 来場者10万⼈人超えイベントを⽀支えるイベントレジストとAWS
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsug
1000万DL突破!BrainWarsのアーキテクチャ
1000万DL突破!BrainWarsのアーキテクチャ
オフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタ
CTOが語るUI/UX
CTOが語るUI/UX
AWSのおはなし at ChatWork
AWSのおはなし at ChatWork
サイトパフォーマンスからUXを追求する
サイトパフォーマンスからUXを追求する
AWS Lambda Update
AWS Lambda Update
Spark GraphX で始めるグラフ解析
Spark GraphX で始めるグラフ解析
Spark Security
Spark Security
AWS Startup Tech - 宇宙と雲の間に CTO安川
AWS Startup Tech - 宇宙と雲の間に CTO安川
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
20161004 DMM/エウレカ/インテリジェンス合同勉強会
20161004 DMM/エウレカ/インテリジェンス合同勉強会
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
Similar to 言語の検証と導入
翻訳VR作ってみた
翻訳VR作ってみた
尾上 兼透
Goをえらんだ理由
Goをえらんだ理由
Tatsumi Naganuma
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
kyon mm
20190809 ルーキー会 × TERAKOYAFORCE
20190809 ルーキー会 × TERAKOYAFORCE
SFDG ROOKIES
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
Kouhei Sutou
Salesforce SOAP API + C#
Salesforce SOAP API + C#
Tomoyuki Okada
AI-Java-for-Financial.pdf
AI-Java-for-Financial.pdf
Yoshio Terada
リーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえり
Kouhei Sutou
Go で Unit Test をやってみた
Go で Unit Test をやってみた
Masahiro Yanou
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
テスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめ
kinunori
MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)
MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)
Webpla LLC.
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
mametter
初心者向けGo言語勉強会
初心者向けGo言語勉強会
leverages_event
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
Kouhei Sutou
SORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップ
SORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップ
SORACOM,INC
Go isucon
Go isucon
Daijirou Yamada
Robotium を使った UI テスト
Robotium を使った UI テスト
健一 辰濱
Similar to 言語の検証と導入
(20)
翻訳VR作ってみた
翻訳VR作ってみた
Goをえらんだ理由
Goをえらんだ理由
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
20190809 ルーキー会 × TERAKOYAFORCE
20190809 ルーキー会 × TERAKOYAFORCE
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
Salesforce SOAP API + C#
Salesforce SOAP API + C#
AI-Java-for-Financial.pdf
AI-Java-for-Financial.pdf
リーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえり
Go で Unit Test をやってみた
Go で Unit Test をやってみた
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
テスト駆動で行うネットワーク自動化のすすめ
テスト駆動で行うネットワーク自動化のすすめ
MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)
MAごころを、君に - #7 ChatGPT勉強会(2023-03-28)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
初心者向けGo言語勉強会
初心者向けGo言語勉強会
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップ
SORACOM Conference Discovery 2017 ナイトイベント | Discovery ラップアップ
Go isucon
Go isucon
Robotium を使った UI テスト
Robotium を使った UI テスト
言語の検証と導入
1.
2016-05-25 株式会社ウエディングパーク 武田翔平 言語の検証と導入
2.
自己紹介 名前:武田翔平 (@takedajs) 社歴 :
新卒3年目 やってること : ・サイトパフォーマンス・チューニング ・フォトレイト開発 趣味: ・休日のファミレス(ジョナサン)でGo開発
3.
APIに最適な言語の検証 APIに最適な言語の選定を進める ・言語検証〜本番反映〜規約作成 ・人数 : 2人 ・情報共通ツール
: lodge (無料、イントラネット限定で利用可能)
4.
lodge
5.
検証言語 以下、3言語を検証比較 Go Scala Elixir
6.
フレームワーク選定 ・Githubのスター数 ・Apiサーバ利用で過不足のない機能を保持している
7.
フレームワーク選定 Name Memo Star Revel
Full Stack やや重い 5841 Gin シンプル 開発が活発 4298 Go Scala Elixir Name Memo Star Play2 Full Stack 有名 5841 Finagle Twitter製のフレームワーク シンプル 3855 Name Memo Star Phoenix CommitやStarが多く活発 4086 Plug メンテはされている Issueは少なめ 489
8.
比較内容 • 検証言語: Go,
Scala, Elixir • 比較用としてPHPも検証 • どの言語にもFrameworkを仕様 • APIのGET,POSTを実装し、GETリクエストを調査 • NginxとPort連携して起動 • チューニングはしない • HTTP負荷テストツールはgo製のvegeta(ベジータ)を利 用
9.
1, 負荷をかけるページのurlをファイルに記述 2, 各オプションを設定して、attackする 3,
実行結果確認 ・rate : 同時Request数 ・duration : 継続秒数 ・targets : リクエスト対象URL一覧 vegeta
10.
比較結果 言語 5R/s※1 50R/s
100R/s 1000R/s Go(gin) 14ms 14ms 20ms 67ms(99%) Scala(Play2) 20ms 14ms 20ms 221ms(58%) Elixir(Phoenix) 30ms 12ms 25ms 55ms(97%) PHP(Zend) 188ms 5000ms(参考) 2000ms(参考) 測定不能 ※1 5R/s = 5Request / Sec で 60秒間GET
11.
言語の習得難易度 言語 難易度 Memo Go
★ ・公式サイトが充実しているので、理解しやすい ・感覚としてPHPと記述が似ている ・他社で導入されてきており、時流がある Scala ★★★ ・Javaの概念が分かっていると導入しやすい ・Java の資産が使える ・言語の特色に慣れるまでに時間がかかる Elixir ★★ ・同じ関数型のScalaより理解が容易 ・新しい言語なため、日本語の記事が少ない ・利用できるライブラリが少ない
12.
開発のしやすさ 言語 難易度 Memo Go(gin)
★★★ ・frameworkではなくライブラリに近いので、 開発前に、規約を考える必要がある Scala(Play2) ★★★ ・MVCモデルなので理解しやすいが、 dbの接続などの設定に詰まる可能性がある Elixir(Phoenix) ★★ ・Railsの思想を参考にしているので、開発し易い
13.
言語選定 情報量、ライブラリ量、他社での運用実績を考慮して、 Go にを選定 (最先端を狙うならElixir)
14.
Goの導入 – 困難 ・バリデート処理 ・ディレクトリ構成 ・構造体の扱い ・PHPとの違い
15.
Goの導入 – 結果 ・GoとPHPで比較 ・PHPと比べ約1/4の速度になっている api
Go(ms) PHP(ms) A 12 47 B 19 55 C 190 734 D 284 870
16.
Goの導入 メリット ・API速度の劇的改善 ・DBロック処理の減少が見込める ・並行処理に強いシステム ・新技術導入による社外へのアピール ・社内エンジニアのモチベーション向上 デメリット ・導入・運用に伴う教育/学習コストの発生 ・コンパイル言語への理解(品質は上がるが、スピードが落ちるかも)
17.
ご清聴ありがとうございました。
Editor's Notes
バインド変数 ウエパで使う