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
15万人の作家を支えるサービス開発の裏側 / back-of-the-service-deve...
Search
monochromegane
October 24, 2015
Technology
4.1k
0
Share
15万人の作家を支えるサービス開発の裏側 / back-of-the-service-development-to-support-150000-creators
「minne」技術戦略カンファレンスの資料です
https://www.youtube.com/watch?v=uYti3xbCVBQ
monochromegane
October 24, 2015
More Decks by monochromegane
See All by monochromegane
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
720
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
530
Go言語での実装を通して学ぶLLMファインチューニングの仕組み / fukuokago22-llm-peft
monochromegane
0
240
不確実性下における目的と手段の統合的探索に向けた連続腕バンディットの応用 / iot70_gp_rff_mab
monochromegane
2
360
なめらかなシステムと運用維持の終わらぬ未来 / dicomo2025_coherently_fittable_system
monochromegane
0
12k
ベクトル検索システムの気持ち
monochromegane
38
13k
Go言語での実装を通して学ぶ、高速なベクトル検索を支えるクラスタリング技術/fukuokago-kmeans
monochromegane
1
300
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
360
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
1.3k
Other Decks in Technology
See All in Technology
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
1
100
AIAgentと取り組むKaggle
508shuto
2
540
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
150
TSKaigi 2026 - 型プラグインシステムの実装に使われるテクニック
teamlab
PRO
2
330
AIが変えた"品質の守り方"
kkakizaki
3
920
GitHub Copilot のこれまでとこれから: From Copilot to Collaborative Agents
yuriemori
1
160
コーポレートサイトのアクセシビリティ改善とJIS準拠への実践
lycorptech_jp
PRO
2
140
生成AIに振り回されない 〜確率論と決定論の使い分け〜
shukob
0
100
ルール・ロール・ツールを創る / Creating Rules, Roles and Tools
ks91
PRO
0
160
【禁断】Obsidianの第二の脳に「知の巨人」と呼ばれた師匠の脳をロードしてみた
nagatsu
0
6.3k
その英語学習、AWSで代替できませんか?
suzutatsu
1
230
TypeScriptはどのようにどこまで推論できるのか ─ とにかく as は禁止で
ypresto
3
420
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Speed Design
sergeychernyshev
33
1.7k
Being A Developer After 40
akosma
91
590k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building AI with AI
inesmontani
PRO
1
1k
The untapped power of vector embeddings
frankvandijk
2
1.7k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
170
Producing Creativity
orderedlist
PRO
348
40k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
How to Ace a Technical Interview
jacobian
281
24k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
Transcript
15ສਓͷ࡞ՈΛࢧ͑Δ αʔϏε։ൃͷཪଆ minneࣄۀ෦ ϓϥοτϑΥʔϜνʔϜ GMO Pepabo, Inc
MIYAKE Yusuke @monochromegane
Platform Team
Fukuoka
Web application Infrastructure and
Ձʹ࣌ؒΛ͏
ΞλϦϚΤΛ ΞλϦϚΤʹ
Infrastructure Team Development
νʔϜͷΞλϦϚΤ
ࣄऀҙࣝΛ࣋ͯΔ
ΔؾͷΖ͏Μʁ ɿΔؾͷͰͳ͍Ͱ͔͢ʁ
ࣄऀҙࣝΛҭͯΔ
తͷڞ༗ Kickoff Break- down Daily stand-up MTG • શһࢀՃ •
ϓϩδΣΫτͷతΛڞ༗ • ΑΓΑ͍ղܾࡦͷݕ౼
શମ૾ͷڞ༗ Kickoff Break- down Daily stand-up MTG λεΫͷམ͠ࠐΈ
ਐḿͷڞ༗ Kickoff Break- down Daily stand-up MTG ظݶͱ༏ઌॱҐ
ج൫ͷΞλϦϚΤ
نΛҙࣝͤ͞ͳ͍
minne Client App Load Balancer Data Store OKARA CDN Job
Worker Batch Memcached Search Request Image Request Dynamic Image Transformation Cache Data Job Job Job Data Indexing Notification Search
Infrastructure as Code
Puppet Packer Serverspec
Deployment
Don’t miss it !
։ൃͷΞλϦϚΤ
γϯϓϧʹอͭ
Code LOC 2012/01 2,662
Code LOC 2013/01 5,508 2,662
Code LOC 2014/01 7,984 2,662 5,508
Code LOC 2015/01 12,085 2,662 5,508 7,984
Code LOC 2015/10 15,771 2,662 5,508 7,984 12,085
Rails
• Ruby 2.2.3 • Rails 4.2.4
• RailsͷϨʔϧʹΓଓ͚Δ
Microservices
ػೳΛγϯϓϧʹอͭ
• ಛԽͨ͠αʔϏεಋೖʹΑΔૣظ՝ղܾ • αʔϏεׂʹΑΔػೳɾϊϋͷڞ༗
Solr • ࡞Ոͱ࡞ͷݕࡧػೳ • Solr 4 (master-slave) + sunspot Master
Slave App Job Worker Update item Indexing Job Indexing Replication Search
OKARA • ࡞ը૾ͷಈతը૾αΠζม • Nginx + ngx_small_light + ngx_mruby +
CDN OKARA CDN Image Request Dynamic Image Transformation ngx_mruby • URL transformation • Hash validation ngx_small_light
See also https://speakerdeck.com/yano3/dynamic-image-transformation-server-okara-beta https://speakerdeck.com/mizor/better-search-for-minne-with-ruby-and-solr @mizor minneͷݕࡧΛRubyͱSolrͰͪΐͬͱศརʹͨ͠ @yano3 ngx_small_lightͱngx_mrubyͰ࡞Δಈతը૾มαʔό
CI
ςετΛγϯϓϧʹอͭ
Multi-containers CI test-queue worker test-queue worker test-queue master docker MySQL
test-queue worker Docker in Docker Drone • Drone + RSpec + test-queue • Docker in Docker • 27min -> 8min
ϨϏϡʔΛγϯϓϧʹอͭ
Coding rule spec it do default, $stdout = $stdout, StringIO.new
begin status = RuboCop::CLI.new.run(['--lint', file]) unless status.zero? raise "status: #{status}\n" + $stdout.string end ensure $stdout = default end end • Rubocop CLI • Ruby, Slim
Next ΞλϦϚΤ
• ϓϩδΣΫτେنԽͷରԠ • ۀϩδοΫෳࡶԽͷରԠ
ΞλϦϚΤΛ ΞλϦϚΤʹ
͓ΘΓ