(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's worthy of note that Javascript is not a class-oriented language. It's strength is in its native nature. | |
// Basically, Javascript is a prototypal language and thus uses prototypal inheritance for its operations. | |
// The example below is a tip of how the prototypal nature of javascript can be utilized | |
// Implementing the use of 'arguments' object to pass arguments to a funcion | |
function foo() { | |
bar.apply(null, arguments) | |
} | |
function bar(){ |
(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.
#!/bin/bash | |
# REQUIRES SUDO | |
# Benchmark runner | |
repeats=20 | |
output_file='benchmark_results.csv' | |
command_to_run='echo 1' | |
run_tests() { | |
# -------------------------------------------------------------------------- |
In the [first part](https://pub.scotch.io/@rowland/build-a-media-library-with-react-redux-and-redux-saga-part-1) of this tutorial, we had a running app. We covered basic React setup, project workflow; defined basic components and configured our application's routes. | |
In part 2 of this tutorial, which is unarguably the most interesting part of building React/redux application, we will setup application state management with redux, connect our React components to the store, and then deploy to Heroku. We will walk through this part in eight steps: | |
1. Define Endpoints of interest. | |
2. Create a container component. | |
3. Define action creators. | |
4. Setup state management system. | |
5. Define async task handlers. | |
6. Create presentational components. |
// Initialize the saga middleware | |
const sagaMiddleware = createSagaMiddleware(); | |
// Inject middleware to the store | |
const store = createStore(userReducer, applyMiddleware(sagaMiddleware)); | |
// Run the sagas you defined. | |
// You would normally have a rootSaga were you register all your saga | |
// Or spread then in the run function. | |
sagaMiddleware.run(watchRequest); |
This Gist presents a new design of class-based object construction in ES6 that does not require use of the two-phase @@create protocol.
One of the characteristics of this proposal is that subclass constructors must explicitly super invoke their superclass's constructor if they wish to use the base class' object allocation and initialization logic.
An alternative version of this design automatically invokes the base constructor in most situations.
Note: Totally optional. | |
Let's do this guys! | |
Write a calculator program that performs basic arithmetic operations. | |
Demonstrate how you can make private functions and public functions using revealing module pattern. | |
Use a markup page to get user input and render value accordingly. |
// Piping multiple functions | |
const _pipe = (f, g) => (...args) => g(f(...args)); | |
const pipe = (...fns) => fns.reduce(_pipe); | |
const partials = (fn, ...args) => fn.bind(null, ...args); | |
const add2 = (...args) => args.reduce((a,b) => a + b); | |
const add3 = (a) => a + 6; | |
const add4 = (a, b) => a + b + 5; |
function test (num) { | |
var holder = num.split(''); | |
var sum = 0, i = 0; | |
var count = holder.length; | |
while(i < count) { | |
if(holder[i] === '-'){ | |
sum = sum - holder[i + 1]; | |
i += 2; | |
} else{ | |
sum += parseInt(holder[i]); |
-module(assignment). | |
-export([perimeter/1, area/1, enclose/1, bit/1]). | |
% perimeter implementation | |
perimeter({circle, R}) -> | |
2 * math:pi() * R; | |
perimeter({rectangle, H, W}) -> | |
2*(H + W); |