(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.
// It is important to declare your variables. | |
(function() { | |
var foo = 'Hello, world!'; | |
print(foo); //=> Hello, world! | |
})(); | |
// Because if you don't, the become global variables. | |
(function() { |
<?php | |
/* | |
* Author : TechnoKnol | |
* Blog : http://technoknol.blogspot.com | |
* Purpose : Allow HTML tags in Widget Title in WordPress | |
* | |
* */ | |
// Add below code in your theme's functions.php file | |
// Allow HTML tags in Widget title | |
function html_widget_title( $var) { |
(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.
You don't really need a framework or fancy cutting-edge JavaScript features to do two-way data binding. Let's start basic - first and foremost, you need a way to tell when data changes. Traditionally, this is done via an Observer pattern, but a full-blown implementation of that is a little clunky for nice, lightweight JavaScript. So, if native getters/setters are out, the only mechanism we have are accessors:
var n = 5;
function getN() { return n; }
function setN(newN) { n = newN; }
console.log(getN()); // 5
setN(10);
#!/usr/bin/env python | |
# the contents of this file are in the public domain | |
import os | |
import random | |
import sys | |
def main(args): | |
filename = args[0] |
All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.
Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.
elem.offsetLeft
, elem.offsetTop
, elem.offsetWidth
, elem.offsetHeight
, elem.offsetParent
Picking the right architecture = Picking the right battles + Managing trade-offs
export const GoogleApi = function(opts) { | |
opts = opts || {} | |
const apiKey = opts.apiKey; | |
const libraries = opts.libraries || []; | |
const client = opts.client; | |
const URL = 'https://maps.googleapis.com/maps/api/js'; | |
const googleVersion = '3.22'; | |
let script = null; |
/* | |
https://www.smashingmagazine.com/2016/07/improving-user-flow-through-page-transitions/ | |
You can copy paste this code in your console on smashingmagazine.com | |
in order to have cross-fade transition when change page. | |
*/ | |
var cache = {}; | |
function loadPage(url) { | |
if (cache[url]) { |
# Edit this file | |
alias aliases="nano ~/.bash_profile" # usage: type `aliases` in Terminal | |
# Navigate to location | |
alias home="cd ~" | |
alias desktop="cd ~/Desktop/" | |
alias repos="cd ~/Documents/Repos/" | |
# Navigate to project directory | |
alias ds="clear && cd ~/Documents/Repos/design-system" |