Dry-rb: hva, hvorfor og hvordan - kurs 4900 gni. fra ThinkNetica, opplæring 3 webinarer, dato 27. november 2023.
Miscellanea / / November 27, 2023
Format
3 webinarer på 2 timer
Øve på
Du vil gjøre noe av øvelsen rett i timen, og noe av det selv etter webinaret.
Kommunikasjon
Du vil ha live chat-støtte, og webinarer vil dekke vanlige spørsmål og feil, eksempler på beste praksis og løsninger.
Resultat
- Du vil forstå hvorfor avhengighetsinjeksjon er nødvendig, hvordan det hjelper med vedlikehold, testbarhet og modularitet av applikasjoner.
- Du vil forstå hva Inversion of Control (IoC) containere har med det å gjøre og hvilke analysealternativer du kan bruke basert på avhengigheter i containere
- Bli kjent med jernbanemønsteret (må ikke forveksles med skinnemåten) og lær hvordan denne tilnærmingen hjelper til med å skrive forretningslogikk som kan mislykkes ved alle trinnene.
- Lag et enkelt tjenesterammeverk der du kan bruke alle transportbiblioteker (som for både forbruker- og http/rpc-anrop) og eventuelle biblioteker for utholdenhet, ikke bare AR eller rom.
- Du vil lære hvilke typer validering det kan være og hvordan du skriver en validator for et hvilket som helst dataskjema.
- Du vil lære hva som er i Ruby-utvikling utenfor RoR, takket være det vil du være i stand til å forstå ikke bare hanami, men også rammeverk på andre språk (tilnærminger brukes i Python, Java, JS og andre økosystemer)
- Lær hvordan du bruker en monad
Krav til deltakere
1. Ett års erfaring med Ruby-utvikling. Det er viktig å vite grunnleggende ting knyttet til webutvikling, som MVC, muligheten til å spørre databasen og skrive minimale tester.
2. Profil på GitHub
3. Grunnleggende kommandolinje og git-ferdigheter
4. Ønske om å forstå andre tilnærminger enn skinneveien
3 webinarer
Praktiske oppgaver
Kommunikasjon med forfatteren og svar på spørsmål
Dag 1. Avhengigheter, DI, IoC-beholdere. Vi setter sammen prosjektrammene.
- Først må du forstå avhengighetene i koden, dvs. i eventuelle biblioteker, klasser, moduler, funksjoner osv. som brukes i hovedenheten.
- La oss se på to måter å spore avhengigheter på: Dependency Injection og basic. La oss se hvordan DI hjelper til med å skrive enhets- og integrasjonstester.
- For ikke å øke kompleksiteten, la oss se på IoC-beholdere, hvis implementering er tørrbeholder.
- For lasthåndtering, vurder tørt system. Til slutt skal vi se på et grunnleggende prosjekt som lar deg legge til alle lag til systemet.
Som et resultat vil du kunne:
Forstå hva dry-rb er generelt og hva lagdelt arkitekturstil er og hvilke problemer den løser. Og også forstå hvordan DI og containere hjelper til med å lage applikasjonsstrukturer. Etterpå skriver vi vår første søknad ved hjelp av dry-system.
Dag 2. Vi skriver forretningslogikk. Jernbane, resultatobjekter og validering.
- For å jobbe med forretningslogikk vil vi vurdere jernbanemønsteret, som lar deg koble de tekniske trinnene i en forretningsprosess til en kjede der hvert trinn kan fullføre hele prosessen.
- For at jernbanen skal fungere, vil vi ta DO-notasjoner fra tørr-monader som en måte å implementere mønsteret på. La oss diskutere hvordan og hvorfor man bruker monader.
- Og for å være sikker på at dataskjemaet som vi jobber med og som vi skriver inn i databasen er gyldig, vil vi bruke dry-schema og dry-validation.
Som et resultat vil du kunne:
Lær å bruke jernbanetilnærmingen til å beskrive forretningslogikk. Du vil forstå hvorfor monader er nødvendig som resultatobjekter og hvordan du validerer data og forretningslogikk.
Dag 3. Legge til transport- og utholdenhetslagene. La oss se på resten av dry-rb-bibliotekene.
- La oss se på måter å legge til ulike transporter (http, kanin, kafka) og utholdenhetsbiblioteker (rom, oppfølger osv.) og utvide prosjektet vårt.
- La oss kort se på de gjenværende tørre bibliotekene og snakke om hvor vi skal bruke dem. Og også hva har funksjonelle objekter med det å gjøre?
- La oss diskutere hva som kan gjøres videre med strukturen til blanken og hvordan du endrer den. Hva du skal legge til, hva du skal fjerne, hvordan du kommer til skiven og den sekskantede strukturen.
Som et resultat:
La oss sette sammen systemet til ett stykke.
La oss se på hvordan du legger til alle typer transport- og utholdenhetslag.
La oss se på de gjenværende bibliotekene fra tørr-rb-økosystemet.
La oss diskutere ytterligere trinn for utvikling eller for bruk av et ferdig emne.