porLuis Augusto Moretto

Aplicativo Web Progressivo (PWa) tendência para 2019

Introdução

Atualmente, o desenvolvimento de software tem alta demanda por desenvolvedores. Embora isto não seja novidade, houve um aumento significativo nos últimos dois anos com o advento de tecnologias como os Aplicativos Web Progressivos.

O que é um Aplicativo Web Progressivo?

Aplicativo Web Progressivo

Aplicativo Web Progressivo

Os sites ou páginas da Web que parecem e funcionam como aplicativos móveis nativos ou aplicativos convencionais são conhecidos como aplicativos da Web progressivos (PWAs).

Os PWAs fornecem benefícios da experiência móvel, juntamente com os recursos da tecnologia de navegadores.

O Gartner contava os PWAs como uma tendência de desenvolvimento de software em 2017 e é provável que continue como uma tendência em 2019, uma vez que esses aplicativos são menos complexos de desenvolver e manter em comparação com aplicativos móveis convencionais.

Comportamento de um PWA

Os PWA são instaláveis ​​e podem ser exibidos na tela inicial do usuário, sem a necessidade de uma loja de aplicativos.

Eles oferecem uma experiência imersiva em tela cheia com a ajuda de um arquivo de manifesto de aplicativo da web e podem até mesmo envolver novamente os usuários com notificações push da web.

O Manifesto da Web App permite que você controle como seu aplicativo aparece e como é lançado. Você pode especificar os ícones da tela inicial, a página a carregar quando o aplicativo é iniciado, a orientação da tela e até mesmo mostrar ou não o cromo do navegador.

Motivos para aderir a tendência

A criação de um Aplicativo Web Progressivo de alta qualidade traz benefícios incríveis. Aumenta a satisfação de seus usuários, o engajamento e as conversões.

A capacidade de proporcionar uma experiência de uso fantástica ajudou o AliExpress a melhorar as conversões para novos utilizadores em todos os navegadores em 104% e no iOS em 82%. A consequência foi o aumento do faturamento do negócio!

Happy Coding 😀


porLuis Augusto Moretto

Como funciona a engine do MySQL Federated?

MySQL Federated: O que é afinal?

A engine de armazenamento do MySQL Federated,  é um mecanismo de armazenamento que permite ao usuário criar uma tabela que seja uma representação local de uma tabela externa (remota).

Ele utiliza a API da biblioteca cliente MySQL como um transporte de dados, tratando a origem de dados remotos da mesma forma que outros mecanismos de armazenamento tratam fontes de dados locais, sejam arquivos MYD (MyISAM), memória (Cluster, Heap) ou tablespace (InnoDB).

Cada tabela Federada definida lá é uma .frm. Os dados reais podem existir em uma instância MySQL local ou remota.

Quando usar a engine nas tables do Mysql?

Quando a gravação de dados em uma determinada tabela exceder a capacidade da instância local do MySQL  em disco, o MySQL desenvolveu o mecanismo de armazenamento FEDERATED.

Com a engine as gravações em uma determinada tabela podem ser enviadas pela rede para uma segunda instância do MySQL.

Dessa forma, é possível escalar suas gravações em vários servidores MySQL, sem precisar codificar seus aplicativos para se conectarem a vários servidores.

Há muitos problemas com o mecanismo de armazenamento FEDERATED. Ele foi criado para ser um proxy para gravações em uma tabela, mas não para servir como um front-end mágico para todos os tipos de consultas SELECT.

Há muitos problemas não resolvidos com o acesso a consultas remotas por meio da interface FEDERATED.

Exemplo de uso

CREATE TABLE `T1`(`A` VARCHAR(100),UNIQUE KEY(`A`(30))) ENGINE=FEDERATED
  CONNECTION='MYSQL://usuario:senha@127.0.0.1:3306/DATABASE/TABELA_REMOTA';

 

Limitações da Engine Mysql Federated

