Verleger: Helion
TDD z wykorzystaniem C# 7. Programowanie sterowane testami
John Callaway, Clayton Hunt
Coraz więcej profesjonalnych środowisk produkcyjnych opiera się na oprogramowaniu. Ewentualne błędy w pracy kodu mogą prowadzić do poważnych konsekwencji - dlatego od rozwiązań informatycznych wymaga się solidności i poprawności. Równocześnie oczekuje się wydajnego działania, skalowalności i podatności na modyfikacje, a także możliwości łatwego utrzymania kodu. Aplikacje utworzone zgodnie z paradygmatem TDD są w większym stopniu testowalne i zapewniają wysoki poziom poprawnej, stabilnej pracy. Sprawia to, że coraz więcej zespołów programistycznych skłania się ku TDD, mimo że zautomatyzowane testowanie bywa czasochłonne, pracochłonne i dość trudne w implementacji. To książka przeznaczona dla tych, którzy chcą dogłębnie zrozumieć istotę TDD. Omówiono tu wszystkie aspekty TDD, włączając w to podstawy, dzięki którym średnio zaawansowany programista komfortowo rozpocznie budowę aplikacji zgodnie z tym paradygmatem. Przedstawiono zasady definiowania i testowania granic, a także pojęcie abstrahowania kodu zewnętrznego. W książce pojawiają się też - wprowadzane stopniowo - bardziej zaawansowane koncepcje, takie jak szpiedzy, imitacje i fałszywki. Pokazano w niej, w jaki sposób za pomocą TDD można przekształcić wymagania i historie użytkownika w funkcjonującą aplikację. Sporo miejsca poświęcono pisaniu różnych rodzajów testów, również integracyjnych. Poszczególne koncepcje zostały zilustrowane praktycznymi fragmentami kodu napisanego w C# i JavaScripcie. W tej książce między innymi: koncepcje programowania sterowanego testami i przygotowanie środowiska do pracy różne podejścia do budowania aplikacji i sterowania testami poprawa elastyczności aplikacji i jej podatności na przyszłe modyfikacje TDD w warunkach zmieniających się wymagań rozwiązywanie problemów z kodem zastanym TDD: tak pracują najlepsi programiści!
Technika HDR. Warsztaty fotograficzne
Pete Carr, Robert Correll
Fotografuj metodą HDR, aby pokazać kunszt i potęgę swojej wyobraźni Jak technika HDR kompensuje ograniczenia aparatu? Jak stworzyć kilka plików HDR z jednego zdjęcia? Jak przetwarzać zdjęcia HDR za pomocą programów Photomatix i Photoshop Elements? Jeśli zgłębisz tajemnice fotografii o wysokiej rozpiętości tonalnej (HDR), zdobędziesz umiejętności, które pozwolą Ci przekładać Twoje artystyczne wizje na fantastyczne obrazy o niezwykłym bogactwie szczegółów. W książce, którą trzymasz w rękach, odnajdziesz źródło twórczej inspiracji oraz wiedzę o tym, jak wykorzystać możliwości tej niezwykłej techniki — od dokładnych instrukcji w kwestii wykonywania zdjęć, po ich perfekcyjną obróbkę metodą HDR. Dzięki temu podręcznikowi nauczysz się oceniać potencjał scen pod kątem techniki HDR, a także fotografować krajobrazy, architekturę, pejzaże miejskie, wnętrza i ludzi w wielu różnych stylach. Dowiesz się, jakie narzędzia warto zastosować i w jaki sposób połączyć kilka ekspozycji, aby uzyskać zdjęcia przypominające impresjonistyczne sceny lub surrealistyczne wizje. Poznasz sposoby wykorzystywania programów komputerowych Photomatix i Photoshop Elements do przetwarzania zdjęć w celu uzyskania doskonałej szczegółowości obrazu i zadziwiającego efektu artystycznego. Rozpiętość tonalna w fotografii cyfrowej Ekspozycja Oświetlenie i filtry Fotografia HDR Metody uzyskiwania kilku ekspozycji Fotografia krajobrazowa, uliczna i portrety Programy komputerowe — Photomatix i Photoshop Elements Metody przetwarzania fotografii Zdjęcia czarno-białe Krosowanie
Techniki twórców złośliwego oprogramowania. Elementarz programisty
Dawid Farbaniec
Sięgnij po wiedzę, która pozwoli Ci skutecznie odpierać wszelkie ataki! Poznaj architekturę procesorów 80x86 i systemów operacyjnych Windows Odkryj słabe punkty środowiska i techniki wykorzystywane przez hakerów Naucz się rozpoznawać typowe zagrożenia i skutecznie się przed nimi bronić W światowych mediach wciąż pojawiają się wiadomości o mniej lub bardziej udanych próbach ataków hakerskich na potężne systemy informatyczne banków czy instytucji rządowych. Straty poniesione przez setki tysięcy zwykłych użytkowników komputerów w wyniku działania wirusów również stanowią znaczący problem. Internet pełen jest złośliwego oprogramowania napisanego w celu nielegalnego zdobycia poufnych danych, zniszczenia efektów czyjejś pracy, wyłudzenia pieniędzy, skompromitowania atakowanego podmiotu, przejęcia kontroli nad działaniem cudzej infrastruktury informatycznej lub po prostu dla zabawy. W odpowiedzi na rosnące zagrożenie pojawiają się kolejne narzędzia zabezpieczające, skanery antywirusowe, procedury i inne mechanizmy, które mają nas ustrzec przed problemem złośliwego oprogramowania. Jednak aby skutecznie uchronić się przed atakami, nie wystarczy tylko instalacja pakietu antywirusowego czy mechaniczne przestrzeganie kilku prostych wskazówek. Najskuteczniejszą bronią w tej wojnie jest odpowiednia wiedza na temat istniejących zagrożeń i konsekwentne stosowanie właściwych praktyk bezpieczeństwa, wroga można się bowiem ustrzec jedynie dzięki znajomoci sposobów, które wykorzystuje on sam, próbując włamać się do naszego komputera. Wiedzę tę można zdobyć dzięki książce "Techniki twórców złoliwego oprogramowania. Elementarz programisty". Jej autor dzieli się z nami swoim doświadczeniem w zakresie tworzenia złśoliwego kodu i obrony przed atakami przeprowadzanymi za jego pomocą. Publikacja prezentuje różne rodzaje zagrożeń czyhających na użytkowników komputerów PC z systemem Windows i metody pozwalające się ich ustrzec. Architektura i zasada działania procesorów należących do rodziny 80x86 Struktura, działanie i podstawowe mechanizmy obronne systemów Windows Rodzaje zagrożeń i słabe punkty architektury systemów firmy Microsoft Techniki wykorzystywane przez twórców złośliwego oprogramowania Metody zabezpieczenia komputera i narzędzia ograniczające zagrożenie Nie czekaj, aż padniesz ofiarą złośliwego oprogramowania broń się już dziś!
Technologiada. Młodzi kompetentni
Piotr Synowiec
Doświadczyć znaczy zrozumieć Świat biegnie do przodu coraz szybciej i szybciej, w rytmie, w jakim rozwija się ludzka wiedza i technologia, jaka dzięki niej powstaje. Z jednej strony to świetnie - kto czterdzieści lat temu przypuszczał, że nosić będzie w kieszeni mały, supersprawny i wszechwiedzący komputer, dla niepoznaki zwany "telefonem"? Z drugiej, to trochę przerażające. Ciężko nadążyć. Bo choć większość z nas, starszych i młodszych, na co dzień korzysta z nowoczesnych technologii, to jednak rzadko kto je naprawdę rozumie. Bo żeby zrozumieć, żeby się nauczyć i móc pójść dalej, trzeba spróbować: zaprojektować trójwymiarowy obiekt w programie pCon.planner zbudować silnik z klocków LEGO stworzyć animację, a może i grę w Scratchu Potem można ruszyć do przodu. Na ścieżkę twórców, odkrywców, naukowców i inżynierów na miarę XXI wieku. Potem można dorosnąć i przemienić pasję w pracę. Najpierw jednak trzeba sięgnąć do zasobów nieograniczonej w młodym wieku wyobraźni i połączyć ją z możliwościami, jakie daje nam dzisiejszy świat, już teraz pukający do drzwi przyszłości. Z niewielką pomocą tej książki Twoje nastoletnie dziecko bawiąc się aplikacjami i narzędziami dostępnymi na wyciągnięcie ręki i kliknięcie myszką, opanuje umiejętności, które mogą okazać się kluczowe dla jego przyszłego życia. Podaruj mu Technologiadę, a wraz z nią kompetencje przyszłości!
TensorFlow. 13 praktycznych projektów wykorzystujących uczenie maszynowe
Ankit Jain, Armando Fandango, Amita Kapoor
TensorFlow służy do projektowania i wdrażania zaawansowanych architektur głębokiego uczenia. Jego zaletami są prostota, wydajność i elastyczność. Umożliwia budowanie złożonych rozwiązań na bazie różnorodnych zbiorów danych. Co więcej, pozwala na stosowanie różnych technik uczenia nadzorowanego, nienadzorowanego oraz uczenia przez wzmacnianie. TensorFlow zmienił sposób postrzegania uczenia maszynowego. Dzięki temu środowisku każdy, kto chce uczynić z dużych zbiorów danych wiarygodne źródło wiedzy, może ten cel osiągnąć - niezależnie od tego, czy jest analitykiem danych, naukowcem, projektantem, czy pasjonatem metod sztucznej inteligencji. To książka przeznaczona dla osób, które chcą nauczyć się tworzyć całościowe rozwiązania z wykorzystaniem uczenia maszynowego. Poszczególne zagadnienia zilustrowano trzynastoma praktycznymi projektami, w których wykorzystano między innymi analizy sentymentów, przetwarzanie języka naturalnego, systemy rekomendacyjne, generatywne sieci kontradyktoryjne czy sieci kapsułowe. Pokazano, w jaki sposób używać TensorFlow z interfejsem APO Spark i wspomagać obliczenia układami GPU. Przedstawiono zastosowanie rozkładu macierzy (SVD++), modeli rankingowych i odmian splotowej sieci neuronowej. Nie zabrakło prezentacji nowych rozwiązań o dużym potencjale, takich jak sieci DiscoGAN. Dołączony do książki kod źródłowy, liczne wskazówki i porady pozwolą na płynne rozpoczęcie pracy z TensorFlow oraz innymi narzędziami do budowy sieci neuronowych. W tej książce między innymi: podstawy pracy z TensorFlow wykorzystanie TensorFlow do wizualizacji sieci neuronowych zastosowanie procesu gaussowskiego do prognozowania cen akcji wykrywanie oszukańczych transakcji za pomocą TensorFlow i Keras implementacja sieci kapsułowych w TensorFlow techniki uczenia przez wzmacnianie TensorFlow: prostota, wydajność i imponujący potencjał!
Terraform. Krótkie wprowadzenie. Tworzenie infrastruktury za pomocą kodu. Wydanie II
Yevgeniy Brikman
Terraform jest narzędziem open source służącym do tworzenia i wdrażania kodu infrastruktury licznych platform wizualizacji i chmury, takich jak Amazon Web Services, Google Cloud, Azure, oraz zarządzania tym kodem. Migracja korporacyjnych systemów IT do chmury jest niezwykle obiecującą możliwością i wielu menedżerów wysokiego szczebla dostrzega zalety technologii chmurowych. Terraform znakomicie ułatwia wdrażanie rozwiązań opartych na chmurze, jest też narzędziem szczególnie predysponowanym do pracy zgodnej z metodyką DevOps, dzięki której współdziałanie ludzi, procesów i technologii pozwala na zapewnienie wysokiej jakości i niezawodności produktu. Ta książka jest drugim, wzbogaconym i uzupełnionym wydaniem praktycznego samouczka, dzięki któremu rozpoczęcie pracy z Terraform stanie się bardzo łatwe. Zapoznasz się z językiem programowania Terraform i zasadami tworzenia kodu. Szybko zaczniesz go wdrażać i zarządzać infrastrukturą za pomocą zaledwie kilku poleceń. Istotną częścią publikacji jest ukazanie metodologii DevOps w działaniu oraz wyjaśnienie zasad kodowania infrastruktury. Dziesiątki jasnych przykładów kodu, które można samodzielnie wypróbować w akcji, ułatwią zrozumienie podstaw. Niezależnie od tego, czy jesteś początkującym programistą, weteranem DevOps lub doświadczonym administratorem systemów, szybko przejdziesz od podstaw Terraform do przygotowania pełnego stosu, który zapewni obsługę ogromnego ruchu sieciowego i dużych zespołów programistów. W książce między innymi: wprowadzenie do Terraform wraz ze zmianami w kolejnych wydaniach tworzenie wysokiej jakości modułów Terraform testy ręczne i zautomatyzowane kodu wdrażanie klastrów serwerów, mechanizmy równoważenia obciążenia i bazy danych zarządzanie informacjami o stanie infrastruktury zaawansowana składnia Terraform Infrastruktura: koduj, wdrażaj i zarządzaj!
Terraform. Tworzenie infrastruktury za pomocą kodu. Wydanie III
Yevgeniy Brikman
Jeszcze do niedawna praca administratora systemu polegała na ręcznym przygotowywaniu infrastruktury do działania. Mozolne konfigurowanie serwerów, baz danych i elementów sieci niosło za sobą ryzyko przestojów środowiska produkcyjnego i wprowadzenia błędnych ustawień, a wdrożenia przebiegały powoli i łączyły się z nieuchronnym poszukiwaniem błędów. Dziś do tego rodzaju prac służy Terraform, narzędzie open source przeznaczone do tworzenia i wdrażania kodu infrastruktury, a także zarządzania nim; rozwiązanie stosowane w takich platformach jak Amazon Web Services, Google Cloud, Azure i wiele innych. To trzecie, wzbogacone i uzupełnione wydanie praktycznego samouczka, dzięki któremu błyskawicznie rozpoczniesz pracę z Terraform. Zapoznasz się z językiem programowania Terraform i zasadami tworzenia kodu. Szybko zaczniesz wdrażać infrastrukturę i zarządzać nią za pomocą zaledwie kilku poleceń. Istotną częścią książki jest pokazanie metodologii DevOps w działaniu, a także wyjaśnienie zasad kodowania infrastruktury. Dziesiątki jasnych przykładów kodu, które można samodzielnie wypróbować w akcji, ułatwią zrozumienie podstaw. Nie musisz być weteranem DevOps ani doświadczonym administratorem systemów - z tym podręcznikiem nawet początkujący programiści sprawnie przygotują pełny stos, który zapewni obsługę ogromnego ruchu sieciowego w rzeczywistych środowiskach produkcyjnych. Dzięki książce: zrozumiesz, kiedy używać Terraform, a kiedy innych narzędzi wdrożysz klastry serwerów, mechanizmy równoważenia obciążenia i bazy danych nauczysz się tworzyć infrastrukturę Terraform przetestujesz moduły Terraform wieloma metodami skonfigurujesz potoki CI/CD i zaczniesz się posługiwać zaawansowaną składnią Terraform nauczysz się pracować w środowiskach chmurowych Infrastruktura jako kod: od sukcesu dzieli Cię kilka poleceń!
Adam Tibi
Spośród wielu koncepcji tworzenia oprogramowania na szczególną uwagę zasługuje model programowania sterowanego testami - TDD. Zastosowanie podejścia TDD ułatwia utrzymanie wysokiej jakości kodu. Technika ta opiera się na dodawaniu funkcjonalności do produktu dopiero po utworzeniu i przeprowadzeniu testów jednostkowych. TDD coraz częściej jest wyborem szanowanych firm programistycznych. W tej praktycznej książce przedstawiono zasady TDD na rzeczywistych przykładach z użyciem popularnych frameworków, takich jak ASP.NET Core i Entity Framework. Po zapoznaniu się z solidnym wprowadzeniem do koncepcji TDD dowiesz się, jak można używać Visual Studio 2022 do tworzenia aplikacji internetowej z wykorzystaniem Entity Framework, a także baz danych SQL Server i Cosmos DB. Nauczysz się też korzystać z różnych wzorców, takich jak repozytorium, usługi i budowniczy. Ponadto omówiono tu architekturę DDD i inne najlepsze praktyki stosowane podczas tworzenia oprogramowania, w tym reguły SOLID i wskazówki FIRSTHAND. Nie zabrakło przydatnych uwag o biznesowych aspektach podejścia TDD. W książce między innymi: testy jednostkowe i mechanizm wstrzykiwania zależności NSubstitute: imitacje i dublery używane podczas testów zastosowanie TDD dla ASP.NET API, Entity Framework i baz danych tworzenie potoków ciągłej integracji za pomocą GitHub zaawansowane scenariusze używania imitacji korzyści z wdrażania podejścia TDD przez zespoły i firmy TDD wprowadza dobre praktyki i doskonali programistę!