JavaScript completa 24 anos de idade

No dia 4 de dezembro de 2019, o JavaScript comemora seus 24 anos de existência. Neste mesmo dia, em 1995, a NetScape e a Sun Microsystems anunciaram o JavaScript, uma linguagem de script de plataforma aberta, para a criação e personalização de aplicativos em redes corporativas e Internet.

É uma linguagem de script fácil de usar, projetada para criar webapps que vinculam objetos e recursos em clientes e servidores. Foi projetada para ser usado por desenvolvedores web para que criassem scripts dinâmicos em execução no cliente ou servidor.

Com o JavaScript, podemos ter um formulário inteligente que executa cálculos de pagamento de empréstimos ou de câmbio diretamente no cliente em resposta à entrada do usuário. Uma página pode conter scripts JavaScript executados no cliente e servidor. No servidor, os scritps podem compor e formatar dinamicamente o conteúdo HTML com base nas preferências do usuário armazenadas em um banco de dados e no cliente.

“A natureza do JavaScript cliente-servidor, multi-fornecedor e multiplataforma é uma adaptação natural ao sistema de autoria da Web Vermeer FrontPage. O rastreamento de tecnologias da Web inovadoras e ativadoras é uma prioridade importante para a Vermeer, e estamos nos movendo rapidamente para incorporar o JavaScript na primeira página em produtos futuros.”

John R. Mandle

CEO da Vermeer Technologies

 

Basicamente, essas foram as palavras utilizadas pelos criadores do artigo original, publicado no lançamento do JavaScript, em 04 de dezembro de 1995.

Você pode ler o artigo original em:

https://web.archive.org/web/20070916144913/http://wp.netscape.com/newsref/pr/newsrelease67.html

Atualmente, a linguagem evoluiu muito em relação à quando foi lançada. Foram criados diversos frameworks e bibliotecas que auxiliam no desenvolvimento front-end, trazendo agilidade e uma rápida curva de aprendizado para os desenvolvedores. Podemos utilizar JavaScript no lado do servidor com Nodejs e utilizar diversos frameworks e bibliotecas como as atuais React, Angular e Vue, e também o jQuery para a apresentação no front.

Gostou dessa notícia? Comente abaixo!

Richard Feldman e o futuro da web.

Richard Feldman, na ReactiveConf em Praga, fez algumas previsões sobre o futuro da Web até 2025. Ele afirma que aposta em prever as evoluções de tecnologias atuais, como TypeScript e WebAssembly.

Apesar de o TypeScript estar evoluindo gradativamente, ainda há muitas reclamações em relação à sua verbosidade, que afeta a legibilidade do código-fonte. Mas Feldman afirma que o TypeScript será a escolha mais comum entre os desenvolvedores de projetos comerciais.

Com relação ao WebAssembly, Feldman sustenta que o futuro não seja guiado pelo WebAssembly por conta de seu desempenho aprimorado. Ele acredita que o WebAssembly permitirá a concorrência com as lojas e instaladores de apps.

Com relação ao gerenciamento de pacotes, Feldman afirma que o npm continuará relevante, mas que até o final de 2025, ocorrerá algum incidente de segurança, infectando pelo menos um pacote malicioso e afetando muitos desenvolvedores.

Feldman acredita que as linguagens de compilação para o JavaScript estarão crescendo, mas nenhuma de modo tão rápido quanto o TypeScript.

Fonte: https://www.infoq.com/news/2019/11/reactiveconf-2019-web-prediction/

Gostou desta notícia? Comente abaixo!

Stealthy Tool detecta Malware em JavaScript

Uma nova ferramenta de código aberto chamada VisibleV8 permite que os usuários rastreiem e registrem o comportamento dos programas JavaScript sem alertar os sites que os executam.

A ferramenta é executada no navegador Chrome e foi projetada para detectar programas maliciosos capazes de escapar dos sistemas de detecção de Malware existentes.

“Quando você acessa a maioria dos sites, seu navegador começa a executar os programas JavaScript do site imediatamente – e você tem pouca ou nenhuma ideia do que esse JavaScript está fazendo”, diz o co-autor Alexandros Kapravelos, professor assistente de ciência da computação na Universidade Estadual da Carolina do Norte.