A seguir indicamos os recursos que a engine Mysql FEDERATED possui e não suporta:

  • O servidor remoto deve ser um servidor MySQL.
  • A tabela remota referenciada deve existir antes de você tentar acessar a tabela através da tabela FEDERATED.
  • É possível que uma tabela FEDERATED aponte para outra, mas você deve ter cuidado para não criar um loop.
  • Não há suporte para transações.
  • O acesso aos dados da tabela é tratado remotamente, na verdade é a tabela remota que faz uso de índices.
  • Uma consulta requer uma verificação completa da tabela, o servidor busca todas as linhas da tabela remota e as filtra localmente.
  • Consultas que não conseguem usar índices podem, portanto, causar baixo desempenho e sobrecarga de rede.
  • Além disso, como as linhas retornadas devem ser armazenadas na memória, essa consulta também pode levar o servidor local à interrupção.
porLuis Augusto Moretto

Bolsomito 2k18 – Novo Jogo disponível na Steam estilo pixel art

Bolsomito 2k18

Bolsomito 2K18 é um jogo pixel-art que conta a história de um homem farto de viver em uma sociedade corrompida por um inimigo ideológico, que pretende se perpetuar no poder através de uma ditadura comunista.

Bolsomito 2k18 - Jogo da Steam

Bolsomito 2k18 – Jogo da Steam

Inspiração

O jogo é inspirado no atual momento político brasileiro e tem como protagonista um cidadão de bem que está cansado da crescente corrupção e inversão de valores que abala a sociedade.

Seu objetivo principal é acabar com os líderes do temido exército vermelho, responsável por alienar e doutrinar grande parte da nação, para que defendam e lutem por suas causas terríveis.

No entanto, para chegar nos cabeças da organização, o Bolsomito deverá enfrentar diferentes grupos que tinham como missão defender o povo, mas hoje, nada mais são que marionetes do exército vermelho.

Jogabilidade

Nada fiel aos grandes clássicos beat ‘em ups, Bolsomito 2k18 conta com muita porrada, sátiras e mecânicas diferenciadas que o fazem único.

Design

Qualquer semelhança é mera referência. Desenvolvido em pixel art, Bolsomito 2k18 lhes apresentará diversos cenários únicos do Brasil, além de contar também com uma variedade grande de veículos e referências nacionais que vão desde inimigos até simpatizantes da luta contra o comunismo.

Polêmica com o Ministério Público DF

O Ministério Público do Distrito Federal e Territórios (MPDFT) abriu um inquérito civil público para investigar os criadores do jogo “Bolsomito 2K18” nesta quarta-feira, 10. Desenvolvido pela BS Studios, o game causou polêmica ao ter como protagonista o candidato Jair Bolsonaro (PSL) e dar pontos ao jogador que matar pessoas pertencentes a minorias e integrantes de movimentos sociais. A loja Steam, que está distribuindo o game, também será investigada.

O inquérito foi aberto pela Comissão de Proteção de Dados Pessoais do MPDFT e pelo Núcleo de Enfrentamento à Discriminação. No documento, o Ministério Público afirma que o jogo “causa danos morais coletivos aos movimentos sociais, gays e feministas”. Além disso, o órgão acredita que o título tem como objetivo prejudicar o candidato à Presidência da República e embaraçar as eleições 2018.

porLuis Augusto Moretto

Notificações Web e seu benefício no SEO para Bloggers

O que são Notificações Web (Push)?

As notificações Web ou push são mensagens clicáveis ​​enviadas para um navegador no seu dispositivo. Essas notificações só podem ser enviadas para usuários que se inscreveram eu seu site ou aplicativo.

Como essas notificações são enviadas pelo navegador, os inscritos não precisam estar presentes em seu site para receber essas notificações. Os usuários podem se inscrever e receber essas notificações em dispositivos móveis, computadores e tablets.

Como as notificações web podem melhorar seus resultados gerais de SEO?

Bem, qualquer plataforma de comunicação inovadora que possa gerar tráfego repetido para um site pode ser uma grande vantagem para os esforços de SEO existentes. Encare esse princípio como fundamental para o sucesso de blogs, campanhas ou lojas de comércio eletrônico.

Alertar e informar os principais eventos do site para o público também pode levar a mais compartilhamentos e links sociais. Essencialmente, se mais pessoas estiverem cientes do seu conteúdo, é mais provável que ele seja compartilhado entre públicos maiores, por meio de canais sociais ou sites autoritativos.

