RailsConf 2015 - Day 1
DHH introduced 3 interested things of Rails 5:
- Inclusion of rails-api to Rails
- Turbolinks 3 (partial updates of a page)
- ActionCable (a web-socket layer for Rails)
Don’t be a hero: Sustainable Open Source by Lillie Chen
This was a talk about tips on how to collaborate/maintain on open source project without burning out on the process. I think there are some couple of points you can apply on every project:
- Delegate responsibilities.
- Guide your team to understand the problems/issues that need to be solved.
- Do your planning including your team.
Riding Rails for 10 years by John Duff
I found this talk to be very interesting. John explained how Shopify have been growing with Rails over the last 10 years. They have never rewritten the app but they do have been updating it to every release up to 4.1. He shared some code samples of the first versions of Shopify and he mentioned that since the start, even when the implementation wasn’t quite right, we can see that the design patterns and testing were established seems early versions of Rails. He also mentioned that Rails have a tendency to package the cool stuff everyone use on their next release so you don’t have to worry about that anymore.
He also talked about the challenges you face when you want to keep your app up-to-date to the latest Rails version, especially when your app is big and you have a big team working on it. Some of the things they do to minimize impact is:
- Update and release code as soon as possible, so others don’t have to redo their code.
- Minimize dependencies
- Test on separate production servers (especially paying attention to performance regression)
- Encourage your team to learn the new features/practices on the latest version of Rails.
Breaking Down the Barrier: Demystifying Contributing to Rails by Eileen Uchitelle
This was a lab session where she shared how to setup your environment to contribute to Rails, how to run the tests and
guidelines to open an issue and PR. Also we practice some git commands and I learnt about a cool command
git reflog. This command basically records the updates on the
each branch in the last 30 days and it can be really useful when you need to recover to a previous state.
On how to get the environment ready here
Microservices, a bittersweet symphony by Sebastian Sogamoso
This was a well explained talk on the pros, cons and how your team should prepare if you’re considering using microservices. Reasons to use microservices: you need Independence between parts of your app because some of them need more scaling/deployments than others, some parts needs to be easily replaceable or some service needs to be develop in an another technology. Reasons to not use microservice: your code is not easy to understand, maintain or fix.
Some of the considerations to have when using microservices:
- Basic monitoring
- Ability to do quick server provisioning
- Ability to do quick deployments to minimize downtime of the service
- Try to have integration to have better visualization of the logs from the different services
- Have good test coverage with clear specifications on the behavior of the service
- Have ways to handle failure/unavailability of the services
- Avoid sharing databases between app and services
Processes and Threads - Resque vs. Sidekiq by James Dabbs
This was probably the most technical talk I went on the 1st day but the speaker explained everything clearly . He talked about the differences between Resque and Sidekiq and the considerations you should have in each case.
- Resque uses processes which means not need to worry about thread safety but on the bad side means more memory needs (and probably more )
- Sidekiq uses threads which means less forks and memory, lot of options included. But on the cons your code needs to be thread safe.
Video coming soon
Fireside Chat with Tom Dale and Yehuda Katz
This was an unofficial event but it was really enlightening to watch. They responded to multiple questions doing emphasis on how they expect EmberJS to grow as a framework.