As Rails continues to gain popularity, and the community behind it matures, Rails is thrust into domains of increasing complexity. As anyone who’s been developing in Rails for a while knows, Ruby and Rails are particularly good tools for modeling this complexity. However, very little emphasis has been placed on how to *manage* this complexity. “Domain-Driven Design” is a set of principles, patterns, and practices (detailed in a book of the same name) that help developers manage the complexity that comes along with working on large projects in interesting domains. The two ideas that I will focus on are Aggregates and Bounded Contexts. I will cover such topics as 1) your 1400 line user.rb - why it sucks and what to do about it, 2) management in the small: breaking up objects, designing aggregates, or, why not all entities are created equal, and 3) management in the large: identifying bounded contexts. This talk is intended for developers working on longer-term, larger applications that are running in production and providing value to the business. I think the ideas in it start to become useful when a Rails app hits the 10k line mark, and are crucial for managing complexity beyond the 30k line mark. It’s an advanced topic and is meant as high-level design and architecture (implemented in real code though!!)
Hadoop is a general-purpose Big Data platform that offers distributed scalability for data storage and flexible options for working with data. In this session, we’ll learn how various Hadoop tools and techniques address particular data scenarios, including traditional reporting, NoSQL data management, and Machine Learning. In the lab, we’ll use Hive, the SQL engine for Hadoop, to query data at scale, as if Hadoop were a traditional data warehouse.
We will spend the 45 minute talk laying out the Hadoop landscape and how you would approach different kinds of problems using different tools. The 2-hour lab will focus on one tool, Hive, the SQL tool for using Hadoop as a data warehouse. The goal is to discuss how Hadoop is a flexible environment for all kinds of data needs, some well outside the traditional realms of data “solutions”, for example doing Machine Learning, and it supports NoSQL options. The lab shows how the traditional approach of using SQL to query the data still works with Hadoop, when that’s the most appropriate tool for particular needs. Actually, you get most of what SQL traditionally provides. We’ll highlight what’s different.
Interested in Ruby on Rails?
WindyCityRails has grown to a two-day conference with more sessions and more great speakers! We've put together a top-notch speaker line-up to help you design and build better apps. Visit windycityrails.org for details.
Life used to be so simple in the Java world. The only real decisions you had to make was which dozen frameworks to use in your project. Now, dynamic languages have invaded Java land, and you now have lots of choices. But, to the casual observer, JRuby and Groovy look like pretty much the same thing, with slightly different syntax. Nothing could be further from the truth. While they both share lots of commonalities, they are also quite different.