Skip to content

Instantly share code, notes, and snippets.

View bloodyowl's full-sized avatar
🦉

Matthias Le Brun bloodyowl

🦉
View GitHub Profile
@bloodyowl
bloodyowl / part2.md
Created October 29, 2017 10:08 — forked from wyeo/part2.md
Observable

Bienvenue dans la deuxième partie du tutoriel sur les Observables.

Résumé de partie 1

Dans la première partie, nous avons vu que les Observables nous permettent de traiter des données synchrones et asynchrones. Aussi, nous avons vu la méthode subscribe() à laquelle nous appliquons notre Observer afin de consulter les données. Enfin dans le dernier exemple, une méthode unsubscribe() qui va nous permettre en tant que Observer d'avoir la possibilité de decider de ne plus écouter les données émises.

Vous l’aurez compris, les Observables sont surtout utilisés dans l’objectif de manipuler de la donnée asynchrone. Nous allons donc essayer de comprendre, comment est-ce que les données reçue peuvent être manipulées.

Prenons un cas concret pour illustrer notre problématique :

@bloodyowl
bloodyowl / 00_README.md
Last active January 6, 2017 18:01
POC: minimal Backbone subset written in ES6/ES7

POC: minimal Backbone subset written in ES6/ES7

@bloodyowl
bloodyowl / Component.js
Created January 4, 2017 15:16
Component library in less than 140 bytes
b=0;$=x=>(p,i="_"+b++,u=($[i]=q=>eval(i).innerHTML=x(p,$[q],u),z=>($[++b]=z,`$.${i}(${b})`)))=>`<c id=${i}>${x(p,[]._,u)}</c>`
@bloodyowl
bloodyowl / gist:6846108
Created October 5, 2013 21:14
Minify HTML files using nodeJS
var minify = require("minify")
, fs = require("fs")
, htmlRegExp = /\.html$/
, options = {encoding:"utf-8"}
fs.readdirSync("./dist").filter(isHTML).forEach(write)
function isHTML(item){
return htmlRegExp.test(item)
}
@bloodyowl
bloodyowl / gist:4340751
Last active April 20, 2016 17:53
Smallest HTML5 shim ever

Smallest HTML5 shim ever

130 bytes, that's what it takes.

Script

"header footer section aside nav article figure figcaption hgroup time main".replace(/\w+/g,function(a){document.createElement(a)})
@bloodyowl
bloodyowl / bem.styl
Created January 21, 2014 12:08
BEM using stylus
.Block
&-element
color: #000
&--modifier
color: #c33
&--modifier
position: relative
@bloodyowl
bloodyowl / gist:8460661
Last active January 3, 2016 12:09
global leaks
;(function(win){
var doc = win.document
, i = keys(doc.body.appendChild(doc.createElement("iframe")).contentWindow)
return keys(win).filter(function(a){return i.indexOf(a) == -1})
})(window)
/* goodbye chrome crap */
input[type=date]::-webkit-clear-button,
input[type=date]::-webkit-inner-spin-button
input[type=date]::-webkit-calendar-picker-indicator {
display: none
}
@bloodyowl
bloodyowl / gist:7925928
Last active December 31, 2015 03:09
getRelativeCoors, for mouseevents
function getRelativeCoords(target, evt){
var clientRect = target.getBoundingClientRect()
return {
x : evt.clientX - clientRect.left
, y : evt.clientY - clientRect.top
}
}
var klass = (function(){
var k = {}
, createObject =
typeof Object.create == "function" ?
function(object){
return Object.create(object)
} :
function(object){
function F(){}