Citação

Multiprocessamento com Python.

No Post anterior falamos sobre execução de thread com Python.

Nesse Post vamos falar sobre utilização de multiprocessamento com Python.

Consegue identificar a diferença entre multiprocessamento e multi thread’s ou multitarefas?

Um exemplo bem prático é imaginar aqueles motoristas de ônibus que além de dirigir, eles também cobram a passagem, esse seria um exemplo de multi thread ou multitarefas.

Agora imagine esse mesmo motorista, mas agora ele somente dirige o ônibus e agora um cobrador faz a tarefa de cobrar as passagens, agora esse é um exemplo de multiprocessamento.

Acesse o post completo em: https://nakatech.herokuapp.com/article/pyProcessor.html.

Citação

Thread com Python.

Trabalhar com thread na maioria das linguagens é uma tarefa meio complicada devido aos problemas de deadlock.

Se você não está usando uma linguagem como Go que já tem um propósito de trabalhar com múltiplas thread’s, vai ter que ter muito cuidado principalmente se não for uma linguagem thread safe.

Lembrando que estamos falando de thread e não de multiprocessamento que são coisas diferentes.

Nas thread’s, o processamento das tarefas são paralelizadas no mesmo processador. No caso do multiprocessamento, são utilizados recursos de vários processadores da máquina.

A ideia aqui é somente exemplificar um uso simples com thread em Python.

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

Citação

Elixir Lang.

Elixir é uma linguagem funcional com proposta de criar aplicações escaláveis e de fácil manutenção.

Liberado o primeiro release em 2014, o Elixir trabalha em cima da VM Erlang criada pela Ericson.

O Elixir foi desenvolvido pelo brasileiro José Valim, criando uma linguagem de programação mais amigável que o Erlang.

Podemos executar o Elixir de 3 formas:

  • No terminal interativo;
  • Via script;
  • Modo compilado.

Além disso existem framework’s para facilitar o trabalho com aplicações web como o Phoenix.

Acesse o artigo completo em: https://nakatech.herokuapp.com/article/elixir.html.

Citação

Tornado.

 

tornado on body of water during golden hour

Foto por Johannes Plenio em Pexels.com

Tornado é um micro framework web com a proposta I/O não blocante.

Utilizando bibliotecas de rede assíncrona, o Tornado consegue escalar facilmente a abertura de conexões.

Ideal para Websocket ou aplicações que necessitam de uma conexão com longa duração para cada usuário.

Diferente de outros micro framework’s, o Tornado não é baseado em WSGI e roda somente 1 thread por processo.

Quanto a instalação e o desenvolvimento, o Tornado é bem simples e fácil como os outros micro framework’s web.

Para quem estiver utilizando a versão 2 do Python, fique atento quanto a versão do Tornado, pois a última versão compatível é a versão 5.

Acesse o tutorial em Nakatech.

Citação

CherryPy.

Um outro Web micro framework Python minimalista e leve.

O CherryPy é um micro framework orientado a objetos bem parecido com outros micro framework’s Python.

A proposta do CherryPy é um desenvolvimento rápido e eficaz utilizando as vantagens da programação orientada a objetos.

Vamos demonstrar como é simples e com apenas algumas linhas de códigos podemos publicar um servidor web.

Já consolidada no mercado a algum tempo, o CherryPy já está em produção em várias aplicações.

Por ser um framework multi plataforma, é totalmente simples fazer uma migração entre Linux, Windows ou Mac.

Segue o tutorial completo em https://nakatech.herokuapp.com/article/cherryPy.html.

Citação

Bottle.

O micro web framework Bottle é um rápido, leve e simples WSGI para Python.

O WSGI ou Web Server Gateway Interface, é uma especificação para uma interface simples e universal entre servidores e aplicações web.

O Bottle é somente uma das implementações entre outros vários micro web framework’s.

Vamos demonstrar como é simples e com apenas algumas linhas de códigos podemos publicar um servidor web.

A muitos anos atrás, para fazer isso era necessário uma infinidade de configurações e ferramentas.

Hoje, podemos fazer isso com apenas códigos, claro que precisamos de um framework embarcado, mas nada complexo de instalar.

Acesse o tutorial em http://nakatech.herokuapp.com/article/bottle.html.

Citação

Arquitetura Hexagonal.

Já ouviu falar ou leu algo sobre Arquitetura Hexagonal?

Essa arquitetura mostra como podemos estruturar nosso projeto de forma organizada, protegida e escalável de uma forma simples.

Utilizando conceitos como Adapter/Port, Mediation e Application Domain essa arquitetura facilita muito trocas de variantes externas.

É importante lembrar que o DDD ou Domain Driven Design deve estar aplicado nessa arquitetura para que seja bem utilizado.

As vantagens em utilizar a Arquitetura Hexagonal são:

  • Proteção da camada de domínio da aplicação;
  • Separação de responsabilidade;
  • Facilidade de troca de componentes e fornecedores externos.

 

Acesse o material completo em: https://nakatech.herokuapp.com/article/arquiteturaHexagonal.html.