Pesquisar aqui

sábado, 7 de novembro de 2020

[IDS] Docker: O que é?

    Docker é um conjunto de produtos de plataforma como serviço (PaaS) que usam virtualização de nível de sistema operacional para entregar software em pacotes chamados contêineres. Os contêineres são isolados uns dos outros e agrupam seus próprios softwares, bibliotecas e arquivos de configuração. Eles podem se comunicar uns com os outros por meio de canais bem definidos. Todos os contêineres são executados por um único kernel do sistema operacional e, portanto, usam menos recursos do que as máquinas virtuais.



    O serviço tem níveis gratuitos e premium. O software que hospeda os contêineres é denominado Docker Engine. Foi iniciado em 2013 e é desenvolvido pela Docker, Inc. e está escrito em Golang! (https://github.com/docker/distribution)

    O docker é uma alternativa de virtualização em que o kernel da máquina hospedeira é compartilhado com a máquina virtualizada ou o software em operação, portanto um desenvolvedor pode agregar a seu software a possibilidade de levar as bibliotecas e outras dependências do seu programa junto ao software com menos perda de desempenho do que a virtualização do hardware de um servidor completo. Assim, o docker torna operações em uma infraestrutura como serviços web mais intercambiável, eficientes e flexíveis.

    Segundo uma análise da 451 Research, o "docker é uma ferramenta que pode empacotar um aplicativo e suas dependências em um recipiente virtual que pode ser executado em qualquer servidor Linux. Isso ajuda a permitir flexibilidade e portabilidade de onde o aplicativo pode ser executado, quer nas instalações, nuvem pública, nuvem privada, entre outros."

sexta-feira, 6 de novembro de 2020

Discord Bot em Node.js - Parte 4

Passo 4 — Implementando o comando Sum

Agora,irás estender o programa implementando o comando "! sum". O comando irá tomar qualquer número de argumentos e adicioná-los juntos, antes de retornar a soma de todos os argumentos ao usuário.

Se o bot Discord ainda estiver em execução,  podes parar - lo  com CTRL + C.

Abra o arquivo index.js novamente:

  • nano index.js

Para começar a implementar o comando "! sum", usarás um bloco else-if. Depois de verificar o nome do comando ping, ele irá verificar se o nome do comando é igual a "sum". Usamos um bloco else-if já que apenas um comando irá processar de cada vez, então se o programa corresponder ao nome de comando "ping", ele não precisa verificar o comando "sum". Adiciona as seguintes linhas destacadas ao  arquivo:

index.js
...
  if (command === "ping") {
    const timeTaken = Date.now() - message.createdTimestamp;
    message.reply(`Ping! This message had a latency of ${timeTaken}ms.`);
  }

  else if (command === "sum") {
                               
  }                            
});
...

 Podes começar a implementar o código para o comando "sum". O código para o comando "sum" irá entrar dentro do bloco else-if que  acabaste de criar. Agora, adiciona o código a seguir:

index.js
...
  else if (command === "sum") {
    const numArgs = args.map(x => parseFloat(x));
    const sum = numArgs.reduce((counter, x) => counter += x);
    message.reply(`The sum of all the arguments you provided is ${sum}!`);
  }
...

 Usas o método map na lista argumentos para criar uma nova lista usando a função parseFloat em cada item no array args. Isso cria um novo array (atribuído à constante numArgs) no qual todos os itens são números em vez de strings. Isso significa que mais tarde  podes encontrar com sucesso a soma dos números adicionando-os.

A segunda linha usa o método reduce na constante numArgs, fornecendo uma função que totaliza todos os elementos na lista. Atribuis a soma de todos os elementos em numArgs à constante. sum.

Em seguida, usas o método reply no objeto message para responder ao comando do usuário com modelo literal, que contém a soma de todos os argumentos que o usuário envia para o bot.

Isso conclui a implementação do comando "sum". Agora, execute o bot usando o comando a seguir (na mesma pasta que index.js):

  • node index.js

Agora, podes usar o comando "! sum"” em qualquer canal em que o bot possa visualizar e enviar mensagem.

Image of bot replying "The sum of all the arguments you provided is 6!" to "! sum 1 2 3", then replying "The sum of all the arguments you provided is 13! to "! sum 1.5 1.5 10"

A seguir está uma versão finalizada do script index.js do bot:

index.js
const Discord = require("discord.js");
const config = require("./config.json");

const client = new Discord.Client();

const prefix = "!";

client.on("message", function(message) {
  if (message.author.bot) return;
  if (!message.content.startsWith(prefix)) return;

  const commandBody = message.content.slice(prefix.length);
  const args = commandBody.split(' ');
  const command = args.shift().toLowerCase();

  if (command === "ping") {
    const timeTaken = Date.now() - message.createdTimestamp;
    message.reply(`Pong! This message had a latency of ${timeTaken}ms.`);
  }

  else if (command === "sum") {
    const numArgs = args.map(x => parseFloat(x));
    const sum = numArgs.reduce((counter, x) => counter += x);
    message.reply(`The sum of all the arguments you provided is ${sum}!`);
  }
});

client.login(config.BOT_TOKEN);

Neste passo,  melhoraste ainda mais o bot Discord implementando o comando sum.

O que é o VAR e para que serve?

Para tentar acabar com as polêmicas da arbitragem, a Fifa implementou o VAR (Video Assistant Referee), um sistema de apoio ao vivo para os árbitros, que lhes dá a opção de tomar decisões mais acertadas ou de retificar as decisões previamente tomadas.

Foi utilizado pela primeira vez no Mundial de 2018 e recebeu várias críticas, pois são três árbitros numa sala cheia de monitores e com todas as possíveis jogadas para analisar e ajudar o árbitro com qualquer jogada controversa ou decisão que já tenha sido tomada.


Veja como será usado o VAR no Paulista e no Brasileirão - Esportes - R7  Futebol