Videos provided by Svitla Ruby Conference via their YouTube Channel
By now, we've all written JSON APIs in Rails. But how do you write fast, testable and sane APIs? I'll guide you through the trials of designing and building awesome, scalable APIs. We'll cover Rails-API, ActiveModel::Serializers, and all the heavenly goodness our ecosystem has to offer. We'll muse upon the approaches to authentication, ensuring we remain good REST/HTTP citizens and maybe if we have time I'll share some of my top secret beard grooming tips.
I'd like to kidnap you and bring to my secret Ruby class. In fact, it won't be Ruby and even Rails but Lambda land. That's going to be an entertaining and mysterious journey through time and space to the External world to find ourselves, to find the truth. You'll be falling down, down, down a very deep well... Would the fall ever come to an end?
Have you ever had your code overly/destructively criticised by your coworkers? Do you normally rush into writing code or do you first run ideas by teammates? Do you keep a record of key points and decisions made during project development for other team members to see? Have you ever failed to deliver a feature due to communication issues within your team? In this talk, I'll share with you stories of mistakes and failures from my experience, and we're going to take a long, hard look at all those issues to try and extract lessons from each of them.
arsers are everywhere in programming world now: JSON, XML/HTML, routes.rb mapping language, Regular expressions, HTTP headers. Mainly because the best way to pass data from one app to another is stringifying data on one site and parsing on another. It is a matter of time when you would need to create parser yourself. This talk is all about Parsers and how they work. It starts from theoretical aspects of parsers, goes to practical example for simple tasks and finishes with live examples of how parsers inside ruby and rails works.
This talk is a tale about a time when Object-Oriented Programming was about objects and messages, not about classes and methods, when it was about behavior, not schemas. You will understand how OO was intended to be used and what it means to say that OO is about messages. We'll talk about the past and then go back to the future to look at our Class-Oriented Programming culture and how we can fix it by doing real OO in Ruby. By doing that, we'll start to understand why principles like SOLID and Demeter are here to help us stop losing time and money. This talk is about making you reevaluate the way you approach OO.
Views are often the most neglected part of a Rails application. The framework's built-in mechanisms for organizing view related code are very rudimentary. They work fine for small to medium sized applications, but when your application grows past a certain size, helpers and partials are simply not enough. Rails does not provide any mechanism to model complex view components. Many Rails applications therefore suffer from the fact that there is no clean separation between the concept and the representation of interface elements.
Bigdata is amazing. You can get insights from your users, find interesting patterns and have lots of geek fun. Problem is big data usually means many servers, a complex set up, intensive monitoring and a steep learning curve. All those things cost money. If you don't have the money, you are losing all the fun. In my talk I will show you how you can use Redis, Google Bigquery and Apps Script to manage big data from your application for under $1 per month. Don't you feel like running a RegExp over 300 million rows in just 5 seconds?
I create an e-commerce platform because I believe the ruby community deserved a great e-commerce solution. You can make your own opinion on the on ror-ecommerce. In the process architecting ror-ecommerce I've found a few common patterns that can hurt your ability scale your e-com business.
I'll start with the Cart and describe how a simple cart is also the most powerful. Next I will go over an order's lifecycle. Common issues with the order can make tracking order history and doing returns correctly almost impossible.
Shipments and Returns get very complex very quickly. You must think about these use cases up front or else they become impossible to deal with after your MVP launch.
Placing a limit on an association, for example, to get the 10 most recent comments for a post, seems simple enough. However, correctly handling such associations when eager loading is challenging. This presentation will describe in detail different approaches to correctly eagerly load associations with limits, the costs and benefits of such approaches, as well as how to use similar approaches outside of eager loading to enable additional features (such as filtering by such associations).
Building large-scale applications is a demanding process -- no matter which framework you use. The true challenge, however, lies in maintaining these applications. To guarantee maintainability, we need to focus on the following three aspects: comprehensibility, modularity, and robustness. The importance of comprehensibility, both in overall design and structure of an application, as well as, in terms of readability of individual code fragments may not be underestimated. Producing code that is easily understandable by others and your future self certainly improves the maintainability of a system. Modularity in turn is key in order to maximize reusability of individual software components. And lastly, a robust system helps us to avoid regression and further implies good test coverage and well-defined interfaces. Adhering to these principals will reduce development cost in the long run, which makes your boss happy, and more importantly improves software quality, which hopefully makes you and your teammates happy.
We will discuss how naïve and simple GC was in Ruby 1.8 and 1.9, what changed in GC API and algorithms in Ruby 2.x comparing it to enterprise approaches in other platforms like Java.
Timothy is a skilled and passionate developer interested in technologies changing social communications and human behavior. He interested in Machine Learning applied to poker and social networks. He is a co-founder of http://what.ms where professional poker players can look at their game from a new angle and analyze and compare their strategies to coach's or opponent's play.