Rust News # 5 (janeiro de 2019)

Trago a sua atenção uma seleção subjetiva de notícias enferrujadas para janeiro. Nesta seleção: Rust 1.32, Steve Klabnik e Nick Cameron saindo, quiche Cloudflare, analisador de ferrugem e dispositivo de memória de páginas, pesquisas de GUI e assíncronas, conferência Oxydyze para engenheiros internos.


KDPV


Ferrugem 1,32


O Rust 1.32 foi lançado. Comparado ao lançamento anterior em larga escala, no qual muitos esforços de toda a comunidade estavam concentrados, não há muitas inovações importantes:



Detalhes na tradução das notícias .


Steve Klabnik e Nick Cameron deixam a Mozilla


NYT firefox 1.0


Triste notícia: Steve Klabnik e Nick "nrc" Cameron deixam a Mozilla.


A publicação de Steve "thank you, next" ( debate ) afirma que as principais razões são gratificações com a parte "externa" do Mozilla to Rust e com todos os tipos de questões financeiras simples. Steve quer encontrar trabalho relacionado ao Rust e tentará continuar participando da vida e do desenvolvimento da linguagem, embora certamente não esteja no volume antigo.


Em "Deixando a Mozilla e (a maior parte) o projeto Rust" ( discussão ), Nick diz que estava cansado deste projeto por sete anos e quer uma mudança de cenário. Ele já foi trabalhar no PingCAP :
"Iniciando no PingCAP" ( discussão ).


Guia para o analisador de ferrugem e Salsa


diagrama lógico do analisador


Alex @matklad postou um guia / tour da estrutura analisador de ferrugem (o que é isso ?, Discussão ):



O analisador de ferrugem usa a biblioteca de recompilação incremental Salsa, um post e alguns vídeos também foram publicados recentemente sobre seu dispositivo:



Rust OS: memória da página


esquema de um artigo sobre memória


A série de artigos Criando um SO no Rust foi reabastecida com dois artigos sobre a memória da página:



Um bot para Starcraft em Rust, C ou qualquer outro idioma?


Logotipo de Starcraft


humbug traduziu seu artigo em inglês, "The Bot for Starcraft, in Rust, C, and Any Other Language" .


Escrevendo uma biblioteca dinâmica para Windows, que pode ser carregada no espaço de endereço do jogo StarCraft: Brood War e gerenciar unidades.

Se alguém não leu, aqui está um motivo para se familiarizar. :)


Ainda estamos assíncronos?


Ultimamente, tem havido tanta atividade para arrastar sintaxe assíncrona para o idioma ( por exemplo ) que eles criaram uma página atualizada separada com o status das principais RFC / discussões: areweasyncyet.rs ( discussão ).


Ainda somos GUI?


areweguiyet.com ( debate ) é uma tentativa semelhante de reunir em um só lugar todas as informações sobre o status de tentativas sempre atualizadas de dar à luz uma GUI confiável e idiomática do Rust.


Ferrugem sem trava: Trave em 2019


Uma excelente visão geral da biblioteca de viga cruzada , que fornece estruturas eficazes de dados sem bloqueio e sua evolução nos últimos anos ( discussão ).


Implementações Rusty do protocolo QUIC: Quiche do Cloudflare e Quinn


logotipo de quiche de bolo


O protocolo QUIC experimental (alternativa ao TCP, programa educacional ) está lentamente ganhando popularidade. Este mês:


  • O Quinn v0.2 ( código , discussão ) foi lançado, agora é uma das implementações mais precisas do protocolo. Esta biblioteca é focada principalmente na API idiomática da Rust, incluindo suporte para futuros;


  • O Cloudflare lançou sua implementação - Quiche ( discussão ) - mais focada na API C bem desenvolvida para integração em aplicativos em outros idiomas.



Proteção Destemida: Segurança da Memória em Ferrugem


simba, não vá para inseguro


Uma tradução do artigo da Mozilla, "Segurança sem medo: segurança da memória", descrevendo o básico de como o Rust fornece memória segura.


Incorporado


pedaço de circuito do post



crachá


Webassembly


uma imagem de um artigo sobre a incorporação do WASM



Igrostroy



gif longo da demo de jogabilidade atual



Em uma linha



Pacotes novos e atualizados


  • Ropey ( discussão ) é uma implementação eficiente e compatível com utf8 da estrutura de dados Rope / Cord , que é frequentemente usada em editores de texto;
  • hexyl ( debate ) - um visualizador hexadecimal do console que usa cores ativamente para indicar grupos de valores hexadecimais;
  • cargo-cache ( discussão ) - permite limpar seletivamente peças ~/.cargo/ ;
  • typetag ( debate ) - um atributo de macro que permite a serialização indolor do &dyn Trait e a desserialização dos objetos do tipo Box<dyn Trait> ;
  • dness ( debate ) - cliente de DNS dinâmico;
  • regex-autômatos ( discussão ) - fornece uma interface de baixo nível para trabalhar com expressões regulares (diferente do regex ), o que é menos conveniente, mas permite um controle detalhado do consumo de memória e do tempo de pesquisa; usa o DFA e suporta serialização;
  • Stretch ( código , discussão ) - uma implementação enferrujada do flexbox, usado no Shard (como ele está amontoado no android e ios );
  • arbalest ( discussão ) é uma alternativa ao arco regular, mas links fracos não proíbem a modificação do acesso a dados;
  • Toshi ( discussão ) - um mecanismo de pesquisa em texto completo semelhante ao Elasticsearch (uma alternativa ao que Tantivy , que se concentra no Lucene);
  • porta enferrujada do inferno de um visualizador de barra de pérolas com resultados de perfil de flamegraph, o processo de desenvolvimento é apresentado na forma de fluxos ( vídeo 1 , vídeo 2 );
  • DataFusion v0.6 ( discussão , código ) - a primeira versão do mecanismo de consulta na memória usando a implementação Rust oficial do Apache Arrow ;
  • cargo-expand v0.4 ( discussão ) - o expansor de macros agora suporta o trabalho com módulos / tipos / funções específicos;
  • fluent-rs v0.5 ( discussão ) - uma implementação enferrujada do moderno sistema de localização Fluent atualizou a abordagem para alocação de recursos, recebeu um analisador de cópia zero e melhorou a documentação;
  • Tokei v9.0 ( código , discussão ) - o programa para contar linhas no código-fonte recebeu suporte para arquivos de configuração; o número de PLs compreensíveis aumentou para 170;
  • cargo-crev v0.4 ( discussão ) - O sistema UX de revisões de pacotes distribuídos foi redesenhado para simplificar bastante ;
  • Smithay v0.2 ( código , discussão ) - Exemplo de bigorna foi adicionado à biblioteca para desenvolver gerenciadores de janelas para Wayland , suporte aprimorado para cores e XWayland, reescrita DRM;
  • oxide-auth v0.4 ( discussão ) - A biblioteca OAuth2 foi completamente reescrita e agora é compatível com actix, rocket e rouille;



Habr recentemente soltou nozes e agora permite se referir a recursos externos da comunidade, por isso convido todos a se familiarizarem com o Rust para procurar ajuda e aconselhamento em recursos de idioma russo sobre o Rust:





Isso é tudo, obrigado por assistir!


Se eu não adicionei nenhum link ou evento importante, sinta-se à vontade para incluí-lo nos comentários. :)


KDPV tirado daqui , as fotos restantes dos sites dos respectivos projetos.

Source: https://habr.com/ru/post/pt439354/


All Articles