#349

Testowanie w Scali z Grą w Życie

Programujesz już trochę w Scali i czujesz potrzebę podniesienia swoich umiejętności?
A może znasz tylko podstawy i nie bardzo wiesz jak ruszyć dalej?
Uważasz, że warto by było wprowadzić Scalę w Twojej firmie, ale nie wiesz jak zacząć?

Rozwiązaniem na to są Warsztaty z testowania w Scali z Grą w Życie.

Formuła warsztatów jest inspirowana Code Retreat. Jednak tym razem nie będziemy pisać testów w każdym języku, skupimy się tylko na testach pisanych w Scali, w dwóch głównych bibliotekach – Scala Test (http://www.scalatest.org/) oraz specs2 (http://etorreborre.github.io/specs2/).

W naszym codziennym życiu programistycznym zwykle skupiamy się na tzw. rozwiązywaniu problemów biznesowych. Dlatego na badanie możliwości technicznych, podnoszenie limitów, zwiększanie własnej produktywności czy rozpoznawanie nowych bibliotek często nie zostaje wiele czasu. Tym razem będzie inaczej.

Naszym celem będzie przede wszystkim sprawdzenie:
– jak można w testach w Scali wycisnąć jeszcze więcej z komputera,
– jak uczyć siebie i innych Scali (by nie była tylko „lepszą Javą”),
– jak pokazać, że programowanie funkcyjne i Scala nie są wcale takie straszne,
– jak zacząć wprowadzać Scalę i programowanie funkcyjne do ekosystemu zespołu/firmy w sposób ewolucyjny, poprzez testy, a nie rewolucję w kodzie produkcyjnym.

Dlatego „problemem biznesowym”, na którym będziemy się skupiać, będzie „Gra w Życie” (Game of Life, https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life). Chodzi o to, żeby nie skupiać się na rozwiązaniu „problemu biznesowego”, tylko na jego testowaniu w sposób możliwie najlepszy. Tylko co to znaczy „najlepszy”? Co lepsze, Scala Test czy specs2? BDD, TDD, jakieś wariacje? Który styl pisania testów jest najlepszy? Lepiej w IntelliJ IDEI, w Eclipsie czy może w Vimie? Lepiej pisać samemu, w parach czy w większych grupach? Czy tzw. „biznes” będzie mógł korzystać z naszych testów? Czy Scala daje więcej możliwości niż inne języki?

Notatnik

Wymagania wstępne

'- znasz już podstawy Scali (bo od podstaw się nie uczymy) i już napisałeś/napisałaś w życiu jakieś testy jednostkowe,
- przed warsztatami zapoznałeś/zapoznałaś się z regułami Gry w Życie (dla oszczędności czasu),
- przychodzisz z własnym komputerem, masz na nim zainstalowane: najnowszą Scalę 2.13.x, najnowsze SBT, Javę 11+, wybrane IDE/edytor (sprawdź https://sdkman.io/).
Podczas warsztatu uczestnicy korzystają z własnych komputerów.
Podczas warsztatu zapewniemy dostęp do kawy, herbaty, wody. W porze obiadowej zapewniamy pizzę w wersji mięsnej lub wegatariańskiej.

Prowadzący

Piotr Przybył:

Remote Freelance Developer, Software Gardener, prelegent, trener. Miłośnik lekkości i zwinności, których głównym przejawem jest identyfikacja rzeczywistego problemu oraz dobór właściwych narzędzi. Programuje głównie w Javie (od wersji 1.3) i Scali, zapalony użytkownik GNU/Linuksa. Jako trener skupia się nie tylko na prezentowaniu twardych rozwiązań, ale przede wszystkim na ich jak najszybszym wykorzystaniu, zgraniu zespołu, ocenie rzeczywistych wyzwań ograniczeń.

Program warsztatów

  1. Wprowadzenie teoretyczne,
  2. Przez 45 minut piszemy kod,
  3. kolejne 15 minut omawiamy go,
  4. następnie kasujemy cały kod,
  5. piszemy go ponownie od zera.

I tak cały dzień nauki i frajdy.

Partner:

Sponsorem warsztatu jest firma 360CodeLab – dostawca kompleksowych usług dla firm w zakresie rozwoju IT. Oferuje dopasowane rozwiązania, od oceny projektu, przez wyszukiwanie talentów, do rozwoju platformy i stałego wsparcia frontendowego. Skupia się na przełamywaniu konwencjonalnych wzorców myślenia, opracowywaniu przełomowych pomysłów, znajdowaniu kreatywnych rozwiązań i dynamicznym wdrażaniu projektów.

Link YouTube

Uwaga

W trosce o jakość warsztatów jesteśmy zmuszeni ograniczyć liczbę uczestników. **Kwalifikacja odbywa się na podstawie odpowiedzi udzielonych w formularzu zgłoszeniowym oraz - w dalszym kroku - kolejności zgłoszeń.** Potwierdzenie udziału w warsztatach otrzymasz najpóźniej na 5 dni przed planowaną datą wydarzenia.

Zapisy na wybrany warsztat zostały zakończone.