Alkalmazás architektúra: írjon fejlesztőként, gondolkozzon építészként - tanfolyam 80 000 dörzsölje. Slurmtól, képzés 3 hónap, Dátum: 2024. január 22.
Vegyes Cikkek / / November 29, 2023
Tanuljon meg tiszta és kezelhető projekteket írni, karbantartható rendszereket hozzon létre, és rendszerezzen kódot.
A gyakorlati feladatok során minden lehetséges hibát ingyenesen elkövetünk, hogy később a munkád során elkerülhesd és milliókat takaríts meg.
A múltban sok alkalmazást tervezés nélkül hoztak létre. Kényelmesnek tűnt: tervezési költségek nélkül, gyors prototípuskészítés.
De idővel az összetett alkalmazások irányíthatatlan cirkálóvá változtak, amely teljes sebességgel rohan a jéghegy felé.
Ekkor vált az építészet igazi mentőmellénysé. A jól megtervezett architektúrájú alkalmazásokat könnyebb bővíteni, módosítani, tesztelni, hibakeresni és megérteni.
Az alkalmazás architektúrája egy művészet. A nagyméretű rendszerek tervezésének és létrehozásának művészete.
Megtanul UML-diagramok felépítését, refaktor kódot, építészeti határokat húzni és rendszereket elemezni. Minden résztvevő teljesít egy kurzusprojektet: megtervez és teljes körűen leír egy információs rendszert, ahogy az a valós termelési tevékenységekben történik.
Bevezető előadás előadókkal
január 22-én 19 órakor
Első modul: Bevezetés az alkalmazásarchitektúrába
január 22
Ismerkedjünk meg az alkalmazásarchitektúra megközelítéseivel, paradigmáival
- I. téma. A probléma az, hogy miért fontos a szoftver helyes tervezése. Miért van szükség az építészetre, mi történik, ha az emberek nem gondolnak rá.
- Téma II. Az izoláció, mint a komplexitás szabályozásának eszköze. Spagetti kód. Modularitás. Csatolás. Statikus kötés, dinamikus kötés. Összetevők és kölcsönhatásaik. Egy komponens, mint független entitás. Lazán csatolt alkatrészek tervezése. Alkatrész tesztelés. Az MVC a moduláris minta példájaként. Változások okai, elszigetelődés a változtatások okai alapján.
Második modul: Egységes modellezési nyelv
január 29
Sajátítsuk el a grafikus megjelenítési nyelvet: ezen a nyelven tud majd olvasni és tervezni. Tanuljuk meg diagramok használatát az architektúra és a kapcsolatok megjelenítésére.
- I. téma. A fő komponensek, mit lehet velük kifejezni, mire van szükség.
- Téma II. Osztály-, tevékenység-, sorrend- és használati eset diagramok.
- Téma III. Az UML hátrányai. C4 modell. Eszközök
Harmadik modul: OOP alapelvek
február 12
Megtanulunk magas szinten elemezni: tudni fogod, hogyan kell megoldani egy problémát, és milyen paradigmával.
- I. téma. A programozási paradigmák áttekintése.
- Téma II. OOP elvek. Az OOP mint az építészet eszköze. Osztályok és módszerek. Az objektum megközelítés mint izolációs módszer. Interfészek és absztrakt osztályok. Öröklési problémák.
- Téma III. OOP alapelvek: (SZILÁRD, SZÁRAZ).
AMA ülés hangszórókkal
Negyedik modul: Tervezési minták
február 26
Megtanulunk minták segítségével rendszereket tervezni: megérti a minták előnyeit és korlátait, képes lesz felismerni a rendszerekben alkalmazott mintákat
- I. téma. Mik azok a minták és miért van rájuk szükség? A típusaik.
- Téma II. Generatív és strukturális minták.
- Téma III. Viselkedési minták.
- Téma IV. Antiminták.
Ötödik modul: Tiszta építészet
március 11
Megtanulunk a tiszta architektúra kritériumai szerint tervezni, megtalálni a tiszta architektúrától való eltéréseket és javaslatokat teszünk a rendszermegoldásra. Megtanuljuk a kódelrendezés alkalmazását, a tervezést és az építészeti határok meghúzását a kód további módosításainak és karbantartásának egyszerűsítése érdekében.
- I. téma. Összekapcsolás és kohézió.
- Téma II. Építészeti határok.
- Téma III. Tiszta architektúra.
Hatodik modul: Különféle építészeti megközelítések
március 25
Megtanuljuk a hozzárendelt termelési problémák megoldásának megközelítését választani, elmagyarázni az előnyöket vagy mások/saját megoldásokat. A rábízott feladatokra a jelenlegi helyzet figyelembevételével megfelelő megoldásokat tudunk majd találni
- I. téma. Követelmények, tárgykör. Elemzés. Funkcionális/nem funkcionális követelmények.
- Téma II. Építészeti stílusok. Hagyma, többszintű, szolgáltatás-orientált, mikroszolgáltatás, eseményvezérelt.
- Téma III. Alkalmazás architektúra. MVC, MVP, MVVM, MV*.
AMA ülés hangszórókkal
Hetedik modul: architektúra mindenhol
április 1
Megtanuljuk alkalmazni az építészettel kapcsolatos ismereteket különböző léptékszinteken (nem csak az osztályok és modulok elrendezésére, hanem a teljes rendszerekre is)
- I. téma. Az építészek típusai és feladataik.
- Téma II. Architektúrák különböző szinteken (beágyazott, alkalmazás, elosztott rendszer, felhő-natív szolgáltatás).
Nyolcadik modul: összegzés
április 8
Tanuljuk meg, hogyan választhatunk könnyen eszközt egy adott feladathoz
- I. téma. A főbb eszközök és technológiák áttekintése, az építészetben elfoglalt helyük és a kiválasztási elvek.
- Adattárolás: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Cassandra, KeyValue.
- Sorok: AMQP, Rabbit, Kafka, MQTT.
- Nyelvek: Python, Java, GO, C++, Javascript/Typescript.
- Interfész: Konzol, natív alkalmazások, WEB: React, Vue, Angular, Jquery, hibrid, chatbotok.
- Infrastrukturális eszközök: docker, k8s, terraform, ansible.