Wydawca: Helion
Od początku swojej działalności wydawnictwo Helion wspiera rozwój specjalistów z szeroko pojętej branży IT. To doskonała baza wiedzy dla osób, które chcą poznać tajniki informatyki, programowania, sztucznej inteligencji, cyberbezpieczeństwa czy grafiki komputerowej i innych umiejętności związanych z nowoczesnymi technologiami.
Helion oferuje szeroki wybór książek oraz ebooków z różnych dziedzin informatyki, zawsze aktualnych i zgodnych z najnowszymi trendami technologicznymi.
Eran Kinsbruner
Nawet bardzo doświadczony zespół niekiedy popełnia błędy, które mogą przesądzić o porażce obiecującego projektu. Aby uniknąć takich sytuacji, trzeba zadbać o odpowiednie testowanie kodu. To jednak bywa prawdziwym wyzwaniem dla frontendowców, którzy na co dzień skupiają się na innych aspektach pracy aplikacji. Obecnie deweloperzy mogą wybierać spośród rozlicznych narzędzi do testowania i wielu nowych metodyk. Na uwagę zasługują zwłaszcza frameworki służące do automatyzacji testów wieloprzeglądarkowych, dostępne na licencji open source. Oto przewodnik po koncepcjach testowania i wiodących frameworkach, za pomocą których automatyzuje się testy aplikacji internetowych, takich jak Selenium, Cypress, Puppeteer i Playwright. Zaprezentowano w nim unikatowe funkcjonalności tych rozwiązań, ich wady i zalety, a także wyjaśniono zasady konfiguracji każdego z nich, aby testowanie przebiegało bezawaryjnie nawet po wprowadzeniu zmian w kodzie. Dzięki tej książce nie tylko wybierzesz najlepszy framework, ale także zintegrujesz go z przepływem pracy programowania frontendowego i utworzysz wstępny zestaw automatyzacji testów oparty na JavaScripcie. Zapewni to szybką informację zwrotną przy zmianach w kodzie i zwiększy niezawodność automatyzacji testów. W książce między innymi: wybór narzędzi do testowania aplikacji zaawansowana automatyzacja testów pomiar pokrycia kodu i pokrycia testowego w ocenie jakości aplikacji kompromisy przy wyborze narzędzi do testowania frameworki: Cypress, Selenium, Playwright i Puppeteer przegląd narzędzi do niskokodowego testowania aplikacji internetowych Automatyzacja testów aplikacji - tak zagwarantujesz niezawodność!
Testowanie aplikacji Java za pomocą JUnit
Radosław Sokół
Testuj swój kod profesjonalnie — pisz testy jednostkowe! Poznaj niezbędne narzędzia Twórz testy jednostkowe Korzystaj z technik TDD i TAD Jednym z największych wyzwań współczesnej inżynierii oprogramowania jest zapewnienie właściwej jakości tworzonych produktów, którą można osiągnąć w dużej mierze dzięki odpowiedniej weryfikacji kodu. Odpowiedzią na potrzeby branży są testy automatyczne, a wśród najważniejsze to z pewnością testy jednostkowe. Nie tylko umożliwiają one ciągłe, bezproblemowe i szybkie sprawdzanie poprawności pisanego kodu, lecz również pozwalają wyeliminować regresję i poprawić jakość architektury tworzonych rozwiązań, a także stanowią dla nich doskonałą dokumentację. Jeśli nie chcesz zostać w tyle, również Ty powinieneś zacząć pisać testy jednostkowe do swoich programów tworzonych w języku Java. Pomoże Ci w tym książka prezentująca koncepcję UT, bibliotekę JUnit, rozszerzenie AssertJ oraz biblioteki EqualsVerifier, Mockito i Google Guava. Poznasz dzięki niej sposoby pisania testów, refaktoryzowania kodu oraz imitowania działania funkcji i bazy danych. Dowiesz się też, jak w praktyce stosować metodyki TDD i TAD. A wszystkiego nauczysz się dzięki wziętym z życia przykładom oraz zadaniom do samodzielnego wykonania. Tworzenie testów jednostkowych za pomocą biblioteki JUnit Ścieżki kodu, pokrycie testami i refaktoryzacja kodu Unikanie zależności za pomocą imitacji i zastosowanie Mockito Płynne definiowanie testów za pomocą biblioteki AssertJ Programowanie ukierunkowane na testy i wspomagane testami Imitowanie baz danych przy użyciu rozwiązania Apache Derby Popraw jakość swoich programów, korzystając z testów jednostkowych!
Testowanie bezpieczeństwa aplikacji internetowych. Receptury
Paco Hope, Ben Walther
Poznaj i wykorzystaj mechanizmy testowania zabezpieczeń, a nikt nie prześlizgnie się przez Twoją witrynę! Jak zainstalować i skonfigurować narzędzia do testowania zabezpieczeń? Jak szybko i sprawnie znaleźć problemy w aplikacjach? Jak wykorzystywać testy powtarzalne? Witryny internetowe oraz ich aplikacje stanowią swoistą wirtualną furtkę do wszystkich korporacji i instytucji. Jak zatem zadbać, aby nikt niepożądany nie przedostał się do środka? Co sprawia, że witryna jest naprawdę bezpieczna? I w jaki sposób testować aplikację, aby nie był to proces żmudny i czasochłonny, a raczej sprawny i skuteczny? Oto rozwiązanie -- niniejsza książka zawiera proste receptury, dzięki którym z łatwością znajdziesz luki w aplikacjach, zanim zrobią to różni hakerzy. Książka "Testowanie bezpieczeństwa aplikacji internetowych. Receptury" to napisany zrozumiałym językiem podręcznik, dzięki któremu szybko poznasz mechanizmy testowania zabezpieczeń. Praktyczne przykłady zawarte w tym przewodniku sprawią, że szybko nauczysz się włączać systemy zabezpieczeń do standardowych procedur kontroli aplikacji. Bez problemu stworzysz testy dotyczące funkcji AJAX, a także przeprowadzisz rozbudowane, wieloetapowe testy podatności na klasyczne problemy: skrypty krzyżowe oraz wstrzykiwanie kodu. Bezpieczeństwo oprogramowania Instalacja darmowych narzędzi i rozszerzeń Kodowanie danych w Internecie Manipulowanie danymi wejściowymi Fałszowanie informacji przesyłanych w nagłówkach przez przeglądarki Przesyłanie na serwer plików o dużej objętości Obchodzenie ograniczeń interfejsu użytkownika Autoryzacja masowego skanowania Ataki przeciwko aplikacjom AJAX Manipulowanie sesjami Testy wielostronne Niech bezpieczeństwo Twoich aplikacji nie spędza Ci snu z powiek!
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!
Renu Rajani
Doświadczeni deweloperzy wiedzą, że testowanie oprogramowania jest procesem żmudnym i wymagającym, niemniej rzetelnie przeprowadzone testy są konieczne, aby uznać kod za godny zaufania. Co więcej, testowanie kodu jest tą gałęzią techniki, która rozwija się bardzo dynamicznie. Ma to związek z rosnącymi konsekwencjami ewentualnych incydentów, przerw w działaniu oprogramowania czy wręcz ataków hakerskich. Oznacza to, że tester musi być na bieżąco z nowinkami ze swojej branży. Ta książka jest nieodzowną pomocą każdego testera. Stanowi wyczerpujące źródło potrzebnych informacji, prezentuje przeróżne perspektywy, praktyki, trendy, narzędzia i rozwiązania związane z testowaniem aplikacji. Omówiono różne modele działań testowych i rozmaite cykle życia oprogramowania. Pokazano nieoczywiste aspekty analizy jakości oraz prowadzenia testów w przypadku mediów społecznościowych, urządzeń mobilnych, danych analitycznych i technologii chmury. Opisano technologie, które najprawdopodobniej będą kształtować przyszłość testów oprogramowania. W publikacji nie zabrakło informacji o najlepszych praktykach, które warto stosować w celu zapewnienia stabilności i bezpieczeństwa oprogramowania. W tej książce między innymi: Najnowsze trendy w dziedzinie działań testowych i modeli operacyjnych Automatyzacja testów Uczenie maszynowe i systemy kognitywne: testowanie i wykorzystywanie w testach Testowanie na potrzeby różnych branż: ochrona zdrowia, marketing cyfrowy i inne Testowanie aplikacji na potrzeby rozwoju IoT (internetu rzeczy) Podoba Ci się ten kod? Przetestuj, zanim pochwalisz!
Scottie Crump
W ostatnich latach zdecydowanie wzrosła popularność frameworka React, pozwalającego w pełni skorzystać z możliwości nowoczesnych przeglądarek i urządzeń mobilnych. Nowym narzędziem służącym do testowania obiektowego modelu dokumentu (DOM) jest React Testing Library. Zostało ono zaprojektowane tak, aby ułatwiać projektantom pracę zgodną z podejściem test-driven development (TDD). Jest to bardzo cenna właściwość, gdyż prawidłowo napisane komponenty testowe znacznie obniżają ryzyko wystąpienia poważnych błędów aplikacji. W tej książce przystępnie wyjaśniono, w jaki sposób używać nowoczesnego narzędzia, jakim jest React Testing Library (RTL), do testowania komponentów napisanych w React. Dzięki niej zrozumiesz główne aspekty działania tej biblioteki. Nauczysz się symulować interakcje użytkownika i zrozumiesz podejście TDD. Znajdziesz tu wskazówki, jak tworzyć testy jednostkowe komponentów, które wchodzą w interakcje z interfejsami API, a także jak testować komponenty za pomocą takich bibliotek jak GraphQL i Redux. Zapoznasz się też z technikami testowania aplikacji, które podległy poważnej refaktoryzacji. Na koniec dowiesz się, jak pisać całościowe testy funkcjonalne z wykorzystaniem biblioteki Cypress i które wzorce projektowe są najbardziej przydatne do ustrukturyzowania profesjonalnego zbioru testów. W książce między innymi: wprowadzenie do RTL i jego zastosowań użycie jest-dom do rozbudowy testów opartych na RTL techniki tworzenia komponentów testowych łatwych do modyfikacji integracja zestawów testowych z Cucumber i Cypress podejście TDD React: z łatwością napiszesz doskonałe komponenty testowe!
Testowanie oprogramowania. Podręcznik dla początkujących
Rafał Pawlak
Testuj programy i śpij spokojnie! Ogólna teoria testowania, czyli po co nam testy i jak sobie z nimi radzić Projekt a proces testowania, czyli kiedy zacząć testować i jak to robić z głową Automatyzacja i dokumentacja, czyli jak ułatwić sobie pracę podczas testowania Testowanie oprogramowania jest niesłychanie ważnym czynnikiem, wręcz decydującym o sukcesie lub porażce systemu, aplikacji czy sieci. Bezlitośni użytkownicy wykryją najdrobniejszy błąd, skutkujący choćby niewielkim spowolnieniem działania programu… i nie omieszkają wyrazić swojej opinii w internecie. Jeśli chcesz uniknąć takich niespodzianek, a ponadto zależy Ci na jak najszybszym ukończeniu realizowanego projektu i wypuszczeniu perfekcyjnego produktu, musisz natychmiast zacząć go testować! Ta książka pomoże Ci zorientować się w metodach i technikach testowania. Jej autor, praktyk z wieloletnim doświadczeniem, zawarł w niej informacje o narzędziach i procesach, opisał również własne doświadczenia związane z konkretnymi projektami. Dowiesz się między innymi, jak radzić sobie na kolejnych etapach weryfikacji jakości oprogramowania — wybrać odpowiedni typ testu i przejść przez proces jego projektowania — a także jak uporać się ze znużeniem nieustannym testowaniem. Odkryjesz też, do czego służy automatyzacja i jak przejrzyście dokumentować całe przedsięwzięcie. Usuń błędy, zanim zaczną sprawiać Ci kłopoty! Poziomy wykonywania testów Typy testów Wprowadzenie do projektowania testów Psychologiczne aspekty procesu testowania Syndrom zniechęcenia testami Testowanie usług sieciowych (WebServices) Wprowadzenie do automatyzacji testów Generowanie sumy kontrolnej i danych testowych Membrane HTTP/SOAP Monitor SoapUI Postaw na jakość! To się opłaca!
Testuj oprogramowanie jak Google. Metody automatyzacji
James A. Whittaker, Jason Arbon, Jeff Carollo
Poznaj najlepszą na świecie metodę testowania! Oprogramowanie firmy Google to miliony linii kodu źródłowego, dziesiątki wersji językowych, różne systemy operacyjne, przeglądarki i preferencje użytkownika. Jak przy takich wymogach dostarczyć klientom produkt najwyższej jakości? Tu mogą pomóc tylko testy automatyczne. Dzięki nim codziennie bez trudu można uruchomić miliony testów! Google opanowało tę sztukę do mistrzostwa. Warto uczyć się od najlepszych! Dzięki tej książce dowiesz się, jak zorganizować proces testowania tak, żeby był elastyczny, skuteczny i spełniał Twoje oczekiwania. Poznasz rolę inżyniera do spraw testowania oprogramowania, kierownika zespołów inżynierskich oraz inżyniera testującego. Zobaczysz, na jakie problemy natykają się oni każdego dnia oraz jak sobie z nimi radzą. Ponadto nauczysz się oceniać ryzyko, dokumentować proces testowania czy raportować błędy. Książka ta jest obowiązkową lekturą dla wszystkich osób, które doskonalą swoje umiejętności programistyczne i chcą polepszyć jakość dostarczanego oprogramowania. Dzięki tej książce: poznasz najlepsze metody zapewniania jakości oprogramowania nauczysz się planować i przeprowadzać testy poprawnie ocenisz ryzyko udoskonalisz proces wytwarzania oprogramowania! Sprawdź, jak testują najlepsi!
Testy A/B. Od kliknięcia do klienta
Dan Siroker, Pete Koomen
Odkryj możliwości testów A/B! Kampanie reklamowe to nie lada obciążenie dla firmowego budżetu. W dodatku badania pokazują, że zaledwie 2% osób klikających reklamę i odwiedzających Twoją witrynę staje się Twoimi klientami. Łatwo z tego wyciągnąć smutny wniosek - aż 98% z nich nie skorzysta z Twoich usług! Zmień to! Poznaj sposoby na zwiększenie współczynnika konwersji! Istnieją narzędzia, które pozwolą Ci polepszyć ten wskaźnik. Ta książka omawia jedną z najskuteczniejszych technik - testy A/B. Polegają one na prezentowaniu użytkownikom różnych wersji strony i mierzeniu, jak reagują ci użytkownicy. W trakcie lektury tego wyjątkowego poradnika dogłębnie poznasz tę metodykę i odkryjesz najlepsze sposoby jej wdrażania. A potem dowiesz się, jakie pułapki i problemy czekają na Ciebie oraz jak sobie z nimi poradzić. Książka ta jest poświęcona niełatwym zagadnieniom, jednak ta wiedza przekazywana jest w niezwykle przyjazny i prosty sposób. Popraw wyniki swoich kampanii! Dzięki tej książce: poznasz testy A/B wdrożysz testy A/B krok po kroku unikniesz najczęstszych błędów zwiększysz współczynnik konwersji Zwiększ skuteczność Twoich działań marketingowych!
Testy jednostkowe. Świat niezawodnych aplikacji. Wydanie II
Roy Osherove
Poznaj możliwości testów jednostkowych! System informatyczny to inteligentne połączenie modułów i zależności, otoczone setkami tysięcy, a nawet milionami linii kodu źródłowego. Zmiana w jednym obszarze może mieć fatalny wpływ na działanie systemu w zupełnie innym miejscu. Ta zależność prowadzi do ogromnych kosztów wprowadzenia nawet najdrobniejszej zmiany w oprogramowaniu. Czy istnieje rozwiązanie tego problemu? Jak stworzyć system, w którym błyskawiczna weryfikacja lub wprowadzona zmiana nie spowodują nowych błędów w innej części? Oczywiście, że można to zrobić! Odpowiedzią na te i wiele innych problemów są testy automatyczne. Ten przewodnik to doskonała okazja, by głębiej poznać temat testów jednostkowych. Jeżeli uważasz, że ich pisanie jest uciążliwe, czasochłonne, trudne lub po prostu nie wiesz, jak je tworzyć, ta książka rozwiąże wszystkie Twoje problemy! W trakcie lektury dowiesz się, jak pisać testy, tworzyć zestawy testowe oraz przygotowywać makiety i namiastki. Poznasz narzędzia Moq, FakeItEasy oraz Typemock Isolator. Ponadto zdobędziesz wiedzę na temat organizacji testów oraz strategii testowania kodu odziedziczonego. Książka ta jest obowiązkową lekturą dla wszystkich programistów C# szukających świetnego przewodnika po świecie testów jednostkowych! Dzięki tej książce: rozwiejesz swoje wątpliwości dotyczące testów poznasz najpopularniejsze narzędzia wspomagające testowanie zorganizujesz swoje testy jednostkowe zapoznasz się z kluczowymi elementami dobrych testów stworzysz niezawodny i tani w utrzymaniu kod Niezawodny kod jest w Twoim zasięgu!
Testy jednostkowe. Zasady, praktyki i wzorce
Vladimir Khorikov
Każdy inżynier oprogramowania zna teoretyczne podstawy testowania. O tym, że sumienne przeprowadzenie testów ma podstawowe znaczenie dla jakości gotowego produktu, nie trzeba nikogo przekonywać. A jednak wciąż zbyt często okazuje się, że zaplanowanie, napisanie i przeprowadzenie testów jednostkowych w praktyce nie jest łatwym zadaniem. Co gorsza, niewłaściwe testy psują kod, mnożą błędy i zabierają mnóstwo cennego czasu i pieniędzy. Okazuje się, że dla uzyskania maksymalnej jakości projektu, który trzeba dostarczyć w krótkim czasie, konieczne jest nauczenie się praktycznego stosowania zasad i wzorców testowania jednostkowego. Jeśli znasz już podstawy testowania jednostkowego, dzięki tej książce nauczysz się projektowania i pisania testów, które obierają za cel model domeny i pozostałe kluczowe obszary kodu. Ten przejrzyście napisany przewodnik poprowadzi Cię przez proces tworzenia zestawów testowych o optymalnej wartości, bezpiecznej automatyzacji testowania i umiejętnego włączania go w cykl życia oprogramowania. W książce znalazły się uniwersalne wskazówki dotyczące analizy dowolnych testów jednostkowych oraz porady odnoszące się do zmian testów następujących wraz ze zmianami kodu produkcyjnego. Nie zabrakło również informacji, dzięki którym sprawnie zidentyfikujesz i wykluczysz ewentualne antywzorce testowania. Materiał został bogato zilustrowany przejrzystymi przykładami kodu napisanego w C#. Naturalnie, mają one zastosowanie także dla innych języków programowania. W książce między innymi: cel testowania jednostkowego i cechy dobrych testów fundamenty porządnego testowania jednostkowego wpływ zaślepek i sterowników na stabilność testów style testowania jednostkowego zalety i ograniczenia testowania integracyjnego Przed wdrożeniem dobrze przetestuj swój kod!
Testy penetracyjne dla zaawansowanych. Hakowanie najlepiej zabezpieczonych sieci na świecie
Wil Allsopp
Zgodnie z obiegową opinią typowy haker godzinami przeszukuje ogromne ilości danych o ruchu sieciowym w celu znalezienia słabiej zabezpieczonego systemu, a potem przeprowadza atak i uzyskuje dostęp do cennych zasobów. Obrona przed takimi cyberprzestępcami jest stosunkowo prosta. Prawdziwe wyzwanie rzuca silnie zmotywowany napastnik, który jest znawcą systemów i sprawnym programistą. Dzisiejsi administratorzy stoją w obliczu advanced persistent threat (APT), co oznacza dosłownie trwałe zagrożenie zaawansowanym atakiem. Ta książka jest znakomitym wprowadzeniem do zaawansowanych technik forsowania dobrze zabezpieczonych środowisk. Metody tu opisane nie są przedstawiane w żadnym poradniku ani na żadnych szkoleniach. Autor skoncentrował się na modelowaniu ataków APT w rzeczywistych warunkach: prezentuje różne nowe technologie i techniki ataków w szerokim kontekście rozmaitych dziedzin i branż działalności. Poza skutecznymi wektorami ataku przedyskutowano tak ważne koncepcje jak unikanie wykrycia szkodliwych programów, świadomość sytuacyjną, eksplorację poziomą i wiele innych umiejętności, które są kluczowe dla zrozumienia ataków APT. W tej książce między innymi: Makroataki i ataki typu „człowiek w przeglądarce” Wykorzystywanie apletów Javy do ataków Metody eskalacji uprawnień Maskowanie fizycznej lokalizacji za pomocą ukrytych usług w sieci Tor Eksperymentalne metody C2 Techniki inżynierii społecznej Sam sprawdź, czy Twój system odeprze prawdziwy atak? Wil Allsopp jest ekspertem w dziedzinie bezpieczeństwa systemów informatycznych. Testami penetracyjnymi zajmuje się od ponad 20 lat. Specjalizuje się w działaniach red team, ocenie systemów pod kątem podatności na ataki, audytach bezpieczeństwa, kontroli bezpieczeństwa kodu źródłowego, a także w inżynierii społecznej oraz rozpoznawaniu zaawansowanych stałych zagrożeń. Przeprowadził setki etycznych testów hakerskich i penetracyjnych dla wielu firm z listy „Fortune 100”. Mieszka w Holandii.
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.
Testy penetracyjne środowiska Active Directory i infrastruktury opartej na systemie Windows
Denis Isakov
Cyberprzestępczość to obecnie wielki biznes i wielka polityka. Zaangażowane podmioty nieustannie dążą do doskonalenia technik ataków. Cyberprzestępcy dysponują własną metodologią, narzędziami i wykwalifikowanym personelem. Aby obronić się przed nimi, musisz zrozumieć, w jaki sposób atakują, a potem dobrze poznać ich taktyki i techniki. W trakcie lektury tej książki przygotujesz własne laboratorium, a następnie przeanalizujesz każdy etap zabójczego łańcucha ataków i zastosujesz nową wiedzę w praktyce. Dowiesz się, jak ominąć wbudowane mechanizmy bezpieczeństwa, między innymi AMSI, AppLocker i Sysmon, przeprowadzać działania rozpoznawcze i wykrywające w środowisku domeny, a także zbierać dane uwierzytelniające w całej domenie. Przeczytasz również, jak poruszać się ruchem bocznym, aby wtopić się w ruch środowiska i pozostać niewykrytym przez radary obrońców, a ponadto jak eskalować uprawnienia wewnątrz domeny i w całym lesie domen czy osiągać stan przetrwania na poziomie domeny i w kontrolerze domeny. W efekcie nauczysz się przeprowadzać ocenę bezpieczeństwa różnych produktów i usług Microsoftu, takich jak Exchange Server, SQL Server i SCCM. Ciekawsze zagadnienia: techniki atakowania usług: Active Directory, Exchange Server, WSUS, SCCM, AD CS i SQL Server skuteczne unikanie wykrycia w środowisku ofensywne bezpieczeństwo operacyjne (OpSec) sposoby naprawy błędnych konfiguracji przygotowanie rzeczywistych scenariuszy Testuj granice odporności swojej infrastruktury!
The Smashing Book #1. Edycja polska
Sven Lennartz (Editor), Vitaly Friedman (Author)
Smashing Magazine to marka znana w branży webowej na całym świecie. Profesjonalny blog o technologiach i projektowaniu stron, oferujący setki merytorycznych i aktualnych artykułów opartych na realnych przykładach, podbił serca milionów użytkowników. Ta książka to zbiór najlepszych artykułów i porad dla projektantów stron internetowych. Znajdziesz w niej fachowe i sprawdzone informacje na temat tworzenia interfejsu użytkownika oraz typografii w sieci. Autorzy bardzo dużo uwagi poświęcają użyteczności nowoczesnych stron internetowych. W dzisiejszych czasach nawet najdoskonalszy pomysł się nie sprzeda, jeżeli nie będzie opakowany w intuicyjny i przyjazny interfejs użytkownika. Co jeszcze znajdziesz w tej biblii twórców stron WWW? Optymalizacja wydajności witryn, tworzenie projektów zwiększających sprzedaż, teoria kolorów to tylko część zagadnień, które muszą zwrócić Twoją uwagę. Sięgnij po tę książkę, naprawdę warto! Smashing Book. Edycja polska. Kultowy podręcznik dla projektantów i twórców stron internetowych!
Matt Ward
Smashing Magazine to marka znana w branży webowej na całym świecie. Profesjonalny blog o technologiach i projektowaniu stron, oferujący setki merytorycznych i aktualnych artykułów opartych na realnych przykładach, podbił serca milionów użytkowników. Pierwsza część "Smashing Book" zdobyła wyjątkowe uznanie i popularność, a druga na 100% pobije tamten rekord! Ta książka to zbiór praktycznych projektów, prześwietlonych pod względem użyteczności, designu i programowania. Dziewięć genialnych rozdziałów zawiera wiedzę ważną dla każdego projektanta stron internetowych i aplikacji na urządzenia mobilne. Poznasz zasady, jakich powinni przestrzegać graficy, najlepsze sposoby na przygotowanie prototypów stron WWW oraz możliwości CSS3 w zakresie typografii. Dowiesz się, jak powinien wyglądać porządny sklep internetowy, aby osiągnąć murowany sukces w sieci, oraz jak zachęcić użytkowników do klikania we właściwych (z Twojego punktu widzenia!) miejscach. Zrozumiesz swoich użytkowników, a wygodne rozwiązania, o których wcześniej nawet nie pomyślałeś, nagle staną się dla Ciebie oczywiste! Sięgnij po niekwestionowany autorytet w dziedzinie praktycznego i nowoczesnego podejścia do web designu. Smashing Book #2. Kultowy podręcznik dla projektantów i twórców stron internetowych! Patroni medialni:
TinyML. Wykorzystanie TensorFlow Lite do uczenia maszynowego na Arduino i innych mikrokontrolerach
Pete Warden, Daniel Situnayake
Może się wydawać, że profesjonalne systemy uczenia maszynowego wymagają sporych zasobów mocy obliczeniowej i energii. Okazuje się, że niekoniecznie: można tworzyć zaawansowane, oparte na sieciach neuronowych aplikacje, które doskonale poradzą sobie bez potężnych procesorów. Owszem, praca na mikrokontrolerach podobnych do Arduino lub systemach wbudowanych wymaga pewnego przygotowania i odpowiedniego podejścia, jest to jednak fascynujący sposób na wykorzystanie niewielkich urządzeń o niskim zapotrzebowaniu na energię do tworzenia zdumiewających projektów. Ta książka jest przystępnym wprowadzeniem do skomplikowanego świata, w którym za pomocą techniki TinyML wdraża się głębokie uczenie maszynowe w systemach wbudowanych. Nie musisz mieć żadnego doświadczenia z zakresu uczenia maszynowego czy pracy z mikrokontrolerami. W książce wyjaśniono, jak można trenować modele na tyle małe, by mogły działać w każdym środowisku - również Arduino. Dokładnie opisano sposoby użycia techniki TinyML w tworzeniu systemów wbudowanych opartych na zastosowaniu ucze nia maszynowego. Zaprezentowano też kilka ciekawych projektów, na przykład dotyczący budowy urządzenia rozpoznającego mowę, magicznej różdżki reagującej na gesty, a także rozszerzenia możliwości kamery o wykrywanie ludzi. W książce między innymi: praca z Arduino i innymi mikrokontrolerami o niskim poborze mocy podstawy uczenia maszynowego, budowy i treningu modeli TensorFlow Lite i zestaw narzędzi Google dla TinyML bezpieczeństwo i ochrona prywatności w aplikacji optymalizacja modelu tworzenie modeli do interpretacji różnego rodzaju danych Ograniczone zasoby? Poznaj TinyML!
Tomcat. Przewodnik encyklopedyczny. Wydanie II
Jason Brittain, Ian Darwin
Poznaj możliwości serwera Tomcat! Jak dostroić Tomcat w celu pomiaru i poprawy wydajności? Jak wdrażać aplikacje WWW z serwletami i stronami JSP? Jak diagnozować problemy z serwerem? Tomcat jest kontenerem serwletów Java i serwerem WWW stworzonym przez organizację Apache Software Foundation. Może pełnić rolę serwera produkcyjnego o dużej wydajności, sprawdza się również jako darmowy kontener serwletów i stron JSP z udostępnionym kodem źródłowym. Tomcat może być zastosowany niezależnie lub w połączeniu z innymi serwerami WWW (np. httpd Apache). Doskonale radzi sobie w każdego rodzaju środowisku, zapewniając fundament wymagany do praktycznego wykorzystania w Internecie umiejętności z zakresu technologii Java. W książce "Tomcat. Przewodnik encyklopedyczny" znajdziesz szczegółowe wyjaśnienia, jak korzystać z tego serwera. Czytając ją, poznasz wszelkie procedury instalacyjne oraz możliwości konfigurowania obszarów, ról, użytkowników i zasobów JNDI. Nauczysz się, jak uaktywniać i wyłączać funkcję automatycznego przeładowywania serwletów, a także wdrażać aplikacje WWW. Niezbędne informacje dotyczące serwera Tomcat znajdą tu nie tylko programiści, ale także administratorzy, webmasterzy i wszyscy, którzy chcą się dowiedzieć czegoś o tym kontenerze serwletów. Instalowanie i konfigurowanie Tomcata Zarządzanie obszarami, rolami i użytkownikami Uruchamianie i zatrzymywanie serwera Kontrolowanie i utrwalanie sesji Optymalizowanie wydajności serwera Integracja z serwerem WWW Apache Wdrażanie rozpakowanego katalogu aplikacji WWW Praca z plikami WAR Zabezpieczenia serwera Tomcat Przewodnik dla wszystkich, którzy chcą ułatwić sobie pracę z serwerem Tomcat.
Denis Rothman
Transformery zrewolucjonizowały przetwarzanie języka naturalnego, analizę obrazów i komputerowe widzenie. Oparte na transformerach duże modele generatywne dostępne za pośrednictwem systemu ChatGPT z GPT-4V w zadaniach przetwarzania tekstu i obrazów przewyższają wydajność człowieka. Aby uczestniczyć w tej nowej erze technologicznej, musisz zrozumieć, jak działają transformery. Tę książkę docenią praktycy: analitycy danych i inżynierowie uczenia maszynowego. Opisano w niej różne architektury transformerów - od pierwszych modeli podstawowych po najnowsze osiągnięcia w generatywnej sztucznej inteligencji. Dzięki lekturze nauczysz się wstępnego szkolenia i dostrajania modeli LLM, a także pracy nad różnymi przypadkami użycia. Poznasz takie problemy jak halucynacje i zagrożenia prywatności, a następnie dowiesz się, jak je łagodzić. W książce pokazano ponadto, jak poprawiać dokładność modeli LLM i uzyskiwać większą kontrolę nad generowanymi przez nie wynikami. Nie zabrakło ciekawych szczegółów dotyczących modeli generatywnych opartych na transformerach, modeli wizyjnych i architektur multimodalnych, jak również opisu najlepszych praktyk. Najciekawsze tematy: wstępne szkolenie i dostrajanie modeli LLM platformy: Hugging Face, OpenAI i Google Vertex AI tokenizery i najlepsze praktyki wstępnego przetwarzania danych językowych techniki łagodzenia halucynacji wizualizacja aktywności modeli transformerów z użyciem systemów BertViz, LIME i SHAP modele wizyjne i multimodalne oparte na transformerach: CLIP, DALL-E 2, DALL-E 3 i GPT-4V Sztuczna inteligencja, która widzi i mówi - przekonaj się, jak to działa!
Alison Balter
Aby stać się naprawdę dobrym programistą lub administratorem SQL Servera, trzeba mieć solidne podstawy z zakresu baz danych, języka T-SQL i samego SQL Servera. Dopiero po ugruntowaniu tej wiedzy można przejść do nieco bardziej zaawansowanych zagadnień i tworzyć wydajne aplikacje bazodanowe. Bez odpowiedniego przygotowania trudno wykorzystać choćby część funkcjonalności, jakie oferuje SQL Server — potężne narzędzie do najróżniejszych zastosowań. Niniejsza książka jest skierowana do osób, które chcą bardzo dobrze zrozumieć podstawy baz danych i płynnie przejść przez zaawansowane zagadnienia dotyczące SQL Servera oraz języka T-SQL. Jest to przystępnie napisany podręcznik, zawierający 24 lekcje. Przyswojenie materiału z każdej z tych lekcji zajmie około godziny. Jest to idealna pozycja dla każdego, kto chce nauczyć się budowania wydajnych, niezawodnych aplikacji bazodanowych, swobodnie posługiwać się językiem T-SQL i w sprawny sposób zarządzać SQL Serverem. W książce znajdziesz: podstawowe informacje o bazach danych, SQL Serverze i języku T-SQL wskazówki odnośnie do korzystania z SQL Server Management Studio zagadnienia dotyczące tabel, relacji, a także instrukcji języka T-SQL informacje o wyzwalaczach, funkcjach, procedurach składowanych, transakcjach itp. narzędzia SQL Server Profiler i Database Engine Tuning Advisor sposoby zarządzania użytkownikami i administrowania SQL Serverem Wystarczą 24 godziny, by nauczyć się T-SQL! Alison Balter — niekwestionowany autorytet w dziedzinie tworzenia aplikacji w systemie Windows. Przeszkoliła tysiące pracowników wielu korporacji oraz agencji rządowych. Jest autorką licznych komputerowych kursów wideo i książek informatycznych. Aktywnie uczestniczy w wielu grupach użytkowników, stowarzyszeniach i innych organizacjach.
T-SQL dla zaawansowanych. Przewodnik programisty. Wydanie IV
Miguel Cebollero, Michael Coles, Jay Natarajan
W wielu środowiskach IT serwer bazodanowy jest szczególnie ważnym elementem infrastruktury. Microsoft SQL Server jest jednym z częściej spotykanych rozwiązań. Aby w pełni wykorzystać jego możliwości, trzeba dogłębnie poznać język Transact-SQL — potężne narzędzie, które wyewoluowało z języka zapytań SQL i wciąż jest rozwijane przez firmę Microsoft. Niniejsza książka, przeznaczona dla programistów T-SQL, jest uaktualnionym wydaniem świetnego przewodnika po SQL Server. Omówiono w niej zaawansowane mechanizmy dostępne w T-SQL, włączając w to również nowości, takie jak mechanizmy pamięciowe będące częścią SQL Server 2014. Istotne kwestie są przystępnie wyjaśnione za pomocą praktycznych przykładów i obszernych fragmentów kodu źródłowego. Autorzy położyli nacisk przede wszystkim na demonstrację opcji T-SQL, ich możliwe zastosowania, a sam podręcznik zorganizowali w sposób umożliwiający szybkie wyszukanie potrzebnych informacji. Najważniejsze zagadnienia omówione w książce: podstawy T-SQL i przegląd dobrych praktyk programowania w tym języku narzędzia dołączone do SQL Server 2014 (w tym SSMS, SQLCMD, SSDT oraz SQL Profiler) procedury składowane wykonywane po stronie serwera oraz tabele OLTP obsługa XML, XQuery oraz XPath w SQL Server 2014 szyfrowanie baz danych, usługi ADO.NET oraz usługi IIS/.NET obsługa błędów, testowanie i zabezpieczenie kodu SQL Sprawdź nowe możliwości T-SQL i SQL Server! Miguel Cebollero — od ponad 16 lat zajmuje się SQL Server i innymi systemami bazodanowymi, włączając w to projektowanie, programowanie i administrację. Często wypowiada się na różnego rodzaju konferencjach związanych z bazami danych. Jay Natarajan — od ponad 15 lat projektuje i implementuje rozwiązania oparte na SQL Server. Ma na koncie wiele skomplikowanych rozwiązań dla dużych klientów. Dołączyła do Microsoft Consulting Services w 2008 roku. Michael Coles — ma za sobą ponad dekadę doświadczeń przy projektowaniu i administrowaniu bazami danych SQL Server. Jest autorem licznych artykułów na temat SQL Server, szczególnie o specjalnych zastosowaniach T-SQL.
Turbo Pascal. Zadania z programowania z przykładowymi rozwiązaniami
Mirosław J. Kubiak
Turbo Pascal w analizie konkretnych przykładów Proste operacje wejścia/wyjścia Tablice, iteracje oraz instrukcje warunkowe Programowanie obiektowe i pliki tekstowe Turbo Pascal to wciąż popularny proceduralny język programowania, który doskonale nadaje się do nauki programowania strukturalnego. Dobry programista, student lub nauczyciel informatyki, a także każdy człowiek zainteresowany programowaniem powinien znać podstawy tego języka i umieć rozwiązywać konkretne zadania. Podobnie zresztą powinien opanować najważniejsze zagadnienia dotyczące programowania w językach Java i C++ — i stosować je w praktyce. Trzyczęściowy zbiór, w którym zamieszczono te same lub bardzo zbliżone zadania wraz z rozwiązaniami w każdym z wyżej wymienionych języków, pozwala sprawdzić i uzupełnić wiedzę poprzez analizę podanego kodu. Książka "Turbo Pascal. Zadania z programowania z przykładowymi rozwiązaniami " to jedna z trzech części zbioru zadań programistycznych, zawierająca zadania w języku Turbo Pascal. Dzięki ich analizie zrozumiesz, na czym polegają operacje wejścia/wyjścia, do czego można używać instrukcji warunkowych oraz iteracji, jak wykorzystać tablice jedno i dwuwymiarowe. Nauczysz się stosować elementy programowania obiektowego w tym języku oraz dowiesz się więcej o plikach tekstowych. Taki układ książki ułatwi Ci przyswojenie sobie najważniejszych zagadnień z Turbo Pascala w najlepszy możliwy sposób — na prostych, konkretnych przykładach. Proste operacje wejścia/wyjścia Instrukcje warunkowe i instrukcje wyboru Iteracje Tablice jedno- i dwuwymiarowe Programowanie obiektowe Rekurencja Pliki tekstowe Praktycznie opanuj podstawy języka Turbo Pascal. Zajrzyj także do: Zbiór zadań adresowany jest do maturzystów, studentów, nauczycieli informatyki oraz osób zainteresowanych programowaniem lub rozpoczynających naukę programowania w języku Turbo Pascal. Uczniowie techników informatycznych mogą zbiory zadań wykorzystać do szybkiej powtórki przed egzaminem zawodowym.
Twarzą w twarz z obiektywem. Sztuka fotografowania ludzi
Rick Sammon
Poznaj trudną sztukę robienia zdjęć portretowych! Dobierz optymalny sprzęt Poznaj zasady kompozycji i oświetlenia Użyj Photoshopa do obróbki zdjęć "Zdjęcia robią ludzie, nie aparaty" - te słowa autora oddają istotę współczesnej fotografii. Żadne narzędzia ani żaden sprzęt nie pozwolą Ci osiągnąć zamierzonego efektu, jeśli nie będziesz mieć odpowiedniej wiedzy na temat techniki wykonywania zdjęć. Fotografia portretowa to trudna sztuka budowania kameralnej atmosfery, odsłaniania magii osobowości, eksponowania piękna i ukrywania niedoskonałości. W arkana tej sztuki łagodnie i profesjonalnie wprowadzi Cię Rick Sammon, autor tego pięknego, bogato ilustrowanego podręcznika fotografii portretowej. Setki porad, praktycznych wskazówek i ciekawostek oraz ogromna liczba przykładowych zdjęć to bezcenny materiał dla osób, które chcą rozpocząć przygodę z profesjonalnym fotografowaniem ludzi. Z tym poradnikiem w ręku nauczysz się wykonywać zdjęcia portretowe w różnych warunkach, zarówno w plenerze, jak i studiu, oraz fotografować uroczystości czy występy sceniczne. Ponadto dowiesz się, w jaki sposób poprawić i udoskonalić swoje zdjęcia w programie Adobe Photoshop. Dzięki książce "Twarzą w twarz z obiektywem. Sztuka fotografowania ludzi" Twoja kolejna sesja będzie zupełnie wyjątkowa! Różnica pomiędzy pstrykaniem zdjęć a fotografowaniem Wybór pomiędzy układem poziomym a pionowym Wykorzystanie tła Wybór odpowiedniego miejsca Zastosowanie dyfuzora Wykorzystanie techniki nierównowagi Użycie zestawów oświetleniowych Zdjęcia grupowe Techniki fotografowania w słabym świetle i w nocy Wykonywanie zdjęć w plenerze Fotografowanie uroczystości Zdjęcia w pomieszczeniach Utrwalanie występów scenicznych Obróbka i korekta zdjęć w Photoshopie Stań twarzą w twarz z profesjonalną fotografią portretową!