(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.offsetParentPicking 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" |