“Os sistemas de detecção de Malware avançados de última geração dependem de fazer alterações no código JavaScript para ver como o código está sendo executado. Mas essa abordagem é facilmente detectada, permitindo que programas de Malware alterem seu comportamento, a fim de evitar serem identificados como maliciosos ”, diz ele.

“O VisibleV8 é executado no próprio navegador, registrando como o JavaScript é executado; não interage com o código e, como resultado, é muito mais difícil de detectar. “

O VisibleV8 salva todos os dados sobre como um site está usando JavaScript, criando um “perfil de comportamento” para o site. Os pesquisadores podem usar esse perfil e todos os dados de suporte para identificar sites mal-intencionados e as várias maneiras pelas quais o JavaScript pode comprometer navegadores da web e informações do usuário. Como o VisibleV8 consiste em apenas 600 linhas de código, dentre os milhões de linhas de código no Chrome, a ferramenta de software é relativamente fácil de manter atualizada. Essa é uma consideração importante, pois o Google atualiza o código do Chrome aproximadamente a cada seis semanas. O VisibleV8 também pode direcionar os comportamentos maliciosos mais prováveis ​​sem prejudicar o desempenho do navegador.

Apple A13 supera Snapdragon 855 Plus em desempenho

A empresa AnandTech testou o Apple A13 e observou que ele supera o Snapdragon 855 e 855 Plus na pontuação de CPU, chip gráfico e aprendizado de máquina na maior parte dos benchmarks. Além disso, ele se aproxima da performance de processadores da Intel e AMD para desktop.

Como funcionam os testes?

Os testes Speedometer 2.0, JetStream 2 e WebXPRT 3 são rodados no navegador e medem, de formas diferentes, a capacidade de resposta de aplicações web. O WebXPRT se concentra no desempenho em HTML5 e JavaScript, enquanto o JetStream foca em JS e Web Assembly.

E, para medir a performance de inteligência artificial e aprendizado de máquina (ML), existe um benchmark chamado AIMark. O iPhone 11 Pro supera os concorrentes em três dos quatro testes; o Galaxy S10+ com Snapdragon 855 sai na frente em um deles.

No entanto, o S10+ com Exynos 9820 — primeiro chip da Samsung com engine de processamento neural — costuma ficar atrás do Snapdragon 855 e até mesmo de seu antecessor, o Snapdragon 845.

O site utilizou dois testes de comparação (maior é melhor):

  • SPECint2006: 52,82 pontos (Apple A13), 54,28 (Intel Core 9900K), 49,02 (AMD Ryzen 3900X)
  • SPECfp2006: 65,27 pontos (Apple A12), 75,15 (Intel Core 9900K), 73,66 (AMD Ryzen 3900X)

O A13 Bionic teve uma melhora de 20% no desempenho do CPU se comparado ao A12 da geração passada, presente no iPhone XS e XR. Nos benchmarks WebXPRT e Speedometer, o novo chip Apple A13 atinge o dobro da pontuação do Asus ROG Phone II com Snapdragon 855 Plus.

Nos testes de chip gráfico, o A13 Bionic também fica em primeiro lugar na maioria das vezes. Em diferentes testes do GFXBench, o iPhone 11 Pro e Pro Max têm desempenho maior que o Asus ROG Phone II com Snapdragon 855 Plus, enquanto o iPhone 11 supera também o OnePlus 7 Pro com Snapdragon 855.

Isso leva em conta a pontuação máxima e o desempenho sustentado, isto é, atingido após rodar uma série de renderizações por 10 a 15 minutos. Em algum momento, o sistema-em-um-chip é obrigado a reduzir a velocidade para controlar a temperatura e não derreter.

Em outro benchmark, o 3DMark Slingshot 3.1, o iPhone 11 atinge uma pontuação máxima maior que os concorrentes, mas não consegue sustentá-la, perdendo para o ROG Phone II e OnePlus 7 Pro.

AnandTech explica que isso ocorre porque a Apple não deixa seus celulares chegarem a temperaturas tão altas quanto nos Androids; a traseira do iPhone 11, 11 Pro e Pro Max não passou de 41°C.

