📚 Słowniczek

Pojęcia po ludzku

Krótkie, przystępne definicje terminów, które pojawiają się we wpisach. Bez żargonu tam, gdzie żargon nie jest konieczny.

Systemy

API

Umówiony sposób, w jaki dwa programy rozmawiają ze sobą. Jak kelner - ty mówisz, czego chcesz, a on przynosi odpowiedź z kuchni. Nie musisz wiedzieć, jak gotuje szef.

Application Programming Interface - zestaw reguł i kontraktów określających, jak jeden kawałek oprogramowania może porozmawiać z drugim. W praktyce najczęściej chodzi o HTTP API: klient wysyła żądanie, serwer zwraca odpowiedź (często w JSON).

Programowanie

Asynchroniczność

Zamiast czekać, aż coś się skończy (np. odpowiedź z serwera), program idzie dalej i wraca do tego zadania, gdy wynik będzie gotowy.

Model pracy, w którym długie operacje (I/O, sieć, dysk) nie blokują wątku. Zamiast stać w miejscu, program kontynuuje inne zadania i reaguje na wynik, gdy się pojawi - zwykle przez callbacks, Promise’y/Future’y lub async/await.

Infrastruktura

Konteneryzacja

Pakowanie aplikacji z całym jej środowiskiem (biblioteki, konfiguracja) do jednego przenośnego pudełka, które działa identycznie wszędzie.

Technika izolacji procesów na poziomie systemu operacyjnego, w której aplikacja otrzymuje własną przestrzeń z bibliotekami i zależnościami, ale dzieli z hostem jądro. Efekt: „u mnie działa” zamienia się w „działa wszędzie”.