(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.
// Fonts mixin | |
font-url(file) | |
return '../fonts/' + file | |
webfont(family, file, hack-chrome-windows = false, weight = 'normal') | |
@font-face | |
font-family family | |
src url(font-url(file + '.eot')) | |
src url(font-url(file + '.eot?#iefix')) format('embedded-opentype'), | |
url(font-url(file + '.woff')) format('woff'), |
<button>Alerted</button> |
(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.
Douglas Crockford, author of JavaScript: The Good parts, recently gave a talk called The Better Parts, where he demonstrates how he creates objects in JavaScript nowadays. He doesn't call his approach anything, but I will refer to it as Crockford Classless.
Crockford Classless is completely free of class, new, this, prototype and even Crockfords own invention Object.create.
I think it's really, really sleek, and this is what it looks like:
function dog(spec) {
Douglas Crockford showed a slide showing how he creates JavaScript objects in 2014.
He no longer uses Object.create(), avoids 'this' and doesn't even care about memory reduction by using prototypes.
https://www.youtube.com/watch?v=bo36MrBfTk4 (skip ahead to 35 mins for relevant section)
Here is the pattern described on the slide:
function constructor(spec) {
While this gist has been shared and followed for years, I regret not giving more background. It was originally a gist for the engineering org I was in, not a "general suggestion" for any React app.
Typically I avoid folders altogether. Heck, I even avoid new files. If I can build an app with one 2000 line file I will. New files and folders are a pain.
# Config for GNU GRand Unified Bootloader (GRUB) (2) | |
# /boot/grub2/grub.cfg | |
# or | |
# /boot/grub/grub.cfg | |
# Mostly only 'legacy' CSM/BIOS boot methods currently. | |
# Unable to boot loop entries with Secure Boot | |
# Notes: | |
# Description: | |
# This grub.cfg file was created by Lance http://www.pendrivelinux.com |
// The pattern Crockford uses these days. | |
function constructor(spec) { | |
var that = other_constructor(spec), | |
member, | |
method = function () { | |
// spec, member, method | |
} | |
that.method = method; | |
return that; | |
} |
var uniqueArray = function(arrArg) { | |
return arrArg.filter(function(elem, pos,arr) { | |
return arr.indexOf(elem) == pos; | |
}); | |
}; | |
var uniqEs6 = (arrArg) => { | |
return arrArg.filter((elem, pos, arr) => { | |
return arr.indexOf(elem) == pos; | |
}); |
A Pen by Brian Douglas on CodePen.