In this talk, we'll take a look at Pry. We'll see how to debug a ruby program using the core of the library and take a look at the rich plugin ecosystem that surrounds this amazing tool. We'll also spend a some time looking into some of the other lesser known features that often get overlooked including configuring a .pryrc file, custom pry commands and more.
As projects grow, managing an acceptance test suite often means making a distressing discovery: unanticipated technical debt. Find out how we overcame painful testing practices of the past and fell in love with behavior-driven development. We’ll speak in depth about powerful techniques that bring your acceptance tests back to first-class status and ensure that their value exceeds their cost, regardless of your framework.
The Rails way isn't always the best way. What's great for rapid application development is sometimes bad for a long-lived application. In this talk, we'll learn how the codebase of Sortfolio.com was refactored to make it faster, easier to modify, more testable, and ready for the long-haul. We'll see how it's CodeClimate score was increased from a 2.78 to a 3.51 and how you can apply these same principles to your own apps.
With Rails 4 supporting only Ruby 1.9 and above it can fully embrace the MiniTest library that ships with Ruby 1.9. What does this mean for Rails developers? Let's find out.
In this talk we'll look at using MiniTest in a simple, non-Rails, project and then work up to using it in a Rails application. We'll look at both the TestUnit and RSpec style syntaxes that MiniTest offers. We'll also learn to write custom matchers, run specific files, and much more.
Testing is important to all Ruby and Rails developers, and with such a powerful testing library already bundled with Ruby, shouldn't we learn how to use it?
I often hear when around devs a bashing of sorts of Cucumber. The norm generally seems to be a preference for rspec/capybara. But when dealing with a larger client or organization or team it can provide a lot of value, so thought I could mention a couple things around how to utilize cucumber and possibly try and break a couple myths I hear a lot on the subject.
Are you a Ruby on Rails developer who is curious about RubyMotion. In this talk I will go into some of my experiences getting started with RubyMotion.
We'll take a look at a few gems that can make the experience of developing iOS applications with RubyMotion more "Railsy".
I often hear when around devs a bashing of sorts of Cucumber. The norm generally seems to be a preference for rspec/capybara. But when dealing with a larger client or organization or team it can provide a lot of value, so thought I could mention a couple things around how to utilize cucumber and possibly try break a couple myths I hear a lot on the subject
In this talk on Rails::Engine you will become a Rails mechanic by learning how Rails::Engine, Rails::Application, and Rails::Railtie interact, giving you much of the power you associate with Rails. Blueprint in hand, we will cover typical Rails::Engine setups, discussing full vs isolated engines, configuration paths, initializers, testing, routing, and middleware stacks. You'll be ready to build your own Rails::Engine as soon as you get back to your own garage.
As Rails applications mature, they frequently run into performance issues. One
of the most common problems that plague middle-aged Rails apps is running out of
Unfortunately, the causes of most memory issues are the tools that make
applications so easy to write, such as ActiveRecord and Enumerable. Although
these tools make it easy to navigate your data, they also make it easy to
continually use more memory as your data grows.
During this talk, you'll learn about different memory problems, such as leaks,
bloat, and churn. You'll learn some common causes of memory issues in Rails
applications, and you'll see how to use streams to improve performance and trim
down on memory usage.
Brian will dive into three recently released, client-heavy JS web applications. All use Ruby on the server; two of them use Backbone.js and the third uses Ember.js in the browser. Each project has is fair challenges, from scaling to security to development process and devops. We will look at a few of these challenges and how they were overcome.
We will go over some interesting devices for hacking using Ruby (Arduinos, XBees, others). They have open source code available and good documentation. Next, we will demonstrate a website written in Sinatra which gives complete control over the devices, and which can configure them into some interesting systems. Systems include a motion detector which sends text messages or email, a system which controls LEDs and relays using text messages or email, and a system which measures temperature and water/moisture and sends warning messages and status. We'll also demonstrate some low cost, hockey puck sized Linux systems (Raspberry Pi, others) functioning as a larger M2M system.
Ruby is an amazing programming language and it allows you to express complex concepts with simple code. Come learn how to utilize ruby in order to write your own programming language. Matt "Goose" Mongeau will talk about the tools involved in the writing of a programming language. This talk will give a general overview of the tools involved and present you with the knowledge to be able to tackle the problem on your own. This talk will not be overly complex and will instead focus on breaking down each part into easy to learn pieces.
Ruby's implementation of closures in the form of blocks, procs and lambdas is one of the most powerful aspects of the language. Wielded properly, closures can yield more elegant and concise code. We'll explore these concepts with examples of when and how you leverage them.
Test Driven Development has changed the way a lot of us develop software. Using this approach to develop new features and automating the testing process ensures safety and code quality; but it can feel frustrating to wait for a test suite to run. If you haven't done done any tuning of your development rails environment there are a number of quick wins you can make substantial improvements to the runtime of your test suite. This talk will explain the strategies used to reduce a test suite from taking around 40 minutes, to around 13 minutes, with a minimal amount of work - not rewriting all the tests or making any fundamental changes to application or test code.
Walking away from this talk you will know the steps you should take on your development machine right away, along with an overview of how to use performance analysis tools to find the bottlenecks in your specific application.
A lot can happen in two and a half years. In this talk, Diaspora Co-Founder Daniel Grippi provides a retrospective on his experience managing the largest open source Ruby on Rails application to date; starting from knowing very little Rails and practically no process, to knowing a little Rails and a little process.
Out of the box, Rails does its best to help you secure your app.
Unfortunately, without consistent application of secure development
principles, practices and tools, it's just a matter of time before
vulnerabilities creep in.
Despite Rails' secure defaults, most Rails applications have
vulnerabilities, many of which are easy to detect and fix. As a
community, increased awareness and understand of web application
security puts us in the best position to avoid breaches (like the
GitHub SSH key fiasco), and keep our businesses safe.
The best time to start locking down your app is now, not after your
first close call (or worse). We'll walk through exactly what you need
to reduce the risk of a security breach to your business, beyond the