Programowanie
Associations and Correlations. Unearth the powerful insights buried in your data
Lee Baker
Associations and correlations are ways of describing how a pair of variables change together as a result of their connection. By knowing the various available techniques, you can easily and accurately discover and visualize the relationships in your data. This book begins by showing you how to classify your data into the four distinct types that you are likely to have in your dataset. Then, with easy-to-understand examples, you’ll learn when to use the various univariate and multivariate statistical tests. You’ll also discover what to do when your univariate and multivariate results do not match. As the book progresses, it describes why univariate and multivariate techniques should be used as a tag team, and also introduces you to the techniques of visualizing the story of your data. By the end of the book, you’ll know exactly how to select the most appropriate univariate and multivariate tests, and be able to use a single strategic framework to discover the true story of your data.
Asynchroniczność i wielowątkowość w języku C#
Grzegorz Lang
Przejdź na wyższy poziom C# Programowanie wielowątkowe pozwala wykonywać różne czynności z wykorzystaniem więcej niż jednego wątku. W efekcie zwiększa się wydajność operacji, które były ograniczone parametrami procesora. W dodatku dzięki zastosowaniu programowania wielowątkowego zadania można wykonywać w tle, bez pogorszenia responsywności aplikacji. Asynchroniczność umożliwia także zachowanie responsywności aplikacji użytkowych oraz zwiększenie skalowalności aplikacji serwerowych. Brzmi obiecująco. Niestety, programowanie z wykorzystaniem wątków i asynchroniczności nie należy do najprostszych. Jest to dziedzina z natury skomplikowana i błędogenna, także w języku C#. Ten poradnik zbiera i zwięźle tłumaczy wszystkie zagadnienia związane z asynchronicznością i wielowątkowością w C#. Poszczególne tematy uzupełniono przykładami, pomagającymi lepiej zrozumieć problem, którego rozwiązanie można zastosować później w praktyce. Dla wygody w korzystaniu z książki każdy koncept opisano oddzielnie, jednak by go zrozumieć, trzeba przyswoić wiedzę z poprzednich rozdziałów. Dowiedz się, na czym polega wielowątkowość w C# Opanuj zasady programowania równoległego Naucz się programować asynchronicznie Poznaj podstawowe zasady synchronizacji
Steve Liles
With more than a million apps available from Google Play, it is more important than ever to build apps that stand out from the crowd. To be successful, apps must react quickly to user input, deliver results in a flash, and sync data in the background. The key to this is understanding the right way to implement asynchronous operations that work with the platform, instead of against it. Asynchronous Android is a practical book that guides you through the concurrency constructs provided by the Android platform, illustrating the applications, benefits, and pitfalls of each.Learn to use AsyncTask correctly to perform operations in the background, keeping user-interfaces running smoothly while avoiding treacherous memory leaks. Discover Handler, HandlerThread and Looper, the related and fundamental building blocks of asynchronous programming in Android. Escape from the constraints of the Activity lifecycle to load and cache data efficiently across your entire application with the Loader framework. Keep your data fresh with scheduled tasks, and understand how Services let your application continue to run in the background, even when the user is busy with something else.Asynchronous Android will help you to build well-behaved apps with smooth, responsive user-interfaces that delight users with speedy results and data that's always fresh, and keep the system happy and the battery charged by playing by the rules.
Helder Vasconcelos, Steve Liles
Asynchronous programming has acquired immense importance in Android programming, especially when we want to make use of the number of independent processing units (cores) available on the most recent Android devices. With this guide in your hands you’ll be able to bring the power of Asynchronous programming to your own projects, and make your Android apps more powerful than ever before!To start with, we will discuss the details of the Android Process model and the Java Low Level Concurrent Framework, delivered by Android SDK. We will also guide you through the high-level Android-specific constructs available on the SDK: Handler, AsyncTask, and Loader. Next, we will discuss the creation of IntentServices, Bound Services and External Services, which can run in the background even when the user is not interacting with it. You will also discover AlarmManager and JobScheduler APIs, which are used to schedule and defer work without sacrificing the battery life. In a more advanced phase, you will create background tasks that are able to execute CPU-intensive tasks in a native code-making use of the Android NDK. You will be then guided through the process of interacting with remote services asynchronously using the HTTP protocol or Google GCM Platform. Using the EventBus library, we will also show how to use the Publish-Subscribe software pattern to simplify communication between the different Android application components by decoupling the event producer from event consumer.Finally, we will introduce RxJava, a popular asynchronous Java framework used to compose work in a concise and reactive way. Asynchronous Android will help you to build well-behaved applications with smooth responsive user interfaces that delight the users with speedy results and data that’s always fresh.
Nicolas Bohorquez
Asynchronous programming is one of the most effective but often misunderstood techniques for building fast, scalable, and responsive systems in Python. While it can significantly improve performance, efficiency, and sustainability, using async without a clear understanding of its trade-offs can lead to fragile designs and hard-to-debug issues.This book offers a structured approach to applying asynchronous programming in Python. It begins with a conceptual framework to help you distinguish between synchronous and asynchronous execution models, and shows how async relates to other concurrency strategies such as multithreading and multiprocessing. From there, you will explore the core tools available for building async applications in Python.You will also learn how to measure the impact of async programming in practical scenarios, profile and debug asynchronous code, and evaluate performance improvements using real-world metrics. The final chapters focus on applying async techniques to common cloud-based systems, such as web frameworks, database interactions, and data-pipelines tools.Designed for developers looking to apply async programming with confidence, this book blends real-world examples with core concepts to help you write efficient, maintainable Python code.
Nicolas Bohorquez
Asynchronous programming is one of the most effective but often misunderstood techniques for building fast, scalable, and responsive systems in Python. While it can significantly improve performance, efficiency, and sustainability, using async without a clear understanding of its trade-offs can lead to fragile designs and hard-to-debug issues.This book offers a structured approach to applying asynchronous programming in Python. It begins with a conceptual framework to help you distinguish between synchronous and asynchronous execution models, and shows how async relates to other concurrency strategies such as multithreading and multiprocessing. From there, you will explore the core tools available for building async applications in Python.You will also learn how to measure the impact of async programming in practical scenarios, profile and debug asynchronous code, and evaluate performance improvements using real-world metrics. The final chapters focus on applying async techniques to common cloud-based systems, such as web frameworks, database interactions, and data-pipelines tools.Designed for developers looking to apply async programming with confidence, this book blends real-world examples with core concepts to help you write efficient, maintainable Python code.
Javier Reguera-Salgado, Juan Antonio Rufes
As hardware advancements continue to accelerate, bringing greater memory capacity and more CPU cores, software must evolve to adapt to efficiently use all available resources and reduce idle CPU cycles. In this book, two seasoned software engineers with about five decades of combined experience will teach you how to implement concurrent and asynchronous solutions in C++.You’ll gain a comprehensive understanding of parallel programming paradigms—covering concurrent, asynchronous, parallel, multithreading, reactive, and event-driven programming, as well as dataflows—and see how threads, processes, and services are related. Moving into the heart of concurrency, the authors will guide you in creating and managing threads and exploring C++’s thread-safety mechanisms, including mutual exclusion, atomic operations, semaphores, condition variables, latches, and barriers. With this solid foundation, you’ll focus on pure asynchronous programming, discovering futures, promises, the async function, and coroutines. The book takes you step by step through using Boost.Asio and Boost.Cobalt to develop network and low-level I/O solutions, proven performance and optimization techniques, and testing and debugging asynchronous software.By the end of this C++ book, you’ll be able to implement high-performance software using modern asynchronous C++ techniques.
Robert Wen, Alex Ortiz, Edward Gaile, Rodney...
Implementing DevOps practices and toolchains for automated testing and deployment can accelerate product development with minimal errors in the production environment. However, creating DevOps toolchains by integrating tools from various vendors presents challenges for both administrators and developers. Written by four well-known experts from the Atlassian community, this book addresses the complexities of DevOps toolchain creation and integration by leveraging Atlassian’s Open DevOps solution.Starting with a holistic overview of the DevOps and Atlassian Open DevOps solution, you’ll learn to integrate Jira with other tools. You’ll then find out how to create and integrate a CI/CD pipeline in Bitbucket for automated testing and deployment to Docker containers. With step-by-step guidance, you’ll connect Jira and Bitbucket with other tools, such as Snyk for security and SonarQube for testing, to form an extensive toolchain. You’ll also learn how Compass uses CheckOps for observability and how to use Confluence for documentation and reporting. Finally, you’ll leverage Opsgenie’s ChatOps functionality to enhance collaboration between developers and operations teams.By the end of this book, you’ll be able to establish your DevOps toolchain by integrating Atlassian tools to automate and optimize the software development lifecycle and beyond.
Atlassian Jira Server & Data Center. Programowanie rozwiązań w projektach biznesowych
Jakub Kalinowski
By szybciej, sprawniej i skuteczniej zarządzać projektami Znalezienie odpowiedzi na zaprzątające umysł pytania z zakresu automatyzacji zwykle wiąże się ze spędzeniem długich godzin na wertowaniu niespójnej dokumentacji lub przeszukiwaniu forum Atlassian Community, gdzie swoimi problemami (a także autorskimi pomysłami na ich rozwiązanie) dzielą się inni użytkownicy Jiry. To jednak często bezproduktywne działanie, a jedynym skutecznym ― albo i nieskutecznym ― sposobem, by pokonać przeszkodę, jest metoda prób i błędów. W szczególności dotyczy to klas, metod i interfejsów, o których możemy jedynie powiedzieć, że istnieją i przyjmują określone typy parametrów. Książka Jakuba Kalinowskiego ma w zamyśle oszczędzić czytelnikom żmudnego procesu pozyskiwania wiedzy i dać wskazówki, jak rozwiązać konkretne problemy, z którymi mogą się oni zetknąć podczas pracy z Atlassian Jira Server. Znalazło się tu omówienie takich kwestii jak custom fields, workflows, integracje z API, funkcjonalności dostarczane przez pluginy, a także tego, co niesłusznie jest uznawane za terra incognita, czyli tworzenia własnych pluginów. Autor uzupełnił treść o kilka zagadnień związanych z integracją Jiry i Confluence, jak również z bazami Insight - Asset Management, ponieważ obie aplikacje często są obecne w projektach biznesowych, a ich automatyzacja zazwyczaj przysparza wielu problemów. To książka adresowana przede wszystkim do czytelników, którzy mają już doświadczenie w zarządzaniu projektami i instancjami Jira, jednak do tej pory nie zdecydowali się na pisanie skryptów automatyzujących.