Tráfego relevante e recorrente

Qualquer plataforma de comunicação inovadora que possa gerar tráfego repetido para um site pode ser uma grande vantagem para os esforços de SEO existentes. Visitantes recorrentes são fundamentais para o sucesso de blogs, campanhas ou lojas de comércio eletrônico.

Alertar e informar os principais eventos do site para o público também pode levar a mais compartilhamentos e links sociais. Quanto mais pessoas estiverem cientes do seu conteúdo, é mais provável que ele seja compartilhado entre públicos maiores, por meio de redes sociais.

Estudo de caso

Se o seu negócio dispara estrategicamente notificações web por push sobre coisas como novos descontos em pacotes diferentes, é mais provável que os membros queiram continuar a se envolver com a sua marca.

Desta forma, seus membros ficarão mais confortáveis ​​recomendando o seu negócio para os outros. As pessoas apreciam marcas que permanecem conectadas e a notificação push é a maneira mais fácil de fazer isso.

92% dos clientes são mais propensos a confiar em uma recomendação sobre uma marca se ela for proveniente de um amigo ou membro da família. Portanto, ofereça uma experiência rica ao cliente com notificações por push da Web de adição de valor e difíceis de ignorar.

porLuis Augusto Moretto

jQuery ainda é relevante no Frontend Web em 2018 ?

O que é o jQuery

jquery 2018 aprenda a usar o framework javascript

jquery 2018 aprenda a usar o framework javascript

O jQuery é uma biblioteca JavaScript rápida, pequena e rica em recursos.

Ele torna as coisas como passagem e manipulação de documentos HTML, manipulação de eventos, animação e Ajax muito mais simples, com uma API fácil de usar que funciona em vários navegadores.

Com uma combinação de versatilidade e extensibilidade, a biblioteca mudou a maneira como milhões de pessoas escrevem e pensam JavaScript.

Já tem 12 anos de idade,  uma versão Mobile e uma extensa lista de componentes com o jQuery UI. Além disso está disponível do CDN nas nuvens 😀

Vale a pena aprender?

Veja alguns motivos para aprender a utilizar o jQuery:

  • Simplicidade: é simples e intuitivo.
  • Documentação: Extensa lista de exemplos e extensões
  • Compatibilidade: funciona em diferentes navegadores  e resoluções
  • Rapidez: Páginas Web desenvolvidas com a biblioteca carregam mais rápido e isso afeta o SEO
  • Curva de aprendizado: Como é baseado em Javascript nativo fica fácil de aprender
  • É um componente principal do HTML5: vale a pena o tempo, dinheiro e esforço para seus desenvolvedores aprenderem
  • Nativo no WordPress Admin: vem embarcado no administrador do WordPress com dezenas de componentes

Dicas

A biblioteca pode produzir efeitos impressionantes com pouca codificação. Se o seu objetivo é criar um site ou aplicativo da Web envolvente e interativo, esta é um conhecimento que você deve obter. Além disso existe uma grande probabilidade de encontra alguma sistema utilizando a biblioteca em sua arquitetura de software.

Se você optar por escolher o JavaScript como sua linguagem de programação, você terá a chance de ter acesso a um mercado muito aquecido. Um desenvolvedor costuma ganhar entre R$2.000 e R$8.000 (no Brasil por Mês), dependendo de sua experiência, da linguagem escolhida e do lugar onde trabalha. E isto envolve saber o jQuery também.

Procurando por “empregos jQuery” no Google, são encontradas cerca de 169 mil resultados, entre links com vagas e textos falando sobre o mercado para programadores que saibam jQuery. Isto dá uma noção boa de como o assunto ainda está alta, mesmo com  o surgimento do REACT e Node.js.

porLuis Augusto Moretto

Urna Eletrônica entenda o funcionamento e sua segurança

Urna Eletrônica

