(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.
defmodule MyApp do | |
use Application | |
def start(_type, _args) do | |
import Supervisor.Spec, warn: false | |
children = [ | |
Plug.Adapters.Cowboy.child_spec(:http, MyApp.Router, [], [ | |
dispatch: dispatch | |
]) |
import https from 'https' | |
import http from 'http' | |
import url from 'url' | |
import adapt from 'ugly-adapter' // callback => promise adapter; need to npm install this | |
import tls from 'tls' | |
import net from 'net' | |
import fs from 'fs' | |
import os from 'os' | |
import path from 'path' | |
import childProcess from 'child_process' |
# npm publish with goodies | |
# prerequisites: | |
# `npm install -g trash conventional-recommended-bump conventional-changelog conventional-github-releaser conventional-commits-detector json` | |
# `np` with optional argument `patch`/`minor`/`major`/`<version>` | |
# defaults to conventional-recommended-bump | |
# and optional argument preset `angular`/ `jquery` ... | |
# defaults to conventional-commits-detector | |
np() { | |
travis status --no-interactive && | |
trash node_modules &>/dev/null; |
""" | |
Copies all keys from the source Redis host to the destination Redis host. | |
Useful to migrate Redis instances where commands like SLAVEOF and MIGRATE are | |
restricted (e.g. on Amazon ElastiCache). | |
The script scans through the keyspace of the given database number and uses | |
a pipeline of DUMP and RESTORE commands to migrate the keys. | |
Requires Redis 2.8.0 or higher. |
# Hello, and welcome to makefile basics. | |
# | |
# You will learn why `make` is so great, and why, despite its "weird" syntax, | |
# it is actually a highly expressive, efficient, and powerful way to build | |
# programs. | |
# | |
# Once you're done here, go to | |
# http://www.gnu.org/software/make/manual/make.html | |
# to learn SOOOO much more. |
### DML ### | |
# Keyspace Name | |
keyspace: stresscql | |
# The CQL for creating a keyspace (optional if it already exists) | |
keyspace_definition: | | |
CREATE KEYSPACE stresscql WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; | |
# Table name |
# defines a generic proxy | |
defmodule GenProxy do | |
defmacro __using__(_) do | |
quote location: :keep do | |
use GenServer | |
def handle_call(msg, from={_process, ref}, state) do | |
case proxy_call(msg, from, state) do | |
{:forward, server, new_state} -> | |
:erlang.send(server, {:"$gen_call", {self, ref}, msg}, [:noconnect]) |
(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.
defmodule Constants do | |
@moduledoc """ | |
An alternative to use @constant_name value approach to defined reusable | |
constants in elixir. | |
This module offers an approach to define these in a | |
module that can be shared with other modules. They are implemented with | |
macros so they can be used in guards and matches | |
## Examples: |
The prep-script.sh
will setup the latest Node and install the latest perf version on your Linux box.
When you want to generate the flame graph, run the following (folder locations taken from install script):
sudo sysctl kernel.kptr_restrict=0
# May also have to do the following:
# (additional reading http://unix.stackexchange.com/questions/14227/do-i-need-root-admin-permissions-to-run-userspace-perf-tool-perf-events-ar )
sudo sysctl kernel.perf_event_paranoid=0