Arhitectura aplicației: scrieți ca un dezvoltator, gândiți ca un arhitect - desigur 80.000 de ruble. din Slurm, antrenament 3 luni, Data 22 ianuarie 2024.
Miscelaneu / / November 29, 2023
Învață să scrii proiecte curate și gestionabile, să creezi sisteme care pot fi întreținute și să organizezi codul.
Vom face toate greșelile posibile în timpul sarcinilor practice gratuit, pentru ca ulterior să le evitați în munca dvs. și să economisiți milioane.
În trecut, multe aplicații au fost create fără design. Părea convenabil: fără costuri de planificare, prototipare rapidă.
Dar, de-a lungul timpului, aplicațiile complexe s-au transformat într-un crucișător incontrolabil, repezindu-se cu viteză maximă spre aisberg.
Atunci arhitectura a devenit o adevărată vestă de salvare. O aplicație cu o arhitectură bine proiectată este mai ușor de extins, schimbat, testat, depanat și înțeles.
Arhitectura aplicațiilor este o artă. Arta de a proiecta și crea sisteme la scară largă.
Veți învăța să construiți diagrame UML, să refactorați codul, să trasați limite arhitecturale și să analizați sisteme. Fiecare participant va finaliza un proiect de curs: proiectează și descrie complet un sistem informațional așa cum se întâmplă în activitățile reale de producție.
Sesiune introductivă cu vorbitori
22 ianuarie ora 19:00
Modulul unu: Introducere în arhitectura aplicațiilor
22 ianuarie
Să ne familiarizăm cu abordările și paradigmele arhitecturii aplicațiilor
- Subiectul I. Problema este de ce este important să proiectați corect software-ul. De ce este nevoie de arhitectură, ce se întâmplă când oamenii nu se gândesc la asta.
- Subiectul II. Izolarea ca mijloc de control al complexității. Cod de spaghete. Modularitate. Cuplare. Legare statică, legare dinamică. Componentele și interacțiunile lor. O componentă ca entitate independentă. Proiectarea componentelor slab cuplate. Testarea componentelor. MVC ca exemplu de model modular. Motivele schimbărilor, izolarea pe baza motivelor schimbărilor.
Al doilea modul: Unified Modeling Language
29 ianuarie
Să stăpânim limbajul de afișare grafică: vei putea citi și proiecta folosind acest limbaj. Să învățăm să folosim diagrame pentru a vizualiza arhitectura și conexiunile.
- Subiectul I. Componentele principale, ce poate fi exprimat cu ele, pentru ce sunt necesare.
- Subiectul II. Diagrame de clasă, activitate, succesiune și cazuri de utilizare.
- Subiectul III. Dezavantajele UML. Model C4. Instrumente
Al treilea modul: principiile POO
12 februarie
Vom învăța să analizăm la un nivel înalt: vei ști cum să rezolvi o problemă și să folosești ce paradigmă.
- Subiectul I. Revizuirea paradigmelor de programare.
- Subiectul II. Principiile POO. OOP ca mijloc de arhitectură. Clase și metode. Abordarea obiectului ca metodă de izolare. Interfețe și clase abstracte. Probleme de moștenire.
- Subiectul III. Principii POO: (SOLID, USCAT).
Sesiune AMA cu vorbitori
Modulul patru: Modele de proiectare
26 februarie
Vom învăța să proiectăm sisteme folosind tipare: vei înțelege avantajele și limitările tiparelor, vei putea recunoaște tiparele aplicate în sisteme
- Subiectul I. Ce sunt modelele și de ce sunt necesare? Tipurile lor.
- Subiectul II. Modele generative și structurale.
- Subiectul III. Tipare comportamentale.
- Subiectul IV. Antimodeluri.
Modulul cinci: Arhitectură curată
11 martie
Vom învăța să proiectăm după criteriile arhitecturii pure, să găsim abateri de la arhitectura pură și să propunem opțiuni pentru o soluție de sistem. Vom învăța cum să aplicăm aspectul codului, să proiectăm și să trasăm limite arhitecturale pentru a simplifica modificările ulterioare și întreținerea codului.
- Subiectul I. Cuplare și coeziune.
- Subiectul II. Limite arhitecturale.
- Subiectul III. Arhitectură curată.
Modulul șase: Diverse abordări arhitecturale
25 martie
Vom învăța să alegem o abordare pentru rezolvarea problemelor de producție atribuite, să explicăm avantajele sau soluțiile altor persoane/propriile noastre. Vom putea găsi soluții potrivite pentru sarcinile atribuite, ținând cont de situația actuală
- Subiectul I. Cerințe, domeniu. Analiză. Cerințe funcționale/nefuncționale.
- Subiectul II. Stiluri arhitecturale. Onion, pe mai multe niveluri, orientat spre servicii, microserviciu, bazat pe evenimente.
- Subiectul III. Arhitectura aplicatiei. MVC, MVP, MVVM, MV*.
Sesiune AMA cu vorbitori
Al șaptelea modul: arhitectură peste tot
1 aprilie
Vom învăța să aplicăm cunoștințele despre arhitectură la diferite niveluri de scară (nu numai aspectul claselor și modulelor, ci și sisteme întregi)
- Subiectul I. Tipuri de arhitecți și sarcinile acestora.
- Subiectul II. Arhitecturi la diferite niveluri (embedded, aplicație, sistem distribuit, serviciu cloud-native).
Al optulea modul: rezumat
8 aprilie
Să învățăm cum să alegem cu ușurință un instrument pentru o anumită sarcină
- Subiectul I. Trecerea în revistă a principalelor instrumente și tehnologii, locul lor în arhitectură și principiile de selecție.
- Stocarea datelor: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Cassandra, KeyValue.
- Cozi: AMQP, Rabbit, Kafka, MQTT.
- Limbi: Python, Java, GO, C++, Javascript/Typescript.
- Interfață: Consolă, aplicații native, WEB: React, Vue, Angular, Jquery, hibrid, chatbot.
- Instrumente de infrastructură: docker, k8s, terraform, ansible.