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+)

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.

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.

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.

wynik końcowy

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: