The Weekly Iteration is our video series where we explore new frameworks and languages, dig in to advanced coding patterns, and share the techniques we use on projects to build robust and maintainable applications. We're currently on a break from recording new episodes, but be sure to check out the many videos we've released previously.
Lydia joins Ben to talk about the front-end tools that thoughtbot designers use: Bourbon, Neat, Bitters, and Refills. Then, see them in action while styling a production app!
Gabe joins Ben to discuss Apprentice.io. They discuss how to be a great mentor, how to help apprentices feel comfortable, and how (and why) to run an apprenticeship program at your company.
Show notes: Melanie joins Joe again to discuss the classic refactoring step: Extract Class. Learn how to safely split up a Large Class in small steps, keeping your tests green as much as possible while Melanie demonstrates this technique live....
Melanie joins Joe to demonstrate a simple (but useful) pattern: Parameter Objects. Melanie replaces a long parameter list with one object in a single bound! Try it for yourself in our refactoring trail.
Show notes: Melissa joins Joe once again to demonstrate another refactoring technique from Ruby Science: move method. Learn about Feature Envy, how to reveal it using Extract Method, and how to remove it using Move Method. Follow along yourself...
Melissa joins Joe to discuss a basic refactoring technique: Extract Method. Follow along as Melissa applies this refactoring live to an example from Ruby Science. After watching, you can refine your refactoring techniques using our refactoring...
Pat joins Joe again to continue our tour of Haskell. Learn how Haskell replaces most if statements with the powerful concept of pattern matching, including some instances where object-oriented programs would use polymorphism. Learn how to both...
Pat joins Joe again to discuss Haskell's type system. Learn how to add type signatures to your functions, create your own types, and work with generic types using type classes.
Pat joins Joe to give an introduction to Haskell. Learn basic function syntax and dive into the world of pure, lazy, functional programming. We also cover basic lists, and discuss how almost everything in Haskell is a function, such as operators.
Gordon joins Joe to discuss an alternative approach to testing for situations where unit testing falls flat. Learn how property-based tests can be more useful than unit tests. Gordon discusses unit testing in Swift using Quick and Nimble, then...
Joe and Tony look at how Swift can reuse code from Objective-C libraries. Dive through a real example of using the Dropbox Objective-C client. See how to use bridging headers to pull in Objective-C code, how to handle failure in a more idiomatic...
Joe and Gabe review form objects, and explain why they can almost always replace accepts_nested_attributes_for. See an example Rails app written with nested attributes and how and why we recommend switching to form objects. Nested Attributes...
Joe and Gabe review the four types of test doubles: stubs, mocks, spies and fakes. Learn what the key differences are between each type, as well as when you'd want to consider using them. See examples written using rspec-mocks, as well as an...
Gabe joins Joe to discuss how to run tests quickly and efficiently. People who haven't done TDD a lot often find that running tests is painful and takes them out of the moment. Learn how to run tests easily while staying focused on your...
Tony joins Joe to introduce some functional programming concepts in Apple's new language, Swift. Tony uses the magic of Apple's new playgrounds to demonstrate some simple functional ideas, such as functions as values, closures, currying, enums,...
Chris joins Joe to explore the world of JavaScript MVC. Dive into Backbone and Angular, learning how they compare when it comes to models, view rendering, data binding, testing, routing, and more.