Jak można się dowiedzieć z wcześniejszego wpisu, w maju tego roku uczestniczyłem w wydarzeniu Community Speedrun Challenge organizowanym przez Google. Dzisiaj chciałbym podzielić się kilkoma wskazówkami, którymi się kierowałem, by zdobyć jak największą ilość punktów.

Wzkazówki

Post ten piszę kilka miesięcy po zakończeniu wyzwania. Po tak długim czasie ciężko przypomnieć sobie wszystkie czynności, dzięki którym udało mi się uzyskać tak wysoki wynik. Mimo to postarałem się przedstawić moje rady, jakie przychodzą mi do głowy. Może ktoś w przyszłości chciałby podjąć się podobnego wyzwania i szuka cennych wskazówek 🙂

  • Na sam początek, przed rozpoczęciem ćwiczenia, polecam dokładnie zapoznać się z instrukcją. Spisać wszystkie kroki i przeanalizować je pod kątem tego, czy są konieczne do wykonania ćwiczenia. Część z nich okaże się zbędna i polega na zapoznaniu się z samym poruszaniem się po GCP.
  • Pomocne może być otworzenie danego laboratorium poza wyznawaniem - wyszukując je po nazwie w Qwiklabs. W ten sposób uzyskamy dostęp do tablicy postępów, która dokładnie określa, które kroki są oceniane i konieczne do wykonania ćwiczenia.
  • Mając już spisane kroki warto poszukać sposobu ich wykonania w CLI. W ten sposób unikniemy wykonywania ich w konsoli (dla wyjaśnienia tak nazywamy UI w GCP).
  • Radzę unikać korzystania z Cloud Shell - pod spodem tworzona jest wirtualna maszyna. Jest to kolejne miejsce, w którym możemy zaoszczędzić czas. Przed rozpoczęciem laboratorium można przygotować CLI u siebie lokalnie lub na wirtualnej maszynie utworzonej np. na swoim koncie GCP. Następnie używając polecania gcloud auth login zalogować się do utworzonego konta.
  • Warto zaglądnąć do dokumentacji, sprawdzić każdy użyty parametr w komendach i znaleźć sposób na skrócenie czasu. Może się okazać, że niektóre parametry przyśpieszą wykonywanie komend, a niektóre z komend można wykonać jeszcze przed rozpoczęciem laboratorium. Przykładowo w zadaniu które potrzebuje wytrenowany model, możemy wykorzystać model wytrenowany dużo wcześniej na swoim koncie i udostępniony publicznie.
  • Warto też pomyśleć w jaki sposób wykonanie danego kroku może być sprawdzane. Na przykład zapisanie odpowiedzi z API do pliku może wskazywać, że w ten właśnie sposób sprawdzane jest wykonanie kroku. Warto pójść tym tropem i zamiast wysyłać zapytanie do API od razu zapisać wcześniej przygotowany plik 😉.
  • Dużym znaczeniem jest też pora, o której wykonujemy ćwiczenie - warto wziąć to pod uwagę, gdyż obciążenie regionów nie jest stałe i różni się w zależności od pory dnia, a to może wpływać na czas tworzenia zasobów, czy kopiowania plików.
  • Ostatnia rada to zapoznać się z możliwościami automatyzacji wykonywania zadań w przeglądarce np. wykorzystując Selenium with Python. Dobrym wprowadzeniem może być książka Automate the Boring Stuff with Python autorstwa Al Sweigarta. Książkę można przeczytać za darmo w wersji online.

Podsumowanie

Jest to większość wskazówek, które udało mi się przypomnieć po tak długim czasie. Nie opisywałem dokładniej każdej z nich, nie chcę pozbawiać Cię zabawy podczas przygotowań i zdobywania kolejnych doświadczeń. Mam nadzieję, że powyższe wskazówki pomogą nakierować przyszłych uczestników do uzyskania lepszego wyniku, a być może nawet i wygrać, czego Ci życzę 🙂.