(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.
| const createLogger = (backgroundColor, color) => { | |
| const logger = (message, ...args) => { | |
| if (logger.enabled === false) { | |
| return; | |
| } | |
| console.groupCollapsed( | |
| `%c${message}`, | |
| `background-color: ${backgroundColor}; color: ${color}; padding: 2px 4px;`, | |
| ...args |
| /** | |
| * For compare function return: | |
| * - Less than zero: item1 has higher priority than item2. | |
| * - Zero: same. | |
| * - Greater than zero: item1 has lower priority than item2. | |
| */ | |
| export type CompareFunction<T> = (item1: T, item2: T) => number; | |
| export class PriorityQueue<T> { | |
| _items: Array<T>; |
| """ | |
| Minimal character-level Vanilla RNN model. Written by Andrej Karpathy (@karpathy) | |
| BSD License | |
| """ | |
| import numpy as np | |
| # data I/O | |
| data = open('input.txt', 'r').read() # should be simple plain text file | |
| chars = list(set(data)) | |
| data_size, vocab_size = len(data), len(chars) |
| /** | |
| * Basic proof of concept. | |
| * - Hot reloadable | |
| * - Stateless stores | |
| * - Stores and action creators interoperable with Redux. | |
| */ | |
| import React, { Component } from 'react'; | |
| export default function dispatch(store, atom, action) { |
| /* bling.js */ | |
| window.$ = document.querySelector.bind(document); | |
| window.$$ = document.querySelectorAll.bind(document); | |
| Node.prototype.on = window.on = function(name, fn) { this.addEventListener(name, fn); }; | |
| NodeList.prototype.__proto__ = Array.prototype; | |
| NodeList.prototype.on = function(name, fn) { this.forEach((elem) => elem.on(name, fn)); }; |
(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.
| # to generate your dhparam.pem file, run in the terminal | |
| openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048 |
| var parser = document.createElement('a'); | |
| parser.href = "http://example.com:3000/pathname/?search=test#hash"; | |
| parser.protocol; // => "http:" | |
| parser.hostname; // => "example.com" | |
| parser.port; // => "3000" | |
| parser.pathname; // => "/pathname/" | |
| parser.search; // => "?search=test" | |
| parser.hash; // => "#hash" | |
| parser.host; // => "example.com:3000" |