Você pode conferir mais detalhes dos testes nos seguintes link:

the-apple-iphone-11-pro-and-max-review pt1

the-apple-iphone-11-pro-and-max-review pt2

Fonte: https://tecnoblog.net/311312/iphone-11-apple-a13-supera-snapdragon-855-testes-desempenho/

Versão do Electron 7.0.0 disponível!

O Electron 7.0.0 foi lançado! Ele inclui atualizações para o Chromium 78, V8 7.8 e Node.js 12.8.1. Foi adicionado uma versão do Window on Arm 64, métodos IPC mais rápidos, uma nova API nativeTheme, entre outros.

A equipe do Electron está animada com o anúncio do lançamento do Electron 7.0.0! Você pode instalá-lo com o npm via npm install electron ou fazer o download no site de lançamentos.

O lançamento está repleto de atualizações, correções e novos recursos.

Mudanças notáveis da atualização:

  • Stack Upgrades:

  • Adicionada versão do Windows on Arm (64 bits);
  • Adicionados ipcRenderer.invoke() e ipcMain.handle() para solicitações/estilo assíncronos de resposta para IPC. Estes são fortemente recomendados no módulo remoto;
  • Adicionada API nativeTheme para ler e responder a alterações no tema e esquema de cores do sistema operacional;
  • Mudou para um novo gerador de definições de TypeScript. As definições resultantes são mais precisas. Portanto, se sua compilação TypeScript falhar, essa é a causa provável.

Consulte as notas de versão 7.0.0 para obter uma lista mais longa de alterações.

Breaking Changes:

Mais informações sobre essas e futuras alterações podem ser encontradas na página Alterações planejadas de interrupção.

  • APIs descontinuadas removidas:
    • Versões de funções baseadas em retorno de chamada que agora usam o Promises;
    • setHighlightMode() (macOS);
    • enableMixedSandbox();
    • getApplicationMenu();
    • setApplicationMenu();
    • querySystemIdleState();
    • querySystemIdleTime();
    • setIsolatedWorldContentSecutiryPolicy();
    • setIsolatedWorldHumanReadableName(),
    • setIsolatedWorldSecurityOrigin().
  • clearAuthCache() não permite mais filtrar as entradas de cache limpas.
  • As interfaces nativas no macOS (menus, caixas de diálogo etc.) agora correspondem automaticamente à configuração do modo escuro na máquina do usuário.
  • Atualizado o módulo electron para usar @electron/get. A versão mínima do node suportado agora é o Node 8.
  • O arquivo electron.asar não existe mais. Quaisquer scripts de empacotamento que dependem de sua existência devem ser atualizados.

Fim do suporte para 4.x.y:

O Electron 4.x.y atingiu o fim do suporte de acordo com a política de suporte doprojeto. Os desenvolvedores e aplicativos são incentivados a atualizar para uma versão mais recente do Electron.

Programa de comentários sobre o APP:

Os projetos que participam deste programa testam os betas de Electron em seus aplicativos, e, em troca, os novos bugs encontrados são priorizados na versão estável.

O que vem por aí:

No curto prazo, a equipe continua a se concentrar em acompanhar o desenvolvimento dos principais componentes que compões o Electron, incluindo Chromium, Node e V8. O plano é lançar novas versões principais do Electron com novas versões desses componentes. O cronograma experimental 8.0.0 mapeia datas importantes no ciclo de vida de desenvolvimento do Electron 8. Consulte o documento do controle de versão para obter informações detalhadas sobre o controle de versão do Electron. Para mais informações, consulte o documento Breaking Changes.

Para mais informações veja o post original no link abaixo:
fonte: https://electronjs.org/blog/electron-7-0

JavaScript: Campos privados, classes estáticas e mais

Embora as classes estejam disponíveis para o JavaScript desde o ES2015, elas não incluem campos e métodos privados. Esses recursos foram descartados durante o release inicial devido a divergências no comitê do TC39. Três rascunhos de especificações pretendem levar esses recursos às classes JavaScript em um futuro próximo.

Depois que essas especificações forem formalmente aceitas, os campos e métodos privados poderão ser definidos usando o sinal de hash ‘#’. A decisão de usar o sinal de hash em vez do sublinhado mais tradicional ‘_’ foi tomada para evitar alterações nas bibliotecas existentes, que atualmente marcam os campos privados dessa maneira.

