Permalink
Browse files

[#1] Import from internal wiki

  • Loading branch information...
0 parents commit 83bf766ca3314999ebba72afcdbc7edc9a62e71b @croaky croaky committed Apr 16, 2012
Showing with 193 additions and 0 deletions.
  1. +46 −0 README.md
  2. +26 −0 trails/git.md
  3. +51 −0 trails/postgres.md
  4. +13 −0 trails/rails.md
  5. +15 −0 trails/refactoring.md
  6. +4 −0 trails/ruby.md
  7. +5 −0 trails/test-driven-development.md
  8. +29 −0 trails/unix.md
  9. +4 −0 trails/vim.md
@@ -0,0 +1,46 @@
+Trail map
+=========
+
+> How do I learn Ruby on Rails? Vim? Test-Driven Development?
+
+We run a program, [apprentice.io](http://apprentice.io), that has forced us to formalize our answers to such questions.
+
+A few problems make those questions difficult to answer:
+
+* Apprentices have different levels of experience.
+* Apprentices have different learning styles.
+* Apprentices' goals change mid-process.
+
+Hiking, biking, or skiing trails are a good metaphor for the learning process: people start in different places, want to go to different places, and change direction mid-journey.
+
+![Trail map](http://media.tumblr.com/tumblr_m2jrde9jXS1qz5x9p.jpg)
+
+This repository is a collection of trails to help web designers and developers learn some cool tools and techniques.
+
+Trails
+------
+
+* [Git](https://github.com/thoughtbot/trail-map/blob/master/trails/git.md)
+* [Postgres](https://github.com/thoughtbot/trail-map/blob/master/trails/postgres.md)
+* [Rails](https://github.com/thoughtbot/trail-map/blob/master/trails/rails.md)
+* [Refactoring](https://github.com/thoughtbot/trail-map/blob/master/trails/refactoring.md)
+* [Ruby](https://github.com/thoughtbot/trail-map/blob/master/trails/ruby.md)
+* [Test-Driven Development](https://github.com/thoughtbot/trail-map/blob/master/trails/test-driven-development.md)
+* [Unix](https://github.com/thoughtbot/trail-map//blob/master/trails/unix.md)
+* [Vim](https://github.com/thoughtbot/trail-map//blob/master/trails/vim.md)
+
+To use these tools and techniques, you might want to first set up your laptop with [this script](https://github.com/thoughtbot/laptop) and [these dotfiles](https://github.com/thoughtbot/dotfiles).
+
+Credits
+-------
+
+![thoughtbot](http://thoughtbot.com/images/tm/logo.png)
+
+Trail Map is maintained by [thoughtbot, inc](http://thoughtbot.com/community)
+
+The names and logos for thoughtbot are trademarks of thoughtbot, inc.
+
+License
+-------
+
+Trail Map is licensed under the [Creative Commons Attribution License](http://creativecommons.org/licenses/by/3.0/).
@@ -0,0 +1,26 @@
+Git
+===
+
+* Take the [Git Immersion](http://gitimmersion.com) guided tour.
+* Read [Chapter 3 of Pro Git](http://progit.org/book/ch3-0.html).
+* Refer to these man pages when you start a new project:
+
+ man git-clone
+ man git-init
+
+* Refer to these man pages often during a project:
+
+ man git-add
+ man git-branch
+ man git-checkout
+ man git-commit
+ man git-diff
+ man git-merge
+ man git-pull
+ man git-push
+ man git-rebase
+ man git-reset
+ man git-show
+ man git-stash
+ man git-status
+
@@ -0,0 +1,51 @@
+Postgres
+========
+
+* Read the following sections of the [Postgres 9 manual](http://www.postgresql.org/docs/9.0/static/sql.html):
+
+ 2.5. Querying a Table
+ 2.6. Joins Between Tables
+ 2.7. Aggregate Functions
+ 3.5. Window Functions
+ 4. SQL Syntax
+ 4.1. Lexical Structure
+ 4.2. Value Expressions
+ 5. Data Definition
+ 5.1. Table Basics
+ 5.2. Default Values
+ 5.3. Constraints
+ 5.5. Modifying Tables
+ 6. Data Manipulation
+ 6.1. Inserting Data
+ 6.2. Updating Data
+ 6.3. Deleting Data
+ 7. Queries
+ 7.1. Overview
+ 7.2. Table Expressions
+ 7.3. Select Lists
+ 7.4. Combining Queries
+ 7.5. Sorting Rows
+ 7.6. LIMIT and OFFSET
+ 7.7. VALUES Lists
+ 7.8. WITH Queries (Common Table Expressions)
+ 9. Functions and Operators
+ 9.1. Logical Operators
+ 9.2. Comparison Operators
+ 9.3. Mathematical Functions and Operators
+ 9.7.1 LIKE
+ 9.18. Aggregate Functions
+ 11. Indexes
+ 11.1. Introduction
+ 11.2. Index Types
+ 11.3. Multicolumn Indexes
+ 11.4. Indexes and ORDER BY
+ 11.5. Combining Multiple Indexes
+ 11.6. Unique Indexes
+ 11.10. Examining Index Usage
+ 14. Performance Tips
+ 14.1. EXPLAIN
+
+* Read the following sections of the [SQL Cookbook](http://www.amazon.com/Cookbook-Cookbooks-OReilly-Anthony-Molinaro/dp/0596009763):
+
+ Appendix A: Window Function Refresher
+ Any recipes that interest you
@@ -0,0 +1,13 @@
+Rails
+=====
+
+* Read [the official guides](http://guides.rubyonrails.org).
+* Refer to [the API documentation](http://api.rubyonrails.org) often.
+* Push your code to [Github](http://github.com).
+* Deploy to [Heroku](http://heroku.com).
+* Watch [Railscasts](http://railscasts.com) that interest you.
+* Review [The Ruby Toolbox](https://www.ruby-toolbox.com) before implementing a feature.
+* If you don't understand an error, [Google](http://google.com) it. You'll probably get an answer.
+* If not, submit to [StackOverflow](http://stackoverflow.com/questions/tagged/ruby-on-rails).
+* Stick to a [style guide](https://github.com/copycopter/style-guide).
+* Ask mentors for [code reviews](http://playbook.thoughtbot.com/working-in-feedback-loops/feature-branch-code-reviews/).
@@ -0,0 +1,15 @@
+Refactoring
+===========
+
+* Read the following patterns in [Refactoring](http://sourcemaking.com/refactoring):
+
+ Composing Methods
+ Extract Method
+ Introduce Explaining Variable
+ Replace Method with Method Object
+ Moving Features Between Objects
+ Extract Class
+ Move Method
+ Simplifying Conditional Expressions
+ Introduce Null Object
+ Replace Conditional with Polymorphism
@@ -0,0 +1,4 @@
+Ruby
+====
+
+* [Learn Ruby The Hard Way](http://ruby.learncodethehardway.org/book/).
@@ -0,0 +1,5 @@
+Test-Driven Development
+-----------------------
+
+* Read [Test-Driven Development By Example](http://www.amazon.com/Test-Driven-Development-By-Example/dp/0321146530).
+* Read [Beginning Outside-In Rails Development with Cucumber and RSpec](http://blog.carbonfive.com/2012/02/14/beginning-outside-in-rails-development-with-cucumber-and-rspec/).
@@ -0,0 +1,29 @@
+Unix
+----
+
+* Read [The Linux Programming Interface](http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200).
+* Refer to these man pages often:
+
+ man ack
+ man awk
+ man cat
+ man chmod
+ man chown
+ man cp
+ man export
+ man find
+ man kill
+ man locate
+ man ls
+ man mkdir
+ man mv
+ man ps
+ man rm
+ man sed
+ man sort
+ man tail
+ man top
+ man vim
+ man whereis
+ man xargs
+
@@ -0,0 +1,4 @@
+Vim
+===
+
+* Complete `vimtutor`.

0 comments on commit 83bf766

Please sign in to comment.