Você conhece a arquitetura de software da Urna eletrônica? Historicamente o dispositivo só começou a ser utilizado massivamente a partir das eleições municipais de 1996. Desde 2007 é um projeto de código livre desenvolvido pelo TSE.  O órgão é o responsável pelo desenvolvimento da urna eletrônica (hardware) e dos programas (softwares).

Funcionamento

O código fonte do software da urna eletrônica tem mais de dez milhões de linhas.  Está organizada como um distribuição Linux chamada “UENUX”, desenvolvida para a arquitetura 32 bits.

A máquina é composta de um terminal eleitoral oficial, usado para autenticar os eleitores pelo seu número de registro ou impressão digital. A outra interface é um terminal eleitoral onde os votos são lançados através de um teclado moderno de um telefone moderno.

A urna não tem ligação nenhuma com a internet ou qualquer meio de transmissão de dados. É conectado a uma fonte de energia elétrica pode ser conectada a uma bateria com autonomia de mais de 10 horas (por exemplo, caso ocorra um problema na rede de energia elétrica).

Processo de Transmissão dos dados Eleitorais

Os dados ficam armazenados em uma mídia (pen drive), que é o boletim de urna. Cada urna imprime o resultado da votação daquela seção eleitoral. São cinco cópias no total: uma ficará fixada na seção, três vias são encaminhadas ao cartório eleitoral e a última é entregue aos representantes dos partidos políticos presentes.

Deste modo, fica transparente o resultado da eleição no momento em que é encerrado o processo de votação. Este procedimento ocorre simultaneamente em todas as seções eleitorais.

Após a impressão é retirada a mídia de resultado que será enviada a um dos pólos de transmissão. A partir desse momento a transmissão e totalização se tornam auditáveis.

Segurança da Informação na urna eletrônica

Na edição de 2017 do TPS – Testes públicos de segurança, foram diagnosticadas algumas vulnerabilidades.  Veja:

  • Chave simétrica no Bootloader do sistema: Essa chave é acessível por toda a equipe de desenvolvimento de softwares de votação. Fica vulnerável a ataques externos porque é armazenado em texto simples dentro dos cartões de instalação.
  • Cartão de Instalação: Um invasor externo no controle de placas de instalação pode manipular o software de votação antes de ser instalado nas máquinas. Cada cartão instala o software em até 50 máquinas de votação. Essa abordagem reduz os obstáculos logísticos e o custo de um ataque em grande escala.
  • Troca de urnas devido a falhas técnicas: Qualquer máquina de votação deve ser capaz de substituir qualquer outra máquina de votação no dia da eleição. O risco reside em diferentes versões do software (malicioso) em operação durante o processo de substituição configurando-se uma fraude eleitoral.

Relatos afirmam que a Urna eletrônica ainda não satisfaz os requisitos mínimos de segurança e transparência e está muito longe da maturidade esperada de um sistema de missão crítica de 20 anos.

porLuis Augusto Moretto

Startups: Scrum como um framework para geração de valor

Startups – Gerando valor com o Scrum

O Scrum é um framework leve projetado para ajudar equipes pequenas e unidas de pessoas a desenvolver produtos complexos. A equipe deve ser composta em média por 7 (+/- 2) pessoas , cinco a nove membros da equipe.

O projeto é medido em sprints, ciclos curtos e focadas de desenvolvimento. Existem três tipos de pessoas no scrum: product owner, scrum master e team member.  O Scrum se concentra em lidar e finalizar pequenos pedaços do seu projeto antes de passar para a próxima fase.

Lições do Scrum para Startups

Existem táticas importantes que você pode implementar no gerenciamento do seu projeto.

  1. Não tema feedback, inspeções e interrompa coisas que não funcionam:   Aprender. A experiência é o melhor professor, e o ciclo do scrum é projetado para fornecer a você múltiplas oportunidades de receber feedback – dos clientes, da equipe, do mercado – e aprender com isso
  2. Planeje na segunda-feira; Revise na sexta-feira. As reuniões podem ir em várias direções diferentes. Portanto, mantenha seu foco no planejamento na segunda-feira e depois na revisão do trabalho na sexta-feira. Essa estrutura simples ajudará seu gerenciamento de projetos significativamente.
  3. Adote a definição de scrum para tarefas como “concluído”, “história”, “lista de pendências” e “artefatos” ou criar sua própria definição de termos. É importante estabelecer um processo de comunicação fluida entre a equipe em todos os aspectos do desenvolvimento.

A primeira história

A primeira história exige que a equipe faça uma reunião de planejamento inicial a fim de descobrir o que eles estão realmente tentando construir. Os Critérios de Aceitação para esta História podem ser assim:

  • Adicione pelo menos 10 itens bons ao Product Backlog que foram validados por nossos Stakeholders
  • Para pelo menos um desses itens, certifique-se de que ele esteja bem definido e pequeno o suficiente para que a equipe possa desenvolvê-lo em um dia, assim que o ambiente mínimo estiver em vigor

Dicas para implementação do Scrum em Startups

  1. Construa um Burndown Chart e deixe o mesmo compartilhado com a equipe de desenvolvimento
  2. Planeje as tarefas de forma que o esforço máximo seja de 6 horas.
  3. Realize o daily meeting para organizar o projeto e identificar os impedimentos
  4. Priorize o Sprint Backlog de forma a gerar valor ao final de cada iteração!
porLuis Augusto Moretto

Gutenberg o novo editor visual do WordPress em Beta

Gutenberg é o primeiro passo no brilhante futuro do WordPress

É algo pouco comentado, mas Gutenberg não é  apenas  um novo editor para o WordPress. O Gutenberg estabelece as bases para uma

Gutenberg editor WordPress em homenagem ao inventor da prensa (alemão)

Gutenberg editor WordPress em homenagem ao inventor da prensa (alemão)

estratégia de lançamento em três estágios. Gutenberg é uma homenagem ao inventor alemão da prensa.

Primeiro, o WordPress receberá um editor redesenhado. Em um segundo momento, o projeto se concentrará nos modelos de página e, no estágio final, o WordPress se tornará um personalizador de site completo.

Você pode imaginar, isso nos dá infinitas possibilidades e é um passo necessário para manter o WordPress como o # 1 CMS nos próximos anos.

O novo editor de Gutenberg vai ser lançado com o WordPress 5.0. O time de desenvolvimento do WordPress está trabalhando sem parar para transformar este editor em um produto sólido e estável.

Primeira impressão do novo editor

Quando você abre o novo editor pela primeira vez, provavelmente está procurando a interface com a qual todos nos acostumamos.

Agora temos um ambiente de escrita muito limpo, com ótima tipografia e muito espaço para o seu conteúdo brilhar.

Do lado direito, você pode abrir as configurações clicando no ícone de engrenagem. Clicar nos três pontos ao lado da engrenagem permite alternar para o editor de código, para que você possa fazer suas edições no lado do código das coisas.

gutenbert - editor wordpress

gutenbert – editor wordpress

Design por seções

Gutenberg introduz blocos ou seções. Anteriormente, seu conteúdo era estruturado dentro de um grande arquivo HTML. A cada edição, algo novo era introduzido: códigos de acesso, tipos de postagem personalizados, incorporações, widgets e afins.

Tudo com suas interfaces peculiares e comportamento estranho. Agora, você pode criar seu conteúdo exatamente como faz um conjunto LEGO: tudo em uma caixa, seguindo um conjunto padronizado e direto de instruções.

Dicas

Gutenberg está chegando. Estamos nos preparando para isso e você também deveria fazendo o download do BETA. O novo editor provavelmente poderá quebrar algumas coisas… Em breve teremos um ambiente muito mais simplificado com muitas possibilidades interessantes no futuro.

Happy Coding 😀

porLuis Augusto Moretto

Cron jobs: Agendamento de tarefa com NodeJS e PM2

O que são Cron Jobs?

cronjobs com Nodejs e Pm2

cronjobs com Nodejs e Pm2

Crontab é um serviço do sistema operacional que possibilita a execução periódica de serviços em um determinado intervalo de tempo. Isto é normalmente usado para sincronizar dados, bots e outros. Diversas plataformas utilizam Crons para rodar serviços em segundo plano. Exemplo é o Mautic.

Nodejs e Cron Jobs

