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
Trinidad
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
David Calavera
August 04, 2011
Technology
51
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Trinidad
My talk about Trinidad,
https://github.com/trinidad
at JRubyConf 2011.
David Calavera
August 04, 2011
More Decks by David Calavera
See All by David Calavera
Git infrastructure with Go
calavera
3
610
The language of Chatops
calavera
0
170
How GitHub develops, ships and supports GitHub Enterprise
calavera
2
470
Project Warbird
calavera
1
180
JRuby hacking guide
calavera
0
89
My name is Trinidad
calavera
0
81
Other Decks in Technology
See All in Technology
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
220
公共システムAdventCalendar2026
toru_kubota
0
290
The future of architectural work
ufried
0
190
TSKaigi Sendai 2026 - tsgo時代のTypeScript Playgroundはどう動くか
teamlab
PRO
0
110
セキュリティ専任チームなしで攻撃を先回りするSREが実践したSIEM on Amazon OpenSearch Service
cscengineer
PRO
1
710
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
460
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
2
160
Kiro を使うコツ (頼み方、覚えさせ方、任せ方) | 目指せ Kiro マスター 09
inariku
PRO
3
100
仕様と現実の間で落とし所を探るリモートMCPの認証・認可 — Sansanの認証基盤における課題と実践
sansantech
PRO
2
180
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
220
HQ駆動開発で最高のAI-Contextを作ろう
sansantech
PRO
1
120
プロダクションコードにおける encoding/json から encoding/json/v2 へのスムーズな移行
sansantech
PRO
1
210
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.6k
What's in a price? How to price your products and services
michaelherold
247
13k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.7k
How Software Deployment tools have changed in the past 20 years
geshan
3
35k
Exploring anti-patterns in Rails
aemeredith
4
560
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
530
Done Done
chrislema
187
17k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
370
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
480
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Transcript
Trinidad David Calavera @calavera
None
rails flavoured java
mongrel tomcat + warbler
glassfish gem tomcat + warbler
jetty-rails tomcat + warbler
None
tomcat gem tomcat + warbler
tomcat =~ 8MB trinidad =~ 3MB
gem install trinidad
jruby -S trinidad
jruby -S trinidad --jars lib/jars
jruby -S trinidad --classes lib/classes
jruby -S trinidad --apps webApps
--- web_apps: app1: context_path: /foo app2: rackup: config.ru
None
gem install trinidad_foo_extension
module Trinidad::Extensions class Foo < ServerExtension def configure(tomcat) ... eeeeeeend
module Trinidad::Extensions class Foo < ServerExtension def configure(tomcat) tomcat.destroy eenndd
module Trinidad::Extensions class Foo < ServerExtension def configure(tomcat) tomcat.add_web_app ...
ennnnd
module Trinidad::Extensions class Foo < WebAppExtension def configure(tomcat, context) ...
enddddd
module Trinidad::Extensions class Foo < OptionsExtension def configure(parser, default_options) ...
eeeeeeeeeeeeeeeeeeennndddd
None
None
jruby -S trinidad --load scheduler
class Job < TrinidadScheduler.Simple :start => Time.now, :end => Time.now
+ 240 def run _logger.info “each 5 seconds” end end
jruby -S trinidad -l mysql_dbpool
None
“ it would be great if ... “
“ this is pretty cool but ... “
jruby -S trinidad --load daemon
jruby -S trinidad --load hotdeploy
jruby -S trinidad --load hotdeploy
“ could we have no downtime deploy? “
None
gem install trinidad_init_services
gem install trinidad_rack
jruby -S trinidad --load sandbox
None
trinidad
thank you!
?
lamazone rishibando