Scala backend-kehitykseen ja funktionaaliseen ohjelmointiin
Scala toimii JVM:llä ja yhdistää olio-ohjelmoinnin ja funktionaalisen ohjelmoinnin yhdeksi staattisesti tyypitetyksi kieleksi. Se muodostaa esimerkiksi Twitterin, LinkedInin ja Databricksin data-infrastruktuurin perustan Apache Sparkin, Akkan ja Playn kaltaisten viitekehysten kautta. Tällä opintopolulla opitte Scalan syntaksin ja tyyppijärjestelmän perusteista tuotantotasoiseen backend-kehitykseen, rinnakkaisuuteen ja edistyneisiin funktionaalisiin ohjelmointimalleihin.
Mitä opitte
Aloitatte Scalan syntaksista, REPL:stä, arvoista, tyypeistä ja hahmonsovituksesta ja siirrytte sitten case-luokkiin, algebrallisiin tietotyyppeihin sekä Option/Either/Try-virheenkäsittelymalliin. Sen jälkeen käsittelette korkeamman asteen funktioita, häntärekursiota, for-comprehensioneja ja laiskaa evaluointia streamien avulla. Keskitason aiheita ovat implisiittiset parametrit, tyyppiluokat, geneerisyys, JSON-käsittely Circella, REST-rajapinnat http4s:llä, asynkroninen ohjelmointi Futures-olioilla sekä kokonaisvaltainen backend-kehitys Play Frameworkilla. Edistyneillä kursseilla käsitellään Cats-kirjastoa ja IO-monadia, ZIO:a, funktionaalista domain-mallinnusta, tietokantayhteyksiä Doobiella, dataputkia Akka Streamsilla, hajautettuja järjestelmiä Akka Actorsilla ja mikropalveluiden käyttöönottoa. Opintopolku päättyy Scalan metaprogrammointiin, makroihin ja suorituskyvyn virittämiseen.
Oppimispolku
Neljäkymmentä kurssia etenee tasolta A1 tasolle C2. A1- ja A2-kurssit luovat perustan kielelle: syntaksille, kokoelmille, merkkijonoille, monikoille ja hahmonsovitukselle. B1-kursseilla kehitätte funktionaalisen ohjelmoinnin sujuvuutta rekursion, taittelun, laiskojen listojen, piirteiden, muuttumattomuuden ja SBT-koontityökalun avulla. B2-tasolla siirrytte ekosysteemiin: tyyppiluokkiin, Circeen, Playhin, Sparkiin, Scala 3:n ominaisuuksiin ja asynkroniseen ohjelmointiin. C1-kokonaisuus keskittyy tuotantokäytön aiheisiin, kuten Cats IO:hon, ZIO:hon, Akka Actorsiin, Akka Streamsiin, Doobieen ja pilvessä toimiviin mikropalveluihin. Opintopolku päättyy C2-tasolla kursseihin Scalan metaprogrammointi ja makrot sekä Suorituskyvyn virittäminen ja optimointi Scalalla.
Näin se toimii
Jokainen kurssi koostuu lyhyistä käytännönläheisistä oppitunneista, jotka suoritatte sisäänrakennetussa koodieditorissa reaaliaikaisen palautteen avulla. Saatavillanne on AI-tuutori, kun jäätte jumiin, ja eteneminen on suunniteltu niin, että jokainen käsite rakentuu suoraan edellisen päälle ilman siirtymistä ulkoisten materiaalien välillä.