Programowanie
Yuri Diogenes, Dr. Erdal Ozkaya
Cybersecurity – Attack and Defense Strategies, Second Edition is a completely revised new edition of the bestselling book, covering the very latest security threats and defense mechanisms including a detailed overview of Cloud Security Posture Management (CSPM) and an assessment of the current threat landscape, with additional focus on new IoT threats and cryptomining.Cybersecurity starts with the basics that organizations need to know to maintain a secure posture against outside threat and design a robust cybersecurity program. It takes you into the mindset of a Threat Actor to help you better understand the motivation and the steps of performing an actual attack – the Cybersecurity kill chain. You will gain hands-on experience in implementing cybersecurity using new techniques in reconnaissance and chasing a user’s identity that will enable you to discover how a system is compromised, and identify and then exploit the vulnerabilities in your own system.This book also focuses on defense strategies to enhance the security of a system. You will also discover in-depth tools, including Azure Sentinel, to ensure there are security controls in each network layer, and how to carry out the recovery process of a compromised system.
Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów
Robert C. Martin
Pierwsze linie kodu powstawały pół wieku temu. Komputery, na które tworzono te programy, w bardzo niewielkim stopniu przypominały współczesne maszyny. Niezależnie od upływu lat, postępu technologii i powstawania wymyślnych narzędzi, języków programowania czy frameworków pewne zasady tworzenia kodu pozostają niezmienne. Są takie same jak w czasie, gdy Alan Turing pisał pierwszy kod maszynowy w 1946 roku. Respektowanie tych zasad to warunek, że uzyska się oprogramowanie o czystej architekturze, czyli poprawne strukturalnie, łatwe w utrzymaniu i rozwijaniu, a przede wszystkim działające zgodnie z oczekiwaniami. W tej książce w sposób jasny i bardzo interesujący przedstawiono uniwersalne zasady architektury oprogramowania wraz z szeregiem wskazówek dotyczących stosowania tych reguł w praktyce. Wyczerpująco zaprezentowano tu dostępne rozwiązania i wyjaśniono, dlaczego są one tak istotne dla sukcesu przedsięwzięcia. Publikacja jest wypełniona bardzo praktycznymi rozwiązaniami problemów, z którymi musi się mierzyć wielu programistów. Szczególnie cenne są uwagi dotyczące zapobiegania częstemu problemowi, jakim jest stopniowa utrata jakości kodu w miarę postępu projektu. Ta książka obowiązkowo powinna się znaleźć w podręcznej biblioteczce każdego architekta oprogramowania, analityka systemowego, projektanta i menedżera! Z książki dowiesz się: Do czego muszą dążyć architekci oprogramowania i w jaki sposób mogą osiągać te cele Jak brzmią najważniejsze zasady projektowania oprogramowania związane z adresowaniem funkcji, separacją komponentów i zarządzaniem danymi W jaki sposób paradygmaty oprogramowania wzmagają dyscyplinę pracy Co podczas tworzenia oprogramowania jest więcej, a co jest mniej ważne W jaki sposób implementować optymalne struktury dla sieci WWW, baz danych, konsoli i aplikacji osadzonych Czysta architektura - doskonały kod!
Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów
Robert C. Martin
Pierwsze linie kodu powstawały pół wieku temu. Komputery, na które tworzono te programy, w bardzo niewielkim stopniu przypominały współczesne maszyny. Niezależnie od upływu lat, postępu technologii i powstawania wymyślnych narzędzi, języków programowania czy frameworków pewne zasady tworzenia kodu pozostają niezmienne. Są takie same jak w czasie, gdy Alan Turing pisał pierwszy kod maszynowy w 1946 roku. Respektowanie tych zasad to warunek, że uzyska się oprogramowanie o czystej architekturze, czyli poprawne strukturalnie, łatwe w utrzymaniu i rozwijaniu, a przede wszystkim działające zgodnie z oczekiwaniami. W tej książce w sposób jasny i bardzo interesujący przedstawiono uniwersalne zasady architektury oprogramowania wraz z szeregiem wskazówek dotyczących stosowania tych reguł w praktyce. Wyczerpująco zaprezentowano tu dostępne rozwiązania i wyjaśniono, dlaczego są one tak istotne dla sukcesu przedsięwzięcia. Publikacja jest wypełniona bardzo praktycznymi rozwiązaniami problemów, z którymi musi się mierzyć wielu programistów. Szczególnie cenne są uwagi dotyczące zapobiegania częstemu problemowi, jakim jest stopniowa utrata jakości kodu w miarę postępu projektu. Ta książka obowiązkowo powinna się znaleźć w podręcznej biblioteczce każdego architekta oprogramowania, analityka systemowego, projektanta i menedżera! Z książki dowiesz się: Do czego muszą dążyć architekci oprogramowania i w jaki sposób mogą osiągać te cele Jak brzmią najważniejsze zasady projektowania oprogramowania związane z adresowaniem funkcji, separacją komponentów i zarządzaniem danymi W jaki sposób paradygmaty oprogramowania wzmagają dyscyplinę pracy Co podczas tworzenia oprogramowania jest więcej, a co jest mniej ważne W jaki sposób implementować optymalne struktury dla sieci WWW, baz danych, konsoli i aplikacji osadzonych Czysta architektura - doskonały kod!
Dino Esposito
Co robić w każdej fazie projektowania czystej architektury aplikacji .NET Opanuj zaawansowane techniki .NET, skupiając się na rzeczywistej wartości zapewnianej przez pracę w modularnej, czystej architekturze. Autor, posiadacz tytułu MVP dla Microsoft Data Platform, wyjaśnia kluczowe koncepcje czystej architektury, które z domieszką pragmatyzmu i dyscypliny projektowej pomagają zastosować tę wiedzę w rzeczywistym projekcie. Zaczynając od poszukiwań architektury modularnej i przedstawienia metodologii projektowania dziedzinowego (DDD), Esposito podkreśla rolę, jaką modularyzacja odgrywa w zarządzaniu złożonością w wytwarzaniu oprogramowania. Kolejne warstwy architektury, która jest modularna i łatwa w utrzymaniu, prezentuje poprzez przykładowy projekt, który nie jest jedynie kolejną zabawką, ale rzeczywistym narzędziem przydatnym dla czytelnika. Na koniec przechodzi do typowych dylematów, przed którymi stoją programiści i operatorzy, łącząc historyczne osiągnięcia z praktycznymi rozwiązaniami na dziś. Ta książka pomoże Ci: Zrozumieć znaczenie architektury modularnej w historii oprogramowania Poznać koncepcje projektowania dziedzinowego - zarówno strategiczne, jak i praktyczne Stosować techniki analizy modularnej w swoich projektach Uzyskać najwięcej korzyści z architektury warstwowej Szczegółowo poznać indywidualne warstwy - prezentacji, aplikacji, domenowej i infrastruktury Zrozumieć celowość używania usług domenowych do oddzielenia surowych zadań przechowywania danych od zadań biznesowych Poznać szereg najlepszych praktyk C# dla modelowania klas na podstawie bytów ze świata rzeczywistego Zrozumieć zalety mikrousług w porównaniu do monolitów modularnych Poznać typowe problemy wdrożeniowe po stronie klienta i serwera Skonfigurować swoją architekturę, przetestować założenia i uzyskać jeszcze więcej pomocy Dla profesjonalistów IT Dla profesjonalistów oprogramowania, architektów, czołowych programistów, wykładowców, konsultantów i analityków Dla każdego, kto chce zostać architektem oprogramowania i poznać zalety czystej, warstwowej i modularnej architektury O autorze Dino Esposito napisał do tej pory ponad 20 książek i przeszło tysiąc artykułów. Jego kariera programisty obejmuje ponad trzy dekady. Powszechnie uznaje się, że jego książki i artykuły pomogły w rozwoju profesjonalnym tysięcy programistów .NET. Zaczynał w roku 1992 jako programista C i był świadkiem debiutu .NET, powstania i upadku Silverlight, dziewięciu wcieleń JavaScript oraz pojawiania się i znikania rozmaitych wzorców architektonicznych dla przetwarzania rozproszonego. Po dwóch latach pracy jako konsultant w branży energetycznej, obecnie kieruje zespołem IT, który zbudował i utrzymuje (w ASP.NET) działającą non-stop platformę do obsługi rozgrywek zawodowego tenisa. Jego inny zespół buduje oprogramowanie wspierające terapie na potrzeby szpitala watykańskiego. Można się z nim skontaktować poprzez stronę https://youbiquitous.net albo LinkedIn.
Czysty Agile. Powrót do podstaw
Robert C. Martin
W lutym 2001 roku grupa kilkunastu pasjonatów programowania zebrała się w Snowbird w stanie Utah, aby podyskutować na temat efektywności tworzenia oprogramowania i określić nowe zasady pracy. Nie był to cel łatwy do osiągnięcia. Siedemnaście osób o całkowicie różnych doświadczeniach i przekonaniach raczej rzadko wypracowuje wspólne stanowisko. A jednak w tym przypadku tak się stało i powstał Manifest Agile. Właśnie wtedy narodziła się jedna z najważniejszych idei w świecie oprogramowania, która stopniowo zyskiwała zwolenników również poza światem programistów. Zwiększająca się popularność Agile sprawiła, że wielu starało się upiększać, rozmywać czy modyfikować jego koncepcje. Powoli dookoła Agile nagromadziły się nieporozumienia. Ta książka jest bardzo potrzebnym powrotem do podstaw Agile. Przyda się nowemu pokoleniu programistów, nieprogramistów i osób, które kierują zespołami. Znalazł się tu jednoznaczny opis sedna Agile jako prostej i spójnej koncepcji zwinnego zarządzania małym projektem w niewielkim zespole. To bardzo ważny aspekt Agile, gdyż wielkie projekty składają się z szeregu małych projektów. Pokazano tu, jak zaimplementować metodyki Agile w poprawny, czysty sposób. Zaprezentowano kluczowe koncepcje w ich pierwotnej formie. Wyjaśniono zasady poszczególnych praktyk. Przy tym wszystkim książka jest szczerą, osobistą opowieścią o historii Agile i jego fundamentalnej idei. W tej książce między innymi: czym jest Agile i jaka jest jego istota właściwe stosowanie metodyki Scrum najważniejsze praktyki biznesowe Agile najważniejsze praktyki techniczne Agile wartości i rzemieślnictwo a praca zwinnych zespołów Agile: ponadczasowa idea zwinnego rozwoju projektu!
Czysty kod. Podręcznik dobrego programisty
Robert C. Martin
Poznaj najlepsze metody tworzenia doskonałego kodu Jak pisać dobry kod, a zły przekształcić w dobry? Jak formatować kod, aby osiągnąć maksymalną czytelność? Jak implementować pełną obsługę błędów bez zaśmiecania logiki kodu? O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, "czysty" kod i czym właściwie powinien się on charakteryzować. Co więcej - jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzenia czystego, czytelnego kodu znajdziesz właśnie w tej książce. Podręcznik jest obowiązkową pozycją dla każdego, kto chce poznać techniki rzetelnego i efektywnego programowania. W książce Czysty kod. Podręcznik dobrego programisty szczegółowo omówione zostały zasady, wzorce i najlepsze praktyki pisania czystego kodu. Podręcznik zawiera także kilka analiz przypadków o coraz większej złożoności, z których każda jest doskonałym ćwiczeniem porządkowania zanieczyszczonego bądź nieudanego kodu. Z tego podręcznika dowiesz się m.in., jak tworzyć dobre nazwy, obiekty i funkcje, a także jak tworzyć testy jednostkowe i korzystać z programowania sterowanego testami. Nauczysz się przekształcać kod zawierający problemy w taki, który jest solidny i efektywny. Nazwy klas i metod Funkcje i listy argumentów Rozdzielanie poleceń i zapytań Stosowanie wyjątków Komentarze Formatowanie Obiekty i struktury danych Obsługa błędów Testy jednostkowe Klasy i systemy Współbieżność Oczyszczanie kodu Niech stworzony przez Ciebie kod imponuje czystością!
Czysty kod. Podręcznik dobrego programisty
Robert C. Martin
Poznaj najlepsze metody tworzenia doskonałego kodu Jak pisać dobry kod, a zły przekształcić w dobry? Jak formatować kod, aby osiągnąć maksymalną czytelność? Jak implementować pełną obsługę błędów bez zaśmiecania logiki kodu? O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, "czysty" kod i czym właściwie powinien się on charakteryzować. Co więcej - jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzenia czystego, czytelnego kodu znajdziesz właśnie w tej książce. Podręcznik jest obowiązkową pozycją dla każdego, kto chce poznać techniki rzetelnego i efektywnego programowania. W książce Czysty kod. Podręcznik dobrego programisty szczegółowo omówione zostały zasady, wzorce i najlepsze praktyki pisania czystego kodu. Podręcznik zawiera także kilka analiz przypadków o coraz większej złożoności, z których każda jest doskonałym ćwiczeniem porządkowania zanieczyszczonego bądź nieudanego kodu. Z tego podręcznika dowiesz się m.in., jak tworzyć dobre nazwy, obiekty i funkcje, a także jak tworzyć testy jednostkowe i korzystać z programowania sterowanego testami. Nauczysz się przekształcać kod zawierający problemy w taki, który jest solidny i efektywny. Nazwy klas i metod Funkcje i listy argumentów Rozdzielanie poleceń i zapytań Stosowanie wyjątków Komentarze Formatowanie Obiekty i struktury danych Obsługa błędów Testy jednostkowe Klasy i systemy Współbieżność Oczyszczanie kodu Niech stworzony przez Ciebie kod imponuje czystością!
Czysty kod. Podręcznik dobrego programisty
Robert C. Martin
Poznaj najlepsze metody tworzenia doskonałego kodu Jak pisać dobry kod, a zły przekształcić w dobry? Jak formatować kod, aby osiągnąć maksymalną czytelność? Jak implementować pełną obsługę błędów bez zaśmiecania logiki kodu? O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, "czysty" kod i czym właściwie powinien się on charakteryzować. Co więcej - jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzenia czystego, czytelnego kodu znajdziesz właśnie w tej książce. Podręcznik jest obowiązkową pozycją dla każdego, kto chce poznać techniki rzetelnego i efektywnego programowania. W książce Czysty kod. Podręcznik dobrego programisty szczegółowo omówione zostały zasady, wzorce i najlepsze praktyki pisania czystego kodu. Podręcznik zawiera także kilka analiz przypadków o coraz większej złożoności, z których każda jest doskonałym ćwiczeniem porządkowania zanieczyszczonego bądź nieudanego kodu. Z tego podręcznika dowiesz się m.in., jak tworzyć dobre nazwy, obiekty i funkcje, a także jak tworzyć testy jednostkowe i korzystać z programowania sterowanego testami. Nauczysz się przekształcać kod zawierający problemy w taki, który jest solidny i efektywny. Nazwy klas i metod Funkcje i listy argumentów Rozdzielanie poleceń i zapytań Stosowanie wyjątków Komentarze Formatowanie Obiekty i struktury danych Obsługa błędów Testy jednostkowe Klasy i systemy Współbieżność Oczyszczanie kodu Niech stworzony przez Ciebie kod imponuje czystością!
Czysty kod. Receptury. Przepisy na poprawienie struktury i jakości Twojego kodu
Maximiliano Contieri
Funkcjonalność oprogramowania nieustannie się poszerza, a nowoczesny kod jest coraz częściej generowany przez narzędzia oparte na sztucznej inteligencji. W tych warunkach czystość kodu staje się niezwykle ważna. Niezależnie od tego, czy pracujesz na oprogramowaniu zastrzeżonym, czy otwartym, czysty kod jest najlepszym sposobem na to, aby zachować świeżość projektów i ich gotowość do rozwoju. Oto książka wsparta głęboką teorią i wieloma praktycznymi przykładami pisania czystego kodu! Daniel Moka, inżynier oprogramowania, Moka IT Receptury zawarte w tym zbiorze pozwalają nie tylko zrozumieć koncepcję czystego kodu, ale również poznać zasady identyfikacji kodu wymagającego poprawy i oceny wpływu refaktoryzacji na kod produkcyjny. Poza recepturami opisano tu potrzebne narzędzia i przedstawiono wskazówki dotyczące technik zmieniania kodu ― wraz z licznymi przykładami. Omówiono ponadto różne praktyki, heurystyki i reguły projektowania oprogramowania w sposób zapewniający jego niezawodność, łatwość testowania, bezpieczeństwo i skalowalność. Docenisz, że przykłady kodu zostały przedstawione w kilku nowoczesnych językach programowania. Dzięki temu receptury zawarte w tym przewodniku są przydatne niezależnie od używanego języka. W książce: znaczenie czystego kodu i identyfikacja możliwości jego poprawy techniki refaktoryzacji zestaw przykładów w kilku współczesnych językach programowania brzydkie zapachy kodu, ich konsekwencje i potencjalne rozwiązania techniki pisania prostego, czytelnego kodu W tej książce doskonale uchwycono głęboką wiedzę o tworzeniu oprogramowania! Alex Bunardzic, deweloper i instruktor
Czysty kod w C#. Techniki refaktoryzacji i najlepsze praktyki
Jason Alls
Język C# cechują dojrzałość, prostota i nowoczesność. Służy on do wielu celów: do tworzenia aplikacji sieciowych, aplikacji działających w chmurze, oprogramowania dla urządzeń mobilnych i internetu rzeczy. Choć pozwala na pisanie kodu bezpiecznego, przejrzystego, wydajnego i prostego w konserwacji, zdarzają się przypadki, gdy jest on tak fatalnej jakości, że uzyskanie właściwej skalowalności i wydajności oprogramowania staje się niemożliwe. W takim wypadku trzeba zidentyfikować i rozwiązać problemy występujące w kodzie. Nie jest to łatwe zadanie. Dzięki tej książce zrozumiesz znaczenie standardów kodowania, zasad i metodologii. Dowiesz się, czemu służą przeglądy kodu oraz jak przyczyniają się do jego poprawiania oraz zapewnienia zgodności z uznanymi standardami. Opisano tu także testy jednostkowe, zagadnienia związane z techniką TDD oraz rozwiązywaniem zadań przekrojowych. Zaprezentowano dobre praktyki programowania obiektów, struktur danych, obsługiwania wyjątków oraz innych aspektów pisania programów w języku C#. Poszczególne zagadnienia zilustrowano licznymi przykładami działającego kodu C# oraz wyczerpującymi wyjaśnieniami w postaci procedur krok po kroku. W książce między innymi: dobre praktyki pisania kodu w C# implementacja metodologii fail-pass-refactor dla kodu w C# wzorce projektowe i ich stosowanie rozpoznawanie kodu złej jakości zabezpieczanie interfejsów API i usługa Azure Key Vault wykorzystywanie narzędzi do profilowania i refaktoryzacji C#. Sekret sukcesu tkwi w czystym i najbardziej przejrzystym kodzie
Czysty kod w C++17. Oprogramowanie łatwe w utrzymaniu
Stephan Roth
Wzorce i najlepsze praktyki rozwoju łatwego w utrzymaniu oprogramowania w C++17 Język C++ jest wszechstronnym, potężnym językiem programowania, który ma bardzo różne zastosowania. To klasyczne, wciąż udoskonalane i unowocześniane narzędzie. Problemem jednak jest to, że programiści piszący w C++ dość często mają złe nawyki. Nie przestrzegają zasad manifestu Software Craftsmanship, stosują okropną składnię, całkowicie ignorują podstawowe reguły prawidłowego projektowania i pisania oprogramowania, a tworzony przez nich kod, choć często wydajny i szybki, bywa niemal niemożliwy w utrzymaniu. Jeśli chcesz, aby Twój kod C++ stał się optymalny i zyskał wyższą jakość, powinieneś uważnie przestudiować tę książkę. Pisanie dobrego kodu oznacza przyjemniejszą i wydajniejszą pracę. Niezależnie od tego, czy dopiero zaczynasz przygodę z C++, czy jesteś doświadczonym deweloperem, znajdziesz w tej publikacji cenne i przydatne informacje dotyczące zasad pisania kodu. Akronimy KISS, YAGNI czy DRY zyskają dla Ciebie nowe znaczenie! Otrzymasz też mnóstwo przydatnych wskazówek odnoszących się do pisania funkcji, prowadzenia testów, obsługi wyjątków i błędów, a nawet umieszczania komentarzy w kodzie. Na licznych przykładach pokazano, jak pisać zrozumiały, elastyczny, łatwy w konserwacji i wydajny kod w C++. W książce między innymi: Solidne wyjaśnienie zasad pisania czystego kodu w C++ Programowanie funkcyjne i obiektowe Wskazówki dotyczące programowania sterowanego testami (Test Driven Development) Wzorce projektowe i idiomy z C++ Praktyczne wykorzystanie wzorców projektowych podczas programowania Czysty kod C++17: elegancja, prostota i moc.
Czysty kod w Pythonie. Twórz wydajny i łatwy w utrzymaniu kod. Wydanie II
Mariano Anaya
Popularność Pythona, ulubionego języka programistów i naukowców, stale rośnie. Jest on bowiem łatwy do nauczenia się: nawet początkujący programista może napisać działający kod. W efekcie, mimo że Python pozwala na pisanie kodu przejrzystego i prostego w konserwacji, zdarzają się przypadki kodu źle zorganizowanego, nieczytelnego i praktycznie nietestowalnego. Jedną z przyczyn tego stanu rzeczy jest tendencja niektórych programistów do pisania kodu bez czytelnej struktury. Zidentyfikowanie takich problemów i ich rozwiązywanie nie jest łatwym zadaniem. Dzięki tej książce nauczysz się korzystać z kilku narzędzi służących do zarządzania projektami napisanymi w Pythonie. Dowiesz się, czym się charakteryzuje czysty kod i jakie techniki umożliwiają tworzenie czytelnego i wydajnego kodu. Przekonasz się, że do tego celu wystarczą standardowa biblioteka Pythona i zestaw najlepszych praktyk programistycznych. Opisano tu szczegóły programowania obiektowego w Pythonie wraz z zastosowaniem deskryptorów i generatorów. Zaprezentowano również zasady testowania oprogramowania i sposoby rozwiązywania problemów poprzez implementację wzorców projektowych w kodzie. Pokazano też, jak można podzielić monolityczną aplikację na mikrousługi, by otrzymać solidną architekturę aplikacji. W książce między innymi: konfiguracja wydajnego środowiska programistycznego tworzenie zaawansowanych projektów obiektowych techniki eliminacji zdublowanego kodu i tworzenie rozbudowanych abstrakcji zastosowanie dekoratorów i deskryptorów skuteczna refaktoryzacja kodu budowa solidnej architektury opartej na czystym kodzie Pythona Czysty kod w Pythonie. Tylko taki warto pisać!
Michael Walker
Przetwarzanie dużych ilości danych daje wiedzę, która leży u podstaw istotnych decyzji podejmowanych przez organizację. Pozwala to na uzyskiwanie znakomitych efektów: techniki wydobywania wiedzy z danych stają się coraz bardziej wyrafinowane. Podstawowym warunkiem sukcesu jest uzyskanie odpowiedniej jakości danych. Wykorzystanie niespójnych i niepełnych informacji prowadzi do podejmowania błędnych decyzji. Konsekwencją mogą być straty finansowe, stwarzanie konkretnych zagrożeń czy uszczerbek na wizerunku. A zatem oczyszczanie jest wyjątkowo ważną częścią analizy danych. Ta książka jest praktycznym zbiorem gotowych do użycia receptur, podanych tak, aby maksymalnie ułatwić proces przygotowania danych do analizy. Omówiono tu takie kwestie dotyczące danych jak importowanie, ocena ich jakości, uzupełnianie braków, porządkowanie i agregacja, a także przekształcanie. Poza zwięzłym omówieniem tych zadań zaprezentowano najskuteczniejsze techniki ich wykonywania za pomocą różnych narzędzi: Pandas, NumPy, Matplotlib czy SciPy. W ramach każdej receptury wyjaśniono skutki podjętych działań. Cennym uzupełnieniem jest zestaw funkcji i klas zdefiniowanych przez użytkownika, które służą do automatyzacji oczyszczania danych. Umożliwiają one też dostrojenie procesu do konkretnych potrzeb. W książce znajdziesz receptury, dzięki którym: wczytasz i przeanalizujesz dane z różnych źródeł uporządkujesz dane, poprawisz ich błędy i uzupełnisz braki efektywnie skorzystasz z bibliotek Pythona zastosujesz wizualizacje do analizy danych napiszesz własne funkcje i klasy do automatyzacji procesu oczyszczania danych Prawdziwą wartość mają tylko oczyszczone i spójne dane!
Kai Nacke
D is a programming language with C-like syntax and static typing. The vibe.d framework builds on powerful D concepts like template meta-programming and compile-time function execution to provide an easy-to-use environment for web applications. The combination of a feature-rich web programming framework with a language compiling to native code solves two common issues in web development today: it accelerates your development and it results in fast, native web applications. Learning the vibe.d framework before you start your application will help you to choose the right features to reach your goal.This book guides you through all aspects of web development with D and the vibe.d framework.Covering the popular operating systems today, this guide starts with the setup of your development system. From the first Hello World-style application you will move on to building static web pages with templates. The concise treatment of web forms will give you all the details about form handling and web security. Using the abstractions of the web framework you will learn how to easily validate user input. Next, you will add database access to your application, providing persistent storage for your data. Building on this foundation, you will expose your component and integrate other components via REST. Learning about the internals of vibe.d you will be able to use low-level techniques such as raw TCP access. The vibe.d concepts can also be used for GUI clients, which is the next topic that you will learn. vibe.d is supported by an active community, which adds new functionality. This comprehensive guide concludes with an overview of the most useful vibe.d extensions and where to find them. It also shows you how to integrate these extensions in your application.The concepts are always illustrated with source code, giving you an insight into how to apply them in your application.
Aendrew Rininsland , Michael Heydt, Pablo NAVARRO...
D3 has emerged as one of the leading platforms to develop beautiful, interactive visualizations over the web. We begin the course by setting up a strong foundation, then build on this foundation as we take you through the entire world of reimagining data using interactive, animated visualizations created in D3.js. In the first module, we cover the various features of D3.js to build a wide range of visualizations. We also focus on the entire process of representing data through visualizations. By the end of this module, you will be ready to use D3 to transform any data into a more engaging and sophisticated visualization.In the next module, you will learn to master the creation of graphical elements from data. Using practical examples provided, you will quickly get to grips with the features of D3.js and use this learning to create your own spectacular data visualizations with D3.js.Over the last leg of this course, you will get acquainted with how to integrate D3 with mapping libraries to provide reverse geocoding and interactive maps among many other advanced features of D3. This module culminates by showing you how to create enterprise-level dashboards to display real-time data.This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:? Learning D3.js Data Visualization, Second Edition by Andrew H. Rininsland? D3.js By Example by Michael Heydt? Mastering D3.js by Pablo Navarro Castillo
Dancing with Python. Learn to code with Python and Quantum Computing
Robert S. Sutor
Dancing with Python helps you learn Python and quantum computing in a practical way. It will help you explore how to work with numbers, strings, collections, iterators, and files.The book goes beyond functions and classes and teaches you to use Python and Qiskit to create gates and circuits for classical and quantum computing. Learn how quantum extends traditional techniques using the Grover Search Algorithm and the code that implements it. Dive into some advanced and widely used applications of Python and revisit strings with more sophisticated tools, such as regular expressions and basic natural language processing (NLP). The final chapters introduce you to data analysis, visualizations, and supervised and unsupervised machine learning.By the end of the book, you will be proficient in programming the latest and most powerful quantum computers, the Pythonic way.
Dane testowe. Teoria i Praktyka
Radosław Smilgin, Anna Piaskowy
Książka, której nie może zabraknąć w biblioteczce ambitnego programisty! Programowanie nierzadko uchodzi za sztukę magiczną, jednak nawet najbardziej pomysłowa aplikacja okaże się bezużyteczna, gdy znajdzie się w niej choć jeden poważny błąd — powodujący, że działanie programu będzie niezgodne z oczekiwaniami twórców i użytkowników. Dlatego nie mniej istotną kwestią jest należyte sprawdzenie poprawności oprogramowania. Takie działanie pozwoli nam zyskać pewność, że otrzymane za jego pomocą wyniki będą w pełni pokrywały się z przyjętymi założeniami. Zadanie to nie jest wcale tak banalne, jak mogłoby się wydawać, a zlekceważenie etapu testów może kosztować znacznie więcej, niż gotowi jesteśmy zapłacić. Niestety, tematyce tej nie poświęca się zwykle odpowiednio dużo uwagi, co można łatwo stwierdzić, przeglądając dostępne na rynku opracowania dotyczące testowania aplikacji. Chlubnym wyjątkiem jest tu książka "Dane testowe. Teoria i praktyka", w całości poświęcona metodologii przygotowywania i praktycznego wykorzystywania danych testowych, które zapewniają maksymalną niezawodność oraz bezpieczeństwo działania programów. Autor wprowadza Czytelnika w teoretyczne podstawy definiowania i generowania tego rodzaju danych, lecz prezentuje również przykłady i możliwości zastosowania opisywanych technik w praktyce. Dzięki temu każdy programista i tester będzie mógł skrócić czas sprawdzania poprawności działania aplikacji i uniknie szeregu typowych błędów oraz zaniechań, popełnianych zwykle w tym nierzadko bardzo skomplikowanym procesie. Podstawowe typy danych i związane z nimi błędy Techniki projektowania testów Definiowanie danych testowych Zarządzanie danymi i rozwiązywanie problemów Praktyczne przykłady danych testowych i ich wykorzystanie Sposoby pozyskiwania rzeczywistych danych Samodzielne generowanie danych testowych
Dane testowe. Teoria i Praktyka
Radosław Smilgin, Anna Piaskowy
Książka, której nie może zabraknąć w biblioteczce ambitnego programisty! Programowanie nierzadko uchodzi za sztukę magiczną, jednak nawet najbardziej pomysłowa aplikacja okaże się bezużyteczna, gdy znajdzie się w niej choć jeden poważny błąd — powodujący, że działanie programu będzie niezgodne z oczekiwaniami twórców i użytkowników. Dlatego nie mniej istotną kwestią jest należyte sprawdzenie poprawności oprogramowania. Takie działanie pozwoli nam zyskać pewność, że otrzymane za jego pomocą wyniki będą w pełni pokrywały się z przyjętymi założeniami. Zadanie to nie jest wcale tak banalne, jak mogłoby się wydawać, a zlekceważenie etapu testów może kosztować znacznie więcej, niż gotowi jesteśmy zapłacić. Niestety, tematyce tej nie poświęca się zwykle odpowiednio dużo uwagi, co można łatwo stwierdzić, przeglądając dostępne na rynku opracowania dotyczące testowania aplikacji. Chlubnym wyjątkiem jest tu książka "Dane testowe. Teoria i praktyka", w całości poświęcona metodologii przygotowywania i praktycznego wykorzystywania danych testowych, które zapewniają maksymalną niezawodność oraz bezpieczeństwo działania programów. Autor wprowadza Czytelnika w teoretyczne podstawy definiowania i generowania tego rodzaju danych, lecz prezentuje również przykłady i możliwości zastosowania opisywanych technik w praktyce. Dzięki temu każdy programista i tester będzie mógł skrócić czas sprawdzania poprawności działania aplikacji i uniknie szeregu typowych błędów oraz zaniechań, popełnianych zwykle w tym nierzadko bardzo skomplikowanym procesie. Podstawowe typy danych i związane z nimi błędy Techniki projektowania testów Definiowanie danych testowych Zarządzanie danymi i rozwiązywanie problemów Praktyczne przykłady danych testowych i ich wykorzystanie Sposoby pozyskiwania rzeczywistych danych Samodzielne generowanie danych testowych
Daniel Arbuckle's Mastering Python. Build powerful Python applications
Daniel Arbuckle
Daniel Arbuckle's Mastering Python covers the basics of operating in a Python development environment, before moving on to more advanced topics. Daniel presents you with real-world solutions to Python 3.6 and advanced-level concepts, such as reactive programming, microservices, ctypes, and Cython tools.You don't need to be familiar with the Python language to use this book, as Daniel starts with a Python primer. Throughout, Daniel highlights the major aspects of managing your Python development environment, shows you how to handle parallel computation, and helps you to master asynchronous I/O with Python 3.6 to improve performance. Finally, Daniel will teach you the secrets of metaprogramming and unit testing in Python, helping you acquire the perfect skillset to be a Python expert. Daniel will get you up to speed on everything from basic programming practices to high-end tools and techniques, things that will help set you apart as a successful Python programmer.
Dart: Scalable Application Development. Provides a solid foundation of libraries and tools
David Mitchell, Sergey Akopkokhyants, Ivo Balbaert
Designed to create next generation apps, Google’s Dart offers a much more robust framework and also supersedes JavaScript in several aspects. Familiar yet innovative, compact yet scalable, it blows away the accumulated JavaScript legacy limitations. Dart was designed for great tool-ability and developer productivity, allowing you to create better application faster than before. Google chose it for their billion dollar advertising business and you have its power for your projects too.The first module will introduce you the Dart language starting from its conception to its current form, and where it headed is through engaging substantial practical projects. You will be taken through building typical applications and exploring the exciting new technologies of HTML5.The second module will show you how to add internalization support to your web applications and how i18n and i10n access can be embedded into your code to design applications that can be localized easily. You will be shown how to organize client-to-server communication and how different HTML5 features can be used in Dart. Finally, this module will show you how you can store data locally, break the storage limit, and prevent security issues in your web application.The third module is a pragmatic guide that will increase your expertise in writing all kinds of applications, including web apps, scripts, and server-side apps. It provides rich insights on how to extend your Dart programming skills. Altogether, this course provides you the power to create powerful applications with Dart, without worrying about your knowledge leading to you having to make compromises to the end product!This Learning Path has been curated from three Packt products:Dart By Example By Davy MitchellMastering Dart By Sergey AkopkokhyantsDart Cookbook By Ivo Balbaert
Cuantum Technologies LLC
Embark on a comprehensive journey through data analysis with Python. Begin with an introduction to data analysis and Python, setting a strong foundation before delving into Python programming basics. Learn to set up your data analysis environment, ensuring you have the necessary tools and libraries at your fingertips. As you progress, gain proficiency in NumPy for numerical operations and Pandas for data manipulation, mastering the skills to handle and transform data efficiently.Proceed to data visualization with Matplotlib and Seaborn, where you'll create insightful visualizations to uncover patterns and trends. Understand the core principles of exploratory data analysis (EDA) and data preprocessing, preparing your data for robust analysis. Explore probability theory and hypothesis testing to make data-driven conclusions and get introduced to the fundamentals of machine learning. Delve into supervised and unsupervised learning techniques, laying the groundwork for predictive modeling.To solidify your knowledge, engage with two practical case studies: sales data analysis and social media sentiment analysis. These real-world applications will demonstrate best practices and provide valuable tips for your data analysis projects.
Cuantum Technologies LLC
Embark on a comprehensive journey through data analysis with Python. Begin with an introduction to data analysis and Python, setting a strong foundation before delving into Python programming basics. Learn to set up your data analysis environment, ensuring you have the necessary tools and libraries at your fingertips. As you progress, gain proficiency in NumPy for numerical operations and Pandas for data manipulation, mastering the skills to handle and transform data efficiently.Proceed to data visualization with Matplotlib and Seaborn, where you'll create insightful visualizations to uncover patterns and trends. Understand the core principles of exploratory data analysis (EDA) and data preprocessing, preparing your data for robust analysis. Explore probability theory and hypothesis testing to make data-driven conclusions and get introduced to the fundamentals of machine learning. Delve into supervised and unsupervised learning techniques, laying the groundwork for predictive modeling.To solidify your knowledge, engage with two practical case studies: sales data analysis and social media sentiment analysis. These real-world applications will demonstrate best practices and provide valuable tips for your data analysis projects.
Data Analysis with Python. A Modern Approach
David Taieb
Data Analysis with Python offers a modern approach to data analysis so that you can work with the latest and most powerful Python tools, AI techniques, and open source libraries. Industry expert David Taieb shows you how to bridge data science with the power of programming and algorithms in Python. You'll be working with complex algorithms, and cutting-edge AI in your data analysis. Learn how to analyze data with hands-on examples using Python-based tools and Jupyter Notebook. You'll find the right balance of theory and practice, with extensive code files that you can integrate right into your own data projects.Explore the power of this approach to data analysis by then working with it across key industry case studies. Four fascinating and full projects connect you to the most critical data analysis challenges you’re likely to meet in today. The first of these is an image recognition application with TensorFlow – embracing the importance today of AI in your data analysis. The second industry project analyses social media trends, exploring big data issues and AI approaches to natural language processing. The third case study is a financial portfolio analysis application that engages you with time series analysis - pivotal to many data science applications today. The fourth industry use case dives you into graph algorithms and the power of programming in modern data science. You'll wrap up with a thoughtful look at the future of data science and how it will harness the power of algorithms and artificial intelligence.
Tony Fischetti
Frequently the tool of choice for academics, R has spread deep into the private sector and can be found in the production pipelines at some of the most advanced and successful enterprises. The power and domain-specificity of R allows the user to express complex analytics easily, quickly, and succinctly. Starting with the basics of R and statistical reasoning, this book dives into advanced predictive analytics, showing how to apply those techniques to real-world data though with real-world examples.Packed with engaging problems and exercises, this book begins with a review of R and its syntax with packages like Rcpp, ggplot2, and dplyr. From there, get to grips with the fundamentals of applied statistics and build on this knowledge to perform sophisticated and powerful analytics. Solve the difficulties relating to performing data analysis in practice and find solutions to working with messy data, large data, communicating results, and facilitating reproducibility.This book is engineered to be an invaluable resource through many stages of anyone’s career as a data analyst.
Jeff Burtenshaw
Domo is a power-packed business intelligence (BI) platform that empowers organizations to track, analyze, and activate data in record time at cloud scale and performance.Data Democratization with Domo begins with an overview of the Domo ecosystem. You’ll learn how to get data into the cloud with Domo data connectors and Workbench; profile datasets; use Magic ETL to transform data; work with in-memory data sculpting tools (Data Views and Beast Modes); create, edit, and link card visualizations; and create card drill paths using Domo Analyzer. Next, you’ll discover options to distribute content with real-time updates using Domo Embed and digital wallboards. As you advance, you’ll understand how to use alerts and webhooks to drive automated actions. You’ll also build and deploy a custom app to the Domo Appstore and find out how to code Python apps, use Jupyter Notebooks, and insert R custom models. Furthermore, you’ll learn how to use Auto ML to automatically evaluate dozens of models for the best fit using SageMaker and produce a predictive model as well as use Python and the Domo Command Line Interface tool to extend Domo. Finally, you’ll learn how to govern and secure the entire Domo platform.By the end of this book, you’ll have gained the skills you need to become a successful Domo master.
Trâm Ngoc Pham, Gonzalo Herreros González, Viquar...
Performing data engineering with Amazon Web Services (AWS) combines AWS's scalable infrastructure with robust data processing tools, enabling efficient data pipelines and analytics workflows. This comprehensive guide to AWS data engineering will teach you all you need to know about data lake management, pipeline orchestration, and serving layer construction.Through clear explanations and hands-on exercises, you’ll master essential AWS services such as Glue, EMR, Redshift, QuickSight, and Athena. Additionally, you’ll explore various data platform topics such as data governance, data quality, DevOps, CI/CD, planning and performing data migration, and creating Infrastructure as Code. As you progress, you will gain insights into how to enrich your platform and use various AWS cloud services such as AWS EventBridge, AWS DataZone, and AWS SCT and DMS to solve data platform challenges.Each recipe in this book is tailored to a daily challenge that a data engineer team faces while building a cloud platform. By the end of this book, you will be well-versed in AWS data engineering and have gained proficiency in key AWS services and data processing techniques. You will develop the necessary skills to tackle large-scale data challenges with confidence.
Gareth Eagar
Written by a Senior Data Architect with over twenty-five years of experience in the business, Data Engineering for AWS is a book whose sole aim is to make you proficient in using the AWS ecosystem. Using a thorough and hands-on approach to data, this book will give aspiring and new data engineers a solid theoretical and practical foundation to succeed with AWS.As you progress, you’ll be taken through the services and the skills you need to architect and implement data pipelines on AWS. You'll begin by reviewing important data engineering concepts and some of the core AWS services that form a part of the data engineer's toolkit. You'll then architect a data pipeline, review raw data sources, transform the data, and learn how the transformed data is used by various data consumers. You’ll also learn about populating data marts and data warehouses along with how a data lakehouse fits into the picture. Later, you'll be introduced to AWS tools for analyzing data, including those for ad-hoc SQL queries and creating visualizations. In the final chapters, you'll understand how the power of machine learning and artificial intelligence can be used to draw new insights from data.By the end of this AWS book, you'll be able to carry out data engineering tasks and implement a data pipeline on AWS independently.
Gareth Eagar
Written by a Senior Data Architect with over twenty-five years of experience in the business, Data Engineering for AWS is a book whose sole aim is to make you proficient in using the AWS ecosystem. Using a thorough and hands-on approach to data, this book will give aspiring and new data engineers a solid theoretical and practical foundation to succeed with AWS.As you progress, you’ll be taken through the services and the skills you need to architect and implement data pipelines on AWS. You'll begin by reviewing important data engineering concepts and some of the core AWS services that form a part of the data engineer's toolkit. You'll then architect a data pipeline, review raw data sources, transform the data, and learn how the transformed data is used by various data consumers. You’ll also learn about populating data marts and data warehouses along with how a data lakehouse fits into the picture. Later, you'll be introduced to AWS tools for analyzing data, including those for ad-hoc SQL queries and creating visualizations. In the final chapters, you'll understand how the power of machine learning and artificial intelligence can be used to draw new insights from data.By the end of this AWS book, you'll be able to carry out data engineering tasks and implement a data pipeline on AWS independently.
Adi Wijaya
With this book, you'll understand how the highly scalable Google Cloud Platform (GCP) enables data engineers to create end-to-end data pipelines right from storing and processing data and workflow orchestration to presenting data through visualization dashboards.Starting with a quick overview of the fundamental concepts of data engineering, you'll learn the various responsibilities of a data engineer and how GCP plays a vital role in fulfilling those responsibilities. As you progress through the chapters, you'll be able to leverage GCP products to build a sample data warehouse using Cloud Storage and BigQuery and a data lake using Dataproc. The book gradually takes you through operations such as data ingestion, data cleansing, transformation, and integrating data with other sources. You'll learn how to design IAM for data governance, deploy ML pipelines with the Vertex AI, leverage pre-built GCP models as a service, and visualize data with Google Data Studio to build compelling reports. Finally, you'll find tips on how to boost your career as a data engineer, take the Professional Data Engineer certification exam, and get ready to become an expert in data engineering with GCP.By the end of this data engineering book, you'll have developed the skills to perform core data engineering tasks and build efficient ETL data pipelines with GCP.
Adi Wijaya
With this book, you'll understand how the highly scalable Google Cloud Platform (GCP) enables data engineers to create end-to-end data pipelines right from storing and processing data and workflow orchestration to presenting data through visualization dashboards.Starting with a quick overview of the fundamental concepts of data engineering, you'll learn the various responsibilities of a data engineer and how GCP plays a vital role in fulfilling those responsibilities. As you progress through the chapters, you'll be able to leverage GCP products to build a sample data warehouse using Cloud Storage and BigQuery and a data lake using Dataproc. The book gradually takes you through operations such as data ingestion, data cleansing, transformation, and integrating data with other sources. You'll learn how to design IAM for data governance, deploy ML pipelines with the Vertex AI, leverage pre-built GCP models as a service, and visualize data with Google Data Studio to build compelling reports. Finally, you'll find tips on how to boost your career as a data engineer, take the Professional Data Engineer certification exam, and get ready to become an expert in data engineering with GCP.By the end of this data engineering book, you'll have developed the skills to perform core data engineering tasks and build efficient ETL data pipelines with GCP.
Paul Crickard
Data engineering provides the foundation for data science and analytics, and forms an important part of all businesses. This book will help you to explore various tools and methods that are used for understanding the data engineering process using Python.The book will show you how to tackle challenges commonly faced in different aspects of data engineering. You’ll start with an introduction to the basics of data engineering, along with the technologies and frameworks required to build data pipelines to work with large datasets. You’ll learn how to transform and clean data and perform analytics to get the most out of your data. As you advance, you'll discover how to work with big data of varying complexity and production databases, and build data pipelines. Using real-world examples, you’ll build architectures on which you’ll learn how to deploy data pipelines.By the end of this Python book, you’ll have gained a clear understanding of data modeling techniques, and will be able to confidently build data engineering pipelines for tracking data, running quality checks, and making necessary changes in production.