Isso pode parecer contra intuitivo, no entanto, apesar das bibliotecas marcarem campos ou métodos como privados usando o sublinhado, os desenvolvedores de sinal ainda os usam. Transformar essas variáveis em variáveis verdadeiramente privadas pode interromper vários aplicativos e, portanto, retardar a adaptação das novas especificações.

O problema pode ser demonstrado por uma anedota do React, que teve que recorrer a alguns nomes de variáveis bastante contundentes para impedir que os desenvolvedores os usassem (apesar de serem marcados como privados), como ‘_SECRET_DOM_DO_NOT_USE_ORYOU_WILL_BE_FIRED’. (Lê-se _DOM_SECRETO_NAO_USE_OU_VOCE_SERA_DEMITIDO ).

Cada uma das 3 propostas do TC39 aborda um aspecto diferente de campos e métodos privados nas classes. No entanto, deve ser seguro tratá-los como uma única proposta, pois provavelmente serão adicionados ao JavaScript ao mesmo tempo. As propostas são:

Declaração de campos da classe

Atualmente não é possível definir campos (variáveis) direto na classe. Ao invés disso, os desenvolvedores precisam fazê-lo diretamente no construtor da classe.

class Counter { 
  constructor() { 
    this.xValue = 0; 
  } 
}

A proposta pretende adicionar esta habilidade para escrever os campos diretamente na definição da classe.

class Counter { 
  xValue = 0;
  #yValue = 0;
  constructor() { }
}

Criação de métodos privados e de getter e setters privados para as classes.

Esta proposta pretende permitir a adição de métodos privados e o uso de getter e setter privados.

class Counter { 
  get #x() { return #xValue; } 
  set #x(value) { }

  #clicked() { } 
}

Funcionalidades de classes estáticas (static).

Esta proposta define como será implementado a funcionalidade de campos e métodos estáticos, podendo ser públicos ou privados.

class CustomDate { 
  static public() = {} 
  static #private() = {} 
}

Para mais informações veja o post original no link abaixo:

Fonte: https://www.infoq.com/news/2019/10/javascript-private-class-fields/

Gatsby recebe US$ 15 milhões em financiamento

O Gatsby anunciou que levantou um financiamenteo de US$ 15 milhões para impulsionar a modo como reinventou o desenvolvimento de sites.
O Gatsby é uma estrutura de código aberto gratuita baseada em React. Com uma plataforma de malha de conteúdo, ela auxilia na criação de sites e aplicativos extremamente rápidos.

Acreditando que a arquitetura de sites está sendo reinventada, o Gatsby proporciona a criação de sites rápidos, seguros e estáveis. Ele retira uma grande parte da complexidade do desenvolvimento de sites, tornando o processo incrível e divertido.
Ele se esforça para fornecer dados e códigos divididos imediatamente, otimizando as imagens e carregando a página com seus elementos críticos primeiro.

Com uma malha de conteúdo, o Gatsby preserva os fluxos de trabalho dos criadores de conteúdo e oferecem acesso à serviços em nuvem sem integração manual. Como a web está migrando para uma arquitetura cada vez mais dissociada, o Gatsby é o que torna a experiência mais incrível.
Sendo uma ferramente de código aberto, o Gatsby contribui muito para a comunidade, ajudando a tornar a web um espaço acessível e aberto. Com os financiamentos mais recentes, mais de US$ 3 milhões por ano serão investidos em código aberto, produzindo plugins e materiais de aprendizado.

As tendências que impulsionam a web são três principais, como o Gatsby acredita: Arquitetura dissociada, com serviços modulares especializados; Ecossistema de JavaScript em amadurecimento para criar sites escaláveis e com excelência em qualidade e a necessidade de criar experiências mais atraentes para os usuários.
Atualmente existem mais de 35 membros atuando em código aberto, escrevendo documentações e tutoriais, criando ferramenta de design e construção de sites de última geração.

Para mais informações veja o post original no link abaixo:
Fonte: https://www.infoq.com/news/2019/10/react-gatsby-raises-15m-usd/

