Applikationsarkitektur: skriv som en udvikler, tænk som en arkitekt - kursus 80.000 rub. fra Slurm, træning 3 måneder, Dato 22. januar 2024.
Miscellanea / / November 29, 2023
Lær at skrive rene og håndterbare projekter, skabe vedligeholdelige systemer og organisere kode.
Vi laver alle mulige fejl under praktiske opgaver gratis, så du senere kan undgå dem i dit arbejde og spare millioner.
Tidligere blev mange applikationer skabt uden design. Det virkede praktisk: ingen planlægningsomkostninger, hurtig prototyping.
Men med tiden blev komplekse applikationer til en ukontrollerbar krydser, der skyndte sig i fuld fart mod isbjerget.
Det var dengang, arkitekturen blev en rigtig redningsvest. En applikation med en veldesignet arkitektur er nemmere at udvide, ændre, teste, fejlfinde og forstå.
Applikationsarkitektur er en kunst. Kunsten at designe og skabe store systemer.
Du lærer at bygge UML-diagrammer, refactor-kode, tegne arkitektoniske grænser og analysere systemer. Hver deltager vil gennemføre et kursusprojekt: designe og beskrive et informationssystem fuldt ud, som det sker i virkelige produktionsaktiviteter.
Introduktionssession med oplægsholdere
22. januar klokken 19.00
Modul 1: Introduktion til applikationsarkitektur
22. januar
Lad os stifte bekendtskab med applikationsarkitekturens tilgange og paradigmer
- Emne I. Problemet er, hvorfor det er vigtigt at designe software korrekt. Hvorfor er der brug for arkitektur, hvad sker der, når folk ikke tænker over det.
- Emne II. Isolation som et middel til at kontrollere kompleksitet. Spaghetti kode. Modularitet. Kobling. Statisk binding, dynamisk binding. Komponenter og deres interaktioner. En komponent som en selvstændig enhed. Design af løst koblede komponenter. Komponenttestning. MVC som et eksempel på et modulært mønster. Årsager til ændringer, isolation baseret på årsagerne til ændringer.
Andet modul: Unified Modeling Language
29. januar
Lad os mestre det grafiske displaysprog: du vil være i stand til at læse og designe ved hjælp af dette sprog. Lad os lære at bruge diagrammer til at visualisere arkitektur og forbindelser.
- Emne I. Hovedkomponenterne, hvad kan udtrykkes med dem, hvad de er nødvendige til.
- Emne II. Klasse-, aktivitets-, rækkefølge- og use case-diagrammer.
- Emne III. Ulemper ved UML. Model C4. Værktøjer
Tredje modul: OOP principper
12. februar
Vi vil lære at analysere på et højt niveau: du vil vide, hvordan du løser et problem og bruger hvilket paradigme.
- Emne I. Gennemgang af programmeringsparadigmer.
- Emne II. OOP principper. OOP som et middel til arkitektur. Klasser og metoder. Objekttilgang som isolationsmetode. Grænseflader og abstrakte klasser. Arveproblemer.
- Emne III. OOP principper: (FAST, TØRT).
AMA session med foredragsholdere
Modul fire: Designmønstre
26. februar
Vi lærer at designe systemer ved hjælp af mønstre: du vil forstå fordelene og begrænsningerne ved mønstre, du vil være i stand til at genkende de anvendte mønstre i systemer
- Emne I. Hvad er mønstre, og hvorfor er de nødvendige? Deres typer.
- Emne II. Generative og strukturelle mønstre.
- Emne III. Adfærdsmønstre.
- Emne IV. Antimønstre.
Modul fem: Ren arkitektur
11. marts
Vi vil lære at designe efter kriterierne for ren arkitektur, finde afvigelser fra ren arkitektur og foreslå muligheder for en systemløsning. Vi vil lære at anvende kodelayout, designe og tegne arkitektoniske grænser for at forenkle yderligere ændringer og vedligeholdelse af koden.
- Emne I. Kobling & Samhørighed.
- Emne II. Arkitektoniske grænser.
- Emne III. Ren arkitektur.
Modul seks: Forskellige arkitektoniske tilgange
25. marts
Vi lærer at vælge en tilgang til løsning af tildelte produktionsproblemer, forklare fordelene eller andres/vores egne løsninger. Vi vil være i stand til at finde passende løsninger på de stillede opgaver under hensyntagen til den aktuelle situation
- Emne I. Krav, fagområde. Analyse. Funktionelle/ikke-funktionelle krav.
- Emne II. Arkitektoniske stilarter. Løg, multi-level, serviceorienteret, mikroservice, begivenhedsdrevet.
- Emne III. Applikationsarkitektur. MVC, MVP, MVVM, MV*.
AMA session med foredragsholdere
Syvende modul: arkitektur overalt
1. april
Vi lærer at anvende viden om arkitektur på forskellige skalaniveauer (ikke kun layoutet af klasser og moduler, men også hele systemer)
- Emne I. Arkitekttyper og deres opgaver.
- Emne II. Arkitekturer på forskellige niveauer (indlejret, applikation, distribueret system, cloud-native service).
Ottende modul: opsummering
8. april
Lad os lære, hvordan du nemt vælger et værktøj til en bestemt opgave
- Emne I. Gennemgang af de vigtigste værktøjer og teknologier, deres plads i arkitekturen og udvælgelsesprincipper.
- Datalagring: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Cassandra, KeyValue.
- Køer: AMQP, Rabbit, Kafka, MQTT.
- Sprog: Python, Java, GO, C++, Javascript/Typescript.
- Interface: Konsol, native applikationer, WEB: React, Vue, Angular, Jquery, hybrid, chatbots.
- Infrastrukturværktøjer: docker, k8s, terraform, ansible.