✈️ Pewnego dnia na lotnisku w San Francisco doszło do incydentu. Pilot przygotowujący się do startu, zauważył na pasie startowym... samochód. Nowy pracownik lotniska, pomylił drogę kołowania z wyjazdem. Na szczęście pilot zachował czujność.
To pokazuje, jak ważna jest świadomość sytuacyjna. W moim projekcie kontrola ruchu samolotów polegała wyłącznie na analizie logów. Setki linijek z parametrami lecące przez ekran jak Speedy Gonzalez. Na papierze wygląda ok, ale w rzeczywistości może skrywać błedy.
Co zatem zrobił Jakub? Zdecydował nauczyć się JavyFX (nauczyć to moze zbyt duże słowo) i zimplementować prostą animację 3D, aby lepiej kontrolować ruch lotniczy.
Efekt? Prawda ujrzała światło dzienne 🤦♂️
💥 Kolizje: owszem, system je wykrywa... ale co z tego, skoro samoloty po zderzeniu nadal leciały, "jeden w drugim", jak gdyby nigdy nic. Logi mówiły: „kolizja wykryta, samolot zniszczony”. Animacja: „spokojnie, lecim dalej!
💥 Lądowania: Tu było jeszcze lepiej. Samoloty lądowały... ale nie na pasie, tylko 12 metrów pod nim. Logi: „sukces!”. Animacja: "podziemne lądowisko"
💥 Ruch: nie wyglądał zbyt realistycznie, skoro samolot nagle robił zwrot o 90stopni, jak Snake w pewnym telefonie cegle...
Zyskałem pełen obraz i wyłapałem błędy, które wcześniej były ukryte. Animacją JESZCZE się nie pochwalę, bo jest do dopracownia. Lecim dalej! 😉
Mój tygodniowy postęp
🚀 Zaimplementowałem podstawową aninację do 🔗 LOTNISKO
🚀 Usprawiłem system unikania kolizji, tworząc alternatywną ścieżkę lotu dla fazy czekania na wolny pas do lądowania
🚀 Zrobiłem małą refaktoryzację aplikacji, aby poprawić czytelność i i stale podąrzać w kierunku zasady pojedyńczej odpowiedzialności
Kolejny tydzień (plan)
🚀 Wrócić do wiedzy o bazach danych i zacząć implementację PostgreSQL w aplikacji