Gatsby Blog: https://www.gatsbyjs.org/blog/2019-09-26-announcing-gatsby-15m-series-a-funding-round/

Gostou desta notícia? Comente abaixo!

Malware Nodersok/Divergent afeta milhares de PCs

Novos malwares identificados pela Microsoft e Cisco Talos afetaram milhares de PCs nos Estados Unidos e na Europa e transformam sistemas em proxies para a realização de atividades maliciosas, disseram as empresas.

O que é o Nodersok?

A ameaça sem arquivo (fileless) – chamada Nodersok pela Microsoft e Divergent pela Cisco Talos – possui muitos de seus próprios componentes, mas também aproveita as ferramentas existentes para realizar seu trabalho sujo. O malware utiliza o Node.js que é usado por muitos aplicativos Web e o WinDivert, um utilitário de captura e manipulação de pacotes de rede, para transformar os sistemas em proxies involuntários.

Pesquisadores da Microsoft afirmam que, uma vez que a Nodersok transforma máquinas em proxies, as utiliza como

…um retransmissor para acessar outras entidades da rede (sites, servidores C&C, máquinas comprometidas etc.), o que lhes permite realizar atividades maliciosas furtivas…

disse a empresa. em uma postagem do blog.

Os pesquisadores do Cisco Talos, por outro lado, disseram que os proxies criados pelo Divergent são usados ​​para realizar fraudes por clique. Além disso, o malware tem características semelhantes às observadas em outros malware de fraude de clique, como o Kovter, informou a empresa em um post no blog.

Como o ataque funciona?

A infecção por Nodersok é mais ou menos um ataque de dois estágios que baixa vários componentes no PC de um usuário. Os sistemas são afetados inicialmente quando um usuário executa um arquivo HTA como um download do navegador, clicando nele ou navegando em um anúncio malicioso, de acordo com a Microsoft.

O código JavaScript no arquivo HTA baixa um componente do segundo estágio na forma de outro arquivo JavaScript ou um arquivo XSL que contém o código JavaScript. Esse componente inicia um comando do PowerShell oculto dentro de uma variável de ambiente e inicia instâncias adicionais do PowerShell, de acordo com a Microsoft.

Os comandos do PowerShell baixam e executam componentes criptografados que, entre outras coisas, tentam desativar o Windows Defender Antivirus e o Windows Update e iniciam um código de shell binário que tenta elevar privilégios na máquina infectada. A carga final do malware é um módulo JavaScript escrito na estrutura do Node.js. que pode transformar a máquina em um proxy, disse a Microsoft.

Como evitar

Para evitar a infecção, a Microsoft está aconselhando as pessoas a não executarem arquivos HTA encontrados em seus sistemas, especialmente aqueles que não se lembram de baixar ou cuja origem não conseguem identificar, informou a empresa.

Outra opção é utilizar programas de antivírus que estejam preparados para reconhecer e remover este tipo de ameaça. Segundo o pessoal da Microsoft o próprio Windows defender está apto a fazer isso, então podemos ficar seguro que a maioria dos antivírus também esta 😊!

Fonte: threatpost.com

Black Hat 2019 elimina vulnerabilidades no WhatsApp, iOS, Azure

A criptografia de ponta a ponta do seu messenger favorito pode não ser tão segura quanto você pensa. Na conferência de segurança cibernética da Black Hat 2019 (de 7 a 8 de agosto), em Las Vegas, pesquisadores de segurança do código-fonte do WhatsApp da CheckPoint realizaram engenharia reversa para interceptar e manipular mensagens privadas com êxito. O WhatsApp não é a única plataforma importante que está sendo examinada na conferência.

Natalie Silvanovich, da equipe do Project Zero do Google, investigou a superfície de ataque remoto sem interação do iPhone e encontrou 10 bugs no SMS, MMS, Visual Voicemail, iMessage e Mail, todos corrigidos pela Apple. As vulnerabilidades remotas podem ser exploradas para invadir e controlar remotamente um iPhone sem o conhecimento do usuário.

