Delivery 1.0 Help

Standardy

Dostęp do konsoli AWS dla zespołów DEV

Wprowadzenie

W obszarze Delivery istnieją projekty których działanie opiera się na wykorzystaniu usług AWS takich jak m.in Simple Storage Serevice, DynamoDb, Lambda. Do wydajnego rozwijania takich projektów konieczna jest możliwość wglądu przez developerów w stan wykorzystywanych w danym projekcie komponentów AWS oraz generowanych logów.

Ewolucja schematu bazy danych (Flyway)

Wraz z coraz szerszym zastosowaniem zwinnych metodyk oprogramowania, zapotrzebowanie na narzędzia automatyzujące zarządzanie zmianami w schemacie baz danych znacząco wzrosło. Technologie umożliwiające rozwój schematu bazy danych podczas pracy nad kodem aplikacji pozwoliły developerom znacząco zwiększyć efektywność pracy

W tym czasie narzędzia takie jak Flyway czy Liquidbase zyskiwały na popularności. Migracje schematu baz danych wprowadzają koncept wersjonowania. Migracja są zarządzane w sposób przyrostowy i odwracalny, znacząco ułatwiają pracę z bazami danych na kilku środowiskach na raz (local, tst, stg i prd). Pozwalają także developerom odtworzyć bazę danych od zera, co jest niesamowicie pomocne przy tworzeniu nowych środowisk. Dają nam także pewność, że schemat bazy danych i kod aplikacji są zsynchronizowane, więc błędy w stylu “relation xyz does not exist” są nam nie straszne.

[In progress] Akceptowane frameworki JVM

Wprowadzenie

1. Spring Boot

Domyślny framework dla standardowych aplikacji opartych o technologie JVM

[In progress] Checklista dla nowych projektów

Poniżej. przedstawiamy zwięzłą listę opisanych i wymaganych standardów dla nowo powstających projektów:

  1. Flyway [In progress] Ewolucja schematu bazy danych (Flyway)

  2. Sonar Statyczna analiza kodu (SonarQube)

  3. Frameworki [In progress] Akceptowane frameworki JVM

Serializacja daty i czasu w formacie JSON

Istnieje kilka sposobów na serializację dat i czasów w JSONach m. in:

- ISO-8601

- RFC-3339

- UNIX timestamp

- “Tablica” (np [2023,2,14,17,0,0,80000000] - domyślna strategia w niektórych frameworkach JVM)

Statyczna analiza kodu (SonarQube)

Statyczna analiza kodu to proces ułatwiający wykrywanie defektów kodu bez jego uruchamiania. Pozwala mierzyć poziom długu technologicznego oraz wpływa pozytywnie na powstawanie kodu:

  • zgodnego z dobrymi praktykami

  • wyższej jakości

  • z mniejszą ilością potencjalnych bugów

  • z mniejszą ilością potencjalnych luk bezpieczeństwa

  • z mniejszą ilością duplikatów

  • o większej wydajności

  • łatwiejszego w utrzymaniu

Jest także elementem wymaganym przez kontrahentów i weryfikowanym podczas audytów oraz umożliwia oszacowanie długu technologicznego.

Last modified: 30 May 2024