przygotuj środowisko programistyczne

Najpierw skonfiguruj środowisko programistyczne. Wciąż pamiętam, kiedy rozpoczynam swoją podróż rozwoju, najbardziej bolesnym okresem było skonfigurowanie środowiska programistycznego, specjalnego jak ten rodzaj projektu (więcej niż 3 systemy), musimy pobrać różne usługi (jar, binary, itp.) w celu uruchomienia go lokalnie, jednak dzięki technologii kontenera, za pomocą prostego docker-compose.plik yml, możemy uruchomić wszystkie kluczowe aplikacje / komponenty, których potrzebowaliśmy.

widzisz, jakie to proste?

Programowanie / kodowanie

zacznijmy od zabawy, Go to mój ostatni Premierowy język programowania, ale dlaczego wybrałem rozwój potoku danych, ze względu na jego prostotę, wydajność i bezpieczeństwo typu. Tutaj nie zamierzam wyjaśniać korzyści z Go, jeśli jesteś zainteresowany, sprawdź Golang.org.

jak zwykle, jeśli sprawdzisz mój poprzedni post

Jak zbudować MachineBox.io API ze 100% zasięgiem testów jednostkowych za pomocą Go

dowiesz się, użyję tej samej struktury aplikacji.

1. Zbuduj połączenie, tworząc strukturę Env

2. Korzystanie z interfejsów

możesz być zaznajomiony z korzystaniem z interfejsów z pracy przez przejście lub z oficjalnej dokumentacji. Jednak piękno korzystania z interfejsów w Go polega na tym, że można zdefiniować zestaw metod, które Typ (często struct) musi zdefiniować, aby można go było uznać za implementację tego interfejsu.

gdy dany typ implementuje wszystkie metody tego interfejsu, kompilator Go automatycznie wie, że może być używany jako ten typ.

3. Logowanie

Logowanie jest trudne!

jeśli pracowałeś już jako funkcja względna wsparcia produkcji aplikacji. Docenisz programistę, który rejestruje informacje o tym, jak aplikacja działa, kiedy i jak ta aplikacja się nie powiodła, który plik, która funkcja. (A Plus+)

przykład logowania

używam Uber Zap libs. I również owijam w pomocnika, który może być używany w różnych projektach na różnym poziomie. Dla mnie wolę powrót dolnego błędu dźwigni do głównej realizacji.

wdrożenie logowania

4. Test jednostkowy

pisanie testów jednostkowych może upewnić się, że nasz kod działa zgodnie z oczekiwaniami, jest znacznie mniej „kosztowne” niż Jeśli błąd lub regresja sprawiają, że aż do wydania.

jeśli nadal pamiętasz implementację interfejsu # 1, A inną zaletą implementacji interfejsu jest pomoc w łatwym pisaniu testowalnego kodu.

przykład jeden z testów jednostkowych

zasięg testu jednostkowego jest interesującym tematem, używam wystarczająco szalonego, aby prześledzić 100% zasięg, jednak uczę się lekcji, najważniejsze o teście jednostkowym jest:

jak pewny jesteś swojego kodu i upewnij się, że automatyzacja CI / CD łapie jak najwięcej błędów regresji poziomu kodowania.

go test-cover

wynik końcowy

efekt końcowy-gif

Faza wsparcia

ten rurociąg jest budowany tylko w weekend, powiedzmy, 10 godzin całkowitego projektowania, rozwoju/kodowania. Ze względu na zasięg testów jednostkowych, rejestrowanie i test integracji lokalnej. Jestem całkiem pewien, że jest gotowy do produkcji, jednak …

Faza poprawy

jedyną rzeczą, której tu brakuje, jest implementacja bezpieczeństwa, poziom środowiska i poziom kodu. jest to najważniejsza część, jeśli chcesz wysłać do produkcji.

ten artykuł skupia się głównie na projektowaniu i budowaniu. Następny post będzie bardziej koncentrować się na wsparciu i doskonaleniu. 🙂

Cz. 2:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.