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.
Refaktoryzacja. Ulepszanie struktury istniejącego kodu. Wydanie II
Martin Fowler
Refaktoryzacja ma na celu ulepszanie istniejącego kodu. Poprawia jego strukturę, czytelność i wydajność. Prowadzona poprawnie, cechuje się zdyscyplinowaniem metody, systematycznością i konsekwencją w działaniu, a także ciągłym minimalizowaniem ryzyka wprowadzenia błędów. Niemniej refaktoryzacja jest ryzykowna. Polega na wprowadzaniu zmian do działającego kodu, co może doprowadzić do powstania trudno wykrywalnych błędów. Ryzyko wzrasta, jeśli refaktoryzacja jest przeprowadzana w sposób nieprzemyślany. Okazuje się, że transformacja kodu, która ma doprowadzić do jego ulepszenia, to spore wyzwanie. Ta książka jest zaktualizowanym wydaniem praktycznego przewodnika po refaktoryzacji. Choć jest przeznaczona dla profesjonalnego programisty, znalazło się tu zrozumiałe wprowadzenie do tego zagadnienia z opisem celów, technik i możliwości refaktoryzacji. Wspomniano także o problemach związanych z refaktoryzacją. Natomiast zasadniczą część książki stanowi znakomicie uzupełniony i wzbogacony katalog przekształceń refaktoryzacyjnych. Do zilustrowania poszczególnych technik refaktoryzacji autorzy wybrali język JavaScript, jednak kod został przedstawiony w taki sposób, aby prezentowane koncepcje bez trudu zrozumiał każdy programista. W tej książce między innymi: solidne wprowadzenie do refaktoryzacji przekształcenia refaktoryzacyjne: zasady, sposoby, testy enkapsulacja w refaktoryzacji upraszczanie wyrażeń oraz porządkowanie danych, zmiennych i pól refaktoryzacja klas i API Refaktoryzacja: czytelny kod, wydajne działanie i brak błędów! »» Spis wszystkich odwołań do stron w książce
Matt Eland
Termin dług techniczny oznacza zbiór skrótów, niedociągnięć i potworków projektowych, które powstają w trakcie ewolucyjnego rozwoju programu. Jeśli się ich nie zlikwiduje, mogą dramatycznie spowolnić pracę nad programem. Rozwiązywanie tego typu problemów jest nazywane refaktoryzacją i każdy programista powinien umieć ją przeprowadzać. Dzięki tej przystępnej, świetnie napisanej książce dowiesz się, czym jest dług techniczny, co prowadzi do jego powstawania i w jaki sposób można go bezpiecznie zrefaktoryzować przy użyciu nowoczesnych narzędzi dostępnych w środowisku Visual Studio, a także najnowszych składników języka C# 12 i platformy .NET 8. Nauczysz się też korzystać z zaawansowanych testów jednostkowych tworzonych przy użyciu xUnit i takich bibliotek jak Moq, Snapper czy Scientist.NET. Dowiesz się, jak stosować zasady SOLID, aby tworzyć łatwy w utrzymaniu kod, poznasz również techniki programowania defensywnego, które można stosować w nowszych wersjach C#. Ponadto nauczysz się przeprowadzać analizy kodu i pisać własne analizatory Roslyn do wykrywania i rozwiązywania problemów typowych dla Twojego projektu. Najciekawsze zagadnienia: najważniejsze informacje o długu technicznym różne sposoby refaktoryzacji klas, metod i wierszy kodu efektywne testy jednostkowe zasady SOLID i tworzenie kodu łatwego w utrzymaniu korzystanie ze sztucznej inteligencji GitHub Copilot standardy kodowania w zwinnych zespołach
Reguły programowania. Jak pisać lepszy kod
Chris Zimmerman
Młody programista szybko sobie uzmysławia, że opanowanie języka programowania nie oznacza umiejętności pisania dobrego kodu. Zanim się jej nabędzie, trzeba spędzić wiele bezsennych nocy na próbach usunięcia błędów czy rozwiązania innych problemów. Programowanie jest po prostu trudną sztuką. Czy istnieje sposób, aby choć trochę ją ułatwić? W książce znajdziesz inspirujące spostrzeżenia zarówno dla początkującyc, jak i doświadczonych programistów! Paul Daugherty, Group Chief Executive of Technology i CTO, Accenture Właśnie w tym celu powstał ten przewodnik po filozofii oprogramowania. Znajdziesz w nim 21 pragmatycznych reguł, którymi kierują się najlepsi programiści. Dzięki spostrzeżeniom zawartym w książce zmienisz podejście do programowania i szybko się przekonasz, że pozwoli Ci to na pisanie lepszego, czytelniejszego i niezawodnego kodu. Poszczególne reguły zostały zilustrowane jego rzeczywistymi przykładami, ułatwiającymi zrozumienie prezentowanych treści. Ten zajmująco i zabawnie napisany przewodnik nie tylko zainspiruje Cię do programistycznego rozwoju, ale również będzie nieocenioną pomocą przy szkoleniu nowych członków zespołu. Poznaj reguły, którymi kierują się najlepsi: Tak prosty, jak to możliwe, ale nie prostszy Pierwsza lekcja optymalizacji: nie optymalizuj Błędy są zaraźliwe Kod, który nie jest wykonywany, nie działa I wiele innych! Oto świetne wskazówki dla początkujących i subtelne lekcje dla ekspertów! Mark Cerny, Lead System Architect, PlayStation 4 i 5
Andrea Lonza
Reinforcement Learning (RL) is a popular and promising branch of AI that involves making smarter models and agents that can automatically determine ideal behavior based on changing requirements. This book will help you master RL algorithms and understand their implementation as you build self-learning agents.Starting with an introduction to the tools, libraries, and setup needed to work in the RL environment, this book covers the building blocks of RL and delves into value-based methods, such as the application of Q-learning and SARSA algorithms. You'll learn how to use a combination of Q-learning and neural networks to solve complex problems. Furthermore, you'll study the policy gradient methods, TRPO, and PPO, to improve performance and stability, before moving on to the DDPG and TD3 deterministic algorithms. This book also covers how imitation learning techniques work and how Dagger can teach an agent to drive. You'll discover evolutionary strategies and black-box optimization techniques, and see how they can improve RL algorithms. Finally, you'll get to grips with exploration approaches, such as UCB and UCB1, and develop a meta-algorithm called ESBAS.By the end of the book, you'll have worked with key RL algorithms to overcome challenges in real-world applications, and be part of the RL research community.
Remote Usability Testing. Actionable insights in user behavior across geographies and time zones
Inge De Bleecker, Rebecca Okoroji
Usability testing is a subdiscipline of User Experience. Its goal is to ensure that a given product is easy to use and the user's experience with the product is intuitive and satisfying. Usability studies are conducted with study participants who are representative of the target users to gather feedback on a user interface. The feedback is then used to refine and improve the user interface.Remote studies involve fewer logistics, allow participation regardless of location and are quicker and cheaper to execute compared to in person studies, while delivering valuable insights. The users are not inhibited by being in a new environment under observation; they can act naturally in their familiar environment. Remote unmoderated studies additionally have the advantage of being independent of time zones.This book will teach you how to conduct qualitative remote usability studies, in particular remote moderated and unmoderated studies. Each chapter provides actionable tips on how to use each methodology and how to compensate for the specific nature of each methodology. The book also provides material to help with planning and executing each study type.
Alex Libby, Gaurav Gupta, Asoj Talesra
Responsive web design (RWD) is a web design approach aimed at crafting sites to provide an optimal viewing and interaction experience—providing easy reading and navigation with minimum resizing, panning, and scrolling—and all of this across a wide range of devices from desktop computer monitors to mobile phones. Responsive web design is becoming more important as the amount of mobile traffic now accounts for more than half of the Internet’s total traffic.This book will give you in depth knowledge about the basics of responsive web design. You will embark on a journey of building effective responsive web pages that work across a range of devices, from mobile phones to smart TVs, with nothing more than standard markup and styling techniques.You'll begin by getting an understanding of what RWD is and its significance to the modern web. Building on the basics, you'll learn about layouts and media queries. Following this, we’ll dive into creating layouts using grid based templates. We’ll also cover the important topic of performance management, and discover how to tackle cross-browser challenges.
Ben Frain
Tablets, smart phones and even televisions are being used increasingly to view the web. There's never been a greater range of screen sizes and associated user experiences to consider. Web pages built to be responsive provide the best possible version of their content to match the viewing devices of not just today's devices but tomorrow's too.Learn how to design websites according to the new responsive designù methodology, allowing a website to display beautifully on every screen size. Follow along, building and enhancing a responsive web design with HTML5 and CSS3. The book provides a practical understanding of these new technologies and techniques that are set to be the future of front-end web development. Starting with a static Photoshop composite, create a website with HTML5 and CSS3 which is flexible depending on the viewer's screen size.With HTML5, pages are leaner and more semantic. A fluid grid design and CSS3 media queries means designs can flex and adapt for any screen size. Beautiful backgrounds, box-shadows and animations will be added ñ all using the power, simplicity and flexibility of CSS3.Responsive web design with HTML5 and CSS3 provides the necessary knowledge to ensure your projects won't just be built right for today but also the future.
REST. Najlepsze praktyki i wzorce w języku Java
Bhakti Mehta
Usprawnij wymianę danych z usługą REST! Postępująca cyfryzacja współczesnego świata wymaga coraz większej integracji przeróżnych systemów informatycznych. Nierzadko są to systemy znajdujące się w odległych lokalizacjach, napisane z wykorzystaniem różnych języków programowania i technologii. Jak zapewnić możliwość wymiany informacji między nimi? Usługi typu REST to jeden z najwygodniejszych sposobów! Co to jest REST? Jak przygotować usługę tego typu? Jak ustrzec się przed błędami? Na te i wiele innych pytań odpowiada ta książka. Znajdziesz w niej najlepsze praktyki tworzenia usług REST z wykorzystaniem języka Java. Sięgnij po nią i dowiedz się, jak projektować zasoby i zapewniać im bezpieczeństwo oraz w jaki sposób przygotowywać usługi REST dla różnych wersji językowych. Odkryj, jak testować udostępnione zasoby i zagwarantować ich najwyższą wydajność oraz jaka przyszłość czeka usługi tego typu. Sprawdź też, jak wygląda API takich usług, jak GitHub, Twitter i Facebook (API Graph). Ta książka jest doskonałą lekturą dla wszystkich programistów chcących bezproblemowo tworzyć wydajne usługi typu REST. Tematy opisane w książce: Tworzenie usług typu RESTful przy użyciu API JAX-RS 2.0 Zaawansowane techniki wykorzystania protokołu OAuth i zabezpieczeń w usługach typu RESTful Metody buforowania, weryfikacji danych, ograniczania liczby żądań, asynchronicznego wykonywania działań oraz najlepsze praktyki pozwalające zwiększyć interaktywność aplikacji Najlepsze metody stronicowania, dokumentowania i testowania usług typu RESTful HATEOAS i architektura mikrousługowa w budowanie aplikacji wykorzystujących usługi typu RESTful Przyszłość technologii REST, nowe standardy i sposób ich wykorzystania przez różne przedsiębiorstwa Porównanie technologii WebHook, WebSocket oraz Server-Sent Events umożliwiających dostarczanie informacji klientom na bieżąco Wydajne usługi REST w Twoim zasięgu!
Valentin Bojinov
In this era of cloud computing, every data provisioning solution is built in a scalable and fail-safe way. Thus, when building RESTful services, the right choice for the underlying platform is vital. Node.js, with its asynchronous, event-driven architecture, is exactly the right choice to build RESTful APIs.This book will help you enrich your development skills to create scalable, server-side, RESTful applications based on the Node.js platform.Starting with the fundamentals of REST, you will understand why RESTful web services are better data provisioning solution than other technologies. You will start setting upa development environment by installing Node.js, Express.js, and other modules. Next, you will write a simple HTTP request handler and create and test Node.js modules using automated tests and mock objects. You will then have to choose the most appropriate data storage type, having options between a key/value or document data store, and also you will implement automated tests for it. This module will evolve chapter by chapter until it turns into a full-fledged and secure Restful service.
Andrzej Jarzyna, Samir Amzani, Mike Amundsen
Designing scalable, user-focused, and robust APIs that last isn’t just a technical challenge but a design imperative. Written by API leaders with over 30 years of combined experience in API strategy, governance, and community, this book is your comprehensive guide to API design, focusing on domain-driven, consumer-centric APIs that meet real user needs while remaining flexible and maintainable over time. It covers modern REST API design, tools like OpenAPI and JSON Schema, and the importance of a product-based approach. The chapters help you explore best practices, potential pitfalls, and anti-patterns, extending beyond the design phase.Starting with the “why” behind building an API, its intended users, and value, this book walks you through the API lifecycle, the role of contracts, and applying domain-driven design. You’ll develop a solid foundation in REST API design as you discover different styles, constraints, and more. Beyond design, the book covers testing techniques, API evolution, maintenance, and deprecation.By the end, you’ll not only know how to design great APIs but understand how to treat them as products, manage their lifecycle, and deliver real value by keeping your APIs relevant and reliable long after release.*Email sign-up and proof of purchase required
Balachandar Bogunuva Mohanram
Representational State Transfer (REST) is a simple yet powerful software architecture style to create lightweight and scalable web services. The RESTful web services use HTTP as the transport protocol and can use any message formats, including XML, JSON(widely used), CSV, and many more, which makes it easily inter-operable across different languages and platforms.This successful book is currently in its 3rd edition and has been used by thousands of developers. It serves as an excellent guide for developing RESTful web services in Java.This book attempts to familiarize the reader with the concepts of REST. It is a pragmatic guide for designing and developing web services using Java APIs for real-life use cases following best practices and for learning to secure REST APIs using OAuth and JWT. Finally, you will learn the role of RESTful web services for future technological advances, be it cloud, IoT or social media.By the end of this book, you will be able to efficiently build robust, scalable, and secure RESTful web services using Java APIs.
Jobinesh Purushothaman
REST (REpresentational State Transfer) is a simple yet powerful software architecture style to create scalable web services and allow them to be simple, lightweight, and fast. The REST API uses HTTP and JSON, so that it can be used with many programming languages such as Ruby, Java, Python, and Scala. Its use in Java seems to be the most popular though, because of the API's reusability.This book is a guide to developing RESTful web services in Java using the popular RESTful framework APIs available today. You will begin with gaining an in-depth knowledge of the RESTful software architectural style and its relevance in modern applications. Further, you will understand the APIs to parse, generate, transform, and query JSON effectively. Then, you will see how to build a simple RESTful service using the popular JAX-RS 2.0 API along with some real-world examples. This book will introduce you to the Jersey framework API, which is used to simplify your web services.You will also see how to secure your services with various authentication mechanisms. You will get to grips with various solutions to describe, produce, consume, and visualize RESTful web services. Finally, you will see how to design your web services to equip them for the future technological advances, be it Cloud or mobile computing.By the end of this book, you will be able to efficiently build robust, scalable, and secure RESTful web services, making use of the JAX-RS and Jersey framework extensions.
René Enríquez
A sequential and easy-to-follow guide which allows you to understand the concepts related to securing web apps/services quickly and efficiently, since each topic is explained and described with the help of an example and in a step-by-step manner, helping you to easily implement the examples in your own projects. This book is intended for web application developers who use RESTful web services to power their websites. Prior knowledge of RESTful is not mandatory, but would be advisable.
Robot Operating System Cookbook. Over 70 recipes to help you master advanced ROS concepts
Kumar Bipin
This book will leverage the power of ROS with an introduction to its core and advanced concepts through exciting recipes. You will get acquainted with the use of different synchronous and asynchronous communication methods, including messages, services, and actions. You will learn how to use the various debugging and visualization tools used in development and how to interface sensors and actuators with the ROS framework.Firstly, you will get to grips with ROS simulation frameworks, such as Gazebo and RotorS for modeling and simulating any physical robot and virtual environment. You will also cover mobile robotics, micro-aerial vehicles, and robotic arms, which are the leading branches of robotic applications. Robot Operating System Cookbook will also guide you in the development of an autonomous navigation framework for both mobile robots and micro-aerial vehicles.Finally, you will explore ROS-Industrial, an open source project that extends the advanced capabilities of ROS software to manufacturing industries.
Husan Mahey
With an increase in the number of organizations deploying RPA solutions, Robotic Process Automation (RPA) is quickly becoming the most desired skill set for both developers starting their career and seasoned professionals. This book will show you how to use Automation Anywhere A2019, one of the leading platforms used widely for RPA.Starting with an introduction to RPA and Automation Anywhere, the book will guide you through the registration, installation, and configuration of the Bot agent and Control Room. With the help of easy-to-follow instructions, you’ll build your first bot and discover how you can automate tasks with Excel, Word, emails, XML, and PDF files. You’ll learn from practical examples based on real-world business scenarios, and gain insights into building more robust and resilient bots, executing external scripts such as VBScripts and Python, and adding error handling routines.By the end of this RPA book, you’ll have developed the skills required to install and configure an RPA platform confidently and have a solid understanding of how to build complex and robust, yet performant, bots.
Robust Cloud integration with Azure. Unleash the power of serverless integration with Azure
Mahindra Morar, Abhishek Kumar, Martin Abbott, Gyanendra...
Any software developers, architects, and technical managers lookng to learn about Azure IaaS essentials need look no further. This book is ideal for Microsoft Enterprise developers, DevOps or any IT professionals looking to connect cloud-based and on-premises systems with Azure.