all users of internet • English + Chinese + Spanish + Arabic ~= 80% • Things to consider • Hard to fully translated • Costly • Different format • Payment • Login (3rd party) • Internet speed (CDN) • Mobile
• Problems of front-end development in the past (>2011) • Too many files, big file, compression • Rails 3.1 - Assets Pipeline, Sprocket • You could use gems or put source files in vendor • Ecosystem for front end is way bigger than Rails front end • Tools that front-end dev use: • Bower, Gulp, NPM, Grunt, … • Gulp + Sprocket • https://github.com/tonytonyjan/rails_gulp_bower
for a multiplayer mobile game • Ruby on rails servers managing all the user-data • One API called before a new quest calculates many stuff (QuestLevel, Enemy, Item drops, AI) Woah! • Why on the server side not client • overhead of publish to app store • anti-cheat • limited connectivity • measure API performance: • rails log, rack-mini-profile, peek, NewRelic, JMeter • Performance tuning • N+1, Query tuning add index, pluck get array, model level caching
worked so hard to be lazy • Things are different than 20 years ago, Ruby needs to adapt to the environment • Avoid SSS: Second System Syndrome • never thrown away everything • keep compatibility as much as possible • prepare migration path • never tried too drastic changes • Ruby 2.3 coming in December. Will feature a "did you mean" feature where it will detect if you misspell a method or variable. • Ruby 3 experiments NOT promising anything • man-machine collaboration • IDE gives better communication • Soft typing • performance • JIT compiler from IBM with less memory consumption • concurrency • GIL Global Interpreter Lock
digest in two days • Great talking to people from around the world • Taiwanese Beer was great at the party Resources • http://2015.rubyconf.tw/ • https://docs.google.com/document/d/ 1Rd2x6FZbDwsmdDVfYnVEHmmFH4wG- ZEFmUN-boDoTeE/edit?usp=sharing • https://hackpad.com/Ruby-Conf-TW-2015- xWYu0W3qWil