Programação assíncrona (curso completo)

Programação assíncrona (curso completo)

A programação assíncrona se tornou, nos últimos tempos, uma área tão desenvolvida quanto a programação paralela clássica, e, no mundo do JavaScript, tanto em navegadores quanto no Node.js, a compreensão de suas técnicas ocupa um lugar central na formação da visão de mundo dos desenvolvedores. Apresento a vocês um curso completo e o mais abrangente possível, explicando todos os métodos amplamente utilizados de programação assíncrona, adaptadores entre eles e espaços auxiliares. Atualmente, ele consiste em 23 palestras, 3 apresentações e 28 repositórios com muitos exemplos de código no GitHub. São aproximadamente 17 horas de vídeo: link para a playlist.

Explicações sobre o diagrama

No diagrama (acima) estão mostradas as relações entre diferentes formas de trabalhar com assíncrono. Os blocos coloridos dizem respeito à programação assíncrona, enquanto os mostrados em preto e branco referem-se aos 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 atores, são diferentes abordagens para a realização de cálculos paralelos (estão no diagrama apenas para definir mais precisamente o lugar da programação assíncrona). O modelo de atores está relacionado à programação assíncrona porque a implementação de atores sem múltiplas threads também tem validade e serve para estruturar código assíncrono. As linhas pontilhadas conectam eventos e a fila concorrente a callbacks porque essas abstrações são baseadas em callbacks, mas ainda assim formam abordagens qualitativamente novas.

Tópicos das palestras

1. Programação assíncrona (visão geral)
2. Temporizadores, timeouts e EventEmitter
3. Programação assíncrona com callbacks
4. Iteração assíncrona não bloqueante
5. Асинхронность с библиотекой async.js
6. Assíncrono com 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 da pilha de chamadas assíncrona
12. Geradores e geradores assíncronos
13. Iteradores e iteradores assíncronos
14. Cancelamento de operações assíncronas
15. Composição assíncrona de funções
16. Thenable e await leve
17. Fila assíncrona concorrente
18. Padrão de construtor revelador (Revealing Constructor)
19. Future: Assíncrono com futuros sem estado
20. Deferred: Assíncrono com deferreds com estado
21. Modelo de Atores (Actor Model)
22. Padrão Observador (Observer + Observable)
23. Assincronismo com RxJS e fluxos de eventos

Abaixo de cada vídeo, você encontrará links para repositórios com exemplos de código que são discutidos no vídeo. Eu tentei mostrar que não é necessário reduzir tudo a uma única abstração de assincronismo. Não existe uma abordagem universal para assincronismo, e para cada caso, é possível selecionar os métodos que permitem escrever um código mais natural para essa tarefa específica. Claro que, este curso será atualizado e eu peço a todos que sugiram novos tópicos e contribuam com exemplos de código. O principal objetivo do curso é mostrar como construir abstrações de assincronismo de dentro para fora, e não apenas ensinar como utilizá-las. Praticamente todas as abstrações não vêm de bibliotecas, mas são apresentadas em sua forma mais simples e seu funcionamento é explicado passo a passo.

Apenas usuários registrados podem participar da pesquisa. Entre, por favor.

Qual é a sua opinião sobre o curso?

  • Assistirei todo o curso

  • Assistirei seleivamente

  • Um único método é suficiente para mim

  • Vou contribuir para o curso

  • Não tenho interesse em assincronismo

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

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster