Sovellusarkkitehtuuri: kirjoita kuin kehittäjä, ajattele kuin arkkitehti - kurssi 80 000 hieroa. Slurmilta, koulutus 3 kuukautta, päivämäärä 22.1.2024.
Miscellanea / / November 29, 2023
Opi kirjoittamaan puhtaita ja hallittavia projekteja, luomaan ylläpidettäviä järjestelmiä ja järjestämään koodia.
Teemme kaikki mahdolliset virheet käytännön tehtävissä ilmaiseksi, jotta voit myöhemmin välttää ne työssäsi ja säästää miljoonia.
Aiemmin monet sovellukset luotiin ilman suunnittelua. Se vaikutti kätevältä: ei suunnittelukustannuksia, nopea prototyyppien valmistus.
Mutta ajan myötä monimutkaisista sovelluksista tuli hallitsematon risteilijä, joka ryntäsi täydellä nopeudella kohti jäävuorta.
Silloin arkkitehtuurista tuli todellinen pelastusliivi. Hyvin suunnitellulla arkkitehtuurilla varustettua sovellusta on helpompi laajentaa, muuttaa, testata, korjata ja ymmärtää.
Sovellusarkkitehtuuri on taidetta. Taito suunnitella ja luoda suuria järjestelmiä.
Opit rakentamaan UML-kaavioita, refaktoimaan koodia, piirtämään arkkitehtonisia rajoja ja analysoimaan järjestelmiä. Jokainen osallistuja suorittaa kurssiprojektin: suunnittelee ja kuvailee täysin tietojärjestelmän sellaisena kuin se tapahtuu todellisessa tuotantotoiminnassa.
Alkuistunto puhujien kanssa
22. tammikuuta klo 19.00
Moduuli yksi: Johdatus sovellusarkkitehtuuriin
tammikuuta 22
Tutustutaan sovellusarkkitehtuurin lähestymistapoihin ja paradigmoihin
- Aihe I. Ongelmana on, miksi on tärkeää suunnitella ohjelmisto oikein. Miksi arkkitehtuuria tarvitaan, mitä tapahtuu, kun ihmiset eivät ajattele sitä.
- Aihe II. Eristäminen keinona hallita monimutkaisuutta. Spagetti koodi. Modulaarisuus. Kytkentä. Staattinen sidonta, dynaaminen sidonta. Komponentit ja niiden vuorovaikutus. Komponentti itsenäisenä kokonaisuutena. Löysästi kytkettyjen komponenttien suunnittelu. Komponenttien testaus. MVC esimerkkinä modulaarisesta mallista. Muutosten syyt, eristäytyminen muutosten syiden perusteella.
Toinen moduuli: Unified Modeling Language
tammikuuta 29
Opitaan graafinen näyttökieli: voit lukea ja suunnitella tällä kielellä. Opitaan käyttämään kaavioita visualisoimaan arkkitehtuuria ja yhteyksiä.
- Aihe I. Pääkomponentit, mitä niillä voidaan ilmaista, mihin niitä tarvitaan.
- Aihe II. Luokka-, aktiviteetti-, järjestys- ja käyttötapauskaaviot.
- Aihe III. UML: n haitat. Malli C4. Työkalut
Kolmas moduuli: OOP-periaatteet
12. helmikuuta
Opimme analysoimaan korkealla tasolla: osaat ratkaista ongelman ja millä paradigmalla.
- Aihe I. Katsaus ohjelmointiparadigmoihin.
- Aihe II. OOP periaatteet. OOP arkkitehtuurin välineenä. Luokat ja menetelmät. Objektilähestymistapa eristysmenetelmänä. Käyttöliittymät ja abstraktit luokat. Perintöongelmat.
- Aihe III. OOP-periaatteet: (KIINTEÄ, KUIVA).
AMA-istunto kaiuttimien kanssa
Moduuli neljä: Suunnittelumallit
helmikuun 26
Opimme suunnittelemaan järjestelmiä kaavoilla: ymmärrät kuvioiden edut ja rajoitukset, osaat tunnistaa järjestelmissä käytetyt mallit
- Aihe I. Mitä mallit ovat ja miksi niitä tarvitaan? Niiden tyypit.
- Aihe II. Generatiiviset ja rakenteelliset mallit.
- Aihe III. Käyttäytymismallit.
- Aihe IV. Antikuvioita.
Moduuli viisi: Puhdas arkkitehtuuri
11. maaliskuuta
Opimme suunnittelemaan puhtaan arkkitehtuurin kriteerien mukaan, etsimään poikkeamia puhtaasta arkkitehtuurista ja ehdottamaan vaihtoehtoja järjestelmäratkaisuksi. Opimme soveltamaan koodin asettelua, suunnittelemaan ja piirtämään arkkitehtonisia rajoja koodin lisämuutosten ja ylläpidon yksinkertaistamiseksi.
- Aihe I. Kytkentä ja koheesio.
- Aihe II. Arkkitehtoniset rajat.
- Aihe III. Puhdas arkkitehtuuri.
Moduuli kuusi: Erilaisia arkkitehtonisia lähestymistapoja
25. maaliskuuta
Opimme valitsemaan lähestymistavan määrättyjen tuotantoongelmien ratkaisemiseen, selitämme edut tai muiden/omamme ratkaisut. Pystymme löytämään sopivat ratkaisut annettuihin tehtäviin vallitseva tilanne huomioon ottaen
- Aihe I. Vaatimukset, aihealue. Analyysi. Toiminnalliset/ei-toiminnalliset vaatimukset.
- Aihe II. Arkkitehtoniset tyylit. Sipuli, monitasoinen, palvelukeskeinen, mikropalvelu, tapahtumalähtöinen.
- Aihe III. Sovellusarkkitehtuuri. MVC, MVP, MVVM, MV*.
AMA-istunto kaiuttimien kanssa
Seitsemäs moduuli: arkkitehtuuri kaikkialla
1. huhtikuuta
Opimme soveltamaan arkkitehtuuritietoa eri mittakaavatasoilla (ei vain luokkien ja moduulien asettelua, vaan myös kokonaisia järjestelmiä)
- Aihe I. Arkkitehtityypit ja heidän tehtävänsä.
- Aihe II. Arkkitehtuurit eri tasoilla (sulautettu, sovellus, hajautettu järjestelmä, pilvipohjainen palvelu).
Kahdeksas moduuli: yhteenveto
8. huhtikuuta
Opitaan kuinka helposti valita työkalu tiettyyn tehtävään
- Aihe I. Katsaus tärkeimpiin työkaluihin ja teknologioihin, niiden paikkaan arkkitehtuurissa ja valintaperiaatteisiin.
- Tiedon tallennus: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Cassandra, KeyValue.
- Jonot: AMQP, Rabbit, Kafka, MQTT.
- Kielet: Python, Java, GO, C++, Javascript/Typescript.
- Käyttöliittymä: Konsoli, alkuperäiset sovellukset, WEB: React, Vue, Angular, Jquery, hybridi, chatbotit.
- Infrastruktuurityökalut: docker, k8s, terraform, ansible.