Rakenduse arhitektuur: kirjuta nagu arendaja, mõtle nagu arhitekt – kursus 80 000 hõõruda. Slurmist, koolitus 3 kuud, kuupäev 22.01.2024.
Varia / / November 29, 2023
Õppige kirjutama puhtaid ja hallatavaid projekte, looma hooldatavaid süsteeme ja korraldama koodi.
Kõik võimalikud vead teeme praktiliste ülesannete täitmisel tasuta, et hiljem saaksid neid oma töös vältida ja miljoneid kokku hoida.
Varem loodi palju rakendusi ilma disainita. See tundus mugav: ei mingeid planeerimiskulusid, kiire prototüüpimine.
Kuid aja jooksul muutusid keerukad rakendused kontrollimatuks ristlejaks, mis kihutas täiskiirusel jäämäe poole.
Just siis sai arhitektuurist tõeline päästevest. Hästi läbimõeldud arhitektuuriga rakendust on lihtsam laiendada, muuta, testida, siluda ja mõista.
Rakenduse arhitektuur on kunst. Suuremahuliste süsteemide projekteerimise ja loomise kunst.
Õpid koostama UML-skeeme, refaktorikoodi, tõmbama arhitektuurseid piire ja analüüsima süsteeme. Iga osaleja täidab kursuseprojekti: kujundab ja kirjeldab täielikult infosüsteemi nii, nagu see reaalses tootmistegevuses toimub.
Sissejuhatav sessioon esinejatega
22. jaanuaril kell 19.00
Esimene moodul: Sissejuhatus rakendusarhitektuuri
22. jaanuar
Tutvume rakendusarhitektuuri lähenemiste ja paradigmadega
- Teema I. Probleem on selles, miks on oluline tarkvara õigesti kujundada. Miks on arhitektuuri vaja, mis juhtub, kui inimesed sellele ei mõtle.
- Teema II. Isolatsioon kui vahend keerukuse kontrollimiseks. Spagettide kood. Modulaarsus. Sidumine. Staatiline köitmine, dünaamiline sidumine. Komponendid ja nende koosmõju. Komponent kui iseseisev üksus. Lõdvalt ühendatud komponentide disain. Komponentide testimine. MVC modulaarse mustri näitena. Muudatuste põhjused, isoleerimine muutuste põhjuste põhjal.
Teine moodul: Unified Modeling Language
29. jaanuar
Õppime selgeks graafiline kuvakeel: saate seda keelt kasutades lugeda ja kujundada. Õpime kasutama diagramme arhitektuuri ja seoste visualiseerimiseks.
- Teema I. Põhikomponendid, mida nendega saab väljendada, milleks neid vaja on.
- Teema II. Klasside, tegevuste, järjestuste ja kasutusjuhtude diagrammid.
- III teema. UML-i puudused. Mudel C4. Tööriistad
Kolmas moodul: OOP põhimõtted
12 veebruar
Õpime analüüsima kõrgel tasemel: tead, kuidas probleemi lahendada ja millist paradigmat kasutades.
- Teema I. Programmeerimisparadigmade ülevaade.
- Teema II. OOP põhimõtted. OOP kui arhitektuuri vahend. Klassid ja meetodid. Objektiline lähenemine kui isoleerimismeetod. Liidesed ja abstraktsed klassid. Pärimisprobleemid.
- III teema. OOP põhimõtted: (TAHKE, KUIV).
AMA seanss koos esinejatega
Neljas moodul: kujundusmustrid
26. veebruar
Õpime kujundama süsteeme mustrite abil: saad aru mustrite eelistest ja piirangutest, oskad ära tunda süsteemides rakendatud mustreid
- Teema I. Mis on mustrid ja miks neid vaja on? Nende tüübid.
- Teema II. Generatiivsed ja struktuursed mustrid.
- III teema. Käitumismustrid.
- IV teema. Antimustrid.
Viies moodul: puhas arhitektuur
11. märts
Õpime kujundama puhta arhitektuuri kriteeriumide järgi, leidma kõrvalekaldeid puhtast arhitektuurist ja pakkuma välja variante süsteemseks lahenduseks. Õpime rakendama koodi paigutust, kujundama ja tõmbama arhitektuurseid piire, et lihtsustada koodi edasisi muudatusi ja hooldust.
- Teema I. Sidumine ja ühtekuuluvus.
- Teema II. Arhitektuursed piirid.
- III teema. Puhas arhitektuur.
Kuues moodul: erinevad arhitektuurilised lähenemisviisid
25. märts
Õpime valima lähenemist määratud tootmisprobleemide lahendamiseks, selgitame eeliseid või teiste inimeste/enda lahendusi. Suudame antud ülesannetele leida sobivad lahendused, arvestades hetkeolukorda
- Teema I. Nõuded, ainevaldkond. Analüüs. Funktsionaalsed/mittefunktsionaalsed nõuded.
- Teema II. Arhitektuuristiilid. Sibul, mitmetasandiline, teeninduskeskne, mikroteenus, sündmustepõhine.
- III teema. Rakenduse arhitektuur. MVC, MVP, MVVM, MV*.
AMA seanss koos esinejatega
Seitsmes moodul: arhitektuur kõikjal
1. aprill
Õpime rakendama teadmisi arhitektuuri kohta erinevatel skaalatasemetel (mitte ainult klasside ja moodulite paigutus, vaid ka terved süsteemid)
- Teema I. Arhitektide tüübid ja nende ülesanded.
- Teema II. Erinevate tasemete arhitektuurid (manustatud, rakendus, hajutatud süsteem, pilvepõhine teenus).
Kaheksas moodul: kokkuvõte
8. aprill
Õppime, kuidas konkreetse ülesande jaoks lihtsalt tööriista valida
- Teema I. Peamiste tööriistade ja tehnoloogiate ülevaade, nende koht arhitektuuris ja valiku põhimõtted.
- Andmesalvestus: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Cassandra, KeyValue.
- Järjekorrad: AMQP, Rabbit, Kafka, MQTT.
- Keeled: Python, Java, GO, C++, Javascript/Typescript.
- Liides: konsool, omarakendused, WEB: React, Vue, Angular, Jquery, hübriid, vestlusrobotid.
- Infrastruktuuri tööriistad: docker, k8s, terraform, ansible.