(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.
| function Selector_Cache() { | |
| var collection = {}; | |
| function get_from_cache( selector, reset ) { | |
| if ( undefined === collection[ selector ] || true === reset ) { | |
| collection[ selector ] = jQuery( selector ); | |
| } | |
| return collection[ selector ]; | |
| } |
Spurred by recent events (https://news.ycombinator.com/item?id=8244700), this is a quick set of jotted-down thoughts about the state of "Semantic" Versioning, and why we should be fighting the good fight against it.
For a long time in the history of software, version numbers indicated the relative progress and change in a given piece of software. A major release (1.x.x) was major, a minor release (x.1.x) was minor, and a patch release was just a small patch. You could evaluate a given piece of software by name + version, and get a feeling for how far away version 2.0.1 was from version 2.8.0.
But Semantic Versioning (henceforth, SemVer), as specified at http://semver.org/, changes this to prioritize a mechanistic understanding of a codebase over a human one. Any "breaking" change to the software must be accompanied with a new major version number. It's alright for robots, but bad for us.
SemVer tries to compress a huge amount of information — the nature of the change, the percentage of users that wil
| https://www.floatschedule.com/ | |
| http://www.usepeak.com/ | |
| http://heymosaic.com/ | |
| http://www.invisionapp.com/ | |
| https://www.simple.com/ | |
| https://www.farmstandapp.com/ | |
| http://shoot.sh/ |
| using UnityEngine; | |
| using System; | |
| using System.Collections; | |
| using System.Collections.Generic; | |
| using System.Reflection; | |
| ///<summary> | |
| /// A simple in-game GUI for Unity that allows tweaking of script fields | |
| /// and properties marked with [TweakableMember] | |
| ///</summary> |
| /* This variable is for demonstration only, but the naming convention is a shorthand for: | |
| ** $globalVar-spacingVar-baseline | |
| */ | |
| $g-s-baseline: 23px; | |
| /* You could imagine different variables following the same pattern, for example: | |
| ** $g-c-blue (global, color, blue) | |
| ** $l-f-sans (local/themed, font, sans-serif) | |
| */ |
| // isAutoplaySupported(callback); | |
| // Test if HTML5 video autoplay is supported | |
| isAutoplaySupported = function(callback) { | |
| // Is the callback a function? | |
| if (typeof callback !== 'function') { | |
| console.log('isAutoplaySupported: Callback must be a function!'); | |
| return false; | |
| } | |
| // Check if sessionStorage exist for autoplaySupported, | |
| // if so we don't need to check for support again |