Created
July 11, 2012 14:55
-
-
Save kfaustino/3090934 to your computer and use it in GitHub Desktop.
Toronto Ruby Brigade Notes for July 10th, 2012 by David Andrews
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SOA | |
===================================== | |
Pitr | |
works at Uken Games (team of about 20 people) doing MMO mobile games | |
been there for about a year | |
Noticed things were not DRY | |
refactored common elements from existing games: | |
authentication | |
payments | |
push notifications | |
workers | |
cross-promotion | |
analytics | |
feedback (contact us) | |
first attempted through a library | |
found that it was not powerful enough | |
New goals were generated: | |
must be: | |
Modular | |
DRY | |
support TDD | |
be Scalable | |
fast iterative updates to each service | |
state machines have been very useful in certain cases | |
Things to explore: | |
Couchbase - couchdb and memcache together | |
JSON API for connections - APIs are versioned | |
RabbitMQ (for internal queues - user actions) | |
Resque versus Sidekick | |
JRuby | |
============================================== | |
Tasveer Singh | |
Zenapsis | |
(background is in cognitive linguistics) | |
Why do I need it? | |
Isn't it for Performance? | |
Doesn't it introduce bugs and inconsistencies? | |
Puma web server - JRuby 1.7 | |
Unicorn second best | |
JVM - continues to improve | |
optimizations | |
Mixed mode - interpreted and compiled | |
runs the profiler at startup | |
such as: | |
method inlining | |
loop unrolling | |
dead code elimination | |
duplicate code elimination | |
other benefits: | |
compilation - JIT (@ 50 calls) | |
configurable | |
generational/concurrent/tuneable garbage collection | |
jvisualvm | |
concurrency - multiple Java threads spawned by one app | |
context switching (for free) | |
time slicing | |
processor affinity | |
thread safety | |
check out: Jruby_ThrEach | |
JVM Languages | |
Mix and match | |
Embedded JARs | |
Java ecosystem | |
Interesting projects: | |
Ruboto - android apps with Ruby | |
Ruby motion | |
vert.x | |
Deployment: | |
Trinidad | |
Puma - new kid on the block - significantly faster (Engine Yard) | |
TorqueBox - based on JBoss (RedHat) | |
Warbler - "web application resource" - Jruby -> WAR conversion | |
TorqueBox - based on JBoss | |
has web, messaging, scheduling and services support | |
supports sinatra and rails | |
Things to consider: | |
Passenger - at full load it segfaults | |
Jruby doesn't | |
options in terms of languages | |
they use backbone.js | |
https://github.com/zenapsis/carrierwave_imagevoodoo | |
for testing you can run it on a faster VM | |
[Notes compiled by David Andrews, Ryatta Group] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment