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.
Tajniki języka JavaScript. Typy i składnia
Kyle Simpson
Nawet początkujący programista może szybko zacząć tworzyć funkcjonalne aplikacje w JavaScripcie. Jest to prosty i łatwy w użyciu język, który cieszy się dużym uznaniem, a jednocześnie stanowi złożoną kolekcję mechanizmów, zapożyczonych z różnych języków programowania (są to np. podstawy proceduralne znane z języka C czy podstawy funkcjonalne w stylu języka Scheme/Lisp). Bez starannej analizy mechanizmy te nie będą zrozumiałe nawet dla najbardziej doświadczonych projektantów. A przecież umiejętność rozwiązywania problemów i tworzenia kodu o naprawdę wysokiej klasie w prosty sposób zależy od takiego właśnie dogłębnego zrozumienia mechanizmów języka, w którym się pisze. Niniejsza książka jest czwartą częścią serii w całości poświęconej językowi JavaScript. Jest przeznaczona dla osób, które używają JS w pracy i chcą dogłębnie poznać jego składniki. Omówiono w niej rodzaje i zastosowanie typów oraz istotne niuanse składni. Poza ogólnymi informacjami szczegółowo opisano m.in. typy wbudowane, konwersję typów, wartości specjalne, obiekty macierzyste, prototypy macierzyste, instrukcje i wyrażenia, reguły kontekstowe. Co najważniejsze, materiał przedstawiono w sposób przystępny, zwięzły, klarowny i zarazem na bardzo wysokim poziomie. Dzięki tej książce: Poznasz siedem typów języka JavaScript: null, undefined, boolean, number, string, object i symbol Przeanalizujesz i zrozumiesz niepowtarzalne możliwości JavaScriptu związane z ciągami znakowymi, tablicami i liczbami Dowiesz się, w jaki sposób obiekty macierzyste zapewniają obiekty opakowujące wartości typu prymitywnego Poznasz tajniki konwersji typów i nauczysz się wykorzystywać jej zalety Zaczniesz rozumieć niuanse składni JavaScriptu, w tym również dotyczące instrukcji i wyrażeń Zbliżysz się do celu, jakim jest prawdziwe i dogłębne zrozumienie JavaScript Zrozum mechanizmy języka JavaScript i pisz kod dobrej jakości!
Tajniki języka JavaScript. Wskaźnik this i prototypy obiektów
Kyle Simpson
JavaScript uchodzi za język lekki, łatwy i przyjemny — początkujący programista bardzo szybko może zacząć tworzyć w nim proste aplikacje. Aby osiągnąć prawdziwą biegłość w tym języku, trzeba jednak przyswoić sobie pewne zaawansowane, złożone mechanizmy. Nauka tych zagadnień wymaga sporego wysiłku, ale dzięki niej można zyskać umiejętność wykorzystywania ich w praktyce, co znacząco poszerza możliwości programisty. Niniejsza książka jest częścią serii w całości poświęconej językowi JavaScript. Autor skupia się właśnie na tych złożonych, głębszych aspektach JavaScriptu i dogłębnie, wnikliwie je analizuje, a następnie bazując na takich solidnych podstawach, pokazuje praktyczne zastosowanie opisanych koncepcji. W książce tej omówiono wskaźnik this oraz prototypy obiektów. Autor wyjaśnia sposób działania tych mechanizmów, pokazując, w jaki sposób korzysta się z delegacji — wzorca projektowego, w którym obiekty są połączone, a nie klonowane. Dzięki tej książce: Dowiesz się, jak wiązanie this wskazuje obiekty na podstawie sposobu wywołania funkcji. Spojrzysz na naturę obiektów JavaScript i przekonasz się, dlaczego powinieneś je wskazywać w innych obiektach. Zobaczysz, jak programiści używają wzorca domieszek, aby emulować klasy w JavaScript. Przeanalizujesz, jak mechanizm prototypów w JavaScript tworzy połączenia między obiektami. Dowiesz się, jak przejść z projektu opartego na klasach i dziedziczeniu do projektu bazującego na delegacji. Zobaczysz, jak tworzenie kodu w stylu OLOO (obiekty połączone z innymi obiektami) pozwala w naturalny sposób zaimplementować mechanizm delegacji. Sprawdź, jakie zagadki kryje w sobie ten stary, dobry JavaScript! Kyle Simpson pochodzi z Teksasu. Jest propagatorem Open Web i wielkim pasjonatem wszystkiego, co jest związane z językiem JavaScript. Ma dar przekazywania wiedzy i zarażania entuzjazmem. Pisze książki, prowadzi warsztaty, występuje na konferencjach o tematyce technicznej oraz jest aktywnym członkiem społeczności OSS.
Tajniki języka JavaScript. Zakresy i domknięcia
Kyle Simpson
Początkujący programista może zacząć szybko tworzyć proste aplikacje w JavaScripcie i nabrać złudnego przekonania o swoich umiejętnościach. Jednak ten, kto chce osiągnąć prawdziwą biegłość w tym języku, musi opanować trudniejsze zagadnienia, na przykład asynchroniczność czy techniki związane z wydajnością. Choć nie jest to ani proste, ani oczywiste, trzeba też zrozumieć wewnętrzne mechanizmy rządzące JS. Dopiero wiedza na tym poziomie pozwoli na zdobycie umiejętności profesjonalisty. Niniejsza książka jest drugą częścią serii w całości poświęconej językowi JavaScript. Jest przeznaczona dla osób, które używają JS w swojej pracy, ale postanowiły włożyć trochę wysiłku w to, aby bardzo dokładnie rozumieć, dlaczego i w jaki sposób działa ten język. Omówiono w niej bardzo istotne koncepcje JS: zakresy i domknięcia. Poza ogólnymi informacjami szczegółowo opisano m.in. zakresy leksykalne, zakresy funkcji i bloku, mechanizm hostingu i zakresy domknięcia. Co najważniejsze, przedstawiono materiał w sposób przystępny, zwięzły i klarowny, ale nieodmiennie na bardzo wysokim poziomie. Dzięki tej książce: poznasz najważniejsze zasady rządzące wewnętrznym sposobem działania kodu JS zrozumiesz pojęcie zakresu — zbioru reguł kierujących pracą silnika JavaScript dokładnie poznasz zagnieżdżone zakresy, czyli serie kontenerów przechowujących zmienne i funkcje poznasz zakresy funkcji i bloku, mechanizm hostingu, a także wzorce i korzyści płynące z ukrywania na poziomie zakresu zaczniesz prawidłowo stosować domknięcia w zadaniach synchronicznych i asynchronicznych, między innymi podczas tworzenia bibliotek JavaScriptu zbliżysz się do celu, jakim jest prawdziwe i dogłębne zrozumienie tego języka Dowiedz się, w jaki sposób działa Twój kod JS!
Paul Thurrott, Rafael Rivera
Sprawdź możliwości systemu Windows 8! Windows 8 na dobre zadomowił się już na naszych komputerach i urządzeniach mobilnych. Jego nowy interfejs budzi jednak wiele skrajnych emocji. Mechanizmy, które dla początkujących są niezwykle przyjazne i intuicyjne, doświadczonych użytkowników systemu Windows potrafią wprawić w zakłopotanie. Pewne jednak jest to, że najnowsza wersja systemu dyktuje trendy w projektowaniu intefejsu użytkownika na kolejne lata. Dzięki tej książce jesteś w stanie błyskawicznie opanować nowości systemu Windows 8 – poznasz jego interfejs oraz umiejscowienie przydatnych narzędzi. Na samym początku dowiesz się, jak wybrać wersję systemu dopasowaną do Twoich potrzeb oraz jaki sprzęt musisz posiadać żeby w pełni wykorzystać potencjał tego systemu operacyjnego. W kolejnych rozdziałach poznasz aplikacje dostarczane wraz z systemem, które uprzyjemnią i ułatwią Twoje codzienne zadania. W tej książce znajdziesz również obszerne informacje na temat bezpieczeństwa systemu: kopie bezpieczeństwa, zarządzanie kontami i uprawnieniami i wiele innych. Książka ta jest kompletnym i unikalnym przewodnikiem po nowościach systemu Windows 8. Obowiązkowa lektura dla każdego użytkownika i dla wszystkich zastanawiających się nad zmianą systemu. Sięgnij po tą książkę i: poznaj zalety systemu Windows 8 przekonaj się, jak wygodny jest nowy interfejs Metro sprawdź, jak dostosować system do swoich potrzeb wykorzystaj potencjał systemu Windows 8 Poznaj moc ukrytą pod maską Windows 8!
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!
TCP/IP od środka. Protokoły. Wydanie II
Kevin R. Fall, W. Richard Stevens
Kompendium wiedzy o TCP/IP! TCP/IP to model, bez którego nie byłoby sieci Internet — takiej, jaką dziś znamy. Pomimo słusznego wieku (pierwsze próby odbywały się w latach 70.) jest nadal w pełni wystarczający. Główne założenie modelu TCP/IP to podział całego procesu komunikacji na współpracujące ze sobą warstwy. Na tej podstawie zbudowane są różne protokoły transmisji danych, takie jak FTP, HTTP czy też SMTP. „TCP/IP od środka. Protokoły. Wydanie II” to szczegółowy, opatrzony wieloma ilustracjami przewodnik po współczesnych protokołach grupy TCP/IP. Uwzględnia najnowsze wersje tych protokołów i pokazuje ich funkcjonowanie „na żywo”, w środowisku popularnych systemów operacyjnych, takich jak Windows, Linux i Mac OS X. Nie ma lepszego sposobu na wyjaśnienie, dlaczego właśnie tak wyglądają poszczególne aspekty działania TCP/IP, jak zmienia się ono w różnych okolicznościach oraz jak wykorzystać jego różne możliwości. To wyjątkowe opracowanie stanowi obowiązkową lekturę dla wszystkich osób chcących dowiedzieć się więcej o podwalinach współczesnej sieci. W trakcie lektury poznasz założenia architektoniczne, architekturę adresów internetowych oraz znaczenie i rolę poszczególnych warstw modelu TCP/IP. Dowiesz się, jak korzystać z komunikatów ICMP, rozgłaszać informacje w sieci, kontrolować przeciążenia w protokole TCP oraz korzystać z mechanizmów kryptograficznych. Znajdziesz tu dogłębne i intuicyjne wyjaśnienie wielu meandrów TCP/IP i Internetu, co pozwoli Ci bardziej efektywnie zarządzać swymi sieciami i tworzyć lepsze aplikacje internetowe. W tym znakomitym podręczniku znajdziesz informacje na temat: modelu TCP/IP bezprzewodowych sieci LAN architektury adresów internetowych protokołu PPP możliwości autokonfiguracji z wykorzystaniem DHCP datagramów użytkownika – UDP Kompletne źródło informacji na temat możliwości TCP/IP! Kevin R. Fall zajmuje się protokołami TCP/IP od ponad ćwierćwiecza. Jest członkiem organizacji Internet Architecture Board oraz współzarządzającym grupy roboczej IETF Delay Tolerant Networking Research (DTNRG), zajmującej się problematyką wydajnego funkcjonowania sieci w warunkach ekstremalnych. Należy również do IEEE. W. Richard Stevens był jednym z tych pionierskich autorów, na książkach których wychowało się całe pokolenie profesjonalistów od sieci TCP/IP, sukcesywnie sprowadzających Internet z wyżyn akademickich katedr do codziennego życia każdego człowieka. Wśród bestsellerów jego autorstwa można wymienić wszystkie trzy tomy „TCP/IP Illustrated” (Addison-Wesley) oraz „UNIX Network Programming” (Prentice Hall).
TCP/IP w 24 godziny. Wydanie VI
Joe Casad
Protokół TCP/IP jest podstawą współczesnych technologii sieciowych, a przede wszystkim internetu. Próba rozwiązywania problemów z siecią bez choćby podstawowej wiedzy o TCP/IP prawdopodobnie skończy się porażką. Mimo że technologia ta liczy sobie ponad 30 lat, wciąż uważana jest za kluczową. Założeniem twórców tego protokołu było zbudowanie sieci, która działałaby nieprzerwanie nawet po zniszczeniu części jej fizycznej infrastruktury — i rzeczywiście, internet taki właśnie jest. Niestety, protokół TCP/IP jest dość skomplikowany i wymaga znajomości wielu szczegółów technicznych. Książka, którą trzymasz w dłoni, została pomyślana jako zwięzły podręcznik składający się z 24 godzinnych lekcji. Znajdziesz tu szczegóły działania protokołów i opis szerokiego spektrum usług dostępnych dziś w internecie. Dowiesz się, jak konfigurować sieci i nimi zarządzać oraz jak rozwiązywać problemy. W obecnym, szóstym już wydaniu znalazły się opisy najnowszych technik, takich jak śledzenie i ochrona prywatności transmisji danych, chmura obliczeniowa, sieci mobilne i internet rzeczy. Zrozumienie prezentowanych treści ułatwią Ci praktyczne przykłady, quizy i ćwiczenia, a także liczne porady i sztuczki, niezwykle ułatwiające korzystanie z najlepszych cech TCP/IP. Najważniejsze zagadnienia ujęte w książce: standard TCP/IP i jego ewolucja, a także model ISO OSI i warstwy sieci bezpieczna transmisja danych protokoły IPv4 i IPv6 protokół TCP/IP w środowiskach chmurowych i IoT wydajne strumieniowanie i rozgłaszanie danych diagnostyka i rozwiązywanie problemów z siecią komputerową Już wkrótce poznasz wszystkie sekrety TCP/IP! Joe Casad — jest inżynierem, który szczególnie interesuje się sieciami komputerowymi i zarządzaniem systemami. Jest również autorem i współautorem kilkunastu książek o tej tematyce. Obecnie jest redaktorem naczelnym pism „Linux Pro Magazine” i „ADMIN Magazine”. Wcześniej był redaktorem naczelnym „C/C++ Users Journal” i redaktorem technicznym „Sysadmin Magazine”.
TDD. Programowanie w Javie sterowane testami
Viktor Farcic, Alex Garcia
Programowanie sterowane testami (ang. test-driven development — TDD) nie jest nową metodyką. Jej praktyczne zastosowanie pozwala na rozwiązanie wielu problemów związanych z procesami rozwijania i wdrażania oprogramowania. Mimo ogromnych zalet, programowanie sterowane testami nie jest zbyt popularne wśród programistów. Wynika to z tego, że techniki TDD nie są łatwe do opanowania. Choć teoretyczne podstawy wydają się logiczne i zrozumiałe, nabranie wprawy w stosowaniu TDD wymaga długiej praktyki. Książka, którą trzymasz w ręce, została napisana przez programistów dla programistów. Jej celem jest przekazanie podstaw TDD i omówienie najważniejszych praktyk związanych z tą metodyką, a przede wszystkim — nauczenie praktycznego stosowania TDD w pracy. Autorzy nie ukrywają, że nabranie biegłości w takim programowaniu wymaga sporo wysiłku, jednak korzyści płynące z metodyki TDD są znaczne: skrócenie czasu wprowadzania produktów na rynek, łatwiejsza refaktoryzacja, a także wyższa jakość tworzonych projektów. Z tą książką dogłębnie zrozumiesz metodykę TDD i uzyskasz wystarczającą pewność siebie, by z powodzeniem stosować to podejście w trakcie programowania aplikacji w Javie. Dzięki tej książce: Nauczysz się podstaw metodyki TDD Poznasz potrzebne narzędzia, platformy i środowiska wraz ze szczegółami ich konfiguracji Wykonywasz praktyczne ćwiczenia i stopniowo wdrożysz się w TDD Poznasz proces „czerwone, zielone, refaktoryzacja” Dowiesz się, jak pisać testy jednostkowe wykonywane w izolacji od reszty kodu Dowiesz się, jak tworzyć prosty i łatwy w konserwacji kod, nauczysz się refaktoryzować już istniejący Nauczysz się pracować z atrapami, stosować programowanie sterowane zachowaniami, a także udostępniać połowicznie ukończone funkcje w środowisku produkcyjnym za pomocą przełączników funkcji Programowanie sterowane testami to metodyka dla prawdziwych profesjonalistów!
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ł!