Skip to content

Instantly share code, notes, and snippets.

View wevertoum's full-sized avatar
🚴‍♂️
cycling and codding 💻

Weverton Rodrigues wevertoum

🚴‍♂️
cycling and codding 💻
View GitHub Profile

Requisitos para os Projetos Host e Aparelhos Inteligentes

Introdução

Este documento descreve os requisitos para dois projetos distintos solicitados pelo cliente Marcos. Os projetos são para desenvolvimento de landing pages para sua marca de produtos de automação residencial wireless e para sua empresa de gestão de aluguel de imóveis para curtas temporadas (Host).

Requisitos do Projeto Aparelhos Inteligentes

Requisitos Funcionais

@wevertoum
wevertoum / melhorias_complexidade.md
Last active August 9, 2023 19:02
melhorias na complexidade de um algoritmo de filtragem

Otimização em algoritmos de filtragem

Neste artigo, discutiremos uma melhoria significativa em um algoritmo de filtragem de itens de um array. O cenário envolve a comparação de duas metodologias para filtrar itens com base em um conjunto adicional de itens. Vamos analisar as duas abordagens e entender por que a segunda metodologia apresenta uma melhoria considerável em termos de eficiência computacional.

Introdução

Imagine que temos duas listas, o objetivo é filtrar os itens do array 1 removendo aquelas que também estão presentes no conjunto adicional. O desafio reside em escolher a abordagem mais eficiente em termos de complexidade computacional.

Caso de teste: arrays envolvidos

@wevertoum
wevertoum / functionalProps.ts
Created July 13, 2023 14:26
exemplo de tipos dinâmicos e funcionais em typescript
type ExampleProps = {
commonProp: string;
} & (
| {
tipoFile: "image";
resolution: "small" | "medium" | "large";
}
| {
tipoFile: "file";
format: ".pdf" | ".doc" | ".docx" | ".xls" | ".xlsx" | ".ppt" | ".pptx";
// typeSum can be "aposta" or "ganhos"
const reportPixBet = (typeSum = "aposta") => {
let arr = [];
document
.querySelectorAll(`tr[id^='rwid'] td:nth-child(${typeSum === "ganhos" ? "6" : "5"})`)
.forEach(function (el) {
const str = el.innerText;
arr.push(str);
});
#!/bin/bash
function createComponent() {
COMPONENT_NAME="$1"
FILE_TYPE="$2"
if [ -z "$COMPONENT_NAME" ]; then
echo "Component name missing. Please provide a name."
exit 1
fi
#!/bin/bash
function format_bytes {
size=$1
size_in_bytes=$((size * 1024))
if [[ $(uname) == "Darwin" ]]; then
size_formatted=$(gnumfmt --to=iec-i --suffix=B --format="%.2f" "$size_in_bytes")
else
size_formatted=$(numfmt --to=iec-i --suffix=B --format="%.2f" -d "." "$size_in_bytes")
fi
@wevertoum
wevertoum / CallSvgWithBalls.tsx
Created September 19, 2022 21:36
Modelo de component para selecionar áreas em um svg
// COMPONENT EXAMPLE
import React, { useState } from "react";
import CeuBoca from "utils/CeuBoca";
interface Props {}
const CallSvgWithBalls: React.FC<Props> = () => {
interface Regions {
regiao1: boolean;
regiao2: boolean;
const svg = document.querySelector("#detail > div > div > div > div > div > div > svg");
const svg2 = document.querySelector("#detail > div > div > section > div > div > div > div > div > img");
const getOuterHTML = () => {
const html = svg !== null ? svg : svg2
return html
}
const downloadSvg = () => {
import React, {
createContext,
useState,
Dispatch,
SetStateAction,
} from "react";
import { UsuarioInterface } from "../utils/models/UsuarioInterface";
interface UsuarioLogadoContextProps {
usuarioLogado: UsuarioInterface;
@wevertoum
wevertoum / agrupador_magico.js
Last active February 20, 2020 19:22
colocando comentários legais
//pessoas é apenas um caso de teste, esse array pode ser até jabota_a_jato_detona_geral
const pessoas = [
{ nome: "maria", idade: 20, cidade: "Goiania" },
{ nome: "joao", idade: 20, cidade: "São Paulo" },
{ nome: "maria", idade: 38, cidade: "Goiania" },
{ nome: "maria", idade: 38, cidade: "Goiania" },
{ nome: "maria", idade: 38, cidade: "Goiania" },
{ nome: "maria", idade: 38, cidade: "Goiania" },
{ nome: "maria", idade: 38, cidade: "Goiania" },
{ nome: "maria", idade: 38, cidade: "Goiania" },