Problem
Problem: niezależnie od tego, czy Pańskie obciążenie robocze dotyczy Test-Driven Development (TDD) (Beck, 2003) czy test && commit || revert (TCR) (Beck, 2018), po osiągnięciu znacznego postępu będą tysiące testów jednostkowych, które muszą być uruchamiane za każdym razem, gdy praca jest zapisywana. Na starym laptopie może być konieczne czekanie kwadrans, a na lepszym laptopie minuty, co spowalnia postęp w rozwoju oprogramowania do pełzania.
Stare rozwiązania i sposoby radzenia sobie
Rzucenie pieniędzy na problem
Do tej pory rzucenie pieniędzy na problem było prawdopodobnie najprostszym rozwiązaniem. Jeśli można było sfinansować laptop z większą liczbą szybszych procesorów, testy mogły być grupowane, a czas potrzebny na ich uruchomienie szybko spadał. Zakup szybszego komputera stacjonarnego zapewniłby jeszcze większą wartość za pieniądze niż laptop, kosztem przenośności.
Opóźnienie testowania
Oczywistym rozwiązaniem jest zaprzestanie testowania przy każdej zmianie w kodzie i czekanie, aż zostanie wykonanych kilka godzin, zmiana czy tydzień rozwoju. To nie jest idealne, ponieważ szanse na wmalowanie się w róg lub zagubienie w lesie rosną wykładniczo. Testy muszą zawsze być zielone (tj. zaliczone), w przeciwnym razie prędzej czy później ktoś zrobi dobrze zamierzony błędny skręt i straci się dni, tygodnie lub miesiące produktywności.
Nowe rozwiązanie: chmura
Za grosze można uruchomić wszystkie testy regresji w chmurze z skromnego laptopa. W tym przykładzie używamy środowiska programistycznego GitHub CodeSpaces w chmurze do uruchomienia około dziesięciu tysięcy testów regresji zapewniających poprawne tłumaczenia między polskim a łemkowskim (znanym również jako „rusiński„), zagrożonym językiem pochodzenia południowo-zachodnio-ukraińskiego, rdzennym dla Polski i Słowacji (Węgry). Proszę obserwować, jak uruchomienie zestawu regresji spada do 8 sekund.
Przewodnik
1. Zarejestruj się w celu założenia konta Codespaces na GitHub
Oto link: https://github.com/features/codespaces
2. Zwiększ swój budżet do co najmniej dolara
Jako mechanizm bezpieczeństwa początkowy budżet jest ustawiony na zero, a aby uzyskać poważną moc, będzie potrzebny niezerowy budżet. W momencie publikacji najpotężniejszy system kosztuje 2,88 USD za godzinę, więc już jeden dolar wystarczy na początek.
3. Otwórz swoje repozytorium w CodeSpaces
W swoim repozytorium kodu kliknij duży zielony przycisk Code, upewnij się, że zakładka CodeSpaces jest otwarta, kliknij wielokropek (trzy kropki…) i wybierz „New with Options„, aby utworzyć przestrzeń kodu. Idź ostro z procesorami i wybierz maksimum dostępne (prawdopodobnie 16).
4. Otwórz swoje CodeSpace w Visual Studio Code (!)
W menu CodeSpaces kliknij przycisk otwórz w Visual Studio Code.
5. Aby uzyskać do 36 rdzeni, złóż wniosek o wsparcie
Pytania? Proszę pytać w komentarzach poniżej.


Dodaj komentarz