In React's terminology, there are five core types that are important to distinguish:
React Elements
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>Ember Starter Kit</title> | |
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.1/normalize.css"> | |
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> | |
<script src="http://builds.emberjs.com/tags/v1.13.2/ember-template-compiler.js"></script> | |
<script src="http://builds.emberjs.com/tags/v1.13.2/ember.debug.js"></script> | |
<style id="jsbin-css"> |
;; I could have used a closed dispatch (aka cond) but you may find this version more enjoyable | |
;; the spec format is the one provided by BG | |
(defprotocol Selector | |
(-select [s m])) | |
(defn select [m selectors-coll] | |
(reduce conj {} (map #(-select % m) selectors-coll))) | |
(extend-protocol Selector |
(comment ; Fun with transducers, v2 | |
;; Still haven't found a brief + approachable overview of Clojure 1.7's new | |
;; transducers in the particular way I would have preferred myself - so here goes: | |
;;;; Definitions | |
;; Looking at the `reduce` docstring, we can define a 'reducing-fn' as: | |
(fn reducing-fn ([]) ([accumulation next-input])) -> new-accumulation | |
;; (The `[]` arity is actually optional; it's only used when calling | |
;; `reduce` w/o an init-accumulator). |
In React's terminology, there are five core types that are important to distinguish:
React Elements
React Fiber is an ongoing reimplementation of React's core algorithm. It is the culmination of over two years of research by the React team.
The final result: require() any module on npm in your browser console with browserify
This article is written to explain how the above gif works in the chrome (and other) browser consoles. A quick disclaimer: this whole thing is a huge hack, it shouldn't be used for anything seriously, and there are probably much better ways of accomplishing the same.
Update: There are much better ways of accomplishing the same, and the script has been updated to use a much simpler method pulling directly from browserify-cdn. See this thread for details: mathisonian/requirify#5
/* ---------------------------------------------------------- */ | |
/* */ | |
/* A media query that captures: */ | |
/* */ | |
/* - Retina iOS devices */ | |
/* - Retina Macs running Safari */ | |
/* - High DPI Windows PCs running IE 8 and above */ | |
/* - Low DPI Windows PCs running IE, zoomed in */ | |
/* - Low DPI Windows PCs and Macs running Firefox, zoomed in */ | |
/* - Android hdpi devices and above */ |
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], |
{ | |
// http://eslint.org/docs/rules/ | |
"ecmaFeatures": { | |
"binaryLiterals": false, // enable binary literals | |
"blockBindings": false, // enable let and const (aka block bindings) | |
"defaultParams": false, // enable default function parameters | |
"forOf": false, // enable for-of loops | |
"generators": false, // enable generators | |
"objectLiteralComputedProperties": false, // enable computed object literal property names |
Disclaimer: This is an unofficial post by a random person from the community. I am not an official representative of io.js. Want to ask a question? open an issue on the node-forward
discussions repo