
Olá Habr! Hoje, para desenvolvedores .NET, temos uma publicação tradicional nos passos do DotNext 2018 Moscow: compartilhamos os dez melhores relatórios da conferência (de acordo com seus visitantes). Sob o corte - seus vídeos, bem como breves descrições e links para apresentações.
Os relatórios estão em uma classificação crescente e os mais apreciados pelo público no final. Mas a dispersão da classificação entre as dezenas é pequena, então comparar meticulosamente lugares não vale a pena - é melhor ver tudo sobre tópicos de interesse! E os tópicos aqui são diferentes - a arquitetura e o desempenho são afetados e "como tudo realmente funciona por dentro".
Então, você deseja criar seu próprio tempo de execução .NET?
Palestrante:
Chris BaconLocalização: 10
O primeiro material da nossa seleção é adequado para um aquecimento.
Este é um relatório "incondicional por diversão" sobre como escrever um tempo de execução no qual o Google Chris Bacon fala com palavras simples sobre coisas complexas, por exemplo, sobre otimizações no .NET Core. A história será interessante pelo menos analisando os elementos internos do CLR, as técnicas de depuração e os segredos de como trabalhar com vários compiladores. Como o próprio Chris diz: "Pode ser uma atividade e um conhecimento inúteis, mas ajuda a remover a cortina de mágica do que você usa todos os dias."
Internos do Windows 10 para desenvolvedores .NET
Palestrante:
Pavel YosifovichLocalização: 9
Apresentação do relatórioO co-autor do livro Windows Internals Pavel Yosifovich mergulha de cabeça no dispositivo interno do Windows e, de forma simples e acessível, conta como os desenvolvedores .NET podem usar os componentes do sistema para seu próprio benefício.
Ele expõe as APIs do Windows nas prateleiras, explicando como o sistema mudou no cenário da Web global, nuvens e virtualização, como as mudanças estão relacionadas à programação moderna e como maximizar o desempenho, passando um pouco de tempo sob o capô do Windows.
Do monólito aos microsserviços: história e prática
Palestrante:
Konstantin GustovLocalização: 8
Apresentação do relatórioOuvir sobre a dor de outra pessoa é sempre interessante. Konstantin conta a história de uma longa refatoração, que será útil para todos que enfrentaram ou que enfrentariam em breve a transição para a arquitetura de microsserviço.
Um relatório muito informativo explicando a motivação e os motivos de cada decisão tomada. Tudo é organizado nas prateleiras, e os alunos podem facilmente usar parte dos hacks em seus projetos, ou citar a história de Konstantin à liderança como um exemplo de sucesso.
Os ouvintes observaram separadamente que o relatório possui muitos recursos para a transferência de antigos sistemas legados para uma nova realidade. E o que aprender sobre as possíveis dificuldades, prós e contras da transição no exemplo de um projeto tão grande também é útil para complacência: estamos fazendo tudo certo?
Aumentando o gerenciamento de memória em cenários de interoperabilidade
Palestrante:
Raffaele RialdiLocalização: 7
Apresentação do relatórioResumindo: este é um relatório com um histórico de baixo nível sobre como gerenciar adequadamente a memória para aumentar a produtividade do projeto. Mas nem tudo é tão simples: historicamente, os recursos do .NET para trabalhar com memória não gerenciada eram muito limitados e eram acompanhados de cópias sem sentido para objetos gerenciados, e seu uso era inseguro. Mas, recentemente, existem novas APIs e funções que mudam significativamente o assunto.
Se você quer saber o que está acontecendo com o .NET no momento, para onde está indo, o que há de novo e o que fazer com ele, este relatório é para você. Os alunos observam muitas novas ferramentas que não foram discutidas publicamente antes, por exemplo, sobre cenários razoáveis para o uso do Span e Pipeline, e Rafael não apenas as mostra, mas também demonstra em detalhes as abordagens de como aplicar corretamente as novas ferramentas na prática.
Construindo aplicativos responsivos e escaláveis
Palestrante:
Jeffrey RichterLocalização: 6
Apresentação do relatórioO relatório sobre o uso efetivo de ferro nublado em alguns telespectadores foi lamentado: "Eu queria algo mais difícil, já sei tudo isso" - mas ainda assim cheguei ao topo. Essa é a escala da personalidade de Jeffrey Richter: ele sabe otimizar não apenas o software, mas também o cérebro dos desenvolvedores .NET, ajustando-os da maneira certa.
Portanto, se você já conhece as informações sonoras, o relatório ainda faz sentido: tanto para Richter quanto para se lembrar mais uma vez sobre produtividade e consumo de recursos. Afinal, mesmo sabendo algo formalmente, você pode esquecê-lo na busca de novas tecnologias.
Rendimento e espera assíncrona: como tudo funciona internamente e como usá-lo
Palestrante:
Ivan DashkevichLocalização: 5
Apresentação do relatórioIvan fala sobre como a competição de TI da ICFP o levou a abordar de maneira muito convencional o uso de rendimento e desmontar o dispositivo interno aguardado por assinante, e entender se isso pode ser usado como exemplo de uma tarefa específica.
Além de analisar o concurso, Ivan oferece várias idéias sobre como transferir a solução da competição para projetos reais, desenvolveu uma “multitarefa cooperativa em assíncrono / espera” em vez de retorno de rendimento, que permite criar um fluxo de trabalho de alto nível e um controlador de tarefas da fila com base no método assíncrono.
Design orientado a domínio: uma receita para um pragmático
Palestrante:
Alexey MersonLocalização: 4
Apresentação do relatórioUma introdução fácil e acessível ao DDD para quem quer entender por que isso é necessário, por que todo mundo está falando sobre isso e como abordá-lo. Ao mesmo tempo, um relatório importante e engraçado, que obriga a aprofundar o assunto ou organizar o conhecimento existente na cabeça. Quem não sabe - saberá. Quem sabe - sabe melhor.
Design instantâneo
Palestrante:
Maxim ArshinovLocalização: 3
Apresentação do relatório60 minutos de análise concentrada de como projetar aplicativos com vários exemplos. Os ouvintes observam imersão profunda, apresentação clara e simples, exemplos muito fortes e detalhados em cada capítulo da história.
Além disso, o relatório de Max tem alta aplicabilidade: quase tudo da história pode ser imediatamente colocado em prática e obter bons resultados. Vai bem com o relatório “Do monólito aos microsserviços” e fornece uma idéia de quais critérios determinam um código bom e ruim e como medi-los.
Otimizações dentro do .NET Core
Palestrante:
Egor BogatovLocal: 2
Apresentação do relatórioUltra-útil e moderno, segundo os ouvintes, um relatório sobre as sutilezas da otimização e a geração do SIMD a partir de um código de alto nível. Embora sejam exemplos simples, mas nada triviais da experiência pessoal de Yegor, que trabalha diretamente com o Mono .NET Core e vê tudo na Microsoft. Sem entediar, regar e repensar idéias antigas de uma nova maneira.
O relatório consiste em muitas micro otimizações aplicadas no .NET Core pelos desenvolvedores e pela comunidade. Mas o Yegor presta atenção especial às novas instruções do processador API para SIMD, como SSE e AVX. Essa API permitirá que você se sinta mais inteligente que o JIT e vetorize manualmente seu código sem recorrer a idiomas de baixo nível.
Não tenha medo de hardcore e montador, Egor vale a pena ouvir, assistir e memorizar!
Keynote: Ctrl-Alt-Del: aprendendo a amar o código legado
Palestrante:
Dylan BeattieLocalização: 1
Apresentação do relatórioO mundo está executando código desatualizado. Você pode falar sobre as vantagens do F # e sem servidor o quanto quiser, mas, na realidade, muitas vezes você precisa lidar com coisas completamente diferentes. E o que fazemos com "um código assustador demais para tocar e lucrativo demais para excluir"? Controlar (Ctrl), alterar (Alt) e excluir (Del). Essa apresentação concluiu a conferência, portanto não há o NET hardcore nele - mas o público gostou ainda mais do hardcore.
Os espectadores regulares do DotNext conhecem Dylan Beatty muito bem e apreciam sua capacidade de combinar pensamento sério com um show fascinante. E aqui ele também tem uma experiência muito adequada. Primeiro, ele trabalhou por muitos anos em uma empresa, observando como o código mudava ao longo do tempo e como os recém-chegados o encontravam - e então ele se mudou para outra empresa e acabou sendo um "novato" que precisava entender o avanço do código de outra pessoa. Qual é a maneira mais eficiente de entrar no trabalho com a base de código se "apenas lê-la" não é suficiente?
Se você gostou desses relatórios, vai gostar no próximo DotNext (15 a 16 de maio, Petersburg): o formato da conferência será o mesmo. E quando você assiste à conferência pessoalmente, pode ouvir não apenas relatórios, mas também pedir oradores na área de discussão, participar de discussões especiais e conversar com outros participantes.
Agora, vários palestrantes já são conhecidos sobre o DotNext 2019 Piter (por exemplo, John Galloway da .NET Foundation) e o programa completo aparecerá mais tarde - mas com o tempo, os ingressos se tornam mais caros, por isso é mais rentável comprá-los o mais rápido possível. Todas as informações relevantes são publicadas no site da conferência.