Programowanie
Alan Mellor
Koncepcja programowania sterowanego testami oznacza tworzenie kodu wysokiej jakości. TDD (ang. test-driven development) uznaje testowanie za integralny element procesu tworzenia aplikacji. To proste i potężne narzędzie ułatwia także skuteczne zastosowanie wzorców projektowych. Jeśli planujesz zostać biegłym architektem oprogramowania, opanowanie TDD w praktyce jest koniecznością! Dzięki tej książce zrozumiesz moc programowania sterowanego testami. Bazując na świetnie wyjaśnionym procesie budowy przykładowej aplikacji zgodnie z paradygmatem TDD, przyswoisz mechanizmy: cykl czerwone, zielone i refaktoryzacja, a także wzorzec przygotowania, działania i asercji. Dowiesz się też, jak za sprawą odwrócenia zależności i zamienników testowych uzyskać kontrolę nad systemami zewnętrznymi, takimi jak bazy danych. Poznasz ponadto zaawansowane techniki projektowania, w tym zasady SOLID, refaktoryzację i architekturę heksagonalną. Na podstawie piramidy testów nauczysz się znajdować równowagę między szybkimi i powtarzalnymi testami jednostkowymi a testami integracyjnymi. Używając Javy 17, opracujesz nowoczesną mikrousługę REST opartą na bazie danych PostgreSQL. W książce między innymi: kodowanie przypadków testowych w Javie miejsce TDD w procesie tworzenia oprogramowania pisanie w Javie solidnego kodu wielokrotnego użytku rzeczywiste działanie TDD i jego skuteczność przebieg pracy w TDD refaktoryzacja a TDD TDD: Twoja ścieżka do doskonałości w programowaniu!
Podman for DevOps. Containerization reimagined with Podman and its companion tools
Alessandro Arrichiello, Gianni Salinetti, Brent J. Baude
As containers have become the new de facto standard for packaging applications and their dependencies, understanding how to implement, build, and manage them is now an essential skill for developers, system administrators, and SRE/operations teams. Podman and its companion tools Buildah and Skopeo make a great toolset to boost the development, execution, and management of containerized applications.Starting with the basic concepts of containerization and its underlying technology, this book will help you get your first container up and running with Podman. You'll explore the complete toolkit and go over the development of new containers, their lifecycle management, troubleshooting, and security aspects. Together with Podman, the book illustrates Buildah and Skopeo to complete the tools ecosystem and cover the complete workflow for building, releasing, and managing optimized container images. Podman for DevOps provides a comprehensive view of the full-stack container technology and its relationship with the operating system foundations, along with crucial topics such as networking, monitoring, and integration with systemd, docker-compose, and Kubernetes.By the end of this DevOps book, you'll have developed the skills needed to build and package your applications inside containers as well as to deploy, manage, and integrate them with system services.
Saurabh Shrivastava, Neelanjali Srivastav
Usługi natywnej chmury pozwalają na uzyskiwanie imponującej wydajności i skalowalności przy niskim koszcie. Świadome tego przedsiębiorstwa poszukują architektów rozwiązań chmurowych, którzy spełniają wysokie wymagania. Taka osoba musi posiadać rozległą znajomość technologii i umiejętność wiązania tej wiedzy z wymaganiami biznesu w sposób zapewniający maksimum korzyści. Dzięki tej książce dowiesz się, jak tworzyć niezawodne, skalowalne i odporne rozwiązania, a także jak projektować systemy następnej generacji przeznaczone dla środowiska chmury. Poznasz efektywne strategie dla produktu i nauczysz się je w pełni implementować w swojej organizacji. Zrozumiesz też, w jaki sposób architekt rozwiązań wpisuje się w środowisko elastycznie działającej firmy. W tym wydaniu pojawiły się również nowe rozdziały, poświęcone takim technologiom jak internet rzeczy, obliczenia kwantowe, inżynieria danych i uczenie maszynowe. Znajdziesz tu uaktualnione informacje dotyczące architektury natywnej chmury i magazynu danych łańcucha bloków. W efekcie lektury nauczysz się tworzyć projekty efektywnych rozwiązań, spełniających zdefiniowane wymagania biznesowe. Najciekawsze zagadnienia: zadania architekta rozwiązań w korporacji implementacja reguł i wzorców projektowych strategie zabezpieczania architektury modernizacja starych aplikacji za pomocą chmury big data, uczenie maszynowe, IoT i obliczenia kwantowe w nowoczesnej architekturze Jeśli chcesz mieć łatwe życie, nie zostawaj architektem. Zaha Hadid, wielokrotnie nagradzana architektka
Podstawy architektury oprogramowania dla inżynierów
Mark Richards, Neal Ford
Rola architekta oprogramowania się zmienia. Dziś jest on odpowiedzialny za wiele spraw, zarówno technicznych, jak i tych wynikających ze specyfiki organizacji, której ma służyć aplikacja. Co więcej, rola architekta nie kończy się na podjęciu decyzji projektowych na początku pracy. Nowoczesne style architektoniczne, takie jak mikrousługi, umożliwiają przyrostowe wprowadzanie zmian, co jednak wymusza ciągłe wypracowywanie kompromisów z innymi kwestiami. Obszar architektury wciąż się zmienia i wymaga podejmowania decyzji. Mało tego, architekt musi bezustannie analizować i aktualizować podstawy, które bierze pod uwagę przy tych decyzjach. Ważne są kontekst, perspektywy i wciąż zmieniający się ekosystem dostępnych technologii. Oto kompleksowy przewodnik po nowych aspektach architektury oprogramowania. Skorzysta z niego zarówno praktykujący architekt, chcący odświeżyć swoje podejście do tego zagadnienia, jak i programista aspirujący do roli architekta. W książce zaprezentowano szereg zagadnień, które mimo zmieniających się uwarunkowań pozostają podstawami, takich jak parametry architektury, wzorce architektoniczne, określanie składników, tworzenie diagramów, prezentowanie architektury, architektura ewolucyjna i wiele innych. Dokładnie wyjaśniono te zasady, które mogą być zastosowane do wszystkich zestawów rozwiązań technologicznych. Przedstawiono niezwykle ważną kwestię analizy kompromisów, która pozwala na obiektywną ocenę rozwiązań technologicznych. Duży nacisk położono na konieczność uwzględniania wszystkich innowacji ostatniej dekady. Najciekawsze zagadnienia: wzorce architektoniczne etapy pracy przy projektowaniu nowoczesnej architektury umiejętności miękkie pomocne w pracy architekta nowe praktyki w projektowaniu architektury oprogramowania architektura oprogramowania jako dziedzina inżynierii W architekturze chodzi o ważne rzeczy (czymkolwiek to jest). Ralph Johnson
Podstawy architektury oprogramowania dla inżynierów. Wydanie II
Mark Richards, Neal Ford
Architektura oprogramowania to dziś nie tylko kwestia doświadczenia czy intuicji - staje się pełnoprawną dziedziną inżynieryjną, która zakłada powtarzalność, rygor i skuteczną analizę. Ta książka pokazuje, jak projektować systemy w sposób świadomy, oparty na sprawdzonych zasadach i analizie kompromisów. Zawiera rozdziały poświęcone najnowszym spostrzeżeniom związanym z tą dziedziną. Obejmuje zarówno klasyczne tematy (na przykład wzorce architektoniczne, wyodrębnianie komponentów, dokumentowanie architektury), jak i nowe zagadnienia, takie jak architektura ewolucyjna, wpływ AI na projektowanie systemów czy organizacja zespołów developerskich. Dokładnie wyjaśnia zasady, które mogą być zastosowane do wszystkich zestawów rozwiązań technologicznych. W książce duży nacisk położono na analizę kompromisów, która pozwala na obiektywną ocenę rozwiązań technologicznych. Architektura oprogramowania została tu ujęta jako dziedzina inżynieryjna - z całym dorobkiem ostatniej dekady. Najważniejsze zagadnienia: style i wzorce architektoniczne kluczowe składniki i cechy nowoczesnych projektów umiejętności miękkie pomocne w pracy architekta nowoczesne praktyki inżynierii oprogramowania architektura jako dziedzina inżynieryjna W książce znajdziesz niezbędne źródło wiedzy pozwalające zgłębić nowoczesną architekturę oprogramowania z perspektywy współczesnych realiów. Raju Gandhi, autor Head First Git i współautor Architektury oprogramowania. Rusz głową!
Podstawy języka T-SQL: Microsoft SQL Server 2022 i Azure SQL Database
Itzik Ben-Gan
Zapytania i modyfikowanie danych przy użyciu T-SQL Opanuj podstawy języka T-SQL i pisz poprawny niezawodny kod dla odpytywania i modyfikowania danych w Microsoft SQL Server 2022 i Azure SQL Database i Azure SQL Managed Instance. Itzik Ben-Gan, wieloletni MVP w dziedzinie Microsoft Data Platform, wyjaśnia kluczowe koncepcje języka T-SQL i pomaga w wykorzystaniu tej wiedzy w praktycznych zastosowaniach. Książka przedstawia zasady działania T-SQL i logikę działającą w tle. Następnie prowadzi czytelnika poprzez kluczowe zagadnienia, takie jak zapytania jednotabelowe, złączenia, podzapytania, wyrażenia tablicowe i operatory zbiorów. Przedstawiono również bardziej zaawansowane zagadnienia, takie jak funkcje okna, tworzenie tabel przestawnych i grupowanie zbiorów. Wyjaśnione zostaną techniki modyfikowania danych, tabele temporalne i obsługa transakcji oraz współbieżności. Opierając się na tych podstawach można ulepszyć swoje możliwości kodowania, od konstrukcji programistycznych po potężne nowe narzędzie SQL Graph. Jednocześnie Ben-Gan prezentuje przykładowy kod T-SQL, który niezawodnie działa w środowisku chmurowym, w siedzibie lub hybrydowym. Ta książka pomoże Ci: Zrozumieć działanie T-SQL, dzięki czemu można pisać lepszy kod Odświeżyć informacje o teorii relacyjnej i architekturze SQL Server Tworzyć tabele i definiować integralność danych Budować zapytania, złączenia wielotabelowe i podzapytania Korzystać z tabel pochodnych, wyrażeń CTE, widoków, włamywanych funkcji tablicowych oraz klauzuli APPLY Skutecznie wykorzystywać operatory UNION, INTERSECT i EXCEPT Analizować dane za pomocą funkcji okna, przestawiania danych, zbiorów grupujących i serii czasowych Posługiwać się systemowo wersjonowanymi tabelami temporalnymi Poznać i stosować mechanizmy transakcji i współbieżności, w tym równoległe połączenia użytkowników, blokady, rozwiązywanie zakleszczeń, poziomy izolacji i jeszcze więcej Używać SQL Graph do modelowania, tworzenia, modyfikowania i odpytywania danych opartych na grafach Poznawać obiekty programowalne SQL Server i możliwości programistyczne tego środowiska Konfigurować środowisko robocze, instalować przykładowe bazy danych i znajdować jeszcze więcej pomocy Dla profesjonalistów i konsultantów IT Dla programistów T-SQL, administratorów baz danych, praktyków BI, danetyków, twórców raportów, analityków, architektów danych i innych zaawansowanych użytkowników SQL Server Dla każdego, kto chciałby umieć pisać zapytania lub tworzyć kod dla SQL Server, Azure SQL Database albo Azure SQL Managed Instance O autorze Itzik Ben-Gan jest czołowym autorytetem w zakresie języka T-SQL, stale piszącym, nauczającym i prowadzącym wykłady na ten temat. Jest autorem licznych szkoleń koncentrujących się na takich zagadnieniach, jak zapytania w języku T-SQL, dostrajanie zapytań i programowanie. Jest też autorem wielu książek, w tym Podstawy języka T-SQL, Zapytania w języku T-SQL oraz Funkcje okna w języku T-SQL. Od roku 1999 ma tytuł Microsoft Data Platform MVP (Most Valuable Professional). Kod źródłowy i ćwiczenia są dostępne na stronie: MicrosoftPressStore.com/TSQLFund4e/downloads
Podstawy programowania dla młodych bystrzaków
Chris Minnick, Eva Holland
Stwórz swojego robota Nadaj mu styl Wpraw robota w ruch Poznaj język komputerów Nabywanie umiejętności programowania przypomina uczenie się języka obcego. Ta książka to świetny poradnik, który sprawi, że zaczniesz pisać w dziwnie wyglądających językach tworzących globalną sieć. Dzięki prostym wskazówkom nauczysz się pracować z prawdziwym kodem i zbudujesz własnego przeglądarkowego robota. W książce: Kod, który tworzy ciało i strukturę robota Zmiana kolorystyki i kształtu maszyny Uczymy robota tańczyć!
Podstawy programowania w języku C. Zadania z rozwiązaniami
Anna Łupińska-Dubicka, Marek Tabędzki
Niniejsza publikacja nie stanowi samodzielnego podręcznika do nauki języka C. Pomyślana jest raczej jako pomoc dla osób stawiających pierwsze kroki w nauce programowania. Przeznaczona jest dla studentów pierwszego roku Informatyki oraz Informatyki i ekonometrii. Początki nauki programowania bywają trudne. Nie wystarczy bowiem poznać instrukcje i funkcje języka programowania ani nauczyć się algorytmów. Programowanie nie polega na powtarzaniu znanych rzeczy, ale przede wszystkim na szukaniu rozwiązań. To wymaga wyrobienia w sobie umiejętności odpowiedniego myślenia o problemie. Gdy stawiamy pierwsze kroki, może przydać się pomocna d lon, która nas przez nie poprowadzi. Tym właśnie ma być ta publikacja. Znajdziecie w niej szereg ćwiczeń wraz z rozwiązaniami.
Podstawy programowania w języku Python w przykładach z rozwiązaniami
Anna Łupińska-Dubicka, Andrzej Chmielewski
Skrypt jest przeznaczony przede wszystkim dla studentów kierunku Matematyka stosowana do przedmiotu "Podstawy programowania" oraz jako narzędzie wspomagające przygotowanie do realizacji zadań praktycznych w ramach wielu innych przedmiotów, takich jak Programowanie obiektowe, Algorytmy i struktury danych oraz Sztuczna inteligencja. Zakres tematyczny obejmuje podstawowe zagadnienia programowania w języku Python, w tym m.in. typy zmiennych, instrukcje warunkowe, instrukcje wejścia-wyjścia, struktury danych i funkcje.
Podstawy tworzenia interfejsu graficznego aplikacji desktopowych w języku Java
Sylwester Pięta, Marcin Ścibisz, Michał Wiśniewski
W skrypcie przedstawiono praktyczne aspekty implementacji aplikacji desktopowych w języku Java, wyposażony w graficzny interfejs użytkownika, zbudowany w oparciu o bibliotekę Swing. Omówiono podstawowe elementy składowe wspomnianej biblioteki wraz z mechanizmami programowymi obsługi zdarzeń wysokopoziomowych oraz zdarzeń związanych z klawiaturą i myszką. Osobne rozdziały poświęcono aplikacjom wielowątkowym oraz przechowywaniu danych w plikach. Na zakończenie poruszono złożone problemy dystrybucji aplikacji do ich użytkowników. Liczne przykłady kodów źródłowych ilustrujących omówione zagadnienia powinny ułatwić czytelnikom przyswojenie zawartości opracowania.
Ricardo Ferreira
Policy as Code (PaC) is a powerful paradigm that enables organizations to implement, validate, and measure policies at scale. Policy Design in the Age of Digital Adoption is a comprehensive guide to understanding policies, their design, and implementation for cloud environments using a DevOps-based framework. You'll discover how to create the necessary automation, its integration, and which stakeholders to involve.Complete with essential concepts, practical examples, and self-assessment questions, this book will help you understand policies and how new technologies such as cloud, microservices, and serverless leverage Policy as Code. You'll work with a custom framework to implement PaC in the organization, and advance to integrating policies, guidelines, and regulations into code to enhance the security and resilience posture of the organization. You'll also examine existing tools, evaluate them, and learn a framework to implement PaC so that technical and business teams can collaborate more effectively.By the end of this book, you'll have gained the confidence to design digital policies across your organizational environment.
Jeremy Evans
Anyone striving to become an expert Ruby programmer needs to be able to write maintainable applications.Polished Ruby Programming will help you get better at designing scalable and robust Ruby programs, so that no matter how big the codebase grows, maintaining it will be a breeze.This book takes you on a journey through implementation approaches for many common programming situations, the trade-offs inherent in each approach, and why you may choose to use different approaches in different situations. You'll start by refreshing Ruby fundamentals, such as correctly using core classes, class and method design, variable usage, error handling, and code formatting. Then you'll move on to higher-level programming principles, such as library design, use of metaprogramming and domain-specific languages, and refactoring. Finally, you'll learn principles specific to web application development, such as how to choose a database and web framework, and how to use advanced security features.By the end of this Ruby programming book, you’ll be a well rounded web developer with a deep understanding of Ruby.While most code examples and principles discussed in the book apply to all Ruby versions, some examples and principles are specific to Ruby 3.0, the latest release at the time of publication.
Jeremy Evans
Most successful Ruby applications become more difficult to maintain as the codebase grows in size. Polished Ruby Programming, 2nd Edition provides you with the skills and advice you need to design Ruby programs and libraries that are robust, performant, scalable, and maintainable.The book takes you through possible implementation approaches for many common programming situations, discusses the trade-offs inherent in each approach, and explains why you may sometimes choose to use different approaches. You'll start by learning fundamental Ruby programming principles, such as correctly using core classes, class and method design, variable usage, error handling, and code formatting. Then you’ll move on to higher-level topics such as library design, metaprogramming, domain-specific languages, and refactoring. Finally, you'll learn about the pros and cons of different approaches to concurrency, what you should consider when deciding whether to use static types in your Ruby code, and how best to optimize your Ruby code.The 2nd edition of Polished Ruby Programming has been updated to include relevant changes between Ruby 3.0 and 3.5. While most principles discussed in the book apply to all recent Ruby versions, some of the content in the book is specific to Ruby 3.5, the latest release at the time of publication.
Poradnik design thinking - czyli jak wykorzystać myślenie projektowe w biznesie
Beata Michalska-Dominiak, Piotr Grocholiński
Design thinking to metoda praktykowana z powodzeniem od dobrych kilkudziesięciu lat. Stosują ją światowi giganci, jak Apple czy Google. Definiowana jest jako podejście, sposób myślenia czy - jak kto woli - filozofia, w której proponowanie nowych rozwiązań zostaje poprzedzone gruntownym poznaniem i zrozumieniem potrzeb użytkowników. To metodologia absolutnie uniwersalna i intuicyjna, a dzięki filarom, na których bazuje - kulturze zrozumienia, dociekliwości i kwestionowaniu utartych schematów - pomaga nie tylko lepiej odpowiadać na ludzkie potrzeby. Pozwala także szybko odnajdować punkty zapalne, których zniwelowanie może znacząco przyczynić się do podniesienia jakości życia, pracy oraz doświadczeń zarówno pojedynczego człowieka, jak i społeczeństwa. Tym, co gwarantuje skuteczność metody design thinking, jest usystematyzowanie procesu, w którym technologiczną wykonalność projektu łączy się z jego biznesową opłacalnością i codzienną użytecznością. Proces ten składa się z pięciu podstawowych etapów: odkrywania, definiowania wyzwania (potrzeb), tworzenia rozwiązania, prototypowania, testowania, planowania wdrożenia. Wszystkie podejmowane działania prowokują do zadania sobie podstawowych w metodologii design thinking pytań: Dla kogo projektujemy? Po co to robimy? Co w związku z tym proponujemy? Jak to wygląda? Czy działa? Czy jest możliwe do wdrożenia? W efekcie kreowane są produkty i usługi pożądane przez odbiorców, przy tym praktyczne i piękne, a jednocześnie wolne od niepotrzebnych udziwnień. Ta książka pokazuje krok po kroku, jak posługiwać się metodą design thinking. Od poszukiwania pomysłów po pogłębionych wywiadach przeprowadzonych z klientami po przygotowanie rynkowego wdrożenia rozwiązania - szczegółowo omawia etapy procesu oraz praktyczne narzędzia, które z powodzeniem będziesz mógł wykorzystywać w swojej firmie. Znajdziesz tu studia przypadków z różnych branż oraz opinie i doświadczenia specjalistów, którzy stosują tę metodę w swoim biznesie. Beata Michalska-Dominiak i Piotr Grocholiński to założyciele społeczności Klientocentryczni skupiającej ekspertów metodyki design thinking i service design w Polsce. Ideą Klientocentrycznych jest wspieranie marki, tworzenie nowych produktów i usług, a także pomoc organizacjom w wewnętrznej transformacji. W myśl zasady, że liczą się ludzie, konsekwentnie zmieniają rzeczywistość firm, budując nową wartość i zapewniając zupełnie nowe doświadczenia zarówno klientom, jak i pracownikom. Więcej na www.klientocentryczni.pl.
Andrea Pinillos, Tim Weinzapfel
Microsoft Power Apps is ideal for businesses seeking to digitally transform their operations by developing custom applications quickly and efficiently, without the heavy investment required for software development. This book leverages the authors’ combined experience in Power Platform, among others, to lay down the foundation for successful app development, focusing on defining project scope and understanding requirements.In this book, you’ll go through several key development areas, including solution creation and Power Platform environments, both critical areas for effective app development and deployment. You'll also discover best practices for choosing when to build a canvas app or a model-driven app based on project requirements and data connections. The chapters will take you through advanced development techniques and show you how to integrate Power Apps with other applications. You'll get a clear understanding of the key aspects of governance, security, app maintenance, and error handling, ensuring that your Power Apps solutions are not only effective but also secure and sustainable.By the end, you’ll confidently create scalable, secure, and maintainable Power Apps for your business needs.
Aaron Guilmette
In this AI era, employing leading machine learning and AI models such as ChatGPT for responding to customer feedback and prototyping applications is crucial to drive business success in the competitive market. This book is an indispensable guide to integrating cutting-edge technology into business operations and leveraging AI to analyze sentiment at scale, helping free up valuable time to enhance customer relationships.Immerse yourself in the future of AI-enabled application development by working with Power Automate, Power Apps, and the new Copilot Studio. With this book, you’ll learn foundational AI concepts as you explore the extensive capabilities of the low-code Power Platform. You’ll see how Microsoft's advanced machine learning technologies can streamline common business tasks such as extracting key data elements from customer documents, reviewing customer emails, and validating passports and drivers’ licenses. The book also guides you in harnessing the power of generative AI to expedite tasks like creating executive summaries, building presentations, and analyzing resumes. You’ll build apps using natural language prompting and see how ChatGPT can be used to power chatbots in your organization.By the end of this book, you’ll have charted your path to developing your own reusable AI automation patterns to propel your business operations into the future.