Citação

Julia.

Julia é uma linguagem de programação dinâmica e com rápida interação, muito parecido com Python.

Existem benchmarks onde códigos com Julia chegam a ser tão rápidos quanto códigos feitos em C.

Julia é uma linguagem multi-paradigma, sendo assim podemos combinar programação Orientada a Objetos e Funcional.

Por trabalhar bem com números como Matlab e R, Julia pode ser uma boa opção para trabalhar com ciência de dados.

Outra feature legal é a possibilidade de acessar aplicações C de forma transparente.

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

Citação

Ordenação Radix.

Conhece o padrão de ordenação por Radix?

A proposta de ordenação por Radix é ordenar números em ordem crescente baseado nos seus dígitos.

Diferente de outros padrões de ordenação, o Radix não compara o número e sim a posição dos seus dígitos.

Radix segue um padrão de comparação do dígito menos significante ou Least Significant Digit (LSD) para o mais significante Most Significant Digit (MSD).

Segue um exemplo como funciona a ordenação por Radix:

Dada a entrada de uma lista de números inteiros:

Agora vamos verificar o dígito menos significativo:

A primeira ordenação é pelo menor dígito significativo:

Agora vamos ordenar pelo próximo dígito significativo:

Novamente, ordenamos agora pelo menor número encontrado no dígito:

Finalmente ordenamos pelo dígito mais significativo:

Agora a última ordenação:

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

Citação

Flask-JWT.

O Flask-JWT é a abstração do JWT(Json Web Token) encapsulado em um pequeno módulo para ser utilizado no Micro-servidor Flask.

O JWT é uma forma de garantir integridade dos dados a partir de uma autenticação baseada em token.

O token JWT é composto por 3 componentes separados por “.”: Header, Payload e Signature.

O Header é onde definimos qual tipo de token e que tipo de criptografia é utilizado na composição.

O Payload são as informações que serão utilizados para algum tratamento após a descriptografia.

O Signature é a chave secreta que será composta no token.

Este Post não entrará em detalhes como funciona o JWT, a abordagem será para mostrar uma implementação JWT e Flask.

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

Citação

Lumpy.

O pacote Lumpy é um módulo Python para criação de diagramas de Classes e de Objetos.

O interessante nessa ferramenta é que podemos gerar os diagramas enquanto estamos desenvolvendo as classes do projeto.

Muito útil para otimizar seu tempo na criação de diagramas para documentação.

Além de ajudar em uma visão macro das classes e objetos que estamos criando.

O único problema é que a ferramenta não trabalha muito bem com Python 2.

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

Citação

Python e Lambda.

Funções lambdas estão sendo muito utilizadas na programação pela clareza da sintaxe que geralmente pode ser feita em uma linha.

Em Python, a diferença entre uma função normal e uma função lambda é que não precisamos declarar def no início da função e nem return para determinar o retorno da função.

Em contrapartida, com funções lambdas é necessário indicar com a palavra reservada lambda que estamos iniciando uma função tipo lambda.

O mais interessante na utilização do lambda em Python é a possibilidade de criar Funções Anônimas.

As funções anônimas possibilitam que a função seja escrita e chamada dentro de um parâmetro de outra função, vamos exemplificar mais abaixo.

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

Citação

Compare imagens com Python.

Imagine que você precise comparar as diferenças entre duas imagens.

E se essa diferença for mínima, como um pequeno ponto no meio de uma imagem gigantesca.

Com Python podemos encontrar as diferenças em 1 segundo e sem dificuldades.

Utilizando os módulos Image e ImageChops do Python, podemos fazer essa tarefa de uma forma rápida e simples.

Uma implementação mais simples que o OpenCv e o face_recognition, o módulo ImageChops pode ser bem útil para uma verificação rápida entre imagens.

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

Citação

Multiprocessamento.

Nesta segunda parte sobre multiprocessamento vamos mostrar como compartilhar os dados entre os processos.

No Post anterior, mostramos como criar os processos e sua manipulação.

Lembrando que em um multiprocessamento, cada processo tem seu próprio espaço em memória e rodam independentes.

Para compartilhar os dados entre os processos, vamos utilizar 2 tipos de canais de comunicações:

  1. Queue: Uma forma simples de comunicação entre os processos, basicamente uma fila onde se recebe e envia as mensagens;
  2. Pipe: Nesse tipo de comunicação, é criado uma fila que existe somente 1 ponto de entrada e 1 ponto de saída.

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