Programação assíncrona (curso completo)

Programação assíncrona (curso completo)

A programação assíncrona tornou-se recentemente não menos desenvolvida do que a programação paralela clássica e, no mundo do JavaSript, tanto em navegadores quanto em Node.js, a compreensão de suas técnicas assumiu um dos lugares centrais na formação da visão de mundo dos desenvolvedores. Trago à sua atenção um curso holístico e mais completo com explicação de todos os métodos difundidos de programação assíncrona, adaptadores entre eles e aberturas auxiliares. Atualmente consiste em 23 palestras, 3 relatórios e 28 repositórios com muitos exemplos de código no github. Total de cerca de 17 horas de vídeo: link para lista de reprodução.

Explicações para o esquema

O diagrama (acima) mostra as conexões entre diferentes formas de trabalhar com assincronia. Os blocos coloridos referem-se à programação assíncrona, e em preto e branco mostram métodos de programação paralela (semáforos, mutexes, barreiras, etc.) e redes de Petri, que, assim como a programação assíncrona e o modelo de ator, são abordagens diferentes para implementar a computação paralela (eles são fornecido no diagrama apenas para determinar com mais precisão o local da programação assíncrona). O modelo de ator está relacionado à programação assíncrona porque a implementação de atores sem multithreading também tem o direito de existir e serve para estruturar o código assíncrono. As linhas pontilhadas vinculam eventos e a fila simultânea a retornos de chamada porque essas abstrações são baseadas em retornos de chamada, mas ainda formam abordagens qualitativamente novas.

Tópicos da palestra

1. Programação assíncrona (visão geral)
2. Temporizadores, tempos limite e EventEmitter
3. Programação assíncrona usando retornos de chamada
4. Iteração assíncrona sem bloqueio
5. Assincronia com a biblioteca async.js
6. Assincronia nas promessas
7. Funções assíncronas e tratamento de erros
8. Adaptadores assíncronos: promisify, callbackify, asyncify
9. Coletores de dados assíncronos
10. Erros não tratados em promessas
11. O problema do stacktrace assíncrono
12. Geradores e geradores assíncronos
13. Iteradores e iteradores assíncronos
14. Cancelamento de operações assíncronas
15. Composição de funções assíncronas
16. Então, fácil e leve, espere
17. Fila assíncrona simultânea
18. Construtor aberto de padrão (Construtor Revelador)
19. Futuro: Assincronia em futuros sem estado
20. Adiado: Assincronia em diferenciais com estado
21. Modelo de ator
22. Observador de padrões (Observador + Observável)
23. Assincronia em RxJS e fluxos de eventos

Abaixo de cada vídeo há links para repositórios com exemplos de código explicados no vídeo. Tentei mostrar que não há necessidade de reduzir tudo a uma abstração de assincronia. Não existe uma abordagem universal para assincronia e, para cada caso, você pode selecionar os métodos que permitirão escrever código de forma mais natural para esta tarefa específica. Claro, este curso será complementado e peço a todos que sugiram novos tópicos e contribuam com exemplos de código. O objetivo principal do curso é mostrar como construir abstrações assíncronas por dentro, e não apenas ensinar como utilizá-las. Quase todas as abstrações não são retiradas de bibliotecas, mas são fornecidas em sua implementação mais simples e seu trabalho é analisado passo a passo.

Apenas usuários registrados podem participar da pesquisa. Entrarpor favor

Qual a sua opinião sobre o curso?

  • vou assistir o curso inteiro

  • vou olhar seletivamente

  • Uma abordagem é suficiente para mim

  • Vou contribuir com o curso

  • Não estou interessado em assincronia

8 usuários votaram. 1 usuário se absteve.

Fonte: habr.com

Adicionar um comentário