Skip to content

Instantly share code, notes, and snippets.

View andersonbosa's full-sized avatar
🥑

Anderson Bosa andersonbosa

🥑
View GitHub Profile
NOT_POSSIBLE='not possible'
PALINDROME = 'palindrome'
MIN_PALINDROME_LENGTH = 3
def is_palindrome(word):
return word == word[::-1]
def remove_char_at(word, index):
return word[:index] + word[index + 1:]

Explorando a Eficiência: Desvendando Matrizes Esparsas com JavaScript

Você já se deparou com situações em que uma matriz é composta majoritariamente por zeros? Pode parecer desperdício de espaço representar todos esses zeros. É aqui que entram as matrizes esparsas, uma abordagem inteligente para otimizar o armazenamento de dados. Vamos mergulhar em uma implementação prática dessa ideia utilizando JavaScript e listas encadeadas.

Entendendo o Conceito: Listas Encadeadas e Matrizes Esparsas

Antes de começarmos, é essencial entender o que são listas encadeadas. Em termos simples, são estruturas de dados compostas por nós, onde cada nó contém dados e uma referência ao próximo nó na sequência.

Agora, imagine aplicar essa ideia para representar matrizes esparsas. Em uma matriz esparsa, a maioria dos elementos é zero. Em vez de armazenar todos esses zeros, podemos economizar espaço conectando apenas os elementos não nulos em uma lista encadeada.

@andersonbosa
andersonbosa / Simples passo a passo para dia-a-dia do homeoffice.md
Created January 2, 2024 17:16
Aqui está uma lista para te ajudar a lembrar diariamente. Lembrar-se desses princípios diariamente pode ajudar a manter o equilíbrio entre tarefas e comunicação no ambiente de trabalho.
  1. Defina Objetivos Diários:

    • Liste as tarefas essenciais que precisam ser concluídas no dia.
  2. Identifique Prioridades:

    • Classifique as tarefas por importância e urgência.
  3. Use a Matriz de Eisenhower:

    • Separe tarefas em quadrantes de urgência e importância.
  4. Estabeleça Prazos Realistas:

@andersonbosa
andersonbosa / youtube_downloader.sh
Last active December 1, 2023 11:46
Set a timer to download videos from YouTube using `yt-dlp`. Used in Ubuntu Mantic.
#!/bin/sh
#
# Author:
# https://github.com/andersonbosa
#
# Description
# Set a timer to download videos from YouTube using `yt-dlp`.
#
# Tested:
# Used in Ubuntu Mantic.
// ==UserScript==
// @name whatsapp.com make web option available
// @match https://api.whatsapp.com/send/*
// @author github.com/andersonbosa < @t4inha >
// @description see more in: https://gist.github.com/andersonbosa/24cfe32eb0bc9074c1e1ef4e1b5b9f5f
// ==/UserScript==
// Function to update URL parameter
function updateURLParameter(param, value) {

Tabelas do Banco de Dados

Tabela: Users (Usuários)

Campo Tipo Restrições
user_id INT PK, AI
username VARCHAR(50) NOT NULL
email VARCHAR(100) UNIQUE, NOT NULL
password VARCHAR(255) NOT NULL
created_at DATETIME DEFAULT NOW()
type CustomStorage = {
data: { [key: string]: string }
setItem: (key: string, value: string) => void
getItem: (key: string) => string | null
}
type StorageType = 'localStorage' | 'customStorage'
class StorageManager {
storage: Storage | CustomStorage
@andersonbosa
andersonbosa / popup.tsx
Created October 30, 2023 18:25
Use React to implement a Popup Queu to notifications, alerts, errors, etc
import { Component } from 'react'
import styles from './Popup.module.css'
interface PopupProps {
type: 'alert' | 'notification' | 'error'
title: string
body: string
visibilityDuration?: number
}

food-schedule.md

Prompt:

I want to have a healthier routine and diet. Consider that I live in Brazil. My diet is vegan. I want to prepare to make meals for the entire week, changing dishes each week. Generate a Markdown Table with a weekly food calendar for breakfast, lunch and dinner. Generate 5 calendar options.

# frozen_string_literal: true
# ThreadIterator is a class that allows iterating over an array in groups using threads.
class ThreadIterator
# Initialize the ThreadIterator with an array and a group size.
#
# @param array [Array] The array to iterate over.
# @param group_size [Integer] The size of each group.
def initialize(array, group_size)
@array = array