|
| 1 | +# Software Structure & Architecture |
| 2 | + |
| 3 | +1. Introduction |
| 4 | +2. Layered (onion), DDD, Clean architecture |
| 5 | +3. App structure, Modularity, DI, unittesting |
| 6 | +4. DTOs, models, race conditions |
| 7 | +5. Hexagonal Architecture, ports and adapters architecture |
| 8 | +6. Clustering, Parallel, Distributed systems, CAP, ACID, BASE, Locking, CQRS |
| 9 | +7. Actor Model |
| 10 | +8. Databases, data modeling |
| 11 | +9. DSL, AST, LISP |
| 12 | +10. Command, QueryObject, CQS, CQRS, EventSourcing |
| 13 | +11. Messaging: MQ, Pub/Sub, Pull |
| 14 | + |
| 15 | +Additional topics: |
| 16 | +- Interaction: Data (shared state), Calls (RPC), Events (MQ) |
| 17 | +- Three-Tier Architecture, Multitier, Pipeline |
| 18 | +- SOA: web services microservices, serverless |
| 19 | +- Data warehouses and DBMS: relational, noSQL, columnar, key-value |
| 20 | +- Distributed IS topologies: star, bus, ring, pipeline, fully connected |
| 21 | +- API Design |
| 22 | +- Corporate integration buses (exchange with external subsystems) |
| 23 | +- Task and resource schedulers |
| 24 | +- Testing, quality assessments, continuous integration |
| 25 | +- Infrastructure, deployment, update, migration, reengineering |
| 26 | +- Balancing, replication, sharding, resharding, backups and recovery |
| 27 | +- Security, authorization, authentication, application firewall |
| 28 | +- Application and system logging, incident investigation |
| 29 | +- Analysis and reengineering of business processes |
| 30 | + |
| 31 | +## Old lectures |
| 32 | + |
| 33 | +- [Архитектурный подход к программированию](https://youtu.be/d_vyO2CkiOc) |
| 34 | +- [Слои, связанность и связность кода](https://youtu.be/A3RpwNlVeyY) |
| 35 | + - Примеры кода: https://github.com/HowProgrammingWorks/Abstractions |
| 36 | +- [Модули, слои, структура проекта, песочницы в JavaScript и Node.js](https://youtu.be/O7A9chb573E) |
| 37 | + - Пример проекта: https://github.com/HowProgrammingWorks/Project |
| 38 | + - Абстрактные слои: https://github.com/HowProgrammingWorks/AbstractionLayers |
| 39 | + - Песочницы: https://github.com/HowProgrammingWorks/Sandboxes |
| 40 | +- [Инверсия управления и внедрение зависимостей в Node.js](https://youtu.be/Fz86Fdjz-LM) |
| 41 | + - Инверсия управления: https://github.com/HowProgrammingWorks/InversionOfControl |
| 42 | + - Внедрение зависимостей: https://github.com/HowProgrammingWorks/DependencyInjection |
| 43 | +- [Межпроцессовое взаимодействие в Node.js](https://youtu.be/2OXWZFMvfbc) |
| 44 | + - Примеры кода: https://github.com/HowProgrammingWorks/InterProcessCommunication |
| 45 | +- [Высоконагруженные распределенные приложения на Node.js](https://youtu.be/7tfZDABPvVs) |
| 46 | +- [Слой доступа к данным, курсор, транзакция](https://youtu.be/CRcSWtWVvrA) |
| 47 | + - Примеры кода: https://github.com/HowProgrammingWorks/Transaction |
| 48 | +- [Разработка API на Node.js (клиент и сервер)](https://youtu.be/-az912XBCu8) |
| 49 | + - Примеры кода: https://github.com/HowProgrammingWorks/API |
| 50 | +- [CQS, CQRS, Event Sourcing - Разделение запросов и модификации данных](https://youtu.be/T2tRc80Q8Qw) |
| 51 | + - CQS: https://github.com/HowProgrammingWorks/CQS |
| 52 | + - CQRS: https://github.com/HowProgrammingWorks/CQRS |
| 53 | + - EventSourcing: https://github.com/HowProgrammingWorks/EventSourcing |
| 54 | +- [Применение EventSourcing](https://youtu.be/kFNtKiK2SPs) |
| 55 | + - https://github.com/HowProgrammingWorks/EventSourcing |
| 56 | + - https://github.com/HowProgrammingWorks/CQRS |
| 57 | + - https://github.com/HowProgrammingWorks/Command |
| 58 | +- [Serverless Clouds (FaaS) и изоляция контекстов запросов в Node.js](https://youtu.be/x-Rd6fPV6L8) |
| 59 | + - Слайды: https://www.slideshare.net/tshemsedinov/serverless-clouds-faas-and-request-context-isolation-in-nodejs |
0 commit comments