<commit_before>---
layout: default
---

## Week 9 - Overview

Students should be comfortable with the following at the end of this week:

* Working with Legacy Code
* Runtime Optimizations
* Memory Optimizations
* Refactoring for Skinny Models
* Non-Rails Frameworks


## Important Links

* [Challenge Submission Form](http://goo.gl/forms/OzzXZL6iEF)
* [Homework Submission Form](http://goo.gl/forms/o9so3mi9Sd)


## Monday - Runtime and Memory Optimizations

**Challenge:** [Permutations](https://github.com/masonfmatthews/rails_assignments/blob/master/challenges/hard_permutation_challenge.md)

**Problem of the Day:** Modify Gradebook to allow you to log in with your Facebook credentials.

* OAuth (Owen)
* Devise and Omniauth (Owen)
* SimpleForm
* Ping-pong pairing

#### Lecture Notes/Links

* [Devise](https://github.com/plataformatec/devise)
* [SimpleForm](https://github.com/plataformatec/simple_form)

#### Evening Reading

* [Ruby Rogues: The Science of Software Development](http://devchat.tv/ruby-rogues/184-rr-what-we-actually-know-about-software-development-and-why-we-believe-it-s-true-with-greg-wilson-and-andreas-stefik)

#### Assignment

[Reports on S3](https://github.com/tiyd-rails-2015-05/reports_on_s3)


<!--
## Not yet covered

* Capybara
* Foreign Key Constraints
* Memory usage and find_each
* Delegation
  * `delegate :category, to: :phone_categories`
* Random Topics
  * Action on your server trying to access the API on your server
  * Deadlock
  * Software threading
  * Multi-core processors


## Tuesday - D3.js

**Problem of the Day:** XXX

* Human Learning
  * Life as a dev
* http://www.sitepoint.com/ruby-uses-memory/

#### Lecture Notes/Links


#### Evening Reading

* [Decompose Fat Models](http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/)

#### Assignment

Work on [Ruby Koans](http://rubykoans.com/).


## Wednesday - Skinny Models, Non-Rails Frameworks

**Challenge:** [Discuss Development](https://github.com/masonfmatthews/rails_assignments/blob/master/challenges/discuss_development.md)

**Challenge:** [Discuss Supporting Tech](https://github.com/masonfmatthews/rails_assignments/blob/master/challenges/discuss_supporting_tech.md)

**Problem of the Day:** XXX

* Decomposing Fat Models
* CI (Mike)
* vim (Michael)
* Dvorak keyboards, ergonomic chairs, treadmill desks, etc.
* [Annual Developer Survey from StackOverflow](https://stackoverflow.com/research/developer-survey-2015)
* [Which IDEs do Rubyists use?](http://www.sitepoint.com/ides-rubyists-use/?utm_source=rubyweekly&utm_medium=email)
* [Which editors do Rubyists use?](http://www.sitepoint.com/editor-rubyists-use/)
* [XKCD on editors](http://xkcd.com/378/)
* [Other ruby frameworks](https://blog.engineyard.com/2015/life-beyond-rails-brief-look-alternate-web-frameworks-ruby).  Links in decreasing order of complexity:
  * Rails
  * [Sinatra](http://www.sinatrarb.com/)
  * [Padrino](http://www.padrinorb.com/)
  * [Camping](http://camping.io/)

#### Lecture Notes/Links

*

#### Evening Reading

* [Build an app in Rails vs. Sinatra](https://www.airpair.com/ruby-on-rails/posts/rails-vs-sinatra?utm_source=rubyweekly&utm_medium=email)

#### Assignment

Complete [Ruby Koans](http://rubykoans.com/).

## Thursday

Pitch Day!

#### Eventual Reading

* [Coding is Not the New Literacy](http://www.chris-granger.com/2015/01/26/coding-is-not-the-new-literacy/)

-->
<commit_msg>Begin work on week 9/<commit_after>---
layout: default
---

## Week 9 - Overview

Students should be comfortable with the following at the end of this week:

* Working with Legacy Code
* Runtime Optimizations
* Memory Optimizations
* Refactoring for Skinny Models
* Non-Rails Frameworks

## Important Links

* [Challenge Submission Form](http://goo.gl/forms/OzzXZL6iEF)
* [Homework Submission Form](http://goo.gl/forms/o9so3mi9Sd)

## Monday - Runtime and Memory Optimizations

**Challenge:** [Permutations](https://github.com/masonfmatthews/rails_assignments/blob/master/challenges/hard_permutation_challenge.md)

**Problem of the Day:** Modify Gradebook to allow you to log in with your Facebook credentials.

* OAuth (Owen)
* Devise and Omniauth (Owen)
* Capybara (Nate)
* SimpleForm
* Memory Usage

#### Lecture Notes/Links

* [Class Video]()
* [Devise](https://github.com/plataformatec/devise)
* [SimpleForm](https://github.com/plataformatec/simple_form)
* [An Exploration of Memory Usage](http://www.sitepoint.com/ruby-uses-memory/)

#### Evening Reading

* [Ruby Rogues: The Science of Software Development](http://devchat.tv/ruby-rogues/184-rr-what-we-actually-know-about-software-development-and-why-we-believe-it-s-true-with-greg-wilson-and-andreas-stefik)

#### Assignment

[Reports on S3](https://github.com/tiyd-rails-2015-05/reports_on_s3)


<!--

## Tuesday - D3.js

**Problem of the Day:** XXX


#### Lecture Notes/Links

* [Class Video]()

#### Evening Reading

* [Decompose Fat Models](http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/)

#### Assignment

Work on [Ruby Koans](http://rubykoans.com/).


## Wednesday - Skinny Models, Non-Rails Frameworks

**Challenge:** [Discuss Development](https://github.com/masonfmatthews/rails_assignments/blob/master/challenges/discuss_development.md)

**Challenge:** [Discuss Supporting Tech](https://github.com/masonfmatthews/rails_assignments/blob/master/challenges/discuss_supporting_tech.md)

**Problem of the Day:** XXX

* Decomposing Fat Models
* CI
* vim
* Dvorak keyboards, ergonomic chairs, treadmill desks, etc.
* [Annual Developer Survey from StackOverflow](https://stackoverflow.com/research/developer-survey-2015)
* [Which IDEs do Rubyists use?](http://www.sitepoint.com/ides-rubyists-use/?utm_source=rubyweekly&utm_medium=email)
* [Which editors do Rubyists use?](http://www.sitepoint.com/editor-rubyists-use/)
* [XKCD on editors](http://xkcd.com/378/)
* [Other ruby frameworks](https://blog.engineyard.com/2015/life-beyond-rails-brief-look-alternate-web-frameworks-ruby).  Links in decreasing order of complexity:
  * Rails
  * [Sinatra](http://www.sinatrarb.com/)
  * [Padrino](http://www.padrinorb.com/)
  * [Camping](http://camping.io/)

#### Lecture Notes/Links

* [Class Video]()

#### Evening Reading

* [Build an app in Rails vs. Sinatra](https://www.airpair.com/ruby-on-rails/posts/rails-vs-sinatra?utm_source=rubyweekly&utm_medium=email)

#### Assignment

Complete [Ruby Koans](http://rubykoans.com/).

## Thursday

Pitch Day!

#### Eventual Reading

* [Coding is Not the New Literacy](http://www.chris-granger.com/2015/01/26/coding-is-not-the-new-literacy/)


## Not yet covered

* Ping-pong pairing
* Foreign Key Constraints
* Memory usage and find_each
* Delegation
  * `delegate :category, to: :phone_categories`
* Random Topics
  * Action on your server trying to access the API on your server
  * Deadlock
  * Software threading
  * Multi-core processors

-->

{'fraction_non_alphanumeric': 0.14850195397307858, 'fraction_numerical': 0.013171225937183385, 'mean_word_length': 4.696619950535862, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 18, 'lorem ipsum': 0, 'www.': 14, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '297067', 'n_tokens_mistral': 2570, 'n_tokens_neox': 2322, 'n_words': 487}