API

9
E-book

Nowoczesne API. Ewoluujące aplikacje sieciowe w technologii ASP.NET

Howard Dierking, Pedro Felix, Darrel Miller, Pablo Cibraro, ...

Większość z najpopularniejszych dużych witryn internetowych zbudowano z użyciem technologii Web API. Może ona działać na podstawie protokołu HTTP — umożliwia wówczas łatwą pracę nad nowymi funkcjonalnościami aplikacji, kwestiami bezpieczeństwa, skalowalnością rozwiązań, obsługą nowych urządzeń lub aplikacji klienckich. W takim modelu aplikacji kluczowymi komponentami są typy danych i hipermedia. Wielu twórców API nie wykorzystuje jednak możliwości protokołu HTTP i wdraża API silnie powiązane z aplikacją klienta, co w zasadzie zamyka drogę do bezproblemowego ewoluowania systemu. Na dłuższą metę tego rodzaju rozwiązania są sprzeczne z podstawami internetu. Niniejsza książka to wartościowy podręcznik dla projektantów, którzy chcą tworzyć API adaptujące się do zachodzących zmian. Autorzy zaprezentowali tu wszystkie narzędzia niezbędne do tworzenia ewoluujących systemów, a także przedstawili informacje dotyczące sieci i programowania Web API. Dokładnie omówili proces tworzenia nowego API za pomocą platformy ASP.NET Web API, z uwzględnieniem takich zagadnień, jak implementacja hipermediów z użyciem ASP.NET Web API oraz negocjowanie treści. Ten bardzo praktyczny podręcznik, pisany przez inżynierów oprogramowania, stanowi inspirację do projektowania najlepszych rozwiązań dla ewoluujących aplikacji internetowych. W tej książce znajdziesz: zwięzłe podstawy budowy sieci, protokołu HTTP, programowania API oraz platformy ASP.NET Web API omówienie nowego modelu programowania HTTP na platformie .NET objaśnienia dotyczące różnych modeli hostingu, w tym samohostowania, IIS i modelu OWIN przedstawienie zasad działania routingu Web API i kontrolerów praktyczną prezentację zagadnień bezpieczeństwa aplikacji opis dobrych praktyk, takich jak testy akceptacji, programowanie TDD, techniki odwracania kontroli i wiele innych Odkryj możliwości HTTP na nowo! Glenn Block — jeden z twórców ASP.NET, odpowiedzialny za przygotowanie jednej z poprzednich wersji ASP.NET Web API. Pablo Cibraro — od czternastu lat projektuje i implementuje ogromne systemy rozproszone w centrach Microsoft Technologies. Pedro Felix — naukowiec i inżynier oprogramowania, specjalizuje się w problematyce infrastruktury środowiska uruchomieniowego, w zarządzaniu tożsamością i w kwestiach związanych z kontrolą dostępu do danych. Howard Dierking — menedżer programu w zespole WCF Web API w firmie Microsoft, obecnie kieruje pracami nad menedżerem pakietów NuGet i pracuje nad projektem Katana. Darrel Miller — współzałożyciel Tavis Software, specjalizuje się w stosowaniu stylu architekturalnego REST w aplikacjach biznesowych.

10
E-book

Practical gRPC. Build highly-connected systems with a framework that can run on any platform

Joshua B. Humphries, David Konsumer, David Muto, Robert Ross, ...

While building systems that contain several components, you need a framework that is fast and has minimal network overhead. gRPC is one such open-source tool that is quickly becoming popular and gaining popularity with programmers.Practical gRPC introduces you to gRPC and explains how it compares and contrasts with similar technologies. You’ll be introduced to key technologies such as Protocol Buffers, and work your way up from basic gRPC usage, all the way through to its more advanced capabilities. You’ll learn the best practices for defining and evolving your gRPC APIs, and discover how different tools can be leveraged to get the most out of gRPC and even extend it.By the end of this book, you'll have all the information you need to get started building systems with gRPC.

11
E-book

Programowalność i automatyzacja sieci. Poradnik inżyniera sieci następnej generacji

Jason Edelman, Scott S. Lowe, Matt Oswalt

Programowalna i zautomatyzowana sieć upraszcza pracę jej administratora. Rozwój technologii radykalnie komplikuje takie zadania jak zarządzanie i operowanie sprzętem sieciowym, topologiami sieci i połączeniami sieciowymi. Trzeba tu mieć na uwadze systemy operacyjne, nowe metodologie oraz narzędzia. W takich warunkach zarządzanie większą czy nieco bardziej złożoną siecią wyłącznie za pomocą działań manualnych jest obarczone sporym ryzykiem. Profesjonalny inżynier sieciowy musi dziś dobrze orientować się w świecie programowalności i automatyzacji sieci. Powinien poznawać nowe protokoły, technologie, modele dostarczania i pojawiające się w związku z nimi potrzeby biznesowe. W tej książce znajdziesz solidne podstawy pozwalające zapewnić sieci programowalność i zautomatyzowanie jej pracy. Dowiesz się, jakie narzędzia i umiejętności będą potrzebne do dokonania tego kluczowego przekształcenia w sieć nowej generacji. W bardzo przystępny i praktyczny sposób wyjaśniono, jak korzystać z takich technologii jak Linux, Python, JSON i XML, aby programowo zautomatyzować pracę systemu. Opisano koncept modeli danych, podstawy języka YANG oraz najważniejsze technologie związane z API. Sporo miejsca poświęcono narzędziom open source służącym do automatyzacji pracy sieci. Znalazły się tu również informacje o interfejsach macvlan, sieciach wykorzystujących maszyny wirtualne, sieciowych przestrzeniach nazw oraz o bibliotece Pythona NAPALM i jej integracji z narzędziami: Ansible, Salt i StackStorm. W książce między innymi: powstanie sieci sterowanych programowo technologie automatyzacji sieci Linux i Python a technologie sieciowe praca z szablonami konfiguracji sieciowej kontrola źródła w pracy z niektórymi serwisami online prosty przepływ pracy w automatyzacji sieci Sieć zautomatyzowana i programowalna - najlepszy przyjaciel admina!

12
E-book

React Native. Tworzenie aplikacji mobilnych w języku JavaScript. Wydanie II

Bonnie Eisenman

React Native to framework JavaScript służący do budowania interfejsów użytkownika. Został utworzony i jest udostępniany przez Facebooka na licencji open source i od samego początku zyskał uznanie programistów. React Native pozwala bowiem na proste tworzenie w pełni funkcjonalnych aplikacji mobilnych natywnie renderowanych na iOS i Androida. Umożliwia też bezproblemowe korzystanie z zasobów platform mobilnych, takich jak kamera, lokalizacja czy pamięć lokalna. To doskonała książka dla każdego, kto już wstępnie zapoznał się z biblioteką React i chce pisać natywne aplikacje na iOS i Androida. Po przypomnieniu zasad działania React Native i przedstawieniu szeregu wskazówek dotyczących konfiguracji środowiska opisano tu kolejne etapy tworzenia w pełni funkcjonalnej aplikacji mobilnej. W książce znalazło się mnóstwo przykładowych bloków kodu i instrukcji krok po kroku, dzięki czemu szybko można się nauczyć tworzenia i nadawania stylów interfejsom graficznym, korzystania z komponentów mobilnych, a także debugowania i wdrażania aplikacji mobilnych. Omówiono również sposoby rozszerzania możliwości React Native: używanie zewnętrznych bibliotek, a nawet tworzenie własnych bibliotek w językach Java i Objective-C. W tej książce omówiono: Tworzenie interfejsów dla komponentów natywnych w React Native Opracowywanie własnych aplikacji i komponentów React Native Interfejsy API oraz moduły tworzone przez społeczność użytkowników React Komponenty przeznaczone na daną platformę w aplikacjach wieloplatformowych Zarządzanie stanami w dużej aplikacji za pomocą biblioteki Redux React Native: oto narzędzie do budowy kapitalnych aplikacji mobilnych! Bonnie Eisenman - inżynier oprogramowania. Obecnie pracuje dla Twittera, a wcześniej zdobywała doświadczenie w Codecademy, Fog Creek Software i Google. Zabiera głos na konferencjach, wygłaszając referaty o różnej tematyce: począwszy od ReactJS, poprzez programowanie instrumentów muzycznych, a na Arduino skończywszy.

13
E-book

REST. Najlepsze praktyki i wzorce w języku Java

Bhakti Mehta

Usprawnij wymianę danych z usługą REST! Postępująca cyfryzacja współczesnego świata wymaga coraz większej integracji przeróżnych systemów informatycznych. Nierzadko są to systemy znajdujące się w odległych lokalizacjach, napisane z wykorzystaniem różnych języków programowania i technologii. Jak zapewnić możliwość wymiany informacji między nimi? Usługi typu REST to jeden z najwygodniejszych sposobów! Co to jest REST? Jak przygotować usługę tego typu? Jak ustrzec się przed błędami? Na te i wiele innych pytań odpowiada ta książka. Znajdziesz w niej najlepsze praktyki tworzenia usług REST z wykorzystaniem języka Java. Sięgnij po nią i dowiedz się, jak projektować zasoby i zapewniać im bezpieczeństwo oraz w jaki sposób przygotowywać usługi REST dla różnych wersji językowych. Odkryj, jak testować udostępnione zasoby i zagwarantować ich najwyższą wydajność oraz jaka przyszłość czeka usługi tego typu. Sprawdź też, jak wygląda API takich usług, jak GitHub, Twitter i Facebook (API Graph). Ta książka jest doskonałą lekturą dla wszystkich programistów chcących bezproblemowo tworzyć wydajne usługi typu REST. Tematy opisane w książce: Tworzenie usług typu RESTful przy użyciu API JAX-RS 2.0 Zaawansowane techniki wykorzystania protokołu OAuth i zabezpieczeń w usługach typu RESTful Metody buforowania, weryfikacji danych, ograniczania liczby żądań, asynchronicznego wykonywania działań oraz najlepsze praktyki pozwalające zwiększyć interaktywność aplikacji Najlepsze metody stronicowania, dokumentowania i testowania usług typu RESTful HATEOAS i architektura mikrousługowa w budowanie aplikacji wykorzystujących usługi typu RESTful Przyszłość technologii REST, nowe standardy i sposób ich wykorzystania przez różne przedsiębiorstwa Porównanie technologii WebHook, WebSocket oraz Server-Sent Events umożliwiających dostarczanie informacji klientom na bieżąco Wydajne usługi REST w Twoim zasięgu!

