Wyniki wyszukiwania
Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości
Gayathri Mohan
Wysoka jakość aplikacji nie bierze się znikąd! Aby ją zapewnić, testowanie musi być integralnym aspektem inżynierii oprogramowania, wplecionym w każdy etap cyklu jego dostarczania. Błędy czy niedoskonałości w kodzie, pominięte z powodu niedokładnego testowania, mogą się okazać niezwykle kosztowne, jeśli ujawnią się w środowisku produkcyjnym. Oznacza to, że wdrożenie mądrej strategii testowania jest warunkiem sukcesu w branży dostarczania oprogramowania. Ten praktyczny przewodnik zawiera szeroki przegląd strategii, wzorców i form testowania oprogramowania, ułatwiających dobór ścieżek i podejść do konkretnych projektów w zależności od zakresu, budżetu i ram czasowych. Książka uczy przydatnych umiejętności w zakresie przeprowadzania testów wydajności, bezpieczeństwa i dostępności, w tym testów eksploracyjnych, automatyzacji testów, testów wielofunkcyjnych, testowania danych, testowania mobilnego i wielu innych. Zaprezentowano tu także łączenie testów w potokach ciągłej integracji, co pozwala na szybkie otrzymywanie informacji zwrotnych. W ten sposób łatwiejsze staje się kontrolowanie trudnych przepływów pracy programistycznej i uzyskiwanie wysokiej jakości aplikacji. Najciekawsze zagadnienia: ponad 40 narzędzi do testowania kodu zasady dobierania testów pod kątem jakości oprogramowania strategie i koncepcje dotyczące testowania praktyczne korzystanie z poszczególnych narzędzi do testowania najlepsze praktyki przeprowadzania testów Po pierwsze, po drugie i po trzecie: testuj swój kod!
Dave Westerveld
Znaczenie interfejsów API systematycznie rośnie. Głównie za sprawą tego, że ułatwiają komunikację - zarówno zewnętrzną, jak i tę, która zapewnia spójne działanie elementów nowoczesnych systemów. I podobnie jak dobre porozumienie jest podstawą relacji międzyludzkich, tak samo sprawna komunikacja między usługami ma kluczowe znaczenie dla prawidłowego funkcjonowania aplikacji. Z tego powodu od jakości API zależy jakość systemu oprogramowania jako całości. Warto zatem dobrze poznać Postmana. Dzięki tej praktycznej książce poznasz pełnię możliwości Postmana. Znajdziesz tu przystępnie wyjaśnione koncepcje, a także zestaw rzeczywistych przykładów, co ułatwi Ci korzystanie z tego narzędzia do tworzenia doskonale zaprojektowanych, udokumentowanych i przetestowanych interfejsów programowania aplikacji. Za pomocą praktycznych projektów nauczysz się dodawać automatyzację testów do istniejącego API. Poznasz również nowe funkcjonalności Postmana, stanowiące dużą pomoc w unikaniu błędów. W drugim, w pełni zaktualizowanym wydaniu znajdziesz nowe rozdziały dotyczące testowania przepływu pracy, tworzenia i używania serwerów imitacji, testowania bezpieczeństwa API, jak również testowania wydajności. W książce: użycie Postmana do poprawy jakości interfejsu API Postman i testowanie sterowane danymi serwery mock w Postmanie i testowanie kontraktowe zasady testowania bezpieczeństwa funkcjonalne i niefunkcjonalne podejście do testowania API praca ze standardami przemysłowymi, na przykład przy użyciu OpenAI i imitacji API? Lepiej przetestować dziś niż debugować jutro!
Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku
Erich Gamma, Richard Helm, Ralph Johnson, John...
Naucz się wykorzystywać wzorce projektowe i ułatw sobie pracę! Jak wykorzystać projekty, które już wcześniej okazały się dobre? Jak stworzyć elastyczny projekt obiektowy? Jak sprawnie rozwiązywać typowe problemy projektowe? Projektowanie oprogramowania obiektowego nie jest łatwe, a przy założeniu, że powinno ono nadawać się do wielokrotnego użytku, staje się naprawdę skomplikowane. Aby stworzyć dobry projekt, najlepiej skorzystać ze sprawdzonych i efektywnych rozwiązań, które wcześniej były już stosowane. W tej książce znajdziesz właśnie najlepsze doświadczenia z obszaru programowania obiektowego, zapisane w formie wzorców projektowych gotowych do natychmiastowego użycia! W książce „Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku” opisano, czym są wzorce projektowe, a także w jaki sposób pomagają one projektować oprogramowanie obiektowe. Podręcznik zawiera studia przypadków, pozwalające poznać metody stosowania wzorców w praktyce. Zamieszczono tu również katalog wzorców projektowych, podzielony na trzy kategorie: wzorce konstrukcyjne, strukturalne i operacyjne. Dzięki temu przewodnikowi nauczysz się skutecznie korzystać z wzorców projektowych, ulepszać dokumentację i usprawniać konserwację istniejących systemów. Krótko mówiąc, poznasz najlepsze sposoby sprawnego opracowywania niezawodnego projektu. Wzorce projektowe w architekturze MVC Katalog wzorców projektowych Projektowanie edytora dokumentów Wzorce konstrukcyjne, strukturalne i operacyjne Dziedziczenie klas i interfejsów Określanie implementacji obiektów Obsługa wielu standardów wyglądu i działania Zastosowanie mechanizmów powtórnego wykorzystania rozwiązania Wykorzystaj zestaw konkretnych narzędzi do programowania obiektowego!
Imran Ahmad
Wiedza o algorytmach jest niezbędna przy rozwiązywaniu problemów programistycznych i prowadzeniu złożonych obliczeń. Każdy programista powinien dobrze znać algorytmy, musi też umieć je zaprojektować, modyfikować i stosować. Niezależnie od tego, czy zajmujesz się uczeniem maszynowym, kwestiami bezpieczeństwa, czy inżynierią danych, rzetelne zrozumienie algorytmów jest Ci bardzo potrzebne. Dzięki tej książce nauczysz się stosować algorytmy w praktycznych sytuacjach i zrozumiesz mechanizmy ich działania. Liczne przykłady pozwolą Ci się zapoznać z kilkoma sposobami ich projektowania i implementacji. Następnie poznasz algorytm określania pozycji stron w wynikach wyszukiwarek internetowych, związane z nimi grafy i algorytmy uczenia maszynowego, a także logikę. Zaznajomisz się ponadto z nowoczesnymi modelami sekwencyjnymi i ich wariantami, jak również algorytmami, metodykami i architekturami implementacji dużych modeli językowych, takich jak ChatGPT. W ostatniej części tego przewodnika znajdziesz opis technik przetwarzania równoległego, przydatnego w zadaniach wymagających dużej mocy obliczeniowej. W książce między innymi: projektowanie algorytmów przeznaczonych do złożonych zadań sieci neuronowe i techniki uczenia głębokiego struktury danych i algorytmy dostępne w bibliotekach Pythona algorytm grafowy służący do wykrywania oszustw za pomocą analizy sieciowej najnowocześniejsze algorytmy przetwarzania języka naturalnego tworzenie systemu rekomendacji filmów sekwencyjne modele uczenia maszynowego i nowoczesne modele LLM Algorytmy: klucz do sukcesu w programowaniu!
Algorytmy, struktury danych i techniki programowania. Wydanie VI
Piotr Wróblewski
Algorytmy i struktury danych - szybko, łatwo, skutecznie! Poznaj najważniejsze algorytmy i techniki programistyczne Naucz się skutecznie wykorzystywać typy i struktury danych Dowiedz się, jak w praktyce zastosować zdobytą wiedzę Algorytmika to dziedzina, która w ciągu ostatnich kilkudziesięciu lat dostarczyła wielu efektywnych narzędzi wspomagających rozwiązywanie różnorodnych zagadnień za pomocą komputera. Dla niektórych stanowi swego rodzaju książkę kucharską, do której sięgają jedynie po wybrane przepisy, a dla innych - pole do rozwinięcia umiejętności skutecznego rozwiązywania problemów i szkołę niestandardowego myślenia. Niezależnie od podejścia jest to dziedzina, z którą wypada się zapoznać, jeśli ma się ambicję zostać zawodowym programistą lub po prostu być osobą nowoczesną i wszechstronnie wykształconą. Ten przewodnik prezentuje szerokie spektrum zagadnień algorytmicznych, najważniejsze informacje na temat struktur danych, technik rekurencyjnych i złożonych metod algorytmicznych. Teoria jest tu poparta przykładowymi programami napisanymi w języku C++, łatwymi do analizy i skompilowania z wykorzystaniem standardowych narzędzi. Autor nie poprzestaje na suchym kodzie, lecz stara się przedstawić praktyczne zastosowanie opisywanych rozwiązań. Podręcznik przyda się zarówno osobom niemającym solidnych podstaw teoretycznych, jak i specjalistom, którzy zawodowo zajmują się programowaniem. Nowe wydanie zostało gruntownie odświeżone i poprawione, a listingi dostosowane do wymagań najnowszych kompilatorów. Książka zawiera opis zasad kompilacji dla środowiska Visual Studio 2017 i kilku wybranych środowisk używających GNU C++ (Dev-C++ i Cygwin). Historia algorytmiki Mechanizm rekurencji Systemy liczbowe i kodowanie Typy i struktury danych Analiza złożoności algorytmów Derekursywacja algorytmów Optymalizacja algorytmów Algorytmy sortowania i wyszukiwania Elementy algorytmiki grafów Sztuczna inteligencja Szyfrowanie i kompresja danych Biblioteka STL Jedyny podręcznik do algorytmiki, którego będziesz potrzebować!
Architektura aplikacji w Pythonie. TDD, DDD i rozwój mikrousług reaktywnych
Harry Percival, Bob Gregory
Architektura aplikacji w Pythonie. TDD, DDD i rozwój mikrousług reaktywnych Python zyskuje coraz większą popularność i jest wykorzystywany do tworzenia bardzo różnych aplikacji, jednak projektowanie dużych, niezawodnych systemów w tym języku bywa wyzwaniem. Rozwijanie złożonych systemów o wysokiej jakości wymaga zastosowania odpowiedniej architektury. Trudno w Pythonie stosować takie wysokopoziomowe wzorce projektowe jak architektura sześciokątna, architektura oparta na zdarzeniach czy wzorce zalecane dla projektowania dziedzinowego (DDD). Sytuacji nie poprawia również to, że klasyczna literatura dotycząca metod zarządzania złożonością aplikacji zawiera przykłady kodu napisanego w Javie lub C#. Programiści Pythona często więc uznają takie książki za mało przydatne w swojej pracy. Ten praktyczny przewodnik przybliży projektantom pracującym w Pythonie sprawdzone wzorce architektury, które ułatwiają zapanowanie nad złożonością aplikacji i pozwalają najlepiej wykorzystać zestawy testów. Prezentację poszczególnych wzorców architektury oparto na przykładowej, stopniowo rozbudowywanej aplikacji. Podejście to pozwoliło na pokazanie zalet metodyki TDD. Z kolei w rozdziałach poświęconych modelowaniu dziedzinowemu zwrócono uwagę na unikanie jakichkolwiek zależności zewnętrznych przy równoczesnym zapewnieniu integralności danych. Wśród ciekawszych koncepcji warto wskazać wykorzystywanie zdarzeń w roli wzorca integracji usług w architekturze mikrousługowej. Niejako przy okazji zaprezentowano praktyczne strony stosowania kilku frameworków i technologii Pythona, między innymi Flask, SQLAlchemy, pytest, Docker i Redis. W tej książce między innymi: modelowanie dziedzinowe i stosowanie wzorców DDD jednostki, obiekty wartości i agregaty w architekturze domenowej tworzenie modeli bez zbędnych zależności zdarzenia, polecenia i szyna wiadomości wzorce architektury zdarzeniowej i mikrousług reaktywnych Architektura nowoczesnych aplikacji w Pythonie: rozwiązania dla poważnych systemów!
Christopher Cowell, Nicholas Lotz, Chris Timberlake
Obecnie zasady i wzorce DevOps pozwalają na ograniczenie ryzyka związanego z budowaniem, zabezpieczaniem i wdrażaniem kodu. Programiści i wdrożeniowcy wiedzą, że zapewnienie funkcjonalnej poprawności, efektywności i bezpieczeństwa kodu jest czasochłonne i skomplikowane. Dużym ułatwieniem w tym zakresie mogą być potoki CI/CD GitLaba. Dzięki tej książce poznasz od podstaw Gita i GitLaba. Dowiesz się, jak skonfigurować runnery GitLaba, a także jak tworzyć i konfigurować potoki dla różnych etapów cyklu rozwoju oprogramowania. Poznasz zasady interpretacji wyników potoków w GitLabie. Nauczysz się też wdrażania kodu w różnych środowiskach i korzystania z wielu zaawansowanych funkcji, takich jak łączenie GitLaba z Terraformem, klastrami Kubernetes czy uruchamianie i poprawa wydajności potoków. Skorzystasz ponadto z licznych przykładów i studiów przypadków, dzięki którym za pomocą potoków CI/CD zautomatyzujesz wszystkie etapy DevOps do budowy i wdrażania kodu o wysokiej jakości. Najciekawsze zagadnienia: podstawy Gita, GitLaba i DevOps tworzenie, przeglądanie i uruchamianie potoków CI/CD GitLaba weryfikacja, zabezpieczanie i wdrażanie kodu za pomocą potoków CI/CD GitLaba runnery, DAG-i i logika warunkowa GitLaba najlepsze praktyki i metody rozwiązywania problemów w potokach CI/CD GitLaba przykłady cykli życia procesów rozwoju oprogramowania DevOps. Wdrażaj zmiany szybko i bezpiecznie!
Baza danych od środka. Analiza działania rozproszonych systemów danych
Alex Petrov
W ciągu ostatnich 15 lat powstało tak wiele baz danych i narzędzi, że łatwo się pogubić, jeśli próbuje się zrozumieć przypadki użycia, szczegóły i specyfiki. Większość opracowań na temat systemów baz danych nie opisuje implementacji mechanizmu pamięci masowej. Tymczasem znajomość tych wewnętrznych aspektów jest bardzo ważna dla programistów, inżynierów, architektów i menedżerów. Aby wybrać odpowiednie narzędzie do pracy, musisz zrozumieć idee i algorytmy stojące za ich projektem. Michael Klishin, współpracownik RabbitMQ Ta książka ułatwi Ci zgłębienie koncepcji kryjących się za działaniem nowoczesnych baz danych. Dzięki niej zrozumiesz, w jaki sposób struktury dyskowe różnią się od tych w pamięci i jak działają algorytmy efektywnego utrzymywania struktur B drzewa na dysku. Poznasz implementacje pamięci masowej o strukturze dziennika. Znajdziesz tu również wyjaśnienie zasad organizacji węzłów w klaster baz danych i specyfiki środowisk rozproszonych. Dowiesz się, jak algorytmy rozproszone poprawiają wydajność i stabilność systemu i jak uzyskać ostateczną spójność danych. Ponadto w książce zaprezentowano koncepcje antyentropii i plotek, służące do zapewniania zbieżności i rozpowszechniania danych, a także mechanizm transakcji utrzymujący spójność logiczną bazy. Najważniejsze zagadnienia: klasyfikacja i taksonomia pamięci masowej silniki pamięci masowej oparte na B-drzewie i niezmienna struktura dziennika struktura plików bazy danych pamięć podręczna stron i pule buforów systemy rozproszone: złożone wzorce komunikacji węzłów i procesów klastry baz danych Obowiązkowa lektura dla każdego, kto korzysta z jakiejkolwiek bazy danych! Nate McCall, przewodniczący PMC