Skip to content

Instantly share code, notes, and snippets.

@igorlima
Last active August 29, 2015 14:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save igorlima/7a44b4f002caa59da351 to your computer and use it in GitHub Desktop.
Save igorlima/7a44b4f002caa59da351 to your computer and use it in GitHub Desktop.

Junto à comunidade, a StrongLoop está empolgada para ver a versão v0.12 do Node disponível.

O que há de novo?

Não há tempo melhor que o presente para se familiarizar com os novos recursos que estão por vir na versão v0.12. A seguir há uma lista compilada para ajudá-lo a se preparar:

  • Cluster de balanceamento de carga round-robin
  • Otimizações de desempenho
  • Execução de múltiplas instâncias em um único processo
  • execSync: uma API síncrona para processos filho
  • Depugando aplicativos em cluster com Node Inspetor

Ben Noordhuis

Uma das metas de clusterização no Node foi de tornar mais fácil a criação de servidores multi-processos fire and forget. Em um mundo perfeito, você deveria ser capaz de pegar uma aplicação existente de processo único e desovar quantos processos worker quiser sem ter a necessidade de alterar uma única linha de código. O módulo de cluster do Node v0.11.2 introduz uma abordagem de rodízio round-robin: novas conexões são aceitas pelo processo mestre, que em seguida, seleciona um processo worker para entregar à conexão.

Leia mais…

Ben Noordhuis

O longo ciclo de desenvolvimento da versão v0.12 tem dado ao time core e aos colaboradores uma ampla oportunidade de apresentar uma série de otimizações de desempenho. Este blog destina-se à cobertura das otimizações mais notáveis. Aqui estão as seis melhorias de desempenho para você ficar ciente:

  • Suporte cork para streams de escrita
  • Melhorias de desempenho em TLS
  • Melhorias de desempenho em Crypto
  • Redução de tensão do garbage collector
  • Melhor desempenho de cluster
  • Temporizadores mais rápidos

Leia mais…

Ben Noordhuis

Um recurso que é bastante solicitado é a capacidade de incorporar o Node em outras aplicações, em especial de uma maneira que permita a integração com outros loops de evento e com suporte para múltiplos contextos de execução: ou seja, a capacidade de ter várias instâncias Node coexistindo pacificamente dentro do mesmo processo. Imagine uma aplicação node-webkit, onde cada janela executa sua própria instância de Node e que fique isolada de todas as outras janelas. Ou imagine o Node sendo incorporado em um telefone ou num switch de rede onde há a execução de lógica de roteamento para múltiplas conexões, mas em um único processo (o que não está muito longe).

GitHub veio até nós precisando desse tipo de funcionalidade para o Atom.io. É pedir demais, justamente porque o Node começou como – e ainda é – uma aplicação single-threaded (de uma única thread), construído em torno do conceito de um único loop de evento, e com centenas de variáveis globais que armazenam vários bits de estado.

Leia mais…

Bert Belder

Apesar do Node ter sido primeiramente inventado para escrever servidores web, os desenvolvedores já descobriram outros casos de uso para utilizá-lo. Surpreendentemente, um desses casos de uso é a alternativa para escrever scripts shell. E há sentido pra isso: o suporte multi-plataforma do Node é muito bom, e quando estamos escrevendo o frontend e o backend, ambos em JavaScript, não seria legal escrever também o sistema de compilação em JavaScript?

Uma notável biblioteca que suporta este caso de uso é o Grunt, o qual é construído em cima do ShellJS. No entanto, o ShellJS é um osso duro de roer: o Node obriga-o a usar assincronicidade nas operações de entrada e saída (operações I/O). E isso é ótimo para servidores web que devem permanecer sensível a todo o momento, porém isso não faz muito sentido para scripts shell, que exigem que todos os passos sejam feitos em sequência. A ineficiência e a feiúra desse hack motivaram a equipe do Node core a implementar uma solução real – a versão v0.12 do Node deve finalmente oferecer suporte à execução síncrona de processos filho.

Leia mais…

Miroslav Bajtos

Agora, a maioria de vocês já descobriram como que usa o mais recente e melhorado node-inspetor (construído com ferramentas de desenvolvimento do Google Blink) para debugar aplicações Node. Mas que tal aplicações clusterizadas? Neste blog vamos apresentar o que é preciso ser feito para realizar esta façanha.

Leia mais…

Bert Belder

A equipe StrongLoop recebeu uma grande quantidade de feedback da comunidade no ano passado e ultimamente nós (equipe StrongLoop) temos pensado muito sobre esses feedbacks. Nós perguntamos a nós mesmo "como que pode uma empresa, desenvolvedores individuais e membros de uma comunidade ser os contribuidores mais ativos do Node que consequentemente beneficia a todos? Desde desenvolvedores individuais a clientes de um ecossistema de fornecedores que oferece serviços e produtos ao redor do Node?"

O resultado é este post onde nós já colaboramos com colegas de trabalhos, tanto dentro quanto fora da StrongLoop, para tentar articular o que achamos que a StrongLoop pode fazer de mais útil para ajudar a comunidade a levar o Node para um outro nível. Aqui está o nosso pensamento para APIs, gerenciamento de módulo, instrumentação, ferramentas e conectividade.

Leia mais…

Quando a versão v0.12 vai ser lançado?

Boa pergunta. O primeiro build do que será o Node v0.12 foi lançada há um ano atrás, em abril de 2013. A StrongLoop andou ocupada ajudando a tornar a versão v0.12 uma realidade, fazendo contribuições significativas para o núcleo e também sendo um dos principais autores para um monte de recursos legais como otimizações de desempenho, cluster round-robin e a capacidade de executar processos filho de forma síncrona. Embora contribuímos com muitos códigos, nós atualmente não controlamos quando a versão v0.12 será lançada. Esta tarefa cabe ao administrador da comunidade. Os desenvolvedores têm sugerido há alguns meses que a versão v0.12 "será lançada em semanas". Com cerca de 830 bugs abertos e cerca de 187 solicitações de pull requests, à espera de ser revisto, o que parece ser algo bem improvável. O tempo que dirá!

Pronto para começar a monitorar loops de evento, gerenciar clusters e perseguir os vazamentos de memória? Nós fizemos isso de tal forma que fique bem mais fácil com o StrongOps tanto localmente quanto na sua nuvem favorita, simplesmente com um npm install.

Event Loop

  • Pronto para desenvolver APIs e deixá-las conectadas aos seus dados? Confira o framework LoopBack. E veja como que fica mais fácil começar uma API tanto localmente quanto na nuvem, simplesmente com um npm install.
  • Precisa de treinamento e certificação em Node? Saiba mais sobre ambos com as opções de ofertas da StrongLoop.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment