http://www.whynot.io/ruby/what-is-rack-in-ruby/
Rack sets "environment" hash
3 parts:
- Handler takes care of WEBrick
- Adapter talks to framework
- Middlewares work with request/response as it passes through stack
- used in rails to setup cookies, flash messages, logging, and params parsing
rack-throttle on github
Middleware can deal with requests your app should never worry about
- can be protective
- sees request and response
- easily extracted to shareable tool
Middlewares run in a certain order
rake middleware
Doesn't belong in middleware:
- modifying the request
- knows about business logic in the app
- knows about models in the app
Always return a response @cdwort
@liliealbert
recent CS grad, far too enthusiastic about doing things themself
"interested" in programming, happened in a vacuum
wanted to use the cool new stuff only
very open to learning
- The CS Hammer needs guidance. Be involved in what they're learning and doing
- The Relative needs a clear goal and purpose to the program
- The Cutting-edge cat needed guidance on goals and purpose
- The good one can teach your things about what you're doing
Internships are audits of your own process.
Structure Matters
Intern could also mean apprentice or junior dev
Make the business case
Have goals for the program
Omada internship
- Pairing for a few weeks
- SOlo project
- Back to pairing
Team Composition: 3 experience to 1 intern
Pairing
- fewer silos, more communication, onboarding is easier
- doing so across skill levels is hard
- let the intern type
Don't Pair? A solo project is good, code reviews will be vital
You'll learn how confusing your code is Some people are bad teachers
Useful to solidify things they learn from pairing
Useful in person most, but good over github Code Review talk from RailsConf2015
good for someone interested in management useful when scheduled, especially during solo project phase can interrupt
Good for attracting good interns
Less strenuous, simple code challenges Pairing interview
Retention is important!
tech.omadahealth.com
@sysadmin1138
Pschological Safety
Microaggressions make things harder
- incompetence
- willful ignorance
Safety Methods:
- Reflexive Change Resistance. Raise concerns when not included in changes ahead of time.
- Intentional Deinvestment. Stop caring? Symptom of a very broken culture.
- Compartmentalization. Sympathizing but not helping with others' problems
- Bonding through negativity. Share pain
- Redirect - turn reflexive negativity into feedback
- Reengage - Get them to feel like a person and provide feedback
- Stop hurtful negativity - It doesn't help, put a stop to it.
Evoking feelings through stories
"Temping"
No actors
- phone
- laser printer
- the built environment
- The audience is a temp
- Cast of characters (still not actors)
The temp needs tasks to do to drive the story.
Starts with an excel spreadsheet
- update alive/dead
- update life expectancies
- tricked into looking at your own life expectancy
Ordering the events
Understanding why these people do things
Letting audience fill in the blanks
giving the audience room to explore the way they want
Michaelrau.com
zenspider.com/presentations/2016-railsconf.html
github.com/zenspider/microtest
learnenough.com
@nmeans
@chenelle777 http://www.slideshare.net/Chanelle7/rails-conference-presentation-2016-ux-rails-and-awesomeness
- for non-rails apps
- step forward for more rails js integration
- solid feature for rails monoliths
- a way to snapify rails, like turbolinks an js responses
- easy and fun
Chat apps are the hello world of websockets
- doesn't inherently add value to an app
- most apps don't need chat between users
- Use Case: Collaboration
- Asynchronous Tasks
- Cable - actual connection
- Channel - what to listen for on the rails side
- Broadcast - send info out from rails through channel
- Subscription - client side listening and receiving data from server
Best to always use ActionJob to broadcast, to help avoid missed messages no session, only cookies github.com/jwo
https://speakerdeck.com/chaitanya/secrets-of-testing-rails-5-apps
bin/rails test
Much better documentation
Can run multiple specific tests!
- groups by folder, too
Backtrace option: -b
Stop at first failure: -f
Colored Output!
- active by default
Integration tests are much faster
- deprecating controller tests since there is no diff in speed anymore
Backward compatible tests!
Rails 5 discourages testing controller view interface space
@searls
Performance is always about tradeoffs
Why not speed up ruby?
- no need to write slow code elsewhere