Link

STM32f e sensor de umidade.

Nesse Post vamos utilizar a placa STM32f e executar uma leitura de um sensor de umidade.

A placa também conhecida como “blue pill” conta com 33 portas entre digitais e analogicas, Arquitetura CORTEX-M3 ARM de 32 bits, Flash 64/128 kb e frequência de 72MHz.

Vamos demonstrar um pequeno teste capturando a umidade na placa pelo sensor de umidade e notificar via comunicação Serial.

Acesse o tutorial completo em: https://nakalabs.herokuapp.com/articles/stm32Moisture.html.

Python Turtle.

https://nakatech.herokuapp.com/img/works/20201205/index.jpg

Python Turtle é uma biblioteca Python utilizado principalmente como ferramenta de interatividade entre as crianças é a linguagem Python.

O Turtle é uma biblioteca integrada ao Python 3, então não existe a necessidade de fazer instalação caso esteja utilizando essa versão, mas é necessário instalar a dependência “python3-tk”.

Com Turtle, podemos realizar desenhos e formas geométricas através de coordenadas em um plano cartesiano.

É uma ótima ferramenta para introduzir e ensinar crianças uma linguagem de programação de forma bem divertida.

Mas essa não é a única forma de utilizar a biblioteca, podemos utilizar para fazer apresentações e trabalhos científicos.

Testando o Turtle.

Antes de iniciar, é necessário instalar a dependência “python3-tk” com apt-get: sudo apt-get install python3-tk.

Utilizando o Python 3, não existe a necessidade de fazer instalação do Turtle, inicie uma sessão Python3 e importe a lib turtle:

Com o método turtle.getscreen() iniciamos uma tela e o método turtle.Turtle() iniciamos um ponteiro para desenhar na tela. Observe que podemos ficar com a tela com o ponteiro de desenho e o terminal para controlar o ponteiro simultaneamente.

Agora podemos desenhar em plano cartesiano direcionando as coordenadas x e y:

Também podemos mover para frente com o método forward(), para trás com backward() e para esquerda e direita com left() e right().

No código movemos para frente ou para trás passando 100 unidades e quando movemos para esquerda e direita passamos inclinação de 90 graus.

Vamos agora desenhar um círculo com um raio de 60 unidades:

Conclusão.

Com Python Turtle podemos ensinar crianças de forma lúdica como funciona a linguagem de programação Python.

Link

O.O com Python.

Orientação a Objetos(O.O) é um paradigma de programação que proporciona um significado para os programas criados através de atributos e métodos.

As linguagens de programação mais conhecidas que utilizam O.O hoje são Java, .Net e C++.

Python é uma outra linguagem de programação que podemos utilizar O.O para beneficiar deste padrão de programação.

Para quem programa em linguagens como Java, .NET e C++ vai sentir uma certa diferença na sintaxe.

Mas a estrutura de Classes em Python é bem fluente e de fácil entendimento da sua sintaxe.

Acesse otutorial completo em: https://nakatech.herokuapp.com/article/pyOO.html.

Link

Pypy.

Python é uma das mais populares e consolidadas linguagem de programação de baixo nível dos últimos anos.

Mas uma reclamação que os desenvolvedores têm é que Python é uma linguagem lenta em comparação com outras linguagens de baixo nível como Java, .Net, C++, entre outras.

Algumas aplicações feitas em Python podem ser até 100 vezes mais lentas que algumas outras linguagens.

Para resolver essas limitações, foram criados algumas implementações Python como o Jython(escrito em Java), IronPython(escrito em . Net) e CPython(escrito em C).

Mas existe mais uma que foi escrita em Python, o Pypy, que é uma implementação muito mais rápida que o Python original.

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/pypy.html.

Citação

Python LRU Caching.

Existem algumas formas de deixar a aplicação mais rápida e eficiente, e uma das formas é utilizando cacheamento.

Imagine que precisamos fazer uma aplicação que busca notícias na web, e a cada chamada precisamos fazer uma requisição, gastando processamento constantemente.

Podemos melhorar essa aplicação cacheando as requisições, e utilizar as requisições repetidas que foram armazenados no cache.

Neste Post vamos demonstrar a utilização de cacheamento padrão e o cacheamento utilizando o decorator @lru_cache.

O problema do cacheamento padrão é se o número de conteúdo aumentar drasticamente, vai acontecer um estouro de memória e quebrar a aplicação.

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/pythonCacheLru.html.

Citação

Python 3.9.

No dia 5 de Outubro de 2020 foi a data de lançamento da nova versão Python 3.9.

Assim como em lançamentos anteriores, esta nova versão conta com novidades e remoção de capacidades depreciadas.

Apesar do lançamento oficial do Python 3.9, não é recomendado instalação padrão no ambiente Python3.

O ideal é fazer uma instalação segregada do ambiente Python3, esse processo é totalmente possível e transparente.

Nesse Post vamos apresentar as principais novidades que o Python 3.9 trouxe nessa versão.

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/python39.html.

Citação

Busca binária.

https://nakatech.herokuapp.com/img/works/20201101/index.jpeg

A Busca Binária é uma algoritmo utilizado para encontrar a posição de um item em uma amostragem de números ordenados de forma crescente.

O algoritmo consiste em fazer sucessivas divisões na amostragem e verificando cada parte dividida.

Fazendo uma analogia com um dicionário, imagine que esteja buscando a letra h, então você abre o dicionário no meio e percebe que o índice está na letra m, isso quer dizer que a letra h está na primeira metade do dicionário.

Agora descartamos a segunda metade e continuamos dividindo a primeira metade até encontrar a letra h.

Em comparação com uma busca linear, a busca binária pode ser mais eficiente na maior parte dos casos.

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/binarySearch.html.