Inne - Programowanie
W kategorii Inne zgromadzone zostały publikacje blisko związane zarówno z programowaniem jak i innymi aspektami dotyczącymi twórczości programistycznej. Znajdziecie tutaj porady jak poprawnie i skutecznie napisać program, co zrobić aby był bardziej przyjazny użytkownikom, oraz z jakich metod numerycznych i struktur danych przy tych działaniach skorzystać.
Ważnym aspektem tworzenia oprogramowania jest jego testowanie. Znajdziecie tutaj publikacje, omawiające w przystępny sposób proces testowania aplikacji i wyjaśniające czemu właściwie jest to konieczne. Skoro napisaliście już znakomity program, warto byłoby go dobrze sprzedać - w działaniach marketingowych pomogą Wam książki z tego działu.
Debugging Teams. Przez współpracę do lepszej produktywności
Brian W. Fitzpatrick, Ben Collins-Sussman
Debugging Teams. Przez współpracę do lepszej produktywności Programiści i inżynierowie oprogramowania spędzają mnóstwo czasu na zgłębianiu tajników algorytmów, kodu czy technik budowy aplikacji. Bardzo mało uwagi poświęcają jednak takim zagadnieniom, jak komunikacja, skuteczna praca w zespole czy prowadzenie wspólnych projektów. Tymczasem programowanie jest jednym z zadań, które realizuje się w grupie. Oznacza to, że sposób pracy zespołu ma bezpośredni i znaczący wpływ na produktywność i zadowolenie jego członków. Zaniedbanie tej kwestii stało się przyczyną niepowodzenia wielu obiecujących projektów. Niniejsza książka, choć pozornie adresowana do liderów zespołów programistów, tak naprawdę przyda się każdemu, kto bierze udział w dowolnym twórczym grupowym przedsięwzięciu: począwszy od studenckiego klubu, na korporacji architektów skończywszy. Znalazły się tu bardzo praktyczne wskazówki dotyczące efektywnego kierowania zespołem, poruszania się w ramach organizacji oraz budowania zdrowych relacji z użytkownikami. Nie zabrakło porad dotyczących różnych sposobów komunikowania się i skutecznego wpływania na drugiego człowieka, a także metod radzenia sobie z trudnymi ludźmi. Jest to znakomita lektura dla każdego twórczego człowieka! W tej książce: wzorce komunikacyjne a kultura zespołu przywództwo: wzorce i antywzorce skuteczne strategie współpracy z innymi zespołami w ramach organizacji identyfikacja i zażegnywanie zagrożeń związanych z komunikacją zarządzanie opinią publiczną Mniej czasu na kłótnie, więcej na współpracę! Brian Fitzpatrick przez kilka lat prowadził duże projekty inżynieryjne dla firmy Google, takie jak Data Liberation Front i Transparency Engineering. Przed przejściem do Google Fitzpatrick pracował m.in. w Apple i CollabNet. Jest autorem wielu artykułów. Mieszka w Chicago. Ben Collins-Sussman tworzył system kontroli wersji Subversion. Od lat pracuje dla firmy Google, zainicjował projekt Google Code, zajmował się technologią wyświetlania reklam oraz infrastrukturą wyszukiwarki. W wolnych chwilach gra na banjo i komponuje musicale. Mieszka w Chicago z żoną, dziećmi i kotami.
David Foster
Techniki uczenia głębokiego rozwijają się w imponującym tempie, a sieci neuronowe znajdują zastosowanie w przeróżnych branżach. Coraz częściej komputer wykonuje zadania, które do niedawna były zarezerwowane dla człowieka. Dobrym przykładem jest tworzenie dzieł sztuki: ostatnie postępy w dziedzinie modelowania generatywnego sprawiają, że maszyny tworzą oryginalne obrazy w określonym stylu, piszą spójne akapity tekstu, komponują przyjemną w odbiorze muzykę i generują prawdopodobne scenariusze zdarzeń. Ta "generatywna rewolucja" już się zaczęła, a jej efekty przekraczają najśmielsze wyobrażenia. Ta książka jest praktycznym przewodnikiem przeznaczonym dla inżynierów uczenia maszynowego i analityków danych. W jasny i przystępny sposób omówiono w niej zasadnicze zagadnienia teorii modelowania generatywnego, a następnie zaprezentowano techniki stosowane do budowy modeli generatywnych, włącznie z ogólnym opisem uczenia głębokiego, wariacyjnych autoenkoderów i generatywnych sieci antagonistycznych (GAN). Na tej podstawie - z wykorzystaniem biblioteki Keras - pokazano wewnętrzne funkcjonowanie każdej z tych technik, łącznie z najbardziej nowatorskimi architekturami. Opisano krok po kroku sposoby rozwiązywania takich twórczych zadań jak malowanie, pisanie i komponowanie muzyki, a także zastosowania modelowania generatywnego do optymalizacji strategii grania w gry (modele World). W książce między innymi: działanie autoenkoderów wariacyjnych tworzenie sieci GAN, w tym CycleGAN i MuseGAN rekurencyjne modele generatywne do tworzenia tekstu oraz mechanizmy uwagi modele generatywne w środowiskach uczenia przez wzmacnianie architektura Transformer (BERT, GPT-2) oraz modele generowania obrazu Czy potrafisz stworzyć... twórcę?
Primož Gabrijelčič
Delphi is a cross-platform Integrated Development Environment (IDE) that supports rapid application development for Microsoft Windows, Apple Mac OS X, Google Android, iOS, and now Linux with RAD Studio 10.2. This book will be your guide to build efficient high performance applications with Delphi.The book begins by explaining how to find performance bottlenecks and apply the correct algorithm to fix them. It will teach you how to improve your algorithms before taking you through parallel programming. You’ll then explore various tools to build highly concurrent applications. After that, you’ll delve into improving the performance of your code and master cross-platform RTL improvements. Finally, we’ll go through memory management with Delphi and you’ll see how to leverage several external libraries to write better performing programs. By the end of the book, you’ll have the knowledge to create high performance applications with Delphi.
Caio Calderari
In an era marked by a growing demand for tech solutions and a shortage of skilled developers, companies grapple with hiring expenses. No-code tools offer a faster, more affordable software development alternative. Leading this no-code revolution is Bubble, enabling newcomers to construct impressive web applications in a matter of weeks if not days.Written by Caio Calderari, a seasoned no-code expert with 17 years of experience to offers practical advice for mastering no-code application development. You'll learn to plan your app with Bubble's visual builder features and UI components and implement frontend functionalities such as customizing layouts and creating responsive user interfaces. The book covers workflow automation, database management, security best practices, and backend functionality setup and advances to span the Bubble plugin ecosystem and API integration for third-party services to improve the app's functionality. Additionally, you'll explore app testing, debugging, performance monitoring, and maintenance. From launching with a custom domain to gathering user feedback for continuous improvement and optimization of performance and scalability, you’ll learn every aspect of Bubble's app development and deployment.By the end of this book, you'll know how to bring your digital ideas to life without writing code.
Design Thinking. Jak wykorzystać myślenie projektowe do zwiększenia zysków Twojej firmy
Danuta Piasecka
Zweryfikuj swoje pomysły biznesowe. Szybko i skutecznie! Design thinking, czyli myślenie projektowe. Wbrew pozorom ten sposób podejścia do biznesu nie jest przypisany wyłącznie do wielkich korporacji. Pracować w duchu design thinking może i powinna każda firma, której właścicielowi zależy na zwiększeniu wydajności, szybkim realizowaniu dobrych pomysłów i jeszcze szybszym wycofywaniu się z tych nietrafionych. Jeżeli zatem myślisz o tym, by w swojej - małej lub większej - firmie działać szybciej, a tym samym skuteczniej i z większym zyskiem, ta kursoksiążka jest dla Ciebie. Dlaczego kursoksiążka? Ponieważ jest to pozycja, w której informacje teoretyczne dotyczące samego pojęcia myślenia projektowego ograniczono do minimum. Autorka, bizneswoman, trenerka i moderatorka DT, stawia na wiedzę praktyczną i umiejętność myślenia projektowego, a także dostarczenie Ci narzędzi gotowych do zastosowania od zaraz. Za pośrednictwem kursoksiążki krok po kroku przeprowadzi Cię przez proces projektowania nowych produktów i usług, dzięki którym zwiększysz zyski Twojej firmy.
Designing AWS Environments. Architect large-scale cloud infrastructures with AWS
Mitesh Soni, Wayde Gilchrist
Amazon Web Services (AWS) provides trusted,cloud-based solutions to help you meet your business needs. Running your solutions in the AWS Cloud can help you get your applications up and running faster while providing the security to meet your compliance requirements. This book begins by familiarizing you with the key capabilities to architect and host applications, websites, and services on AWS. We explain the available options for AWS free tier with virtual instances and demonstrate how you can launch and connect them. Using practical examples, you’ll be able to design and deploy networking and hosting solutions for large deployments. Finally, the book focuses on security and important elements of scalability and high availability using AWS VPC, Elastic Load Balancing, and Auto scaling. By the end of this book, you will have handson experience of working with AWS instances,VPC, Elastic Load Balancing, and Auto scalingrelated tasks on Amazon Web Services.
Chanaka Fernando
Building a scalable microservices platform that caters to business demands is critical to the success of that platform. In a microservices architecture, inter-service communication becomes a bottleneck when the platform scales. This book provides a reference architecture along with a practical example of how to implement it for building microservices-based platforms with NATS as the messaging backbone for inter-service communication.In Designing Microservices Platforms with NATS, you’ll learn how to build a scalable and manageable microservices platform with NATS. The book starts by introducing concepts relating to microservices architecture, inter-service communication, messaging backbones, and the basics of NATS messaging. You’ll be introduced to a reference architecture that uses these concepts to build a scalable microservices platform and guided through its implementation. Later, the book touches on important aspects of platform securing and monitoring with the help of the reference implementation. Finally, the book concludes with a chapter on best practices to follow when integrating with existing platforms and the future direction of microservices architecture and NATS messaging as a whole.By the end of this microservices book, you’ll have developed the skills to design and implement microservices platforms with NATS.
Matthew Sheehan
This guide is invaluable to those just starting out with GIS development but will also benefit GIS professionals wishing to expand their development skills to include mobile apps.
Martyn Coupland
DevOps is a set of best practices enabling operations and development teams to work together to produce higher-quality work and, among other things, quicker releases. This book helps you to understand the fundamentals needed to get started with DevOps, and prepares you to start deploying technical tools confidently.You will start by learning the key steps for implementing successful DevOps transformations. The book will help you to understand how aspects of culture, people, and process are all connected, and that without any one of these elements DevOps is unlikely to be successful. As you make progress, you will discover how to measure and quantify the success of DevOps in your organization, along with exploring the pros and cons of the main tooling involved in DevOps. In the concluding chapters, you will learn about the latest trends in DevOps and find out how the tooling changes when you work with these specialties.By the end of this DevOps book, you will have gained a clear understanding of the connection between culture, people, and processes within DevOps, and learned why all three are critically important.
DevOps Bootcamp. The fastest way to learn DevOps
Mitesh Soni
DevOps Bootcamp delivers practical learning modules in manageable chunks. Each chunk is delivered in a day, and each day is a productive one. Each day builds your competency in DevOps. You will be able to take the task you learn every day and apply it to cultivate the DevOps culture.Each chapter presents core concepts and key takeaways about a topic in DevOps and provides a series of hands-on exercises. You will not only learn the importance of basic concepts or practices of DevOps but also how to use different tools to automate application lifecycle management. We will start off by building the foundation of the DevOps concepts. On day two, we will perform Continuous Integration using Jenkins and VSTS both by configuring Maven-based JEE Web Application?. We will also integrate Jenkins and Sonar qube for Static Code Analysis. Further, on day three, we will focus on Docker containers where we will install and configure Docker and also create a Tomcat Container to deploy our Java based web application. On day four, we will create and configure the environment for application deployment in AWS and Microsoft Azure Cloud for which we will use Infrastructure as a Service and Open Source Configuration Management tool Chef. For day five, our focus would be on Continuous Delivery. We will automate application deployment in Docker container using Jenkins Plugin, AWS EC2 using Script, AWS Elastic Beanstalk using Jenkins Plugin, Microsoft Azure VM using script, and Microsoft Azure App Services Using Jenkins. We will also configure Continuous Delivery using VSTS. We will then learn the concept of Automated Testing on day six using Apache JMeter and URL-based tests in VSTS. Further, on day seven, we will explore various ways to automate application lifecycle management using orchestration. We will see how Pipeline can be created in Jenkins and VSTS, so the moment Continuous? Integration is completed successfully, Continuous Delivery will start and application will be deployed. On the final day, our focus would be on Security access to Jenkins and Monitoring of CI resources, and cloud-based resources in AWS and Microsoft Azure Platform as a Service.
Emily Freeman
Postaw na przewagę konkurencyjną, jaką zapewnia DevOps Wprowadź technologie w duchu DevOps, w tym chmurę i kontenery Przestaw swoją organizację na metodykę DevOps Przedmowa Nicole Forsgren, współzałożycielka i CEO w DevOps Research and Assessment (DORA) Dołącz do DevOpsowej rewolucji! Dzięki DevOps możesz przyspieszyć cykl życia związany z dostarczaniem oprogramowania, jeśli tylko poznasz procesy, narzędzia i sposób myślenia będący podstawą kultury DevOps. Ta książka pomaga inżynierom oprogramowania i kierownikom do spraw technicznych w przekształcaniu organizacji w celu przyjęcia podejścia DevOps. Dowiedz się, jak tworzyć bardziej iteracyjny i zorientowany na klienta styl rozwoju i dostarczania, by w efekcie poprawić współpracę, wyeliminować wąskie gardła i zwiększyć produktywność zespołu. W książce: identyfikowanie wąskich gardeł w organizacji tworzenie własnych ram postępowania w duchu DevOps angażowanie zespołu w ten proces dostosowywanie kultury organizacyjnej wyciąganie nauki z porażek przygotowanie się do zarządzania incydentami automatyzowanie procesów manualnych
DevOps Paradox. The truth about DevOps by the people on the front line
Viktor Farcic
DevOps promises to break down silos, uniting organizations to deliver high quality output in a cross-functional way. In reality it often results in confusion and new silos: pockets of DevOps practitioners fight the status quo, senior decision-makers demand DevOps paint jobs without committing to true change. Even a clear definition of what DevOps is remains elusive.In DevOps Paradox, top DevOps consultants, industry leaders, and founders reveal their own approaches to all aspects of DevOps implementation and operation. Surround yourself with expert DevOps advisors. Viktor Farcic draws on experts from across the industry to discuss how to introduce DevOps to chaotic organizations, align incentives between teams, and make use of the latest tools and techniques.With each expert offering their own opinions on what DevOps is and how to make it work, you will be able to form your own informed view of the importance and value of DevOps as we enter a new decade. If you want to see how real DevOps experts address the challenges and resolve the paradoxes, this book is for you.
DevOps w praktyce. Wdrażanie narzędzi Terraform, Azure DevOps, Kubernetes i Jenkins. Wydanie II
Mikael Krief
DevOps jest doskonałym rozwiązaniem dla każdej organizacji, która musi zwiększyć przepływ pracy technicznej przy zachowaniu odpowiedniej jakości i niezawodności. Pozwala też na uzyskanie trwałości projektów i wzorową współpracę programistów z zespołem operacyjnym. Wiele organizacji decyduje się na wdrożenie praktyk DevOps. Pomyślne przeprowadzenie tego procesu wymaga przygotowań, w ich ramach zaś kluczowe znaczenie ma wybór odpowiednich do potrzeb wzorców i narzędzi. To drugie, zaktualizowane i uzupełnione wydanie książki poświęconej wdrażaniu najlepszych praktyk DevOps przy użyciu nowoczesnych narzędzi. Przedstawiono w niej informacje o kulturze DevOps, opisano różne narzędzia i techniki stosowane do jej wdrażania, takie jak IaC, potoki Git i CI/CD, a także automatyzację testów i analizę kodu. Sporo miejsca poświęcono konteneryzacji aplikacji za pomocą Dockera i platformy Kubernetes. Znajdziemy tutaj również kwestię skracania przestojów podczas wdrażania oprogramowania i omówienie możliwości stosowania praktyk DevOps w projektach open source. Warto zwrócić uwagę na ostatni rozdział, w którym pokazano zasady wdrażania niektórych praktyk DevOps w całym cyklu życia projektów. Najciekawsze zagadnienia: infrastruktura jako kod (IaC) udostępnianie i konfigurowanie infrastruktury chmurowej tworzenie lokalnego środowiska programistycznego i konteneryzowanie aplikacji zastosowanie DevSecOps do testowania zgodności i zabezpieczania infrastruktury potoki DevOps CI/CD i zielononiebieskie praktyki wdrażania praktyki DevOps dla projektów open source Potrzebujesz efektywności? Praktykuj DevOps i wygrywaj na rynku!
Digitalizacja w systemach automatyki SIMATIC. Teoria, przykłady, ćwiczenia
Artur Nowocień
Z pamięci papieru do pamięci komputera Współczesnym przemysłem rządzi... informatyka. Ta dziedzina stale się rozwija i zagarnia pod swoje skrzydła kolejne sektory ― od produkcji, przez logistykę i księgowość, po dystrybucję i sprzedaż. Tyle teorii. W praktyce zaś często się okazuje, że podczas gdy otoczenie biznesowe i technologie pędzą naprzód, systemy stosowane w przemyśle zostają nieco z tyłu. Głównym celem, jaki przyświeca autorowi tej publikacji, skierowanej przede wszystkim do automatyków i programistów sterowników PLC, jest odczarowanie pojęcia digitalizacji i udowodnienie, że technologie, które się w nie wpisują, nie są wcale zarezerwowane dla specjalistów IT. W rzeczywistości wszyscy stosujemy je na co dzień, tylko w okrojonej formie. W książce poruszane są takie tematy jak podstawowe założenia czwartej rewolucji przemysłowej, cyberbezpieczeństwo, mechanizmy informatyczne implementowane na poziomie konwencjonalnych urządzeń automatyki, internet rzeczy, chmury obliczeniowe, systemy brzegowe, a także technologie, które wyznaczają przyszłość automatyki przemysłowej. Każdy rozdział składa się z dwóch części: teoretycznej, zawierającej omówienie podstawowych zagadnień, które należy przyswoić, aby móc świadomie korzystać z danej technologii, i praktycznej, prezentującej jej implementację przy użyciu powszechnie stosowanych komponentów automatyki.
Digitalizacja w systemach automatyki SIMATIC. Teoria, przykłady, ćwiczenia. Wydanie II
Artur Nowocień
Z pamięci papieru do pamięci komputera Współczesnym przemysłem rządzi... informatyka. Ta dziedzina stale się rozwija i zagarnia pod swoje skrzydła kolejne sektory ― od produkcji, przez logistykę i księgowość, po dystrybucję i sprzedaż. Tyle teorii. W praktyce zaś często się okazuje, że podczas gdy otoczenie biznesowe i technologie pędzą naprzód, systemy stosowane w przemyśle zostają nieco z tyłu. Głównym celem, jaki przyświeca autorowi tej publikacji, skierowanej przede wszystkim do automatyków i programistów sterowników PLC, jest odczarowanie pojęcia digitalizacji i udowodnienie, że technologie, które się w nie wpisują, nie są wcale zarezerwowane dla specjalistów IT. W rzeczywistości wszyscy stosujemy je na co dzień, tylko w okrojonej formie. W książce poruszane są takie tematy jak podstawowe założenia czwartej rewolucji przemysłowej, cyberbezpieczeństwo, mechanizmy informatyczne implementowane na poziomie konwencjonalnych urządzeń automatyki, internet rzeczy, chmury obliczeniowe, systemy brzegowe, a także technologie, które wyznaczają przyszłość automatyki przemysłowej. Każdy rozdział składa się z dwóch części: teoretycznej, zawierającej omówienie podstawowych zagadnień, które należy przyswoić, aby móc świadomie korzystać z danej technologii, i praktycznej, prezentującej jej implementację przy użyciu powszechnie stosowanych komponentów automatyki.
Distributed Computing in Java 9. Leverage the latest features of Java 9 for distributed computing
Raja Malleswara Rao Malleswara Rao Pattamsetti
Distributed computing is the concept with which a bigger computation process is accomplished by splitting it into multiple smaller logical activities and performed by diverse systems, resulting in maximized performance in lower infrastructure investment. This book will teach you how to improve the performance of traditional applications through the usage of parallelism and optimized resource utilization in Java 9.After a brief introduction to the fundamentals of distributed and parallel computing, the book moves on to explain different ways of communicating with remote systems/objects in a distributed architecture. You will learn about asynchronous messaging with enterprise integration and related patterns, and how to handle large amount of data using HPC and implement distributed computing for databases. Moving on, it explains how to deploy distributed applications on different cloud platforms and self-contained application development. You will also learn about big data technologies and understand how they contribute to distributed computing. The book concludes with the detailed coverage of testing, debugging, troubleshooting, and security aspects of distributed applications so the programs you build are robust, efficient, and secure.
Distributed Computing with Go. Practical concurrency and parallelism for Go applications
V.N. Nikhil Anurag, Jinzhu Zhang, Pankaj Khairnar
Distributed Computing with Go gives developers with a good idea how basic Go development works the tools to fulfill the true potential of Golang development in a world of concurrent web and cloud applications. Nikhil starts out by setting up a professional Go development environment. Then you’ll learn the basic concepts and practices of Golang concurrent and parallel development. You’ll find out in the new few chapters how to balance resources and data with REST and standard web approaches while keeping concurrency in mind. Most Go applications these days will run in a data center or on the cloud, which is a condition upon which the next chapter depends. There, you’ll expand your skills considerably by writing a distributed document indexing system during the next two chapters. This system has to balance a large corpus of documents with considerable analytical demands. Another use case is the way in which a web application written in Go can be consciously redesigned to take distributed features into account. The chapter is rather interesting for Go developers who have to migrate existing Go applications to computationally and memory-intensive environments. The final chapter relates to the rather onerous task of testing parallel and distributed applications, something that is not usually taught in standard computer science curricula.
Gastón C. Hillar
Django is a Python web framework that makes the web development process very easy. It reduces the amount of trivial code, which simplifies the creation of web applications and results in faster development. It is very powerful and a great choice for creating RESTful web services.If you are a Python developer and want to efficiently create RESTful web services with Django for your apps, then this is the right book for you.The book starts off by showing you how to install and configure the environment, required software, and tools to create RESTful web services with Django and the Django REST framework. We then move on to working with advanced serialization and migrations to interact with SQLite and non-SQL data sources. We will use the features included in the Django REST framework to improve our simple web service.Further, we will create API views to process diverse HTTP requests on objects, go through relationships and hyperlinked API management, and then discover the necessary steps to include security and permissions related to data models and APIs. We will also apply throttling rules and run tests to check that versioning works as expected. Next we will run automated tests to improve code coverage. By the end of the book, you will be able to build RESTful web services with Django.
Randall Smith
Docker orchestration is what you need when transitioning from deploying containers individually on a single host to deploying complex multi-container apps on many machines.This book covers the new orchestration features of Docker 1.12 and helps you efficiently build, test, and deploy your application using Docker. You will be shown how to build multi-container applications using Docker Compose. You will also be introduced to the building blocks for multi-host Docker clusters such as registry, overlay networks, and shared storage using practical examples. This book gives an overview of core tools such as Docker Machine, Swarm, and Compose which will enhance your orchestration skills. You’ll learn how to set up a swarm using the decentralized building block. Next, you’ll be shown how to make the most out of the in-built orchestration feature of Docker engine and you’ll use third-party tools such as Kubernetes, Mesosphere, and CoreOS to orchestrate your existing process. Finally, you will learn to deploy cluster hosts on cloud services and automate your infrastructure.
Docker. Praktyczne zastosowania
Karl Matthias, Sean P. Kane
Docker został zaprezentowany światu w marcu 2013 roku i praktycznie od początku wzbudza zaskakujące zainteresowanie. Narzędzie to pozwala na proste zarządzanie procesem tworzenia określonego elementu aplikacji, wdrażania go na dużą skalę w dowolnym środowisku oraz usprawniania przepływu pracy. Ma przy tym duże możliwości i łączy w sobie prostotę wdrażania aplikacji z prostotą administrowania. Jednym słowem, Docker jest niezwykle użytecznym narzędziem! Niniejsza książka jest praktycznym przewodnikiem, dzięki któremu Docker przyczyni się do sukcesu organizacji na wiele sposobów: uprości podejmowanie decyzji dotyczących architektury, ułatwi pisanie narzędzi pomocniczych, a przede wszystkim umożliwi bezproblemowe przeprowadzanie integracji kolejnych elementów aplikacji. Opisano tu, w jaki sposób za pomocą Dockera można przygotować pakiet aplikacji ze wszystkimi ich zależnościami, a następnie je testować, wdrażać, skalować oraz utrzymywać ich pracę w środowiskach produkcyjnych. W tej książce omówiono: wykorzystanie Dockera do automatyzacji i uproszczenia obsługi pakietów zasady pracy z obrazami, kontenerami i aplikacjami Dockera dołączanie do kodu aplikacji niezbędnych plików systemu operacyjnego możliwość testowania tego samego elementu aplikacji we wszystkich systemach i środowiskach oddzielenie warstwy aplikacji od warstwy sprzętowej bez poświęcania cennych zasobów zagadnienia konfiguracji sieci, koordynacji, bezpieczeństwa i zarządzania konfiguracją Dockera Docker — sposób na niezawodne zarządzanie rozwojem aplikacji!
Docker. Projektowanie i wdrażanie aplikacji
Jaroslaw Krochmalski
Piętnastego marca 2013 roku na jednej z konferencji dla projektantów aplikacji zaprezentowano światu Dockera. Choć wystąpienie to trwało zaledwie kilka minut, wzbudziło ogromne zainteresowanie. Nic dziwnego — nowe narzędzie znacząco uprościło tworzenie oprogramowania i wdrażanie go na dużą skalę w dowolnym środowisku oraz usprawniło przepływ pracy. Docker ułatwia decyzje dotyczące architektury, co przekłada się na tworzenie narzędzi pomocniczych i ich wykorzystanie w różnych aplikacjach. Jednak aby w pełni skorzystać z tych licznych zalet, trzeba zrozumieć specyficzne podejście Dockera do budowy aplikacji. Dzięki tej książce zrozumiesz, skąd się wziął lawinowy wzrost popularności Dockera. Przyjrzysz się temu znakomitemu narzędziu z punktu widzenia projektanta i dowiesz się, dlaczego dzięki niemu projektowanie, testowanie i wdrażanie aplikacji stają się szybsze i prostsze. Najpierw zapoznasz się z zagadnieniami podstawowymi, takimi jak kontenery, środowisko wykonawcze i narzędzia systemowe, aby potem skupić się na tworzeniu, uruchamianiu i publikowaniu obrazów Dockera. Znajdziesz tu również informacje o przydatnych zasobach internetowych dotyczących Dockera, a także o wartościowych narzędziach zewnętrznych, znakomicie poprawiających komfort pracy z tym narzędziem. Najważniejsze zagadnienia: wprowadzenie do Dockera i przygotowanie środowiska pracy architektura Dockera: obrazy, woluminy, kontenery proces dystrybucji oprogramowania najlepsze praktyki tworzenia plików Dockera przykłady tworzenia rzeczywistych aplikacji w Dockerze Docker: już dziś korzystaj z narzędzi jutra! Jarosław Krochmalski — od kilkunastu lat tworzy oprogramowanie. Specjalizuje się w aplikacjach dla branży finansowej. Jest projektantem z pasją, entuzjastą przejrzystego kodu i kunsztu w pisaniu oprogramowania. Otrzymał certyfikat Certified Scrum Master. Szczególnie interesuje się nowymi technologiami związanymi z projektowaniem aplikacji internetowych, wzorcami projektowymi, architekturą dla przedsiębiorstw oraz wzorcami integracji. Brał udział w wielu projektach o dużej skali, takich jak międzynarodowe przekazy pieniężne, płatności ekspresowe i systemy gromadzenia danych. Obecnie pracuje jako konsultant w duńskiej firmie 7N.
Docker Quick Start Guide. Learn Docker like a boss, and finally own your applications
Earl Waud
Docker is an open source software platform that helps you with creating, deploying, and running your applications using containers. This book is your ideal introduction to Docker and containerization.You will learn how to set up a Docker development environment on a Linux, Mac, or Windows workstation, and learn your way around all the commands to run and manage your Docker images and containers.You will explore the Dockerfile and learn how to build your own enterprise-grade Docker images. Then you will learn about Docker networks, Docker swarm, and Docker volumes, and how to use these features with Docker stacks in order to define, deploy, and maintain highly-scalable, fault-tolerant multi-container applications.Finally, you will learn how to leverage Docker with Jenkins to automate the building of Docker images and the deployment of Docker containers. By the end of this book, you will be well prepared when it comes to using Docker for your next project.
Alexey Zimarev
Wdrożenie zasad projektowania dziedzinowego (DDD) jest szansą na uzyskanie doskonałych wyników projektowania oprogramowania dla złożonych wymagań biznesowych. Aby podejście DDD ujawniło swoje zalety, konieczne jest zrozumienie potrzeb użytkowników i zidentyfikowanie właściwych problemów do rozwiązania. Dopiero potem można przystąpić do budowania modeli. Zaangażowanie zainteresowanych stron biznesowych w ten proces nie zawsze jednak przebiega efektywnie. Konieczne jest zrozumienie natury modeli dziedzinowych opartych na zachowaniu oraz tego, jaką rolę odgrywają one w budowie zwinnych i zmodularyzowanych systemów. Dzięki tej książce zrozumiesz praktyczne znaczenie złożoności dziedziny i behawioralnych aspektów języka dziedzinowego. Poznasz podstawowe zasady DDD i nauczysz się używać takich narzędzi jak EventStorming, Event Sourcing i CQRS. Dowiesz się, jak stosuje się DDD do różnych stylów architektonicznych, takich jak REST, systemy reaktywne i mikrousługi. Nauczysz się pracować we frameworku .NET Core 2.2, aby przetłumaczyć modele dziedzinowe na wykonywalny kod C#, oraz Vue.js, aby zbudować frontend aplikacji. Nie zabrakło tutaj również zagadnień refaktoryzacji kodu, numerowania wersji zdarzeń i migracji. W rezultacie poszczególne zespoły w organizacji będą mogły pracować elastyczniej i efektywniej dzięki ulepszonym usługom i oddzielonym interakcjom. W książce między innymi: angażowanie interesariuszy biznesowych do rozwiązywania złożoności dziedziny koncepcja kontekstu ograniczonego i agregatu projektowanie modeli tymczasowych na podstawie zachowania wzorzec CQRS i modele odczytu wykorzystujące rzutowania jednokierunkowy przepływ interfejsu użytkownika w Vue.js praktyczne stosowanie zasad projektowania dziedzinowego Programowanie dziedzinowe: tak się trafia w sedno potrzeb!
Domain-Driven Design. Zapanuj nad złożonym systemem informatycznym
Eric Evans
Zmień sposób myślenia o projektowaniu systemów informatycznych! Tworzenie skomplikowanych systemów informatycznych wymaga nowego podejścia. Dotychczas stosowane metody przestają się sprawdzać i generują mnóstwo problemów. Odpowiedzią na nie jest Domain-Driven Design, w skrócie DDD. W tym podejściu szczególny nacisk kładzie się na tworzenie obiektów dokładnie odzwierciedlających zachowanie ich odpowiedników istniejących w rzeczywistości. Dzięki temu projektowanie systemu można powierzyć ekspertom z danej branży, którzy niekoniecznie muszą być specjalistami w dziedzinie projektowania architektury systemów informatycznych. Ta książka jest niezwykłym przewodnikiem, który wprowadzi Cię w świat DDD. Sięgnij po nią i poznaj elementy składowe projektu sterowanego modelem oraz cykl życia obiektu dziedziny. W trakcie lektury kolejnych rozdziałów dowiesz się, jak odkrywać pojęcia niejawne, stosować wzorce analityczne oraz wiązać wzorce projektowe z modelem. Ponadto zobaczysz, w jaki sposób utrzymywać integralność modelu, a na sam koniec zaznajomisz się ze strukturami dużej skali oraz łączeniem strategii. Ta książka jest doskonałą lekturą dla wszystkich osób chcących zrozumieć Domain-Driven Design oraz zastosować to podejście w praktyce! Dzięki tej książce: zrozumiesz ideę Domain-Driven Design nauczysz się tworzyć modele zadbasz o integralność stworzonego modelu uporządkujesz system za pomocą struktur dużej skali rozpoznasz momenty przełomowe w trakcie modelowania oraz na nie zareagujesz wykorzystasz DDD w Twoim projekcie Sprawdź, jak projektować skomplikowane systemy informatyczne!