Arquitetura de aplicativos: escreva como um desenvolvedor, pense como um arquiteto - curso 80.000 rublos. do Slurm, treinamento de 3 meses, data 22 de janeiro de 2024.
Miscelânea / / November 29, 2023
Aprenda a escrever projetos limpos e gerenciáveis, criar sistemas sustentáveis e organizar código.
Cometeremos gratuitamente todos os erros possíveis durante as tarefas práticas, para que mais tarde você possa evitá-los em seu trabalho e economizar milhões.
No passado, muitos aplicativos eram criados sem design. Parecia conveniente: sem custos de planejamento, prototipagem rápida.
Mas com o tempo, aplicações complexas se transformaram em um cruzador incontrolável, avançando a toda velocidade em direção ao iceberg.
Foi então que a arquitetura se tornou um verdadeiro colete salva-vidas. Um aplicativo com uma arquitetura bem projetada é mais fácil de estender, alterar, testar, depurar e compreender.
A arquitetura de aplicativos é uma arte. A arte de projetar e criar sistemas em grande escala.
Você aprenderá a construir diagramas UML, refatorar código, traçar limites arquitetônicos e analisar sistemas. Cada participante concluirá um projeto de curso: projetar e descrever completamente um sistema de informação tal como acontece em atividades reais de produção.
Sessão introdutória com palestrantes
22 de janeiro às 19h
Módulo Um: Introdução à Arquitetura de Aplicativos
22 de janeiro
Vamos conhecer as abordagens e paradigmas da arquitetura de aplicações
- Tópico I. O problema é por que é importante projetar software corretamente. Por que a arquitetura é necessária, o que acontece quando as pessoas não pensam nisso.
- Tópico II. Isolamento como forma de controlar a complexidade. Código espaguete. Modularidade. Acoplamento. Ligação estática, ligação dinâmica. Componentes e suas interações. Um componente como entidade independente. Projeto de componentes fracamente acoplados. Teste de componentes. MVC como exemplo de padrão modular. Motivos das mudanças, isolamento com base nos motivos das mudanças.
Segundo módulo: Linguagem de Modelagem Unificada
29 de janeiro
Vamos dominar a linguagem de exibição gráfica: você poderá ler e projetar usando esta linguagem. Vamos aprender a usar diagramas para visualizar arquitetura e conexões.
- Tópico I. Os principais componentes, o que pode ser expresso com eles, para que são necessários.
- Tópico II. Diagramas de classes, atividades, sequências e casos de uso.
- Tópico III. Desvantagens da UML. Modelo C4. Ferramentas
Terceiro módulo: Princípios OOP
12 de fevereiro
Aprenderemos a analisar em alto nível: você saberá como resolver um problema e usando qual paradigma.
- Tópico I. Revisão de paradigmas de programação.
- Tópico II. Princípios de OOP. OOP como meio de arquitetura. Classes e métodos. Abordagem de objeto como método de isolamento. Interfaces e classes abstratas. Problemas de herança.
- Tópico III. Princípios OOP: (SÓLIDO, SECO).
Sessão AMA com palestrantes
Módulo Quatro: Padrões de Projeto
26 de fevereiro
Aprenderemos a projetar sistemas usando padrões: você entenderá as vantagens e limitações dos padrões, será capaz de reconhecer os padrões aplicados nos sistemas
- Tópico I. O que são padrões e por que são necessários? Seus tipos.
- Tópico II. Padrões generativos e estruturais.
- Tópico III. Padrões comportamentais.
- Tópico IV. Antipadrões.
Módulo Cinco: Arquitetura Limpa
11 de março
Aprenderemos a projetar de acordo com os critérios da arquitetura pura, encontrar desvios da arquitetura pura e propor opções para uma solução de sistema. Aprenderemos como aplicar o layout do código, projetar e traçar limites arquitetônicos para simplificar futuras alterações e manutenção do código.
- Tópico I. Acoplamento e Coesão.
- Tópico II. Limites arquitetônicos.
- Tópico III. Arquitetura limpa.
Módulo Seis: Várias Abordagens Arquitetônicas
25 de março
Aprenderemos a escolher uma abordagem para resolver problemas de produção atribuídos, explicar as vantagens ou as soluções de outras pessoas/nossas. Seremos capazes de encontrar soluções adequadas para as tarefas atribuídas, tendo em conta a situação atual
- Tópico I. Requisitos, área temática. Análise. Requisitos funcionais/não funcionais.
- Tópico II. Estilos arquitetônicos. Onion, multinível, orientado a serviços, microsserviços, orientado a eventos.
- Tópico III. Arquitetura de aplicativos. MVC, MVP, MVVM, MV*.
Sessão AMA com palestrantes
Sétimo módulo: arquitetura em todos os lugares
1 de Abril
Aprenderemos a aplicar conhecimentos sobre arquitetura em vários níveis de escala (não apenas no layout de classes e módulos, mas também em sistemas inteiros)
- Tópico I. Tipos de arquitetos e suas tarefas.
- Tópico II. Arquiteturas em diferentes níveis (embarcado, aplicação, sistema distribuído, serviço nativo da nuvem).
Oitavo módulo: resumindo
8 de abril
Vamos aprender como escolher facilmente uma ferramenta para uma tarefa específica
- Tópico I. Revisão das principais ferramentas e tecnologias, seu lugar na arquitetura e princípios de seleção.
- Armazenamento de dados: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Cassandra, KeyValue.
- Filas: AMQP, Rabbit, Kafka, MQTT.
- Idiomas: Python, Java, GO, C++, Javascript/Typescript.
- Interface: Console, aplicações nativas, WEB: React, Vue, Angular, Jquery, híbrida, chatbots.
- Ferramentas de infraestrutura: docker, k8s, terraform, ansible.