Skip to content

Instantly share code, notes, and snippets.

View herberthamaral's full-sized avatar

Herberth Amaral herberthamaral

View GitHub Profile
@herberthamaral
herberthamaral / audio_thread.py
Created March 24, 2020 14:32
Simulação de escuta de microfone e geração de comando latex usando threads
import queue
import random
import threading
import time
def ouvir_microfone(fila_comandos: queue.Queue) -> None:
# Função produtora da fila
# Esta função simula alguém ditando comandos no microfone, colocando na
# fila de comandos o que foi dito. Gera um comando a cada 5 segundos.
@herberthamaral
herberthamaral / README.md
Last active March 24, 2020 14:35
Caso de uso e implementação básica

Pequeno exemplo de estória de usuário (user story) com implementação

Algumas observações a respeito dos arquivos deste gist:

  1. O arquivo Python pode ser executado diretamente para que os testes dentro dele sejam executados;
  2. Por questões de simplicidade, optou-se por deixar o código de produção junto com o código de testes, mas isso não é recomendado em um projeto real -- os dois tipos de código devem ficar separados;
  3. Também por questões de simplicidade, um framework de BDD (como o python-behave) não foi utilizado;
  4. Apenas os dois primeiros cenários foram implementados;
  5. A forma normal de utilizar o unittest é criar uma pasta tests e colocar todos os arquivos lá e utilizar o comando python -m unittest como consta na documentação [1].
@herberthamaral
herberthamaral / nats_to_sse.py
Last active January 3, 2024 14:51
Listen to a nats topic and write to a HTTP client listening via server-sent-events
import asyncio
from typing import AsyncGenerator, Dict
from fastapi import FastAPI
from nats.aio.client import Client as NATS
from nats.aio.client import Msg
from starlette.requests import Request
from starlette.responses import StreamingResponse
app = FastAPI()
@herberthamaral
herberthamaral / fizzbuzz.py
Created May 24, 2018 16:55
Dojo com fizzbuzz
import unittest
def fizzbuzz(num):
retorno = ''
if num == 0:
return retorno
if num % 3 == 0:
@herberthamaral
herberthamaral / troco-dojo.py
Created May 17, 2018 18:26
Dojo cujo problema é o do mínimo número possível de moedas de um troco
def troco(valor):
retorno = {50: 0, 25: 0, 10:0, 5: 0, 1: 0}
while valor >= 5:
if valor >= 50:
retorno[50] += 1
valor = valor - 50
elif valor >= 25:
retorno[25] = 1
valor = valor - 25
elif valor >= 10:
@herberthamaral
herberthamaral / debug-server.py
Created May 16, 2018 14:05
A simple (even lacking) web server for debugging clients (yes, really).
import json
from werkzeug.wrappers import Request, Response
@Request.application
def application(request):
print('HEADERS:')
for header, value in request.headers.items():
print('{header}: {value}'.format(header=header, value=value))
print('CONTENT:')
@herberthamaral
herberthamaral / keybase.md
Created March 9, 2018 17:34
keybase proof

Keybase proof

I hereby claim:

  • I am herberthamaral on github.
  • I am herberthamaral (https://keybase.io/herberthamaral) on keybase.
  • I have a public key ASB1HmxiGMufY0PlmTyzmFkHKm6Z1Vz65loVAmN47-Y5zAo

To claim this, I am signing this object:

@herberthamaral
herberthamaral / apresentacao-org-mode-e-gtd.org
Created February 23, 2018 16:49
Prosa sobre org-mode e GTD

Revisão do GTD

Processo para organização pessoal

É basicamente um gerenciamento de listas que você confia

Listas “padrão”: Inbox, Próximas ações, Projetos, Talvez um dia, Delegado

Você pode ter mais de um inbox (caderno, keep, etc)

Você pode ter mais listas… essas aí são as default

Agnóstico em relação a ferramentas

org-mode, caderno, BulletJournal, google – tá valendo :-)

@herberthamaral
herberthamaral / init.el
Last active February 23, 2018 17:10
Meu arquivo de config do emacs
;; -*- coding: utf-8 -*-
;; custom
;; Atenção: não esquecer de setar a variável HOME do windows para a
;; pasta home do usuário. Caso contrário o "~" não será reconhecido.
(setq frame-title-format "emacs do amaral")
(tool-bar-mode -1)
(scroll-bar-mode -1)
(set-default 'cursor-type 'hbar)
@herberthamaral
herberthamaral / id_rsa.pub
Created May 26, 2016 10:51
ssh public key
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpbrzA0XGgUmtTTAmEXxMjAj7B+lkW4e2KkPGcmP2u4bYehH/1axdTaAf6HYKcMDv65aJIN8Qz/zp0b6zNb5mwptPNa3f9LrEZ2zT0agPZCgRX71AUunp9WhNazz48uPyWCYRw9BIQzNHyJFMIlnjwCwpwZu/qBMZWHu9EBQ3UOHqfdUzf2mw0/8UASFnGduLGbY7kSDMxX3NBDN6zLsYBKBVJyz+bszdWi3QXLNcDLVqqh0sOi16FTHZJzsjFnf+K6JNRQGeMMsisyZX1E2TSFBm+slJYzW2zdqGuOjnDsGQyZ9Uv+m0oJ+t29cMiTwOKcURI64U3LSSTm0oCLHaj