We've all found ourselves in situations where we had to evaluate very quickly what the quality was of a Rails codebase. In some cases it's to evaluate an acquisition, in other cases to put an estimate on maintenance and evolution of an existing application.
My talk will describe how to smell out,in one day, hour by hour, whether there are any pain points,and where they are.
Cucumber is all the rage these days, but many developers struggle to
understand how and when to use it. It is designed to be an Acceptance
Testing tool in the context of BDD, but that explanation tends to
bring up even more questions.
In this presentation we'll share our insights into how to develop agile, robust, industrial strength code reliably and repeatably, through the application of our own flavor of XP-style agile development. We've been doing Agile for over 10 years, and Rails for over 4. We've delivered over 80 Rails apps to customers, and have learned a thing or two about how to do that sustainably and well.
Web site metrics are a must have as they provide valuable business insight. This discussion describes how to best leverage 3rd party tools such as google, and when, how, and what to track within your own rails application.
2 large rails implementations are presented as case studies:
* Tracking over 2.5 mil hits/hr via nginx logs
* Leveraging Mongodb in the clouds to store iphone request info
SQL databases are awesome at certain problems. But most Rails apps encounter data challenges that make traditional databases look seriously puny. So...is SQL over? In this talk, we'll dig into the guts of the relational model, look at the problems SQL doesn't solve well, and - crucially - understand why. Then we'll answer the million-dollar question: is NoSQL the only alternative?
In this session, attendees will learn how to build native applications for all leading smartphones using Rhodes, the only Ruby-based smartphone app framework.
Why Bundler exists, what it can do, and how to manage your project's dependencies with it, whether your project is a pure ruby library, a tiny Sinatra app, or a giant Rails app.
In order to ensure continuous application availability without dealing with antiquated monitoring tools a Rails developer should be able to assert the correct behavior of a production application from the outside in using familiar tools to protect revenue.
Most people think that freedom engenders creativity, but the opposite is true. But too much constraint makes it hard to get stuff done. It turns out that you need just enough constraint, and figuring out what gives you that perfect level is harder than you think. This keynote investigates the relationship between creativity and constraint as it applies to software development in the modern world.
Views are still the wild west of the web application area. A sea of DIV after DIV with tables tossed in for non-tabular data creates a sea of messy code that hurts the product both in performance and bandwidth. We'll look at the common pitfalls of view code, how to refactor that code into lean, semantic HTML, CSS and presnters that is not only pretty, but also correct and proper.
We would like to announce DataMapper 1.0 here at Railsconf 2010. DataMapper 1.0 marks an important release that has seen a lot of development over the last two years. DataMapper is storage engine agnostic and also allows for mixing for example SQL and No-SQL engines, using the best tools for the job.
Keynote by David Heinemeier Hansson, 37signals.
Keynote by Derek Sivers, founder of CD Baby.
Over the last 5 years, Rails apps have increased in size, complexity, and value provided to businesses. A few years back all we had to do was customize some generated code and sprinkle on a bit of AJAX, and the rapid pace of development meant that we could launch products and add features way faster than our competitors could.
"Don't repeat yourself." "Don't reinvent the wheel." Phrases like this are thrown around like crazy in the programming world, but one is missing. Repeat others. The best way to learn is to imitate those that are better than us.
Engine Yard was founded to help deploy, manage and scale Ruby and Rails applications. We built our company with a focus on supporting and cultivating the Ruby and Rails community and ecosystem. Join us as we walk through some open source work we've dedicated our time to, including Rails, Ruby, Rubinius and JRuby. We'll also discuss community efforts we're excited to be involved with.
In this session I'll share my experience, tips and tricks I've learned, and stories I've come across while building Rails apps for clients and myself.
This talk shares the experience, process and best practices of splitting a single monolithic rails application into many smaller independently-developable but integrated system of applications. The result is lower development time, greater stability and scalability and higher developer productivity.
Everything in Ruby is an object.. but what is a ruby object? What does it look like? Where does it live? How is it born and when does it die?
This talk will cover the implementation of the object heap and garbage collector in Ruby 1.8, with a focus on tools and techniques to understand memory usage, find reference leaks, and improve the performance of your ruby applications.
Keynote by Gary Vaynerchuk.
Many tenets of agile development have been present in the Rails
ecosystem from the beginning. There has been a evolution of practices
stemming from Lean principles in the software world, especially in the
realm of startups. This tutorial will focus on these techniques and
approaches and how they can be applied to the Rails stack to make your
development more focused and efficient.
Git is a wonderful distributed source control tool with a reputation for being hard to learn. This workshop will sidestep the hard to learn reputation by explaining git in an easy to learn, bottom-up approach; and then reinforcing that lesson by immersing the attendee into a number of practical hands-on applications of git.
This talk will provide you with an overview of cassandra itself and cover the
differences between ActiveRecord and CassandraObject. It'll also
provide some lessons learned from working with ActiveModel for people
who are interested in creating their own custom object mappers.
Itch scratching is at the core of any hacker.
But how does it apply in the real world? This talk goes over the steps I took from scratching an itch by patching the TMail library, taking over maintenance of it, upgrading ActionMailer 2.x, writing the Mail library and then finally helping rewrite the ActionMailer API for Rails 3.0
I'll go over the tools I used, and how it all worked.
Learn why Gemcutter won the great RubyGem hosting battle of 2009 and about the challenges the site faces in 2010 and beyond. Discover how instant code deployment with Gemcutter is changing the way not only Rubyists develop and release software, but other open source communities as well.
You're a developer. You write code. But your users don't see your
code. They only see the user interface. We're going to have a
conversation about how to think through your product's user interface.
We'll focus on a few analytical techniques you can use to analyze your
user interface and to communicate with a designer.
Mapping CRUD operations to friendly URLs is hardly the end of the story around Restful. We came a long way since Roy Fielding seminal dissertation on REST. Inspired by Jim Webber, Savas Parastatidis and Ian Robinson upcoming book on REST, Hypermedia and HATEOAS (Hypermedia as the Engine of Application State), we came down to the "Restfulie" gem.
Keynote by Michael Feathers, Object Mentor.
No threads, no callbacks, just pure IO scheduling with Ruby 1.9, Fibers, and Eventmachine. All the nice things we love about writing synchronous code, but completely asynchronous under the covers – the best of both worlds. A hands on look at the architecture, mechanics, and involved libraries towards creating the next generation Ruby web-servers.
With such a vibrant and emerging economy of new persistence options for web applications it can be diffcult to know when and how to use them in your applications. Worse yet, you don't want to lose mountains of existing infrastructure and support for RDBMS systems in Rails. What's a developer to do? Blend it! Learn new techniques for using multiple persistence engines in a single application.
This workshop will tour through a number of advanced, in-depth topics on Rails 3. We'll look take a tour of many of the new additions to Rails 3, talk about how to exploit Rails' new focus on Rack to your advantage, dig around in the source to really understand how many of the pieces work, and take a look at how to bring some common, advanced patterns used in Rails 2.x into the world of Rails 3.
ActiveRelation and ActiveModel bring a lot of interesting features to
Rails 3. These new libraries make it easier to write complex queries
and to extend Rails to work with non-ActiveRecord objects. Learn to
use ActiveRelation and ActiveModel to clean up your code. See how you
can use ARel and AMo to build your own data layer or to connect to new
datastores.
Software engineering as it's taught in universities simply doesn't work. It doesn't
produce software systems of high quality, and it doesn't produce them for low cost.
Sometimes, even when practiced rigorously, it doesn't produce systems at all.
That's odd, because in every other field, the term "engineering" is reserved for
methods that work.
Tools like Cucumber encourage driving new pieces of functionality through tests which cut through the entire Rails web stack, including the database. As a consequence these Acceptance tests can be quite slow. This leaves us in a dichotomy, you want to keep adding new features to your product and you want to maintain rapid test feedback. Somethings got to give. So how do we scale Acceptance tests?
We all know that Rails is made of Tasty Burgers, but what are those Tasty
Burgers made from? We're going to take a look inside the bun to discover
what makes up Rails, how the software gets to our plate, and how we can
improve it. We'll discuss some of the lower level libraries used to make up
Rails, and what makes them tick. Better Ingredients, Better Burgers.
Guaranteed.
RVM is a command line tool which allows us to easily work with multiple ruby interpreters and sets of gems. We will explore the use of rvm to manage rubies for development needs like coding, continuous integration, quality assurance, and production on a per project basis.
More and more Rails apps are being deployed to App Engine. Generated AR scaffolding works unaltered with DataMapper, and critical gems like redcloth and mechanize are working too. Spin-up time is less of an issue, and Duby has matured to provide unprecedented performance. Our latest development tools make the development process painless. Best of all, it's free to get started.
We'd mastered it all: join tables, polymorphic associations, nested sets, all neatly normalized. Then we awoke to the haze of NoSQL, where the data-modeling rules had changed. This presentation attempts to correct that by exploring document-oriented modeling with MongoDB. We'll cover common design patterns and contrast strategies for modeling product data in an RDBMS and a document store.
If you're building a RESTful API for your application you need to know about the latest standards in open authentication. With a new, modular approach and providing much greater flexibility than ever, the OAuth standard has evolved into a mature, open, and intelligent way to provide access to your application. Learn what it is, how to use it, and how to implement it on your application today!
For this ropes course, members of the Envy Labs team will march you through the core concepts of Rails 3 while taking you through the development of a new Rails application. At the end of this course you will come away with a better understanding what’s new in Rails 3, and equally as important, what has changed since Rails 2.
Up till now, computer hardware technology has been advancing by orders of magnitude every year; has software technology been keeping up? Now that headlong advance of hardware shows signs of slowing. Moore's law may be dead. Does that mean that software technology will have to pick up the slack? Can it? Is Ruby/Rails a hint of the future solution? If not, what is?
User behavior tracking can be difficult. If done properly, it can be invaluable in helping to shape the evolution of your product. Done poorly, and it can lead to expensive mistakes. Learn the tools and techniques that will help you make the right choices.
In today's challenging economic environment, being nimble is key. Enterprises large and small are busy adapting their business models to match the environment. More and more, IT is being asked to help with this transformation. Fortunately, over the past few years, movements like open source, social networking and virtualization have given IT powerful tools to help with the transformation.
If you lead or work on a development team, you know that applications need to be tuned and tweaked continuously or their performance degrades. Changing load, new features, growing databases, all contribute to application slowing. Learn how to prioritize the work for your team so you're making improvements that make a difference.
You will write code faster after this talk! Learn how to create and edit Rails code at maximum speed using the vim editor. Jump from intermediate to expert with my battle-tested techniques.
Keynote by Yehuda Katz, Engine Yard Inc.
From friend suggestions in Facebook to product recommendations on Amazon the industry is moving to more intelligent systems. We'll discuss how to discover the relationships in your app and start personalizing the experience of your users. We'll discuss different design approaches to recommendations and how to leverage various libraries in novel ways in your rails application.