(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| var scales = { | |
| 'natural major': [0,2,4,5,7,9,11,12], | |
| 'ionian': [0,2,4,5,7,9,11,12], | |
| 'major': [0,2,4,5,7,9,11,12], | |
| 'chromatic': [0,1,2,3,4,5,6,7,8,9,10,11,12], | |
| 'spanish 8 tone': [0,1,3,4,5,6,8,10,12], | |
| 'flamenco': [0,1,3,4,5,7,8,10,12], | |
| 'symmetrical': [0,1,3,4,6,7,9,10,12], | |
| 'inverted diminished': [0,1,3,4,6,7,9,10,12], | |
| 'diminished': [0,2,3,5,6,8,9,11,12], |
| #!/usr/bin/env ruby | |
| require 'english' | |
| require 'rubocop' | |
| ADDED_OR_MODIFIED = /A|AM|^M/.freeze | |
| changed_files = `git status --porcelain`.split(/\n/). | |
| select { |file_name_with_status| | |
| file_name_with_status =~ ADDED_OR_MODIFIED |
| var parser = document.createElement('a'); | |
| parser.href = "http://example.com:3000/pathname/?search=test#hash"; | |
| parser.protocol; // => "http:" | |
| parser.hostname; // => "example.com" | |
| parser.port; // => "3000" | |
| parser.pathname; // => "/pathname/" | |
| parser.search; // => "?search=test" | |
| parser.hash; // => "#hash" | |
| parser.host; // => "example.com:3000" |