Skip to content

Instantly share code, notes, and snippets.

View coproduto's full-sized avatar

Cast coproduto

View GitHub Profile
defmodule LongestCommonPrefix do
@spec run([String.t()]) :: String.t()
def run(strings) do
strings
|> Stream.map(&String.graphemes/1)
|> Stream.zip_with(&Function.identity/1)
|> Stream.take_while(&all_same?/1)
|> Stream.map(&hd/1)
|> Enum.join()
end
const validateRequest(request: Request): boolean {
return [
request.body,
request.body.value,
request.body.country,
request.body.email,
request.body.number
].some();
}
function safeWalk(object) {
for (const entry of safeWalkRec(object, new Set([object]))) {
console.log(entry);
}
}
function safeWalkRec(object, seen) {
let entries = [];
for (const key of Object.keys(object)) {
const value = object[key];
defmodule Quine do
@header "defmodule Quine do\n @header \""
@indent """
def indent(str) do
str
|> String.split(\"\\n\")
|> Enum.map(&(\" \" <> &1))
|> Enum.join(\"\\n\")
end
defmodule Multiply do
def call(0, _), do: 0
def call(a, b) when a < 0, do: -call(-a, b)
def call(a, b), do: call_rec(a, b, 0)
defp call_rec(0, _b, acc), do: acc
defp call_rec(a, b, acc), do: call_rec(a - 1, b, acc + b)
defmodule RecursiveUtils do
def map([], _func), do: []
def map([h | t], func), do: [func.(h) | map(t, func)]
def filter([], _pred), do: []
def filter([h | t], pred) do
if pred.(h), do: [h | filter(t, pred)], else: filter(t, pred)
end
def reduce([], acc, _reducer), do: acc
def today([]), do: nil
def today([first | _rest]), do: first
def increment_day_count([]), do: [1]
def increment_day_count([first | _rest]), do: [first + 1 | rest]
defmodule Extense do
@hundreds [
{900, "novecentos"},
{800, "oitocentos"},
{700, "setecentos"},
{600, "seiscentos"},
{500, "quinhentos"},
{400, "quatrocentos"},
{300, "trezentos"},
{200, "duzentos"},
defmodule DoubleCola do
@moduledoc """
Resolve o problema "Double Cola".
Para encontrar a solução para o inteiro `n`, chame a função
`DoubleCola.find_person_at_position/1`.
"""
@initial_queue_size 5
@names ["Sheldon", "Leonard", "Penny", "Rajesh", "Howard"]

Roadmap de estudos de SQL

Aviso: Muitas vezes detalhes de várias operações podem variar de banco para banco. Em questões onde fiquei em dúvida, este documento segue o funcionamento do PostgreSQL, pois é o banco que conheço melhor.

Pré-requisito: Álgebra Relacional básica

Antes de começar a escrever SQL, você precisa entender o modelo de como um banco de dados relacional funciona. Não precisa se aprofundar muito, mas você precisa entender como que dados e relacionamentos entre eles são representados. (Nota importante: Relacionamento e relação não são a