Skip to content

Instantly share code, notes, and snippets.

View rafaelhenrique's full-sized avatar

Rafael Henrique da Silva Correia rafaelhenrique

View GitHub Profile
@rafaelhenrique
rafaelhenrique / test_sqlalchemy+asyncpg.py
Created April 17, 2021 02:06
Sqlalchemy + Asyncpg + Pytest = <3
# reference: https://github.com/sqlalchemy/sqlalchemy/issues/5626
import pytest
import sqlalchemy as sa
from sqlalchemy import orm
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
Base = orm.declarative_base()
@rafaelhenrique
rafaelhenrique / generate_chunks.py
Last active August 9, 2022 19:18
Generate chunks
import itertools
def generate_chunks(data, chunk_size: int):
iterable = iter(data)
while chunk := tuple(itertools.islice(iterable, chunk_size)):
yield chunk
@rafaelhenrique
rafaelhenrique / find_heroku_envvar_value.sh
Created June 26, 2020 13:37
Find heroku envvar value
#!/bin/bash
# Config to find on heroku
CONFIG=$(echo $CONFIG)
if [ -z $CONFIG ]; then
echo "Syntax error! CONFIG=<config to find> $0"
exit 1
fi
@rafaelhenrique
rafaelhenrique / django_query_performance.py
Last active March 25, 2020 19:54
Measure time of query in Django
from django.db import connection
# [... code of query here ...]
print(queryset) # querysets needs be used, because this is lazy
print(connection.queries)
@rafaelhenrique
rafaelhenrique / teste01.py
Last active November 9, 2018 02:20
Palestra: Performance Python - Como construir métodos e funções fast and furious!?
# Qual código é mais veloz (e furioso)?
# Primeiro exemplo
grupys_infinitos = []
for edicao in range(0, 10000):
grupys_infinitos.append(f'Grupy-SP {edicao}')
print(grupys_infinitos)
# Segundo exemplo
grupys_infinitos = [f'Grupy-SP {edicao}'
@rafaelhenrique
rafaelhenrique / go_improves_python_01.py
Last active October 20, 2018 00:59
Go improves Python?
import re
def find_cnpj_using_in(content, company_name):
line = next(line for line in content.split('\n') if company_name in line)
line = int(line[2:16])
return line
def find_cnpj_using_search(content, company_name):
@rafaelhenrique
rafaelhenrique / download-messages.py
Last active September 2, 2021 04:54
Download messages from SQS Queue
import json
import boto3
# Get the service resource
sqs = boto3.resource(
'sqs',
aws_access_key_id='your_key',
aws_secret_access_key='your_access_key',
region_name='your_aws_region'
@rafaelhenrique
rafaelhenrique / basic_logging01.py
Last active October 15, 2021 18:21
Basic logging
import logging
logging.basicConfig(filename='debug.log', level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(funcName)s => %(message)s')
def my_beautiful_function():
logging.debug("Enter on function!")
print("Hello!")
@rafaelhenrique
rafaelhenrique / find_config.sh
Created July 26, 2018 14:51
Find configuration on Heroku
#!/bin/bash
# Config to find on heroku
CONFIG=$(echo $CONFIG)
if [ -z $CONFIG ]; then
echo "Syntax error! CONFIG=<config to find> $0"
exit 1
fi