Em uma postagem oficial do blog do Project Zero, Silvanovich escreve: “Diferentemente do Android, as mensagens SMS são processadas em código nativo pelo iPhone, o que aumenta a probabilidade de vulnerabilidades de corrupção de memória. A maioria das vulnerabilidades ocorreu no iMessage devido à sua superfície de ataque ampla e difícil de enumerar. ”

Para torná-los mais seguros, a Apple está dando iPhones a hackers e ethical hackers para que eles possam invadir e sinalizar vulnerabilidades que encontrarem. Na conferência Black Hat, a Apple abriu seu programa de recompensas por bug para iOS e MacOS a todos os pesquisadores e também aumentou o prêmio de recompensa por bug de US $ 100.000 para US $ 1 milhão.

Ao elaborar as vulnerabilidades do WhatsApp, os pesquisadores da Check Point apontaram que haviam criado uma ferramenta para descriptografar as comunicações no WhatsApp. Quando eles reverteram seu algoritmo para descriptografar os dados, descobriram que a plataforma de mensagens estava usando o protocolo protobuf2 para criptografia.

Quando converteram os dados do protobuf2 em JSON (JavaScript Object Notation) – um formato de intercâmbio de dados – eles viram os parâmetros secretos das mensagens que eles foram capazes de manipular.

Continue lendo “Black Hat 2019 elimina vulnerabilidades no WhatsApp, iOS, Azure”

Hackers comprometem mais 80 sites de comércio eletrônico

Pesquisadores de segurança cibernética descobriram mais de 80 sites de comércio eletrônico comprometidos de Magecart que estavam enviando ativamente informações de cartão de crédito de compradores on-line aos servidores controlados por invasores.

Operando seus negócios nos Estados Unidos, Canadá, Europa, América Latina e Ásia, muitos desses sites comprometidos são marcas respeitáveis ​​na indústria de motorsports e high fashion, revelaram hoje pesquisadores do Aite Group e da Arxan Technologies em um relatório compartilhado com o The Hacker News.

Em um mundo cada vez mais digital, os ataques Magecart surgiram como uma ameaça importante de segurança cibernética para sites de comércio eletrônico.

Magecart é um termo genérico dado a diferentes grupos de criminosos cibernéticos especializados em implantar secretamente skimmers on-line de cartões de crédito em sites de comércio eletrônico comprometidos com a intenção de roubar detalhes de cartões de pagamento de seus clientes.

Esses skimmers virtuais de cartão de crédito, também conhecidos como ataque de formjacking, são basicamente códigos JavaScript que os hackers inserem secretamente em um site comprometido, geralmente na página do carrinho de compras, projetados para capturar informações de pagamento dos clientes em tempo real e enviá-las a um servidor invasor-remoto  controlado.

Ultimamente, Magecart é notícia por conduzir vários assaltos de alto nível contra grandes empresas, incluindo British Airways, Ticketmaster, Newegg e outras.

A campanha recém-divulgada não pertence a um único grupo de hackers Magecart; em vez disso, os pesquisadores usaram um mecanismo de busca de código-fonte para procurar por JavaScript ofuscado na Internet com padrões maliciosos que eram vistos anteriormente nos skimmers virtuais de cartões de crédito do Magecart.

De acordo com os pesquisadores, a técnica permitiu que eles descobrissem rapidamente mais de 80 sites de comércio eletrônico comprometidos por grupos Magecart, a maioria encontrados em versões desatualizadas do Magento CMS, vulneráveis ​​a um carregamento não autenticado e a vulnerabilidades de execução remota de código.

 

“A ausência de proteção no aplicativo, como ofuscação de código e detecção de violação, torna os aplicativos da Web vulneráveis ​​a um tipo de ataque cibernético chamado formjacking”, disseram os pesquisadores.

 

“Muitos dos sites comprometidos estão executando as versões 1.5, 1.7 ou 1.9. As vulnerabilidades arbitrárias de upload de arquivos, execução remota de código e falsificação de solicitação entre sites afetam o Magento versão 2.1.6 e inferior. Embora não possa ser declarado com autoridade que foi isso que levou à violação desses sites, são versões vulneráveis ​​do Magento que permitem que os adversários injetem o código de formjacking no site “.

Continue lendo “Hackers comprometem mais 80 sites de comércio eletrônico”