Here we assume we have a dedicated user myuser
created.
The application is supposed to be in /vol/release/$USER
$ sudo update-alternatives --config editor
# === EDITOR === | |
Pry.editor = 'vi' | |
# === PROMPT === | |
Pry.prompt = [ ->(obj, nest_level, _) { "✎ " }, ->(obj, nest_level, _) { "#{' ' * nest_level} " } ] | |
# === COLORS === | |
unless ENV['PRY_BW'] | |
Pry.color = true | |
Pry.config.theme = "railscasts" |
defmodule DryStructMatch do | |
defmacrop clause!(name, mod, fun) do | |
quote bind_quoted: [name: name, mod: mod, fun: fun] do | |
quote do | |
def unquote(name)( | |
unquote({:%, [], [{:__aliases__, [alias: false], [mod]}, {:%{}, [], []}]}) = struct | |
) do | |
# |> ... | |
result = struct | |
unquote(:"#{name}_callback")(unquote(fun), result) |
{ | |
/* | |
// Place your snippets for Elixir here. | |
*/ | |
"GenServer": { | |
"prefix": "genserver", | |
"body": [ | |
"defmodule $1 do", | |
"@moduledoc \"\"\"", | |
" The `$1` server implementation", |
## Given a file, containing 1_000_000 lines, remove all duplicates, save for lines, starting with `#` | |
require 'digest/sha1' # to generate uniqs | |
FILE_NAME = 'input.txt' | |
File.readlines(FILE_NAME).each_with_index.uniq do |s, idx| | |
s.start_with?('#') ? Digest::SHA1.hexdigest(idx.to_s) : s | |
end.join("\n") | |
wget https://github.com/rabbitmq/erlang-rpm/releases/download/v19.3.6.2/erlang-19.3.6.2-1.el6.x86_64.rpm | |
sudo rpm -Uvh erlang-19.3.6.2-1.el6.x86_64.rpm | |
rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc | |
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el6.noarch.rpm | |
rpm -Uvh rabbitmq-server-3.6.10-1.el6.noarch.rpm | |
chkconfig rabbitmq-server on | |
/sbin/service rabbitmq-server start | |
rabbitmqctl status | |
rabbitmq-plugins enable rabbitmq_management |
def a1 | |
:normal | |
ensure | |
:ensure | |
end | |
def a2 | |
return :normal | |
ensure | |
return :ensure |
defmodule Eventory.Helpers.Log do | |
@moduledoc false | |
Enum.each(~w|error info warn debug|a, fn level -> | |
Module.register_attribute(__MODULE__, :level, persist: false) | |
Module.put_attribute(__MODULE__, :level, level) | |
defmacro unquote(Module.get_attribute(__MODULE__, :level))(chardata_or_fun, metadata \\ []) do | |
{{:., [], [ | |
{:__aliases__, [alias: false], [:Logger]}, | |
unquote(Module.get_attribute(__MODULE__, :level))]}, |
require 'benchmark/ips' | |
n = 500000 | |
require 'digest/md5' | |
require 'digest/sha1' | |
require 'digest/sha2' | |
require 'digest/sha3' # https://github.com/phusion/digest-sha3-ruby | |
INPUT = [5, "Hello, world", nil] |
# IEx.configure colors: [enabled: true] | |
# IEx.configure colors: [eval_result: [:cyan, :bright]] | |
{fortune, 0} = System.cmd "fortune", [] # displays the fortune prompt | |
IO.puts IO.ANSI.red_background() <> IO.ANSI.white() <> "▷ #{fortune}" <> IO.ANSI.reset | |
Application.put_env(:elixir, :ansi_enabled, true) | |
IEx.configure( | |
colors: [ | |
eval_result: [:green, :bright] , | |
eval_error: [[:red, :bright, "\n▶▶▶\n"]], | |
eval_info: [:yellow, :bright ], |