Existem algumas opções para agendar os serviços nodejs em background.

Utilizando setinterval

setInterval(function(){console.log('TASK'); },3000 );

Executado a cada 3000 milisegundos. Você define um intervalo de tempo e chama seu método dentro da função do setInterval

Dica: Alto grau de acoplamento sendo necessário mudar o Script para alterar o tempo de execução. Baixa performance porque uma instância fica permanentemente em memória.

Pacote Node-Cron

Outra alternativa é utilizar o pacote. Instale o pacote e configure sua chamada.

npm install --save node-cron

Dica: Novamente existe uma situação de acoplamento sendo necessário mudar o Script para alterar o tempo de execução. Apesar disso o gerenciamento da performance é otimizado.

PM2 Como Gerenciador

Uma solução robusta consiste na instalação do PM2.

pm2 start my_first_chatbot.js --cron "*/15 * * * *"

Dica: solução ideal. Permite configurar a execução do serviço my_first_chatbot.js em Background. Sem acoplamento com a lógica de negócio. O PM2 vai rodar o seu Script e finalizar o mesmo a cada 15 minutos. (0,15,30,45) minutos de cada hora.

Permite escalar para rodar múltiplos processos fazendo um fork da instância.

Dicas para agendar suas tarefas node com PM2

*     *     *   *    *        Comando a ser executado
-     -     -   -    -
|     |     |   |    |
|     |     |   |    +----- dia da semana (0 - 6) (Domingo=0)
|     |     |   +------- mês (1 - 12)
|     |     +--------- dia do mês (1 - 31)
|     +----------- hora (0 - 23)
+------------- minuto (0 - 59)
 
porLuis Augusto Moretto

Porque devo hospedar meu WordPress na DigitalOcean?

WordPress DigitalOcean

Você pode esperar que o DigitalOcean seja o local ideal para hospedar o WordPress em termos de velocidade, conectividade e desempenho.

Devo hospedar meu wordpress na digital ocean?

Devo hospedar meu wordpress na digital ocean?

Então a resposta óbvia é sim; eles são bons, muito bons.

Características

O ambiente DigitalOcean é um ambiente de hospedagem não gerenciado .

O que significa que depois que o droplet é implantado, cabe a você manter, configurar e monitorar o servidor e o WordPress.

No entanto, a instalação do WordPress é bastante simples e há muitos guias disponíveis. Embora não haja suporte por chat / telefone, você pode pedir ajuda na seção da comunidade. Então, obviamente, há uma curva de aprendizado.

A grande sacada é a vasta documentação. Com um pouco de iniciativa você tem tutoriais para configurar a infraestrutura sob demanda.

Como implantar o WordPress DigitalOcean

Passo 1. Inscreva-se com o link de referência para obter o primeiro mês grátis

Passo 2. Escolha criar um “Droplet

Etapa 3. Selecione o tamanho do droplet (mínimo de 1 GB para o WordPress)

Passo 4. Selecione sua região (tempo de resposta fica otimizado para sites regionais)

Passo 5. Na seção de imagens, escolha WordPress em Aplicativos.

Passo 6. Configurar rede privada, IPv6 ou backups

Passo 7. Escolha as chaves SSH que você deseja usar para aumentar a segurança (opcional)

Passo 8. Clique em criar droplet

Passo 9. Acessar o droplet via SSH para ativar o WordPress (medida de segurança)

Passo 10. Navegue até o seu endereço IP para iniciar a instalação do WordPress

Passo 11. Configure seu domínio

Dicas de escalabilidade WordPress na DigitalOcean

Quando experimentei o DigitalOcean para configurar uma instalação adequada do WordPress estudei diversas documentações. Assim aprendemos diferentes aspectos do serviço.

Um Aspecto fundamental para quem está começando é a escalabilidade. Com um Droplet de 5$ é possível rodar diversos serviços na nuvem.  Com a infraestrutura da DigitalOcean pode-se escalar disco, memória e processamento sob medida para o seu negócio.

Além disso está previsto o lançamento dos Kubernetes na DO o que vai revolucionar o processo de escalabilidade e redundância dos SaaS.