Link

STM32f e Nodejs Serial.

https://nakalabs.herokuapp.com/articles/images/20201122/index.jpg

Nesse Post vamos utilizar a placa STM32f e executar uma comunicação serial via USB com Nodejs.

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 enviando uma sequência de caracteres via terminal Nodejs e verificar a execução em um terminal serial.

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

5 linguagens de programação 2021.

Não existe uma linguagem de programação que sobressaia sobre outra, o que existe é uma linguagem ser melhor em determinada solução.

Mas todos os anos existem tendências para algumas linguagens de programação específicas.

Isso acontece devido a vantagens que algumas linguagens de programação levam sobre as outras como falamos anteriormente.

Se em 2021 está pensando em trabalhar com programação, observe algumas tendências de linguagem de programação para estudar e entrar no mercado de trabalho.

Independentemente da tendência anual, é importante aprender linguagem de programação diferentes para ter uma noção das capacidades de cada linguagem, além de se tornar um profissional mais capacitado.

5 tendências para 2021.

Vamos listar 5 linguagens de programação que são tendências de mercado para 2021 segundo pesquisas.

  1. Python: O Python vem ganhando mercado nos últimos anos devido a sua grande utilização com inteligência artificial e Big data;
  2. C++: Uma linguagem de programação bem antiga mas muito utilizado e nos últimos anos vem sendo muito utilizado para Blockchain e iot;
  3. Kotlin: Linguagem de programação que mistura linguagem funcional e orientada a objetos, além da interoperabilidade com Java com melhorias fazem com que muitas empresas migrem para o Kotlin;
  4. Java: O Java está consolidado no mercado a mais de 20 anos, o que faz a linguagem fazer parte de sistemas de várias empresas, consequentemente é uma linguagem muito utilizada;
  5. Angular: Utilizando Typescript, o Angular vem ganhando mercado pois estrutura todo frontend de forma organizada e consegue controlar regras de negócios de forma segura.

Conclusão.

As tendências servem somente para ter uma referência de mercado, tenha uma linguagem base de backend como Java e C# e uma de frontend como Angular, mas é importante aprender o básico de outras linguagens de programação.

Citação

Rodando Javascript na JVM.

Já não é segredo para ninguém que a JVM roda muitas outras linguagens além do Java.

Existem várias linguagens além do Java que tem um Port para rodar dentro da JVM como Scala, Python, Clojure, Ruby, PHP, Groovy, Kotlin e o Javascript.

Vamos falar sobre o Javascript, que foi incorporada na JVM a partir da JDK7 com o projeto Nashorn, onde podemos tanto rodar a partir de um terminal ou mixar códigos Java e Javascript.

Nesse contexto você pode incluir códigos Javascript em códigos Java e vice versa.

O benefício disso é que você pode passar códigos legados em Javascript para Java e vice versa.

Outra vantagem de mixar linguagens é se beneficiar de algo que uma linguagem faz melhor e incluir no código.

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

Json Server.

Muitas vezes estamos criando aplicações SPA com Angular ou React e não temos a API pronta.

Quem nunca teve esse tipo de problema?

Você recebeu a tarefa de ir criando o front, mas ainda não tem o back criado, o máximo que vai ter são os parâmetros de entrada e saída.

Com Json Server podemos contornar isso criando em alguns segundos um simulador de serviço rest.

Essa ferramenta é muito útil pois podemos simular a maior parte dos verbos do serviço Rest.

Instalação e Testes.

Para fazer a instalação do Json Server é necessário que tenha instalado na máquina o npm.

Primeiro vamos instalar o Json Server globalmente via npm:
$ npm install -g json-server

Agora precisamos criar um arquivo .json com a representação do endpoint e os registros.

Crie um arquivo para teste chamado carros.json com o conteúdo:

{
"veiculos": []
}

Onde veiculos é a nossa URI do endpoint para o serviço Rest.

Para iniciar o serviço, digite no terminal:
$ json-server --watch carros.json

Vamos adicionar um elemento json via POST:
curl -d '{"modelo": "Celta", "montadora": "GM", "ano": 2012}'
-H "Content-Type: application/json"
-X POST http://localhost:3000/veiculos

Agora podemos conferir fazendo uma chamada GET:
http://localhost:3000/veiculos

Conclusão.

Já não temos mais desculpas para não iniciar nossa aplicação por não ter a API pronta, com Json Server podemos simular todo serviço Rest em apenas alguns segundos.

Link

Servidor Web NodeMcu com AJAX e Sensor de Temperatura.

Vou demonstrar como criar um Servidor Web utilizando um NodeMcu, diferente do exemplo anterior, neste tutorial vamos capturar informações do sensor DHT e exibir a temperatura ambiente.

Uma simples demonstração, exibindo via web as informações de temperatura coletados pelo sensor DHT11.

Acesse o tutorial completo em: http://nakalabs.herokuapp.com/articles/nodeMcuServerAjaxTemperature.html.

Link

Servidor Web NodeMcu com AJAX.

Vou demonstrar como criar um Servidor Web utilizando um NodeMcu, diferente do exemplo anterior, neste tutorial vamos exibir as informações do pino analógico(A0) utilizando AJAX.

O pino analógico é bem sensível, por esse motivo não vamos conectar nenhum sensor nesse pino, mas fica a critério do usuário conectar algum sensor ao pino analógico.

O NodeMcu já possui um módulo Wi-fi integrado, o que facilita a construção de aplicações que utilizam a comunicação com a Rede sem fio.

Para acessar o tutorial: http://nakalabs.herokuapp.com/articles/nodeMcuServerAjax.html.

Duck typing.

O Duck Typing ou literalmente “tipagem pato” é um estilo de codificação de linguagens dinamicamente tipadas onde os parâmetros pouco importam, desde que o comportamento final seja o esperado.

O termo Duck Typing vem de uma teoria que diz: “Se anda como pato, nada como um pato e grasna como um pato, então é um pato”.

A ideia nesse Post não é defender ou criticar a metodologia Duck Typing, mas explicar o conceito.

Linguagens dinamicamente tipada como Python, Ruby e JavaScript suportam Duck Typing, já linguagens estáticas como Java e C# não suportam.

As vantagens de se usar Duck Typing é a conveniência de se programar sem se preocupar com a tipagem e sim com resultado final, por outro lado, existe a desvantagem de não ter a segurança de checagem dos tipos.

Duck Typing na prática.

Para mostrar na prática o uso do Duck Typing vamos utilizar Javascript.

O Javascript é uma boa linguagem para demonstrar os conceitos pois é uma linguagem funcional e que hoje se tornou muito popular.

Repare que pouco importa qual seja o tipo de entrada, o resultado vai ser uma concatenação de valores ou soma das mesmas, ou seja, enquanto os objetos suportarem o método “+”, a função será executada.

Conclusão.

O modelo de programação Duck Typing é uma boa forma de se programar? Talvez. Acredito que não seja uma questão de o que é melhor ou pior, mas sim do que atende no momento da construção do código.