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.
Fred Heath
Difficulty in accurately capturing and managing requirements is the most common cause of software project failure. Learning how to analyze and model requirements and produce specifications that are connected to working code is the single most fundamental step that you can take toward project success. This book focuses on a delineated and structured methodology that will help you analyze requirements and write comprehensive, verifiable specifications.You'll start by learning about the different entities in the requirements domain and how to discover them based on customer input. You’ll then explore tried-and-tested methods such as impact mapping and behavior-driven development (BDD), along with new techniques such as D3 and feature-first development. This book takes you through the process of modeling customer requirements as impact maps and writing them as executable specifications. You’ll also understand how to organize and prioritize project tasks using Agile frameworks, such as Kanban and Scrum, and verify specifications against the delivered code. Finally, you'll see how to start implementing the requirements management methodology in a real-life scenario.By the end of this book, you'll be able to model and manage requirements to create executable specifications that will help you deliver successful software projects.
Mapa Agile & Scrum. Jak się odnaleźć jako Scrum Master
Mateusz Żeromski
Lepiej, szybciej, skuteczniej! SCRUM, czyli zwinne (ang. Agile) podejście do wytwarzania usług i produktów, wymyślono po to, by realizować zadania w krótszym czasie, z użyciem mniejszej ilości zasobów i w jak najlepszym "dopasowaniu" do oczekiwań klienta. Zespoły pracujące w Scrumie, starzy agile'owi wyjadacze, zwykle sobie to podejście chwalą i chętnie korzystają z niego przy prowadzeniu kolejnych projektów. Niestety dla osoby, która dopiero zaczyna pracować w podejściu zwinnym, sprawa zwykle nie jest prosta. Wdrożenie się do "zwinności" wymaga czasu i wskazówek od doświadczonych Scrum Masterów. Skoro mowa o wskazówkach od bardziej doświadczonych praktyków Scrumu - książka, którą Ci proponujemy, stanowi świetny wstęp do tego, by zacząć działać zwinnie. Jej autor, sam znawca tematu, praktykujący Agile & Scrum oraz dzielący się tą wiedzą z uczestnikami szkoleń, zebrał w tej publikacji wskazówki własne i wielu innych Scrum Masterów. Poczynając od zupełnych podstaw i zasad Scruma, przez problemy, z jakimi spotkasz się w codziennej pracy nad projektami, aż po kwestie dyskusyjne, postrzegane z różnych punktów widzenia - niniejszy poradnik stanowi swego rodzaju kompendium praktycznej wiedzy na temat Scruma i Agile'a podany w przystępnej hasłowej formie. Dzięki temu będzie Ci się łatwo po nim poruszać. Książka składa się z dwóch głównych części. Pierwsza, napisana wspólnie przez praktyków, opiera się na naszych doświadczeniach. Nie boimy się poruszać ważnych tematów, nie pomijamy ich. Stworzyliśmy przewodnik, w którym poruszamy wiele różnych obszarów i wierzymy, że każdy otwarty czytelnik znajdzie coś dla siebie. Druga część jest transkrypcją kursu Agile & Scrum. Współautorzy pierwszej części książki: Bartosz Pierzchalski - Z wykształcenia pedagog resocjalizacyjny, zawodowo związany z branżą badawczą, w której zajmuje się usprawnianiem procesów i doskonaleniem firmowych produktów. Swoje kompetencje rozwijał jako menedżer projektów, coach mocnych stron, trener programów społecznych oraz instruktor sportów walki. Od 2020 r. związany z podejściem zwinnym, aktywnie propaguje wykorzystanie Scruma w przestrzeniach zawodowych i prywatnych. Sylwia Skolimowska - Posiada wieloletnie doświadczenie jako Kierownik Projektów IT w branży mediowej. W związku ze swoimi zainteresowaniami dotyczącymi projektów i poszerzaniem wiedzy w tym zakresie została Scrum Masterem. Obecnie wykorzystuje zdobytą wiedzę i doświadczenie w swoim środowisku zawodowym. Mateusz Żeromski - Niepoprawny optymista, który obrał sobie za cel popularyzowanie Agile'a i Scruma. Założyciel meet-upu Scrum Warsaw, autor dwóch książek oraz Akademii Scrum, w ramach której powstała ta książka. Wierzy w zespoły, w to, że w pracy można naładować baterie, odpocząć od codzienności, miło spędzić czas - ale tylko wtedy, gdy mamy dobry i mocny zespół. Niech #Scrum będzie z Wami! Gabriela Załoga - Wspiera organizacje w procesie budowania wartościowych produktów. Doświadczenie ze sportu wykorzystuje podczas budowania mistrzowskich zespołów. Balansuje pomiędzy biznesem a zespołami technologicznymi. Pasjonatka odkrywania i rozwijania produktów. Nie lubi marnotrawstwa, dlatego nieustannie kwestionuje status quo. Czerpie energię od ludzi, ceni wartościowe dyskusje, zwłaszcza te przy kawie. Prywatnie minimalistka. Lubi otaczać się dobrą sztuką i designem. Odpoczywa, spacerując z psem, czytając, medytując lub praktykując jogę. Andrzej Piechocki - Entuzjasta zwinności. Absolwent zarządzania i marketingu na Uniwersytecie im. A. Mickiewicza w Poznaniu, z doświadczeniem w różnych branżach. 100% Scrum Master licensed by PSM II /scrum.org/ Tomasz Balicki - Strategy & Operations Manager, specjalista w zakresie zarządzania projektami międzynarodowymi (Agile, Scrum Master), planowania marketingowego, strategii klienta i kreowania marki. Jest menedżerem operacyjnym z ponad 10-letnim międzynarodowym doświadczeniem zawodowym, zorientowanym na procesy, procedury i projekty w zakresie budowania nowych ścieżek rozwoju, zarządzania marką i rozwoju biznesu. Jego mocnymi stronami są efektywne realizowanie KPI związane z wdrażaniem innowacji w realizowanych kampaniach CRM, targetowanie, sekwencjonowanie, testy A/B.
Bill Kastanakis, Vasileios Kastanakis
Maps are an essential element in today’s location aware applications. Right from displaying earth surface information to creating thematic maps displaying plethora of information, most of the developers lack the necessary knowledge to create customizable maps with combination of various tools and libraries. The MapBox platform is one such platform which offers all the tools and API required to create and publish a totally customizable map.Starting with building your first map with the online MapBox Editor, we will take you all the way to building advanced web and mobile applications with totally customizable map styles. Through the course of chapters we’ll learn CartoCSS styling language and understand the various components of MapBox platform and their corresponding JavaScript API.In the initial few chapters we will dive deeper into the TileMill and MapBox Studio components of MapBox and use them to generate custom styled map tiles and vector maps. Furthermore, we will publish these custom maps using PHP, node.js and third party tools like Geoserver.We’ll also learn to create different visualizations and map styles like a choropleth map, a heat map and add user interactivity using a UFTGrid. Moving on, we dive into advanced concepts and focus on integration with third party services like Foursquare, Google FusionTables, CartoDB, and Torque to help you populate and even animate your maps.In the final chapter we’ll learn to use the Mapbox SDK to create and publish interactive maps for the iOS platform. By the end of this book, you will learn about MapBox GL and how to create a fully functional, location-aware mobile app, using the maps styles created in the recipes.
Mapowanie historyjek użytkownika. Przepis na produkt idealny
Jeff Patton
Mapowanie historyjek użytkownika. Jak zaprojektować produkt idealny Podczas projektowania wielu procesów produkcyjnych, łącznie z budową oprogramowania, za kluczowe kryteria uznaje się szybkość wykonywania zadań, wydajność czy niskie koszty. Tymczasem opracowanie produktu o wyjątkowej wartości rynkowej wymaga nieco innego podejścia. Celem produkcji nie jest przecież produkcja sama w sobie. Aby kiedyś osiągnąć wysokie zyski, planowanie procesów produkcji musi opierać się na wymaganiach użytkowników, bez zatracania się w szczegółach produktu. To jest właśnie myśl przewodnia metody mapowania historyjek użytkownika tworzonych na potrzeby procesów agile. Ta odkrywcza książka, kierowana przede wszystkim do product managerów, analityków biznesowych i osób zajmujących się wrażeniami użytkownika, ma na celu pokazanie, w jaki sposób można w pełni wykorzystać zalety procesów agile i lean poprzez mapowanie historyjek. Technika ta umożliwia nakreślenie obrazu całości, który niekiedy trudno zrekonstruować na podstawie wielkiego zbioru osobnych historii. Modyfikowalne mapy historyjek umożliwiają zespołowi prowadzenie bardziej wnikliwych dyskusji o projekcie w ramach procesu produkcyjnego. W efekcie zespół sprawnie buduje wspólną wizję tego, co chce stworzyć, co przybliża produkt do osiągnięcia sukcesu. W tej książce znajdziesz: ogólne zasady mapowania historyjek, wyjaśnienie sposobu mapowania historyjek, opis wykorzystania mapowania historyjek w projektach agile oraz lean, omówienie cyklu rozwojowego historyjek, począwszy od wskazania okazji do rozwoju i odkrywania możliwości, liczne ćwiczenia i przykłady tworzenia map historyjek i ich modyfikowania, przedstawienie procesu prowadzącego od mapowania historyjek do powstania sprawnego oprogramowania. Mapowanie to prawdziwe źródło inspiracji!
Mapping with ArcGIS Pro. Design accurate and user-friendly maps to share the story of your data
Amy Rock, Ryan Malhoski
ArcGIS Pro is a geographic information system for working with maps and geographic information. This book will help you create visually stunning maps that increase thelegibility of the stories being mapped and introduce visual and design concepts intoa traditionally scientific, data-driven process. The book begins by outlining the stepsof gathering data from authoritative sources and lays out the workflow of creating a great map. Once the plan is in place you will learn how to organize the Contents Pane in ArcGIS Pro and identify the steps involved in streamlining the production process. Then you will learn Cartographic Design techniques using ArcGIS Pro's feature set to organize thepage structure and create a custom set of color swatches. You will be then exposedto the techniques required to ensure your data is clear and legible no matter the sizeor scale of your map. The later chapters will help you understand the various projectionsystems, trade-offs between them, and the proper applications of them to make sureyour maps are accurate and visually appealing. Finally, you will be introducedto the ArcGIS Online ecosystem and how ArcGIS Pro can utilize it within theapplication. You will learn Smart Mapping, a new feature of ArcGIS Online that willhelp you to make maps that are visually stunning and useful.By the end of this book, you will feel more confident in making appropriate cartographic decisions.
Mapping with ArcGIS Pro. Design accurate and user-friendly maps to share the story of your data
Amy Rock, Ryan Malhoski
ArcGIS Pro is a geographic information system for working with maps and geographic information. This book will help you create visually stunning maps that increase thelegibility of the stories being mapped and introduce visual and design concepts intoa traditionally scientific, data-driven process. The book begins by outlining the stepsof gathering data from authoritative sources and lays out the workflow of creating a great map. Once the plan is in place you will learn how to organize the Contents Pane in ArcGIS Pro and identify the steps involved in streamlining the production process. Then you will learn Cartographic Design techniques using ArcGIS Pro's feature set to organize thepage structure and create a custom set of color swatches. You will be then exposedto the techniques required to ensure your data is clear and legible no matter the sizeor scale of your map. The later chapters will help you understand the various projectionsystems, trade-offs between them, and the proper applications of them to make sureyour maps are accurate and visually appealing. Finally, you will be introducedto the ArcGIS Online ecosystem and how ArcGIS Pro can utilize it within theapplication. You will learn Smart Mapping, a new feature of ArcGIS Online that willhelp you to make maps that are visually stunning and useful.By the end of this book, you will feel more confident in making appropriate cartographic decisions.
Master Apache JMeter - From Load Testing to DevOps. Master performance testing with JMeter
Antonio Gomes Rodrigues, Bruno Demion (Milamber), Philippe...
Load tests help identify the maximum number of requests a software system can handle. One popular open source tool for load testing is JMeter. By leveraging the features and capabilities of JMeter, you can perform extensive load testing and fix issues in your application before they become problematic. This book is written by JMeter developers and begins by discussing the whole process, including recording a script, setting it up, and launching it, enabling you to almost immediately start load testing. You'll learn the best practices that you must follow while designing test cases. You'll also explore the different protocols offered by JMeter through various real-world examples. Finally, you'll see how to integrate JMeter into the DevOps approach and create professional reports. You'll discover ways to use the eco-system of JMeter to integrate new protocols, enrich its monitoring, and leverage its power through the use of the cloud. By the end of this book, you'll know all that's needed to perform comprehensive load testing on your applications by using all the best practices and features of JMeter.
Master Apache JMeter - From Load Testing to DevOps. Master performance testing with JMeter
Antonio Gomes Rodrigues, Bruno Demion (Milamber), Philippe...
Load tests help identify the maximum number of requests a software system can handle. One popular open source tool for load testing is JMeter. By leveraging the features and capabilities of JMeter, you can perform extensive load testing and fix issues in your application before they become problematic. This book is written by JMeter developers and begins by discussing the whole process, including recording a script, setting it up, and launching it, enabling you to almost immediately start load testing. You'll learn the best practices that you must follow while designing test cases. You'll also explore the different protocols offered by JMeter through various real-world examples. Finally, you'll see how to integrate JMeter into the DevOps approach and create professional reports. You'll discover ways to use the eco-system of JMeter to integrate new protocols, enrich its monitoring, and leverage its power through the use of the cloud. By the end of this book, you'll know all that's needed to perform comprehensive load testing on your applications by using all the best practices and features of JMeter.
Mastering Akka. A hands-on guide to build application using the Akka framework
Christian Baxter
For a programmer, writing multi-threaded applications is critical as it is important to break large tasks into smaller ones and run them simultaneously. Akka is a distributed computing toolkit that uses the abstraction of the Actor model, enabling developers to build correct, concurrent, and distributed applications using Java and Scala with ease. The book begins with a quick introduction that simplifies concurrent programming with actors. We then proceed to master all aspects of domain-driven design. We’ll teach you how to scale out with Akka Remoting/Clustering. Finally, we introduce Conductr as a means to deploy to and manage microservices across a cluster.
Mastering Amazon EC2. Unravel the complexities of EC2 to build robust and resilient applications
Badri Kesavan
This comprehensive guide demystifies the complex landscape of Amazon EC2, from fundamentals to advanced concepts. You’ll begin by understanding EC2 core components, creating and managing AMIs, selecting the right instance type and size, establishing networking and connectivity, and implementing security best practices. Next, you’ll start building resilient apps on EC2, load balancing, auto scaling, storage options, performance optimization, monitoring, logging, and auditing. You'll also explore advanced concepts like containers, serverless, hybrid/multi-cloud architectures, high performance computing, big data, and disaster recovery strategies. By the end, you'll be equipped with the knowledge and confidence to harness the full potential of Amazon EC2.
Mastering AndEngine Game Development. Move beyond basic games and explore the limits of AndEngine
Maya Posch
AndEngine is a popular and easy-to-use game framework, best suited for Android game development. After learning the basics of creating an Android game using AndEngine it's time you move beyond the basics to explore further. For this you need to understand the theory behind many of the technologies AndEngine uses.This book aims to provide all the skills and tools you need to learn more about Android game development using AndEngine. With this book you will get a quick overview of the basics of AndEngine and Android application development. From there, you will learn how to use 3D models in a 2D scene, render a visual representation of a scene's objects, and create interaction between these objects. You will explore frame-based animations and learn to use skeletal animations.As the book progresses, you will be guided through exploring all the relevant aspects of rendering graphics with OpenGL ES, generating audio using OpenSL ES and OpenAL, making the best use of Android's network API, implementing anti-aliasing algorithms, shaders, dynamic lighting and much more. With all this, you will be ready to enhance the look and feel of your game with its user interface, sound effects and background music.After an in-depth study of 2D and 3D worlds and multi-player implementations, you will be a master in AndEngine and Android game development.
Antonio Pachon
There are millions of Android apps out there for people to download – how do you make sure yours has the edge? It’s not always about innovation and ideas – the most successful apps are those that are able to satisfy customer demands – they’re the ones that look the best, the fastest, and the easiest and most intuitive to use. This book shows you how to create Android applications that do precisely that – it has been designed help you consider and answer those questions throughout the development process, so you can create applications that stand out against the crowd. Learn how to create exemplary UIs that contribute to a satisfying user experience through the lens of Material Design, and explore how to harness the range of features within the Android SDK to help you. Dive deeper into complex programming concepts and discover how to leverage concurrency and navigate memory management and image handling. You’ll also find further guidance on testing and debugging so you can guarantee that your application is reliable and robust for users. Beyond this you’ll find out how to extend your app and add greater functionality, including notifications, location services, adverts and app billing (essential if you want to properly monetize your creation!). To make sure you have confidence at every stage in the process, the book also shows you how to release your app to the Play store – to make sure your maximising your efforts to create a popular Android application!
Miloš Vasić
Kotlin is a programming language intended to be a better Java, and it's designed to be usable and readable across large teams with different levels of knowledge. As a language, it helps developers build amazing Android applications in an easy and effective way.This book begins by giving you a strong grasp of Kotlin's features in the context of Android development and its APIs. Moving on, you'll take steps towards building stunning applications for Android. The book will show you how to set up the environment, and the difficulty level will grow steadily with the applications covered in the upcoming chapters.Later on, the book will introduce you to the Android Studio IDE, which plays an integral role in Android development. We'll use Kotlin's basic programming concepts such as functions, lambdas, properties, object-oriented code, safety aspects, type parameterization, testing, and concurrency, which will guide you through writing Kotlin code in production. We'll also show you how to integrate Kotlininto any existing Android project.
Wajahat Karim, Siddharth Shekar
Game engines such as Unity are the power-tools behind the games we know and love. Unity is one of the most widely-used and best loved packages for game development and is used by everyone, from hobbyists to large studios, to create games and interactive experiences for the Web, desktop, mobile, and console. With Unity's intuitive, easy-to-learn toolset and this book, it's never been easier to become a game developer.You will begin with the basic concepts of Android game development, a brief history of Android games, the building blocks of Android games in Unity 5, and the basic flow of games. You will configure an empty project for the Jetpack Joyride Clone Game, add an environment and characters, and control them. Next you will walk through topics such as particle systems, camera management, prefabs, animations, triggers, colliders, and basic GUI systems. You will then cover the basic setup for 3D action fighting games, importing models, textures and controlling them with a virtual on-screen joystick. Later you will set up Scene for 3D Configuration, create basic gameplays, and manage input controls. Next you will learn to create the interface for the main menu, gameplay, game over, achievements, and high score screens. Finally you will polish your game with stats, sounds, and Social Networking, followed by testing the game on Android devices and then publishing it on Google Play, Amazon, and OUYA Stores.
Viktor Latypov, Viktor Latypov, Sergey Kosarevsky
Android NDK is used for multimedia applications that require direct access to system resources. NDK is also the key for portability, which in turn allows a reasonably comfortable development and debugging process using familiar tools such as GCC and Clang toolchains.This is a hands-on guide to extending your game development skills with Android NDK. The book takes you through many clear, step-by-step example applications to help you further explore the features of Android NDK and some popular C++ libraries and boost your productivity by debugging the development process.Through the course of this book, you will learn how to write portable multi-threaded native code, use HTTP networking in C++, play audio files, use OpenGL ES 3, and render high-quality text. Each chapter aims to take you one step closer to building your application. By the end of this book, you will be able to create an engaging, complete gaming application.
Mastering Android Studio 3. Build Dynamic and Robust Android applications
Kyle Mew
Android Studio is an Integrated Development Environment (IDE) designed for developing Android apps. As with most development processes, Android keeps resources and logic nicely separated, and so this book covers the management of imagery and other resources, and the development and testing tools provided by the IDE.After introducing the software, the book moves straight into UI development using the sophisticated, WYSIWYG layout editor and XML code to design and test complex interfaces for a wide variety of screen configurations.With activity design covered, the book continues to guide the reader through application logic development, exploring the latest APIs provided by the SDK. Each topic will be demonstrated by working code samples that can be run on a device or emulator.One of Android Studio's greatest features is the large number of third-party plugins available for it, and throughout the book we will be exploring the most useful of these, along with samples and libraries that can be found on GitHub.The final module of the book deals with the final stages of development: building and distribution. The book concludes by taking the reader through the registration and publication processes required by Google. By the time you have finished the book, you will be able to build faster, smoother, and error-free Android applications, in less time and with fewer complications than you ever thought possible.
Mastering Android Studio 3. Build Dynamic and Robust Android applications
Kyle Mew
Android Studio is an Integrated Development Environment (IDE) designed for developing Android apps. As with most development processes, Android keeps resources and logic nicely separated, and so this book covers the management of imagery and other resources, and the development and testing tools provided by the IDE.After introducing the software, the book moves straight into UI development using the sophisticated, WYSIWYG layout editor and XML code to design and test complex interfaces for a wide variety of screen configurations.With activity design covered, the book continues to guide the reader through application logic development, exploring the latest APIs provided by the SDK. Each topic will be demonstrated by working code samples that can be run on a device or emulator.One of Android Studio's greatest features is the large number of third-party plugins available for it, and throughout the book we will be exploring the most useful of these, along with samples and libraries that can be found on GitHub.The final module of the book deals with the final stages of development: building and distribution. The book concludes by taking the reader through the registration and publication processes required by Google. By the time you have finished the book, you will be able to build faster, smoother, and error-free Android applications, in less time and with fewer complications than you ever thought possible.
Simone Casagranda, Siddique Hameed, Javeed Chida
Wearable technology is the future of mobile devices. It looks set to be a breakthrough technology, just like the iPad was before it. With the Apple Watch being widely regarded as a success, all eyes are now on Google to provide a similar device for its users. Keep your skills ahead of the competition and be one of the first to fully understand this powerful new trend. This book will give you a very solid understanding of the philosophy, thought process, development details, and methodologies involved in building well-designed, robust Android Wear applications.We cover the advantages and disadvantages of the wearable computing paradigm and provide a good foundational knowledge for you to build practical, real-world wearable apps. You will learn about the various tools, platforms, libraries, SDKs, and technology needed to build Android Wear apps. By the end of the book, you will be an expert in building Android wearable apps.