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
あるチームでの技術選定で考えてること(外部向けに修正版)
Search
vividmuimui
May 31, 2025
Programming
21
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
あるチームでの技術選定で考えてること(外部向けに修正版)
vividmuimui
May 31, 2025
More Decks by vividmuimui
See All by vividmuimui
開発組織まわりで最近考えているあれこれ
vividmuimui
0
49
bundle-update.pdf
vividmuimui
0
130
Dependabot vs BundleUpdate+LockDiff
vividmuimui
0
110
あなたの知らないRuboCopの設定
vividmuimui
0
260
最近(2019/02/03)の #Ruby , #Rails , #Bundler 事情
vividmuimui
0
170
Jasperはいいぞ!
vividmuimui
0
61
Danger CI
vividmuimui
0
120
tigとかaliasなし生活を送ってみて改めてgitを覚えてる話
vividmuimui
0
140
lock_diff の紹介
vividmuimui
0
110
Other Decks in Programming
See All in Programming
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
230
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
170
最近”作らせてる” ローカルAIアプリの話
akit37
0
480
ジョジョの世界をXRで再現する
mofurune
0
170
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
260
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
170
Agents on Rails - Rails at Scale 2026
irinanazarova
0
570
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
890
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
How GitHub (no longer) Works
holman
316
150k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Code Reviewing Like a Champion
maltzj
529
40k
Tell your own story through comics
letsgokoyo
1
1.1k
Statistics for Hackers
jakevdp
799
230k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
Transcript
あるチームでの技術選定で あるチームでの技術選定で 考えてること( 外部向けに修 考えてること( 外部向けに修 正版) 正版) 2023/12/22 社内エンジニア忘年会LT
@vividmuimui 1
前提 & 目的 前提 & 目的 前提 まだ検討中で変更はあるかも 目的 もしみなさんが知らないGem
があったりして、所属チームに活かせ るものがあれば嬉しい。 「そのGem よりこっちがいいよ」とかあれば教えていただけると嬉 しい 2
TL;DR TL;DR Evil Martians(TechRacho 翻訳) の以下の記事をほとんど参考にしてる その他の参考情報 社内のGemfile などなど Rails:
Evil Martians が使って選び抜いた夢のgem (翻訳) 実践ViewComponent (1 ): 現代的なRails フロントエンド構築の心 得(翻訳) 実践ViewComponent (2 ): コンポーネントを徹底的に強化する(翻 訳) https://www.ruby-toolbox.com/ https://awesome-ruby.com/ 3
Rails new Rails new importmap ではなく jsbundling-rails & esbuild importmap
関連のエコシステムが整うにはもう少し時間がか かりそう たとえば dependabot が importmap-rails のフォーマ ットに package.json をそのまま扱ってpackage を管理できる方が今 は嬉しい気がする sprockets ではなく propshaft propshaft はまだベータ扱いだがいまから作るもので導入す るならまぁ問題ないのではと思ってる。 また、今後 rails のデフォルトが sprockets から propshaft に変わる可能性があるので。 対応してない 4
認証・認可 認証・認可 認証 devise, sorcery, rodash 悩ましい 認可 action_policy が良さそう
参考: pundit, banken の仕組みが良いと思っている。 「Pundit の強化版です。パフォーマンスや開発エクスペリエ ンスを重視する優れた機能を提供します。 」とのこと https://speakerdeck.com/sylph01/build-and-learn-rails- authentication Rails: Evil Martians が使って選び抜いた夢のgem (翻 訳) 5
config config anyway_config が良さそう 参考: 環境変数、yaml, Rails Credentials を扱える ruby
ファイルでメソッドも生やせる FooConfig.to_source_trace で値の読み込み元を確認できる Rails: anyway_config gem でRuby の設定を正しく整理 しよう(翻訳) 6
breadcreams, pagination breadcreams, pagination breadcreams gretel が良さそうかなぁと思っているが、おすすめがあれば教えてく ださい 以前使って体験良かったのと、 config/breadcreams.yml
に 書くので管理しやすい pagination pagy を試して見て問題なければこれにする でかいテーブルをさばこうとしたときのパフォーマンスが良 い この情報2021 年なので、kaminari とか will_pagenate の方 がいいとか改善されてるとかの情報あれば教えてください! https://techracho.bpsinc.jp/hachi8833/2021_07_13/57481 7
その他 その他 検索: ransack protection: rack-protection feature flag: flipper or
feature_toggles 画像管理: active_storage or shrine seed: seed-fu ( これしかない?) test 関連 rspec, factory-bot, faker Zonebie(Timezone をランダムにする) log 系: lograge, audited, rack-user_agent CI 系: danger, review-dog, brakeman database 関連 補助: annotate, bullet 変なSQL 投げないように: database_consitency, isolator, strong_migrations データメンテ: maintenance_tasks 8
ここからがメイン ここからがメイン 9
モジュラモノリス モジュラモノリス packwerk packwerk は Shopify 製のモジュラモノリスのための仕組 み。境界違反の検知とかもできて高機能。 1 つのプロダクトの中に複数のシステムがあるので、モジュラモノリスとして
扱えるのが良い気がしている。 だが、本当に必要かは検討が必要で悩ましい。本当に必要になるまでは単に namespace とかrails engine でもいいのかも。 10
チームやサービスの状況によって違うが、以下のように思っている マルチリポよりモノリポの方がいい マイクロサービスでない限り、モノリポのほうが便利 マイクロサービスでないなら、チームは完全に独立して動か ないし別システムでもないので1 つのシステムで扱っておいた ほうが便利なことが多いと思う。 モノリポの不便さは概ね頑張って解決できるはず。 マイクロサービスよりはモノリスの方がいい チームやサービスが完全に分断しない限りモノリスがいい。
よくいわれるやつ。 11
コンポーネント開発1 コンポーネント開発1 view_component GitHub 製の ruby/rails でのコンポーネント開発のためのも の lookbook view_component
のライブラリ群の1 つで、 storybook のよ うにコンポーネント単独で描画・確認できるもの erb なども描画できるが がある react/storybook/css in js(CSS modules) などのようにコンポーネント開発を 取り入れたい。 コンポーネントごと描画しテストできることで、テストが書きやすい。動作 確認もしやすい。Visual Regression Test もこれに乗っかってできるなら便 利そう。 参考: バグ 実践ViewComponent (1 ) 12
コンポーネント開発2 コンポーネント開発2 コンポーネント(view ファイル) と同階層でcss, js を扱えるようにする CSS は、CSS modules
のようなスコープ化の仕組みも入れる こうすることで開発体験がぐっと良くなるはず。 参考: components/ example/ component.html.erb # 通常のviewファイル component.rb # Example::Componentクラス(view com preview.rb # Example::Previewクラス(lookbook) styles.css # CSSスタイル whatever.png # その他のアセット controller.js # Stimulusのコントローラ 実践ViewComponent (2 ) 13
CSS CSS ① 自前である程度 CSS 書くパターン tailwind デザイントークン周りやpadding/margin/font-size などぐら いに使う。スタイリングはCSS
を普通に書く。 flowbite ( + flowbite-admin ) tailwind つかった(?) headless UI ライブラリ react/vue ではないので選択肢はそこまで多くない data 属性で対象指定するのでわかりやすい ② tailwind 全乗っかり ③ bootstrap 全乗っかり 14
admin framework admin framework scaffold を自前で用意して、素朴にview, controller 書くほうが良さ そうに感じている active_admin
や rails_admin はDSL 強いのでカスタマイズしにくい administrate はカスタマイズできると言っているが、全部上書きで きるわけではない たとえば、ページネーションとかカスタマイズできない。( で きるけど、自前で書くのと何も変わらなくなってくる) 補足: administrate の propshaft 等の対応の が絶賛開発さ れてる それなりに複雑な画面もある想定なのでカスタマイズしやすさは担保してお けると良さそうと思っている PR 15
おわり おわり 16
None