Skip to content

Instantly share code, notes, and snippets.

@subintp
Created May 30, 2019 19:32
Show Gist options
  • Save subintp/4372813a2cd8e51de9a63983fa4cd6ae to your computer and use it in GitHub Desktop.
Save subintp/4372813a2cd8e51de9a63983fa4cd6ae to your computer and use it in GitHub Desktop.
# Bootcamp
The following guide will help you acquire the required skills. Also we suggest you go through the books and videos linked throughout the guide.
### Week 1
We measure our productivity all the time. This is the only way to improve our skills. Measure and push ourself to do slightly better the next time. A huge part of productivity is managing time. The following video and books will give some tips and strategies which you can start implementing right now!
#### Your Brain @ Work
- Video: https://www.youtube.com/watch?v=XeJSXfXep4M
- Book: http://www.amazon.com/Your-Brain-Work-Strategies-Distraction/dp/0061771295
- First 2 chapters are a must!
#### Getting started with Ruby
- The following chapters from Programming Ruby by Dave Thomas. You can find the [book hosted online](http://ruby-doc.com/docs/ProgrammingRuby/).
- Read all chapters up until Modules
- Implement A Singly Linked List in Ruby. Try to use the concepts you have learned from above.
- More info: http://www.cs.cmu.edu/~adamchik/15-121/lectures/Linked%20Lists/linked%20lists.html
- Sample specs. Feel free to change them the way you want
```
Singly Linked List
==================
- List
- create a new list
- get the head of the list
- get all elements in the list
- get the length of the list
```
- Go through this document https://github.com/bbatsov/ruby-style-guide
### Week 2
Now that you know Ruby, let us move on to Rails.
#### [HANDSON] Birds eye view of Web Development using Rails:
- Tutorial to follow: http://guides.rubyonrails.org/v3.2.14/getting_started.html
- **Iteration one:** Follow the instructions in the tutorial to build a simple Rails web blog
- **Iteration two:** Extend the web blog to have
- tags
- mail the author on new comment
- the email address of the author is configurable and should be picked up from a `.yml` file
- Deploy to heroku
#### Reading for the week
- [HTTP Status Codes](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)
- [Representational state transfer](http://shop.oreilly.com/product/9780596529260.do)
- Watch DHH talk on REST in Rails https://www.youtube.com/watch?v=zzEHcOj3muI
- [Introduction to Web Security in Rails](http://guides.rubyonrails.org/security.html)
- [Authentication vs Authorization](http://web.archive.org/web/20121014105355/http://www.duke.edu/~rob/kerberos/authvauth.html)
- Authorization using OAuth 2.0 (http://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified).
### Week 3
It is good to know basics of the language of web. Please read the following book
- http://eloquentjavascript.net/contents.html
_________________________________________________________
### Additional Reference
# Debugging Tips & Tricks
### Dissecting Ruby with Ruby
###### RubyConf 2013
[Video](http://www.confreaks.com/videos/2575-rubyconfindia2013-dissecting-ruby-with-ruby)
Underneath the beautiful veneer of our Ruby libraries lies a twisted tangle of writhing guts. Maybe you're curious how the pieces fit together or maybe you're tracking down a bug, either way it's easy to get lost in the blood and bile that ties our code together. In this talk you'll learn how to use simple and sharp Ruby tools to slice into large libraries with surgical precision. We'll do some live hacking on Rails on the stage and cover useful code probing techniques. Turn your impossible bugs into pull requests, and level up your programming skills by Dissecting Ruby with Ruby.
## Refactor!
### All the Little Things by Sandi Metz
###### RubyConf 2014
[Video](https://www.youtube.com/watch?v=8bZh5LMaSmE)
Theory tells us to build applications out of small, interchangeable objects but reality often supplies the exact opposite. Many apps contain huge classes of long methods and hair-raising conditionals; they're hard to understand, difficult to reuse and costly to change. This talk takes an ugly section of conditional code and converts it into a few simple objects. It bridges the gap between OO theory and practice and teaches
### Therapeutic Refactoring by Katrina Owen
###### RubyConf 2012
[Video](https://www.youtube.com/watch?v=J4dlF0kcThQ)
Refactoring changes the program in small steps. If you make a mistake, it is easy to find the bug.
## ![IMG](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Git-logo.svg/100px-Git-logo.svg.png)
### Git for Ages 4 and Up
###### Linux.Conf.AU 2013
[Video](https://www.youtube.com/watch?v=1ffBJ4sVUb4)
Git is a distributed revision control and source code management (SCM) system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows.
No idea what we said above? Well, that's when you start watching the video. :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment