Dev Thoughts

Musings from my development journey.

Topics

Rails Conf 2017

Decouple Your Models with Form Objects

large

Talk given by Andrew Markle.

Form Object

Definition

An object that can be passed into a form.

Typically added to a new directory called app/forms.

Benefits:

  • Not limited to ActiveRecord objects
  • Model agnostic

Challenges with Multi Page Forms

Working with Nested Attributes, managing data... Continue reading

ActionCable + Amazon Alexa

large

Talk given by Julian Cheal and Jonan Scheffler.

Intent schema

The intent schema allows you to setup a mapping for tasks that you want it to run. Example: deploying an application to heroku

This Interaction Model is a co... Continue reading

Observing Change: A Gold Master Test in Practice - Jake Worth

large

Jake Worth discusses how developing legacy code is inevitable. Every production application will, at some point, become a legacy application.

In order to properly work on legacy applications, tests are a prerequisite.

  • Unit tests
  • API tests
  • UI tests

Unit tests get the closest to specifying application behavior, but can still fall short.

Gold Master Test

Genesis of idea: Wor... Continue reading

JSON Web Tokens - Lance Ivy

large

Lance discussed the concept of JWT (JSON Web Tokens), starting with the example of how to share authentication between multiple applications (a mobile and a Rails web application).

What is Logging in?

  1. User logs in from browser.
  2. Browser is sent back a cookie from the server. Follows the request/response lifecycle.
  3. Cookies are headers in HTTP request/responses.

What are cookies?

Analogy: session cookies are not like choco... Continue reading

Keynote: David Heinemeier Hansson

large

To kick off Rails Conf, the founder of the Ruby on Rails framework (along with 37signals, Basecamp, etc), David Heinemeier Hansson, discussed a number of topics:

  • Picking the right tool for the job from an application development perspective.
  • Understanding that it's not possible to know everything in the development community (aka a new JS framework each week, every SQL command, etc.).
  • Embracing the Rails community,... Continue reading