Programowanie
Niezależnie czy dopiero rozpoczynacie swoją przygodę z programowaniem, czy jesteście już uznanymi na rynku profesjonalistami, to w kategorii Programowanie na pewno znajdziecie podręczniki, które pomogą Wam w przebiegu pracy, czy też w nauce podstaw programowania.
W książkach z tego działu zawarta jest wiedza zarówno związana z czysto technicznymi sprawami typu składnia języków, ale także z umiejętnościami bardziej "miękkimi" jak obsługa i wykorzystanie pełnych możliwości środowisk programistycznych, czy też projektowanie oprogramowania lub metody numeryczne czy oraz struktury danych.
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.