Tytuł:
Nie tylko data class: modelowanie domeny w Kotlinie
Abstrakt:
Odpowiednie zamodelowanie domeny to jeden z kluczowych elementów budowania solidnego oprogramowania. Język Kotlin oferuje potężne narzędzia wspierające efektywne modelowanie, dlatego uważam, że jest doskonałym wyborem do tworzenia systemów backendowych, odpowiadających za logikę biznesową w skomplikowanych domenach.
W tym wystąpieniu pokażę, jak funkcje Kotlina czynią go idealnym narzędziem do modelowania domeny, wspierając programistę w tworzeniu modeli, które są przejrzyste, czytelne, spełniają wymagania biznesowe i jednocześnie są odporne na zmiany. Opowiem, jak koncepty takie jak sealed/inline classes, extension functions, constructor overloading oraz kilka innych pomagają wzbogacić modele, czyniąc je bardziej czytelnymi oraz mniej podatnymi na błędy. Podczas prezentacji przeprowadzę refaktoryzację kodu, przekształcając anemiczne struktury domenowe w coś bardziej idiomatycznego, czytelnego i efektywnego.
DRUGA:
Tytuł:
Gwarancje dostarczania wiadomości w systemach rozproszonych – które, kiedy i jak?
Abstrakt:
Systemy rozproszone często przypominają przechadzkę po polu minowym. Nigdy nie wiemy kiedy coś gdzieś wybuchnie. Jak upewnić się, że faktycznie opublikowaliśmy dane zdarzenie, nie przegapiliśmy żadnej wiadomości, a może już ją widzieliśmy? I czy w ogóle i kiedy musimy się tym przejmować? Tak zwane „delivery guarantees” są z nami w pracy w systemach rozproszonych, czy tego chcemy czy nie, więc warto wiedzieć, jak i kiedy ich używać, gdy jest to konieczne. Omówimy szereg wzorców, narzędzi i technik, rozważając zarówno ich zalety, jak i ograniczenia oraz to, czy rzeczywiście mają zastosowanie w danej sytuacji.