14
E-book

Tao mikrousług. Projektowanie i wdrażanie

Richard Rodger

Systemy oparte na mikrousługach różnią się od aplikacji monolitycznych. Są bardziej skalowalne, efektywniejsze, a także łatwiejsze w implementacji, rozwijaniu i utrzymaniu. Architektura mikrousług pozwala na doskonalenie danego elementu bez zastanawiania się nad działaniem całości aplikacji. Tego rodzaju systemy opierają się na nowoczesnych wzorcach, takich jak asynchroniczna komunikacja za pomocą komunikatów, usługi API i hermetyzacja. Po odpowiedniej optymalizacji dobrze działają zarówno w chmurach, jak i w scentralizowanych środowiskach opartych na kontenerach. Niniejsza książka jest przeznaczona dla programistów, menedżerów projektów i architektów oprogramowania. Wyjaśniono tu niezbędne pojęcia oraz różnice dzielące systemy oparte na mikrousługach i aplikacje monolityczne, a także zasady ich projektowania. Wyczerpująco omówiono techniki rozwiązywania problemów z mikrousługami oraz sposoby kontrolowania ryzyka wystąpienia awarii. Pokazano, w jaki sposób mikrousługi mogą współpracować z trwałymi danymi i jak wygląda ich współpraca z bazami danych. Sporo miejsca poświęcono technikom oceny kondycji działających systemów mikrousługowych, a także studiom przypadków oraz najlepszym praktykom pracy zespołu, planowania zmian i wyboru narzędzi. Najważniejsze zagadnienia: mikrousługi i ich architektura mikrousługi a wymagania biznesowe i korporacyjne komunikaty i ich wzorce wdrażanie systemów o dużej skali wady systemów opartych na mikrousługach Pracuj mądrzej i bardziej humanitarnie. Wdrażaj mikrousługi!

15
E-book

Testy penetracyjne nowoczesnych serwisów. Kompendium inżynierów bezpieczeństwa

Prakhar Prasad

Testy penetracyjne nowoczesnych serwisów. Kompendium inżynierów bezpieczeństwa Sieć stała się niebezpiecznym miejscem. Między grasującymi złoczyńcami a inżynierami bezpieczeństwa aplikacji trwa ciągły wyścig zbrojeń. Mimo to oczywiste jest, że uzyskanie stuprocentowego bezpieczeństwa jest niemożliwe. Jedną z technik zabezpieczania aplikacji są testy penetracyjne, które polegają na atakowaniu systemu różnymi metodami, aby odnaleźć jego słabe punkty i pokazać, jak można się do niego włamać. Niniejsza książka stanowi wyczerpujące źródło wiedzy dla testerów przeprowadzających analizę aplikacji internetowej. Opisano tu zarówno najnowsze, jak i klasyczne techniki łamania zabezpieczeń — bardzo często starsze metody rozwijają się w różnych kierunkach i nie należy o nich zapominać. Między innymi przedstawiono informacje o atakach XML, w tym XXE, oraz metody wykorzystywania słabych stron OAuth 2.0. Omówiono również XSS, CSRF, Metasploit i wstrzykiwanie SQL. Nie zabrakło również opisu rzeczywistych przypadków testowania aplikacji. Nowe lub mniej popularne techniki ataku na strony WWW takie jak wstrzykiwanie obiektów PHP lub wykorzystanie danych XML. Sposób pracy z narzędziami do przeprowadzania testów bezpieczeństwa, aby w ten sposób zautomatyzować żmudne zadania. Różne rodzaje nagłówków HTTP wspomagających zapewnienie wysokiego poziomu bezpieczeństwa aplikacji. Wykorzystywanie i wykrywanie różnego rodzaju podatności XSS. Ochronę aplikacji dzięki technikom filtracji. Stare techniki ataku takie jak XSS, CSRF i wstrzykiwanie SQL, ale w nowej osłonie. Techniki ataku takie jak XXE i DoS wykorzystujące pliki XML. Sposoby testowania API typu REST w celu znalezienia różnego rodzaju podatności i wycieków danych. Testy penetracyjne — klucz do bezpieczeństwa Twojej aplikacji! Prakhar Prasad mieszka w Indiach. Jest ekspertem w dziedzinie bezpieczeństwa aplikacji specjalizującym się w testach penetracyjnych. W 2014 roku został sklasyfikowany na dziesiątej pozycji w światowym rankingu HackerOne. Zdobył kilka nagród za znalezienie luk bezpieczeństwa w takich serwisach, jak Google, Facebook, Twitter, PayPal czy Slack. Posiada certyfikaty z OSCP. Przeprowadza testy bezpieczeństwa dla różnych organizacji rządowych, pozarządowych i edukacyjnych.