Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Вебмайстерність
- API
- Architektura API. Projektowanie, używanie i rozwijanie systemów opartych na API
Деталі електронної книги
Architektura API. Projektowanie, używanie i rozwijanie systemów opartych na API
James Gough, Daniel Bryant, Matthew Auburn
Trendy w tworzeniu oprogramowania zmierzają w kierunku architektury zorientowanej na usługi. Coraz więcej organizacji decyduje się na rozwiązania chmurowe lub oparte na mikrousługach. Te wzorce architekturalne wymagają API: umiejętności ich budowania i stosowania podczas integracji z systemami zewnętrznymi. Nie są to proste zagadnienia - zaprojektowanie i utworzenie platformy API jest prawdziwym wyzwaniem.
W tej pozycji znajdziesz dokładne omówienie tematów związanych z nadawaniem struktury i ewoluowaniem API.
Sam Newman, autor książki Budowanie mikrousług. Projektowanie drobnoziarnistych systemów
Ten przewodnik, który docenią programiści i architekci, zawiera wyczerpujące omówienie zagadnień projektowania, funkcjonowania i modyfikowania architektury API. Od strony praktycznej przedstawia strategie budowania i testowania API REST umożliwiającego połączenie oferowanej funkcjonalności na poziomie mikrousług. Opisuje stosowanie bram API i infrastruktury typu service mesh. Autorzy dokładnie przyglądają się kwestiom zapewnienia bezpieczeństwa systemów opartych na API, w tym uwierzytelnianiu, autoryzacji i szyfrowaniu. Sporo miejsca poświęcają również ewolucji istniejących systemów w kierunku API i różnych docelowych platform.
Najważniejsze zagadnienia:
- podstawy API i wzorce architekturalne platformy API
- wdrażanie i konfiguracja komponentów platformy API
- używanie bram API i infrastruktury typu service mesh
- bezpieczeństwo API i najczęstsze luki w zabezpieczeniach
- przekształcanie istniejących systemów w kierunku architektury bazującej na API
Doskonale napisana, zawiera wiele podpowiedzi, przykładów i praktycznych wskazówek.
Stefania Chaplin, GitLab & DevStefOps
Przedmowa
Wstęp
Wprowadzenie
CZĘŚĆ I. Opracowywanie, budowanie i testowanie API 33
- 1. Opracowywanie, budowanie i określanie API
- Przykład opracowywania API uczestnika
- Wprowadzenie do stylu REST
- Oparte na przykładzie wprowadzenie do technologii REST i HTTP
- Model dojrzałości Richardsona
- Wprowadzenie do API zdalnego wywoływania procedur
- Krótkie wprowadzenie do GraphQL
- Struktura i standardy API REST
- Kolekcje i stronicowanie
- Filtrowanie kolekcji
- Obsługa błędów
- Wskazówki dotyczące dokumentu typu ADR - wybór standardu API
- Określanie API REST za pomocą OpenAPI
- Praktyczne zastosowanie specyfikacji OpenAPI
- Generowanie kodu
- Weryfikacja OpenAPI
- Przykłady i imitacje
- Wykrywanie zmian
- Wersjonowanie API
- Wersjonowanie semantyczne
- Specyfikacja OpenAPI i wersjonowanie
- Implementacja RPC za pomocą gRPC
- Modelowanie zmian i wybór formatu API
- Usługi z wysokim poziomem ruchu sieciowego
- Ogromne ilości wymienianych danych
- Korzyści związane z wydajnością działania HTTP/2
- Stare formaty
- Wskazówki dotyczące dokumentu typu ADR - modelowanie wymiany danych
- Wiele specyfikacji
- Czy istnieje złoty środek?
- Wyzwania związane z połączeniem specyfikacji
- Podsumowanie
- 2. Testowanie API
- Użyty w tym rozdziale scenariusz systemu konferencyjnego
- Strategie testowania
- Kwadrant testów
- Piramida testów
- Wskazówki dotyczące dokumentu typu ADR - strategie testowania
- Testowanie kontraktu
- Dlaczego często preferowane jest testowanie kontraktu?
- Jak jest implementowany kontrakt?
- Wskazówki dotyczące dokumentu typu ADR - testowanie kontraktu
- Testowanie komponentu API
- Testowanie kontraktu kontra testowanie komponentu
- Przykład użycia testowania komponentu do weryfikacji sposobu działania
- Testowanie integracji API
- Używanie szkieletów serwerów - kiedy i dlaczego?
- Wskazówki dotyczące dokumentu typu ADR - testy integracji
- Konteneryzowanie komponentów testowych - biblioteka Testcontainers
- Przykład zastosowania biblioteki Testcontainers do weryfikacji integracji
- Testy typu E2E
- Automatyzacja weryfikacji E2E
- Typy testów E2E
- Wskazówki dotyczące dokumentu typu ADR - testowanie typu E2E
- Podsumowanie
CZĘŚĆ II. API zarządzania ruchem sieciowym
- 3. Bramy API - zarządzanie przychodzącym ruchem sieciowym
- Czy brama API to jedyne rozwiązanie?
- Wskazówki dotyczące dokumentu typu ADR - proxy, mechanizm równoważenia obciążenia lub brama API
- Przykład udostępnienia konsumentom usługi uczestnika
- Czym jest brama API?
- Jaką funkcjonalność może zaoferować brama API?
- Gdzie zostaje wdrożona brama API?
- Jak brama API integruje się z innymi technologiami w położeniu brzegowym?
- Dlaczego warto używać bramy API?
- Zmniejszenie poziomu powiązania przez użycie wzorca adaptera/fasady między frontendem a backendem
- Uproszczenie sposobu użycia przez agregację i tłumaczenie usług backendu
- Ochrona API przed nadużyciami dzięki wykorzystaniu mechanizmu wykrywania zagrożeń i ich łagodzeniu
- Zrozumienie, w jaki sposób może być używane API (monitorowanie)
- Zarządzanie API jako produktem poprzez zarządzanie cyklem życiowym API
- Zarabianie na API dzięki użyciu mechanizmów zarządzania kontem, rozliczeniami i płatnościami
- Nowoczesna historia bram API
- Od lat dziewięćdziesiątych ubiegłego wieku - sprzętowe mechanizmy równoważenia obciążenia
- Od lat dwutysięcznych - programowe mechanizmy równoważenia obciążenia
- Pierwsza dekada XXI wieku - kontrolery dostarczania aplikacji
- Druga dekada XXI wieku - pierwsza generacja bram API
- Rok 2015 - druga generacja bram API
- Taksonomia obecnych bram API
- Tradycyjne bramy korporacyjne
- Mikrousługi i mikrobramy
- Bramy infrastruktury typu service mesh
- Porównanie typów bram API
- Przykład ewolucji systemu konferencyjnego z użyciem bramy API
- Instalacja stosu Ambassador Edge Stack w Kubernetes
- Konfigurowanie mapowania ze ścieżek dostępu adresów URL do usług backendu
- Konfiguracja mapowania z użyciem routingu bazującego na hoście
- Wdrażanie bramy API - poznanie niepowodzeń i radzenie sobie z nimi
- Brama API jako pojedynczy punkt awarii
- Wykrywanie i usuwanie problemów
- Rozwiązywanie problemów i radzenie sobie z incydentami
- Łagodzenie ryzyka
- Najczęściej pojawiające się problemy podczas implementacji bramy API
- Pętla zwrotna bramy API
- Brama API jako korporacyjna magistrala usług
- Bramy API aż do końca
- Wybór bramy API
- Określenie wymagań
- Samodzielne opracowanie rozwiązania kontra zakup gotowego
- Wskazówki dotyczące dokumentu typu ADR - wybór bramy API
- Podsumowanie
- 4. Infrastruktura typu service mesh i zarządzanie ruchem sieciowym między usługami
- Czy infrastruktura typu service mesh to jedyne rozwiązanie?
- Wskazówki dotyczące dokumentu typu ADR - czy należy zastosować infrastrukturę typu service mesh?
- Przykład wyodrębnienia funkcjonalności sesji do nowej usługi
- Czym jest infrastruktura typu service mesh?
- Jaką funkcjonalność dostarcza infrastruktura typu service mesh?
- Gdzie jest wdrażana infrastruktura typu service mesh?
- Jak infrastruktura typu service mesh integruje się z innymi topologiami sieci?
- Dlaczego warto używać infrastruktury typu service mesh?
- Pełna kontrola nad routingiem usługi, niezawodnością i zarządzaniem ruchem sieciowym
- Niewidoczne monitorowanie
- Wymuszenie bezpieczeństwa, np. szyfrowanie transmisji, uwierzytelnianie i autoryzacja
- Obsługa komunikacji międzyfunkcyjnej w różnych językach programowania
- Oddzielenie przychodzącego ruchu sieciowego od zarządzania ruchem sieciowym między usługami
- Ewolucja infrastruktury typu service mesh
- Wczesna historia i motywy
- Wzorce implementacji
- Czy niewymagająca proxy infrastruktura typu service mesh jest przyszłością?
- Taksonomia infrastruktury typu service mesh
- Przykład użycia infrastruktury typu service mesh na potrzeby związane z routingiem, monitorowaniem i zapewnieniem bezpieczeństwa
- Routing za pomocą Istio
- Monitorowanie ruchu sieciowego za pomocą Linkerd
- Segmentacja sieci za pomocą narzędzia Consul
- Wdrażanie infrastruktury typu service mesh - zrozumienie awarii i zarządzanie nimi
- Infrastruktura typu service mesh jako pojedynczy punkt awarii
- Najczęściej pojawiające się trudności podczas implementacji infrastruktury typu service mesh
- Infrastruktura typu service mesh jako korporacyjna magistrala usług
- Infrastruktura typu service mesh jako brama
- Zbyt wiele warstw sieciowych
- Wybór infrastruktury typu service mesh
- Określenie wymagań
- Samodzielne opracowanie rozwiązania kontra zakup gotowego
- Lista rzeczy do sprawdzenia podczas wyboru infrastruktury typu service mesh
- Podsumowanie
Część III. Funkcjonowanie API i jego zabezpieczanie
- 5. Wdrażanie i wydawanie API
- Rozdzielenie wdrożenia i wydania
- Przykład włączania funkcjonalności
- Zarządzanie ruchem sieciowym
- Przykład modelowania wydań w systemie konferencyjnym
- Cykl życiowy API
- Mapowanie strategii wydań na cykl życiowy
- Wskazówki dotyczące dokumentu typu ADR - rozdzielenie operacji wdrożenia i wydania dzięki użyciu zarządzania ruchem sieciowym i techniki włączania funkcjonalności
- Strategie wydań
- Wydania kanarkowe
- Odbicie lustrzane ruchu sieciowego
- Niebieski-zielony
- Przykład przeprowadzania wdrożenia za pomocą narzędzia Argo Rollouts
- Monitorowanie pod kątem sukcesu i identyfikowanie niepowodzeń
- Trzy filary monitorowania
- Ważne wskaźniki dla API
- Odczytywanie sygnałów
- Decyzje związane z efektywnymi wydaniami oprogramowania
- Buforowanie odpowiedzi
- Propagowanie nagłówka na poziomie aplikacji
- Rejestrowanie danych, aby ułatwić debugowanie
- Rozważenie użycia sprawdzonej platformy
- Wskazówki dotyczące dokumentu typu ADR - sprawdzone platformy
- Podsumowanie
- Rozdzielenie wdrożenia i wydania
- 6. Bezpieczeństwo operacyjne - model zagrożeń dla API
- Przykład zastosowania metody OWASP w API uczestnika
- Ryzyko związane z niezabezpieczeniem zewnętrznego API
- Modelowanie zagrożeń
- Myśl jak atakujący
- Jak odbywa się modelowanie zagrożeń?
- Krok 1. - określ cele
- Krok 2. - zbierz właściwe informacje
- Krok 3. - rozłóż system na czynniki
- Krok 4. - określ zagrożenia
- Krok 5. - oceń ryzyko związane z zagrożeniami
- Krok 6. - przeprowadź weryfikację
- Podsumowanie
- 7. Uwierzytelnianie i autoryzacja API
- Uwierzytelnianie
- Uwierzytelnianie użytkownika końcowego z wykorzystaniem tokenów
- Uwierzytelnianie między systemami
- Dlaczego nie należy łączyć kluczy i użytkowników?
- OAuth2
- Rola serwera autoryzacji i interakcje API
- JSON Web Token (JWT)
- Terminologia i mechanizmy grantów OAuth2
- Wskazówki dotyczące dokumentu typu ADR - czy należy rozważyć użycie OAuth2?
- Grant kodu autoryzacji
- Token odświeżania
- Grant danych uwierzytelniających klienta
- Dodatkowe granty OAuth2
- Wskazówki dotyczące dokumentu typu ADR - wybór używanego grantu OAuth2
- Zasięg OAuth2
- Wymuszenie autoryzacji
- Wprowadzenie do OIDC
- SAML 2.0
- Podsumowanie
- Uwierzytelnianie
CZĘŚĆ IV. Architektura ewolucyjna z użyciem API
- 8. Przeprojektowanie aplikacji do architektury bazującej na API
- Dlaczego używać API do ewolucji systemu?
- Tworzenie użytecznych abstrakcji - większa spójność
- Definiowanie granic domeny - promowanie luźnego powiązania
- Przykład pokazujący określenie granic domeny uczestnika
- Opcje architekturalne stanu końcowego
- Monolit
- Architektura zorientowana na usługi
- Mikrousługi
- Funkcje
- Zarządzanie procesem ewolucyjnym
- Określenie celu
- Używanie funkcji przystosowania
- Podział systemu na moduły
- Utworzenie API jako "szwów" dla rozszerzenia
- Określanie zmiany punktów wzmocnienia w systemie
- Ciągłe wdrażanie i weryfikacja
- Wzorce architekturalne dla wykorzystujących API systemów ewoluujących
- Wzorzec "strangler fig"
- Wzorce fasady i adaptera
- Tort API
- Określanie potencjalnych możliwości i trudnych miejsc
- Problemy związane z uaktualnieniami i obsługą techniczną
- Problemy związane z wydajnością działania
- Przerwanie zależności - wysoce powiązane API
- Podsumowanie
- Dlaczego używać API do ewolucji systemu?
- 9. Używanie infrastruktury API do ewolucji w kierunku platform chmury
- Przykład przeniesienia usługi uczestnika do chmury
- Wybór strategii migracji do chmury
- Retain lub Revisit
- Rehost
- Replatform
- Repurchase
- Refactor/Rearchitect
- Retire
- Przykład zmiany platformy dla usługi uczestnika i przeniesienie jej do chmury
- Rola zarządzania API
- Ruch sieciowy typu północ - południe kontra ruch sieciowy typu wschód - zachód - zanikanie granic zarządzania ruchem sieciowym
- Rozpoczęcie od położenia brzegowego, a następnie przejście do wnętrza sieci
- Przekraczanie granic - routing między sieciami
- Od architektury bazującej na strefach do sieci o zerowym zaufaniu
- Architektura bazująca na strefach
- Nie ufaj nikomu i sprawdzaj
- Rola infrastruktury typu service mesh w architekturze bazującej na zerowym zaufaniu
- Podsumowanie
- 10. Podsumowanie
- Spojrzenie wstecz na naszą podróż
- API, prawo Conwaya i Twoja organizacja
- Poznajemy rodzaje decyzji
- Wybieganie w przyszłość
- Komunikacja asynchroniczna
- HTTP/3
- Platforma typu service mesh
- Co dalej? Jak nadal poznawać architekturę API?
- Nieustanne doskonalenie podstaw
- Śledzenie nowości w branży
- Radary, kwadranty i raporty dotyczące trendów
- Poznawanie najnowszych praktyk i przykładów
- Uczenie się przez działanie
- Uczenie się przez nauczanie
- Назва: Architektura API. Projektowanie, używanie i rozwijanie systemów opartych na API
- Автор: James Gough, Daniel Bryant, Matthew Auburn
- Оригінальна назва: Mastering API Architecture: Design, Operate, and Evolve API-Based Systems
- Переклад: Robert Górczyński
- ISBN: 978-83-289-0721-8, 9788328907218
- Дата видання: 2024-02-06
- Формат: Eлектронна книга
- Ідентифікатор видання: arcapi
- Видавець: Helion