Link

Python e debug terminal.

Um dos motivos que levam o desenvolvedor Python a recorrer a IDE’s é a dificuldade de ferramentas de debug.

Para quem está acostumado a trabalhar com Java e .net, a utilização de IDE’s é praticamente obrigatória, nessas IDE’s as ferramentas de debug já estão embarcadas.

Nada contra IDE’s, a ideia do artigo é mostrar que é possível uma ferramenta de debugger sem utilização de IDE’s.

Com o módulo built-in Python chamado PDB podemos executar o código em debugger no terminal.

O módulo PDB é bem interessante pois às vezes queremos executar alguns scripts Python sem a necessidade de carregamento de logs ou utilização de uma IDE.

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

Link

Multi construtor Python.

Às vezes precisamos criar classes com algumas entradas diferentes, aí entra a necessidade de criar construtores com campos diferentes.

Para quem programa em Java ou C# vai achar um pouco diferente a forma como Python trabalha com múltiplos construtores.

Em Python o construtor da classe é representado pelo método “__init__“.

Mas em Python não é possível criar várias entradas do método __init__, mesmo com parâmetros diferentes.

Para criar construtores diferentes utilizamos o decorador @classmethod.

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

Link

Python any.

O método Python any possibilita validar se existe alguma condição verdadeira.

Basicamente o método recebe uma lista de booleanos e se algum ítem da lista é verdadeiro, o método retorna verdadeiro.

Diferente do método all onde todos os itens precisam ser verdadeiros para que o retorno seja verdadeiro.

Essa capacidade ajuda a resolver validações com a condicional “or” sem a necessidade de uso de laço.

A capacidade já vem embarcada nas versões maiores que 2.7.18.

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

Link

Python all.

O método all possibilita validar um conjunto de itens sem a necessidade de utilização de laço.

Imagine passar uma lista de itens e validar em somente uma operação.

O método all já vem embarcado nas versões acima de 2.0 do Python.

A capacidade pode resolver alguns problemas de validação sem a necessidade de verificação unitária dos itens da lista.

Uma observação, é nos atentarmos a versão que estamos utilizando, alguns retornos podem ser diferentes entre a versão 2.0 e 3.0.

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

Python para 2022.

Algumas pesquisas falam que a linguagem de programação Python será a mais exigida em 2022.

É incrível como Python vem ganhando mercado e está rankeado acima de linguagens populares como Javascript e C# e Java.

Apesar de ser uma linguagem de programação consolidada no mercado há décadas, qual o motivo de só agora estar sendo tão requisitada?

Uma das possíveis razões é devido a grandes empresas como Google, Netflix, Microsoft, Uber, Spotify e Apple estarem utilizando em massa Python.

Com grandes empresas utilizando Python, cases de sucesso são apresentados e a motivação de outras empresas utilizarem cresce.

Por que utilizar Python?

Python já se mostrou consolidado no mercado, e se mostrou muito poderosa para fazer qualquer coisa que possa imaginar.Apesar das aplicações Python serem um pouco mais lentas que outras linguagens, ainda tem a vantagem de ser uma linguagem de fácil desenvolvimento o que aumenta a produtividade.Além disso, Python tem um grande leque de opções de bibliotecas para construir várias soluções como web, inteligência artificial, big data, banco de dados, batch, iot, entre outros.A comunidade Python está se tornando cada vez maior, o que é ótimo para discutir e resolver problemas técnicos.Diferente da maioria das linguagens de programação, Python é realmente livre e gratuito, sendo totalmente mantida pela comunidade.

Conclusão.

Uma grande oportunidade para quem está no mercado de tecnologia ou quer ingressar nela, Python pode ser um grande agregador no skill do profissional.

Governança e privacidade Azure.

Há muito tempo atrás, a maior prioridade era manter perímetros físicos protegidos, com o avanço da tecnologia somente isso não é o bastante.

Hoje, com as pessoas trabalhando em qualquer lugar do mundo, as atenções estão voltadas na segurança e proteção de pontos de acessos remotos.

