Make all the changes described in these files. Delete assets/css/phoenix.css as it is no longer used.
- config/dev.exs
- assets/package.json
- assets/postcss.config.js
- assets/tailwind.config.js
- assets/css/app.css
- mix.exs
# Note: can also just install nerdctl-full | |
sudo apt-get update | |
sudo apt-get install containerd | |
wget https://github.com/containerd/nerdctl/releases/download/v1.5.0/nerdctl-1.5.0-linux-amd64.tar.gz | |
tar -zxf nerdctl-1.5.0-linux-amd64.tar.gz nerdctl | |
sudo mv nerdctl /usr/bin/nerdctl | |
rm nerdctl-1.5.0-linux-amd64.tar.gz |
Make all the changes described in these files. Delete assets/css/phoenix.css as it is no longer used.
# set a loop for running commands, will run unit tests on enter | |
while read; do go test ./...; done | |
# set a loop that runs once a second (like watch), can be used in cases watch doesn't fit as well | |
while sleep 1; do ls; done | |
# do something with the previous command | |
pwd | |
ls $(!!) # equivalent to ls $(pwd) |
nothing: | |
literally_nothing: |
This is handy for cases such as needing to dynamically assign structs, for example when use with marshalling or when assigning the results of a SQL query into a struct, without duplicating code for each type. This is a naive implementation as it takes absolutely no error checking into account. It is not production safe and is meant to demonstrate how to iterate through and populate a struct.
Example usage
type Foo struct {
Int int
String string
Unassigned string
}
defmodule StructParser do | |
import NimbleParsec | |
@space 0x0020 | |
@tab 0x009 | |
whitespace = utf8_char([@space, @tab, ?\n]) | |
ignore_whitespace = | |
lookahead(whitespace) |
defmodule Test.Parser do | |
import NimbleParsec | |
# iex(9)> Test.Parser.parse """ | |
# ...(9)> FOO = 1 (some foo) | |
# ...(9)> BAR = 2 (some | |
# ...(9)> bar) | |
# ...(9)> FAZ = 3 (some faz) | |
# ...(9)> """ | |
# {:ok, ["FOO", 1, "somefoo", "BAR", 2, "somebar", "FAZ", 3, "somefaz"], "\n", |
Requires phx.new, install with mix archive.install hex phx_new
mix phx.new app
Common flags:
A problem with repositories is sometimes you do not remember what commands you ran to bootstrap the application, or what generators were used. A history file similar to .bash_history would be handy for a per-project basis. The h
command above provides a wrapper around this functionality. It should be portable across any system with bash.
Run a command and write out the command to the git project's .history file, this logs $@ to .history
$ h mix phx.new project_name
$ h mix deps.get
$ h mix ecto.create
$ cat .history
mix phx.new project_name
defmodule FlagStars do | |
def calculate() do | |
Enum.reduce(1..25, [], fn first, acc -> | |
acc ++ Enum.reduce(1..25, [], fn second, acc -> | |
acc ++ Enum.reduce(1..10, [], fn rows, acc -> | |
acc ++ cond do | |
(rows * first) == 51 -> [{first, rows}] | |
((div(rows, 2) + rem(rows, 2)) * first) + (div(rows, 2) * second) == 51 -> [{first, second, rows}] | |
true -> [] | |
end |