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.
TDD. Sztuka tworzenia dobrego kodu
Kent Beck
Idealny kod, pokryty w pełni testami, to marzenie każdego dewelopera. Niestety, marzenia zazwyczaj rozmijają się z rzeczywistością. Codzienność większości programistów to nieczytelny kod i brak testów. Są to doskonałe warunki do powstawania błędów, często bardzo trudnych do wykrycia. Czy jest sposób, żeby wybrnąć z tego ślepego zaułka? Czy są techniki pozwalające tworzyć przejrzysty kod, którego zmiana nie będzie sprawiała trudności? Oczywiście, że tak - wykorzystaj TDD (ang. Test Driven Development). Programowanie sterowane testami można sprowadzić do prostej zasady: w pierwszej kolejności napisz test, a następnie kod, który ma być testowany. Kent Beck w swojej książce zaprezentuje Ci w praktyce podejście TDD i pokaże, jak wdrożyć jego zasady w codziennej pracy. Zapoznaj się z licznymi przykładami zastosowania tej metody, przydatnymi poradami i najlepszymi wzorcami. To doskonały początek, żeby wdrożyć TDD w Twoim projekcie. Dowiedz się, jak tworzyć idealny kod! Dzięki tej książce: poznasz technikę programowania sterowanego testami stworzysz czytelny kod, doskonale pokryty testami nie będziesz się bał dokonywać zmian w Twoim kodzie Twój kod osiągnie nowe standardy jakości Twoja przepustka do świata idealnego kodu!
TDD. Techniki programowania sterowanego testami
Dariusz Woźniak
Odnieś sukces dzięki TDD! Poznaj filozofię programowania sterowanego testami Dowiedz się, jak wdrożyć metodę TDD w praktyce Naucz się stosować właściwe narzędzia i techniki Metoda Test-Driven Development pozwala na pisanie lepszej jakości, bardziej elastycznego i łatwiejszego w utrzymaniu kodu, na którym można w pełni polegać. Większa wydajność pracy programistów, którzy o wiele lepiej rozumieją potrzeby biznesowe stawiane tworzonym przez nich aplikacjom, znaczne przyspieszenie powtarzalnych testów - to tylko niektóre zalety TDD. Nic dziwnego, że świat zachwycił się tą techniką, a jej znajomość należy do podstawowych wymagań, które muszą spełnić inżynierowie pragnący rozwijać swoją karierę w branży IT. Jeśli chcesz poznać metodę TDD i nauczyć się tworzyć zgodne z nią testy jednostkowe, trafiłeś na właściwą książkę! W prosty sposób przedstawi Ci ona cykl Red-Green-Refactor, zaprezentuje zalety poprawnie zaimplementowanej techniki TDD, zwróci uwagę na trudności związane z wdrażaniem tej techniki i podpowie, jak sobie z nimi poradzić. Nauczysz się z niej pisać testy jednostkowe zgodnie z dobrymi praktykami oraz sprawdzać zależności i tworzyć atrapy obiektów. Dowiesz się, jak stosować TDD w przypadku już istniejącego kodu, a także jak mierzyć pokrycie kodu testami. Poznasz również podstawowe informacje na temat ciągłej integracji i jej znaczenia dla techniki TDD. Podstawowe informacje o testach i metodzie TDD Tworzenie dobrych testów jednostkowych Praktyczne zastosowanie biblioteki NUnit Atrapy i ich klasyfikacja Zastosowanie TDD do istniejącego kodu Pokrycie kodu testami i ciągła integracja Najważniejsze biblioteki wspierające TDD Poznaj w praktyce najbardziej przebojową metodę tworzenia oprogramowania!
TDD w praktyce. Niezawodny kod w języku Python
Harry Percival
„Ta książka to znacznie więcej niż tylko wprowadzenie do programowania sterowanego testami w Pythonie. To jest pełny kurs przedstawiający najlepsze praktyki, od początku do końca na przykładzie nowoczesnego programowania aplikacji sieciowej w Pythonie.” — Kenneth Reitz, członek Python Software Foundation Twórz niezawodne aplikacje w języku Python! Każdy programista marzy o pracy z przejrzystym kodem, który został w całości pokryty testami. Niestety, rzeczywistość bywa często daleka od ideału. A może da się go jednak osiągnąć? Odpowiedzią na to pytanie jest TDD (ang. Test-Driven Development), czyli wytwarzanie oprogramowania sterowane testami. Jak zacząć stosować tę technikę? Na to i wiele innych pytań odpowiada ta książka. Zacznij w praktyce realizować koncepcje płynące z TDD w połączeniu z językiem Python. Na początku dowiedz się, jak skonfigurować Django za pomocą testu funkcjonalnego, oraz skorzystaj z modułu unittest. Zdobądź też bezcenną wiedzę na temat testowania widoków, szablonów i adresów URL oraz naucz się testować układy strony i style. Sprawdź, jak zapewnić ciągłą integrację z wykorzystaniem systemu Jenkins oraz najlepszych praktyk w tworzeniu testowalnego kodu. Książka ta jest doskonałą lekturą dla wszystkich programistów tworzących aplikacje internetowe w języku Python. Twój kod może być naprawdę łatwy w utrzymaniu! Poznaj sposób pracy wykorzystujący podejście TDD, między innymi cykl test jednostkowy i tworzenie kodu, a później refaktoryzacja. Używaj testów jednostkowych dla klas i funkcji oraz testów funkcjonalnych pozwalających na symulowanie działań podejmowanych przez użytkownika w przeglądarce internetowej. Dowiedz się kiedy i jak używać obiektów imitacji, a także poznaj wady i zalety testów odizolowanych i zintegrowanych. Przetestuj i automatyzuj wdrożenie za pomocą serwera prowizorycznego. Zastosuj testy względem przygotowanych przez firmy trzecie wtyczek, które integrujesz z witryną. Używaj środowiska ciągłej integracji w celu automatycznego wykonywania testów. Poznaj techniki TDD w połączeniu z Pythonem!
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ł!