<Additional information about your API call. Try to use verbs that match both request type (fetching vs modifying) and plurality (one vs multiple).>
-
URL
<The URL Structure (path only, no root url)>
-
Method:
| /** | |
| * Get YouTube ID from various YouTube URL | |
| * @author: takien | |
| * @url: http://takien.com | |
| * For PHP YouTube parser, go here http://takien.com/864 | |
| */ | |
| function YouTubeGetID(url){ | |
| var ID = ''; | |
| url = url.replace(/(>|<)/gi,'').split(/(vi\/|v=|\/v\/|youtu\.be\/|\/embed\/)/); |
| <!-- | |
| <form autocomplete="off"> will turn off autocomplete for the form in most browsers | |
| except for username/email/password fields | |
| --> | |
| <form autocomplete="off"> | |
| <!-- fake fields are a workaround for chrome/opera autofill getting the wrong fields --> | |
| <input id="username" style="display:none" type="text" name="fakeusernameremembered"> | |
| <input id="password" style="display:none" type="password" name="fakepasswordremembered"> | |
| #Add the Ubuntu 12.04(precise) repositories | |
| cat <<EOF >> /etc/apt/sources.list | |
| deb http://archive.ubuntu.com/ubuntu precise main restricted universe | |
| deb http://archive.ubuntu.com/ubuntu precise-updates main restricted universe | |
| deb http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse | |
| EOF | |
| # Update the repos | |
| apt-get update |
| ----- BEGIN LICENSE ----- | |
| sgbteam | |
| Single User License | |
| EA7E-1153259 | |
| 8891CBB9 F1513E4F 1A3405C1 A865D53F | |
| 115F202E 7B91AB2D 0D2A40ED 352B269B | |
| 76E84F0B CD69BFC7 59F2DFEF E267328F | |
| 215652A3 E88F9D8F 4C38E3BA 5B2DAAE4 | |
| 969624E7 DC9CD4D5 717FB40C 1B9738CF | |
| 20B3C4F1 E917B5B3 87C38D9C ACCE7DD8 |
| // getComponent is a function that returns a promise for a component | |
| // It will not be called until the first mount | |
| function asyncComponent(getComponent) { | |
| return class AsyncComponent extends React.Component { | |
| static Component = null; | |
| state = { Component: AsyncComponent.Component }; | |
| componentWillMount() { | |
| if (!this.state.Component) { | |
| getComponent().then(Component => { |
| { | |
| "name": "project-name", | |
| "description": "Template for static sites", | |
| "version": "1.0.0", | |
| "homepage": "http://www.project-name.com", | |
| "author": { | |
| "name": "Adam Buczynski", | |
| "url": "http://adambuczynski.com" | |
| }, | |
| "license": "UNLICENSED", |
| /** | |
| * Deep diff between two object, using lodash | |
| * @param {Object} object Object compared | |
| * @param {Object} base Object to compare with | |
| * @return {Object} Return a new object who represent the diff | |
| */ | |
| function difference(object, base) { | |
| function changes(object, base) { | |
| return _.transform(object, function(result, value, key) { | |
| if (!_.isEqual(value, base[key])) { |
(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.