Somente provar sua identidade pode não ser suficiente para a liberação de um acesso a um sistema.

Pensando nisso, a Azure coloca à disposição uma série de proteções voltadas à autenticação e autorização de acesso.

Entre elas, autenticação de 2 fatores, SSO, autenticação condicional, entre outros.

Proteções de acesso Azure.

Antes de falar sobre as proteções Azure, precisamos entender que autorização é a permissão para acessar o sistema e autorização é o que é permitido acessar. Azure Active Directory: Muito parecido com Microsoft AD, o Azure AD controla e administra todo acesso e governança de usuários. Acesso condicional: Capacidade que permite acessar ou bloquear acesso a determinados recursos por perfil. SSO: Sistema de acesso por SSO permite um controle de acesso aos recursos com um único par de credenciamento. Acesso multifator: Uma autenticação secundária utilizando outro tipo de autenticação como biometria ou utilização de smartphone para geração de chaves de acesso.

Conclusão.

A proteção de dados e do sistema é uma das prioridades para que o sistema seja confiável, uma vez quebrada essa confiança, dificilmente será reconquistado.

Java 17.

Mais um lançamento semestral do Java foi disponibilizado dia 14 de Setembro de 2021, a versão 17 do Java.

A versão do Java 17 é LTS(Long Time Support), ou seja, a versão conta com um suporte até 2026 e suporte estendido até 2029.

Como todos os lançamentos, a versão conta com várias atualizações e melhorias, além de 14 JEP’s(JDK Enhancement Proposals).

A Oracle ainda quer deixar mais simples a adesão de licenças que para muitos ainda não é tão clara.

Apesar disso, a Oracle ainda vai disponibilizar versões públicas sob a Licença Pública Geral de código aberto (GPL).

Novidades do Java 17.

Aprimoramento da linguagem:

  • Jep-409 Classes seladas: Adicionado as classes e interfaces seladas que restringem outras classes ou interfaces que podem estendê-las ou implementá-las.

Atualizações e melhorias para bibliotecas:

  • Jep-306 Restaure a semântica de ponto flutuante Always-Strict: semântica de ponto flutuante estrita foram removidas;
  • Jep-356 Gerador de número pseudo-aleatório aprimorado: fornece novos tipos de interface e implementações para geradores de número pseudo-aleatório (PRNGs);
  • Jep-382 Novo pipeline de renderização do macOS: implementa um pipeline Java 2D para macOS usando a API Apple Metal.

Suporte para nova plataforma:

  • Jep-391 mac OS AArch64 Port: Portas do JDK para a plataforma macOS AArch64, a porta permitirá que os aplicativos Java sejam executados nativamente nos novos computadores Apple Silicon baseados no Arm 64.

Programas Java de Prova Futura:

  • Jep-403 Encapsular fortemente JDK: Não será mais possível relaxar o forte encapsulamento de elementos internos por meio de uma única opção de linha de comando, como era possível no JDK 9 ao JDK 16.

Remoção e Descontinuação:

  • Jep-398 descontinuar a API do mini aplicativo para remoção: Todos os navegadores da web removeram o suporte para plug-ins de navegador Java ou anunciaram planos para iniciarem a solução;
  • Jep-407 Remoção do RMI Activation: remoção do mecanismo de ativação de Remote Method Invocation (RMI), preservando o resto do RMI;
  • Jep-410 Remoção do AOT experimental e o compilador JIT: O compilador experimental baseado em Java (AOT) e just-in-time (JIT) foram recursos experimentais que não tiveram muita adoção e foram removidos do código fonte;
  • Jep-411 Descontinuação o Security Manager para Remoção: Descontinuação do do Security Manager remonta ao Java 1.0 para uma futura remoção.

Conclusão.

A comunidade Java junto com a Oracle estão empenhados em entregar a cada lançamento da versão Java novidades e melhorias em todos os pontos, desde produtividade até a segurança do sistema.