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
Crystal in production
Search
y2k2mt
June 21, 2018
Programming
1
360
Crystal in production
y2k2mt
June 21, 2018
Tweet
Share
More Decks by y2k2mt
See All by y2k2mt
luckyframeworkで驚異的なスループットを出した話
y2k2mt
1
250
Other Decks in Programming
See All in Programming
15分間でふんわり理解するDocker @ Matsuriba MAX
ukwhatn
PRO
1
340
Enhancing Applications with Accessibility API
kishikawakatsumi
3
930
孤独のCTOグルメという やや奇抜な企画をやった目的と効果
shoheimitani
3
1k
Laravel OpenAPIによる"辛くない"スキーマ駆動開発
kentaroutakeda
2
2.1k
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
7
1.9k
Why 1 + 1 = 2 in Swift?
1plus4
1
240
MySQL のインデックスの種類をおさらいしよう! / overviewing indexes in MySQL
okashoi
0
170
incrementalモデルの理解を深める
ikkimiyazaki
2
640
ISUCONってなんだか難しそう……!!でも、初めてのISUCONにPHPで挑戦してきました!
kotomin_m
1
300
DDDはなぜ難しいのか / 良いコードの定義と設計能力の壁
pospome
24
7.4k
Creating Retro-Style Photos Using Swift
ski
1
350
App Router への移行は「改善」となり得るのか?/ Can migration to App Router be an improvement
takefumiyoshii
1
120
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
10
830
From Idea to $5000 a Month in 5 Months
shpigford
376
45k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
101
6.6k
Side Projects
sachag
451
41k
KATA
mclloyd
14
11k
The Pragmatic Product Professional
lauravandoore
24
5.7k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
28
5.9k
Fireside Chat
paigeccino
19
2.6k
A Philosophy of Restraint
colly
195
15k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
A Tale of Four Properties
chriscoyier
150
22k
Transcript
© DMM.com LLC Crystal in production 合同会社DMM.com 2018/06/21 東京Crystal勉強会 #6
in 渋谷 角本幸生
© DMM.com LLC 角本幸生 自己紹介 合同会社DMM.com クリプトマイニング事業部 暗号通貨まわりで仕事しています Crystal! Scala/Rust/Elixir/Node/Ruby
etc… Github: https://github.com/y2k2mt/
© DMM.com LLC Crystalへの道 3
© DMM.com LLC Crystalへの道 ・暗号通貨なシステムとか作ろう! ・高い処理能力を出せる素地のある言語を選びたい ・Goなんてどう? 4
© DMM.com LLC Crystalへの道 Goつらい 5 ※個人の見解です
© DMM.com LLC Crystalへの道 6 ・GO_PATH ・グローバルを汚染するネームスペース ・消えるエラーとその引き回し... ( if
err != nil ) ・あれ、map とか fold とかってないんだっけ...
© DMM.com LLC Crystalへの道 7 そうだ、せめて map と flatten があれば...!
© DMM.com LLC Crystalへの道 8 パフォーマンスが出ず、無理ゲーでした
© DMM.com LLC Crystalへの道 9 ・Scalaはどう? ・不慣れな関数型言語の壁 ・なにかいい言語はないか... Crystal !!!
© DMM.com LLC Crystalをつかってみて 10
© DMM.com LLC Crystalをつかってみて ・リファレンス見なくても何となく書けるのはまさにRuby! ・module や include の仕組みも同じ! ・勿論
map も fold もある! 11
© DMM.com LLC Crystalをつかってみて ・エコシステムが結構充実している ・Redis などとも連携に問題なし! → Elasticacheの暗号化通信だけ対応できなかったので作った 12
© DMM.com LLC Crystalをつかってみて crystal-redis にPR送ったらマージされたよ ! https://github.com/stefanwille/crystal-redis/pull/51 13
© DMM.com LLC Crystalをつかってみて ・ APIは Kemal が重たかったので router.cr を使う
14
© DMM.com LLC Crystalをつかってみて ・マイニングプールの報酬計算 15 (参考 : https://bitcoil.co.il/pool_analysis.pdf )
© DMM.com LLC 結論 Crystal よい! ので、みんなでCrystalを使おう
© DMM.com LLC ご清聴ありがとうございました。