Install MongoDB 5.x
1. Import the public key used by the package management system
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
parse_git_branch() { | |
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' | |
} | |
PS1='\[\033[01;32m\]@\u\[\033[00m\] \[\033[01;34m\]\W\[\033[00m\]\[\033[01;36m\]$(parse_git_branch)\[\033[00m\]\n$ ' | |
# Don't forget | |
# $ source ~/.bashrc |
A solução que consegui encontrar para `setState() called after dispose()` foi justamente validar usando `mounted`. | |
Pelo que pesquisei já foi até sugestão de issue o setState checar o `mounted` por default. https://github.com/flutter/flutter/issues/107070 | |
Em um app com multiplas telas dados são carregados assincronamente, em alguns casos widgets estão fechados(unmounted - fora da árvore de widgets) | |
antes dos dados serem carregados completamente. Se um `setState` é executado em um `widget` que não está mais na tela teremos um erro. | |
Pode ocorrer de fluxos de outros widgets não apresentem erro. Entretanto não deixar um check para o `mounted` | |
deixa esse potencial ponto de falha em um widget que pode ser usado em várias partes do App. |
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
defmodule Ab do | |
def abs(x) when x < 0, do: x * -1 | |
def abs(x), do: x | |
end | |
defmodule Solution do | |
IO.read(:all) | |
|> String.split | |
|> Enum.map(&String.to_integer/1) | |
|> Enum.map(&Ab.abs/1) |
defmodule Arr do | |
def count(arr) do | |
c(arr, 0) | |
end | |
def c([_ | tail], acc) do | |
c(tail, acc + 1) | |
end | |
def c([], acc) do |
# I miss interpreted the function, but the outcome was cool | |
defmodule ListUtil do | |
def su(list) do | |
sum(list, 0) | |
end | |
def sum([head | tail], acc) do | |
sum(tail, head + acc) | |
end | |
defmodule ListUtil do | |
def invert([head | tail], acc) do | |
invert(tail, [head | acc]) | |
end | |
def invert([], acc) do | |
acc | |
end | |
end |
defmodule Solution do | |
IO.read(:all) | |
|> String.to_integer | |
|> (&(Range.new(1, &1))).() | |
|> Enum.to_list | |
|> IO.inspect | |
end |
defmodule Solution do | |
IO.read(:all) | |
|> String.split | |
|> Enum.drop_every(2) | |
|> Enum.each(&IO.puts/1) | |
end |
defmodule Solution do | |
[max | tail ] = IO.read(:all) | |
|> String.split | |
|> Enum.map(&String.to_integer/1) #everything is already integer after this | |
tail | |
|> Enum.filter(fn x -> x < max end) | |
|> Enum.each(&IO.puts/1) | |
end |