Inne - Programowanie
Elvis Canziba
Designing user experience (UX) is one of the most important aspects of a project, as it has a direct effect on how customers think of your company. The process of designing a user experience is one of the most challenging yet rewarding aspects of product development. Hands-On UX Design for Developers will teach you how to create amazing user experiences for products from scratch.This book starts with helping you understand the importance of a good UX design and the role of a UX designer. It will take you through the different stages of designing a UX and the application of various principles of psychology in UX design. Next, you will learn how to conduct user research and market research, which is crucial to creating a great UX. You will also learn how to create user personas and use it for testing. This book will help you gain the ability to think like a UX designer and understand both sides of product development: design and coding. You will explore the latest tools, such as Sketch, Balsamiq, and Framer.js, to create wireframes and prototypes. The concluding chapters will take you through designing your UI, dealing with big data while designing a UX, and the fundamentals of frontend. Finally, you'll prepare your portfolio and become job ready in the UX arena.
HBase High Performance Cookbook. Solutions for optimization, scaling and performance tuning
Ruchir Choudhry
Apache HBase is a non-relational NoSQL database management system that runs on top of HDFS. It is an open source, disturbed, versioned, column-oriented store and is written in Java to provide random real-time access to big Data.We’ll start off by ensuring you have a solid understanding the basics of HBase, followed by giving you a thorough explanation of architecting a HBase cluster as per our project specifications. Next, we will explore the scalable structure of tables and we will be able to communicate with the HBase client. After this, we’ll show you the intricacies of MapReduce and the art of performance tuning with HBase. Following this, we’ll explain the concepts pertaining to scaling with HBase. Finally, you will get an understanding of how to integrate HBase with other tools such as ElasticSearch. By the end of this book, you will have learned enough to exploit HBase for boost system performance.
Head First Object-Oriented Analysis and Design. Edycja polska (Rusz głową!)
Brett D. McLaughlin, Gary Pollice, David West
Poznaj techniki analizy i projektowania obiektowego Naucz się zbierać wymagania od użytkowników systemu Zarządzaj zmianami w specyfikacji Przeprowadź analizę i wykonaj projekt Systemy informatyczne stają się coraz bardziej rozbudowane. Programowanie obiektowe znacznie ułatwia ich tworzenie i późniejsze modyfikacje, aby jednak system był sprawny i funkcjonalny, musi zostać zaprojektowany w oparciu o prawidłowo zebrane wymagania. Tu również z pomocą przychodzi metodologia obiektowa -- wzorce projektowe, język UML i odpowiednie narzędzia niezwykle ułatwiają przygotowanie dobrego projektu. Jeśli rozbudowane przykłady, skomplikowane diagramy i niezrozumiałe wywody teoretyczne wywołują w Tobie niechęć, koniecznie sięgnij po tę książkę! Dzięki niej poznasz metody analizy i projektowania obiektowego w nietypowy i ciekawy sposób, wykorzystujący najnowsze teorie skutecznego przekazywania wiedzy. Przeczytasz o tym, w jaki sposób warto gromadzić wymagania i oczekiwania użytkowników wobec projektowanego systemu, jak uwzględniać w projekcie postulowane zmiany i przeprowadzać proces analizy obiektowej. Nauczysz się stosować notację UML do przedstawiania struktury systemu i przetwarzanych przez niego danych. Dowiesz się także, jak testować projektowany system. Zasady i cele projektowania obiektowego Gromadzenie wymagań Przypadki użycia Analiza obiektowa Diagramy UML przedstawiające strukturę systemu Korzystanie ze wzorców projektowych Projektowanie architektury systemu Testowanie
Hello Scratch! Napisz swoją pierwszą grę i ucz się programowania
Melissa Ford, Sadie Ford, Gabriel Ford
Programowanie i gry komputerowe mają ze sobą wiele wspólnego. Są interesujące, wciągające oraz dają mnóstwo radości i satysfakcji. A przede wszystkim są znakomitą zabawą dla każdego bystrego dzieciaka, nawet jeśli ten dzieciak ma osiem lat i dopiero co opanował sztukę czytania. Naturalnie, dla tak młodych adeptów sztuki kodowania potrzebne jest specjalne środowisko, właśnie takie jak Scratch - język programowania dla dzieci stworzony przez MIT i udostępniony na zasadach open source. To świetny sposób na naukę programistycznego myślenia bez konieczności wnikania w złożoność standardowego programowania. Ta książka jest doskonałym przewodnikiem po świecie Scratcha. Jej autorami są dwunastoletnie bliźnięta, które w przyjazny sposób pokazały, jak napisać pięć wciągających gier. To znakomity sposób na pierwsze kroki w świecie programowania! W książce opisano, jak rozpocząć pracę ze Scratchem i jak wygląda jego przestrzeń robocza oraz edytor grafiki. Przystępnie przedstawiono podstawowe idee programowania. Omówiono krok po kroku tworzenie zabawnych gier w stylu retro. Starannie dobrane projekty zachęcają do prowadzenia samodzielnych poszukiwań, eksperymentów i modyfikacji. Przy tym wszystkim książka jest znakomitą pomocą zarówno do samodzielnych ćwiczeń, jak i do wspólnej pracy z rodzicami, dla których może stać się pretekstem do wspomnień o grach sprzed lat. Książka jest przeznaczona dla dzieci w wieku 8 - 14 lat i zawiera: Wprowadzenie do Scratcha Przedstawienie podstawowych idei programistycznych Zasady tworzenia elementów graficznych (pixel art) i skryptów Wyczerpująco opisane projekty mniejszych i większych programów Instrukcje budowania wciągających gier retro Dziecinajlepiej wiedzą, jak nauczyć dzieci programowania!
Hibernate Search. Skuteczne wyszukiwanie
Steve Perkins
Użytkownicy aplikacji prawdopodobnie najczęściej korzystają z funkcji wyszukiwania. Ze strony interfejsu użytkownika problem wydaje się trywialny. Zupełnie inne zdanie na ten temat mają programiści. Przygotowanie wydajnego, intuicyjnego i szybkiego mechanizmu wyszukiwania stanowi ogromne wyzwanie. Liczne kryteria, wyszukiwanie tekstu, zależności i połączenia logiczne to tylko część zagadnień, które trzeba opracować. Na szczęście z pomocą przychodzi narzędzie Hibernate Search. Jest to dodatek dla popularnej w świecie Javy i nie tylko biblioteki Hibernate. Dzięki Hibernate Search wprowadzenie rozbudowanych mechanizmów wyszukiwania w Twojej aplikacji będzie całkowicie bezbolesne. W trakcie lektury tej książki dowiesz się, jak zamapować encję, jak budować zapytania oraz zarządzać indeksami. Ponadto poznasz zaawansowane strategie poprawy wydajności oraz pełnię możliwości zapytań. Książka ta jest doskonałym podręcznikiem dla wszystkich programistów języka Java, mających za zadanie wprowadzenie do aplikacji rozbudowanych mechanizmów wyszukujących. Hibernate Search to dla nich prawdziwe koło ratunkowe! Dzięki tej książce: - poznasz możliwości biblioteki Hibernate Search - opanujesz najlepsze strategie zarządzania indeksami - błyskawicznie zbudujesz zapytanie - zachwycisz użytkowników Twojej aplikacji rozbudowaną wyszukiwarką Błyskawicznie zaprojektuj rozbudowany mechanizm wyszukiwania dzięki Hibernate Search!
Identyfikacja i autoryzacja. Poradnik administratora i inżyniera DevOps
Jerzy Wawro
Kompleksowy przewodnik po rozwiązaniach uwierzytelniających Ten podręcznik jest przeznaczony przede wszystkim dla administratorów i deweloperów systemów informatycznych. Dotyka niezwykle istotnego zagadnienia, przed którym stoją inżynierowie DevOps: jak sprawić, by poprzez autoryzację chronić dostęp do danych i serwisów, gdy programy komunikują się ze sobą - często bez udziału człowieka? Autor wyjaśnia teoretyczne podstawy i prezentuje praktyczne rozwiązania z wykorzystaniem technologii kontenerów Docker. Ta technologia bowiem doskonale nadaje się do testowania i prezentowania licznych przykładów zawartych w podręczniku. Książka opisuje nowoczesne rozwiązania, kluczowe dla rozwoju systemów informatycznych w Polsce. Dla osób posługujących się językiem Python jest to pozycja niezbędna. Poznaj fundamentalne różnice między identyfikacją, autoryzacją a uwierzytelnianiem i sposoby ich implementacji Dowiedz się, jaką rolę odgrywają szyfry i algorytmy ważne w procesie uwierzytelnienia Opanuj wiedzę dotyczącą technologii i metod związanych z ochroną serwerów, a także funkcjonowania ich najważniejszych elementów, takich jak poczta (SMTP), VPN, LDAP, Kerberos, PAM Zapoznaj się z nowoczesnymi metodami uwierzytelniania, takimi jak weryfikacja dwuetapowa, standardy SAML i OAuth 2 Zobacz, jak te rozwiązania zostały zastosowane w usługach wprowadzanych przez polskie prawo, w tym e-Doręczenia, KWIE, KSeF
Jonathan McAllister
Thinking about adapting the DevOps culture for your organization using a very simple, yet powerful automation tool, Ansible 2? Then this book is for you!In this book, you will start with the role of Ansible in the DevOps module, which covers fundamental DevOps practices and how Ansible is leveraged by DevOps organizations to implement consistent and simplified configuration management and deployment. You will then move on to the next module, Ansible with DevOps, where you will understand Ansible fundamentals and how Ansible Playbooks can be used for simple configuration management and deployment tasks. After simpler tasks, you will move on to the third module, Ansible Syntax and Playbook Development, where you will learn advanced configuration management implementations, and use Ansible Vault to secure top-secret information in your organization. In this module, you will also learn about popular DevOps tools and the support that Ansible provides for them (MYSQL, NGINX, APACHE and so on). The last module, Scaling Ansible for the enterprise, is where you will integrate Ansible with CI and CD solutions and provision Docker containers using Ansible.By the end of the book you will have learned to use Ansible to leverage your DevOps tasks.
Mitesh Soni
This book will teach you all about the Visual Studio Team Services and Microsoft Azure PaaS offerings that support Continuous Integration, Continuous Delivery, Continuous Deployment, and execution in the cloud with high availability, disaster recovery, and security.You will first be given a tour of all the concepts and tools that Microsoft Azure has to offer and how these can be used in situations to cultivate the DevOps culture. You’ll be taught how to use and manage Visual Studio Team Services (VSTS) and about the structure of the sample application used throughout the book. You will become familiar with the nitty gritty of Continuous Integration and Continuous Development with VSTS and Microsoft Azure Apps. You will not only learn how to create App service environments, but also how to compare Azure Web Apps and App Service Environments to deploy web applications in a more secure environment.Once you have completed Continuous Integration and created the Platform for application deployment, you will learn more about the final stepping stone in achieving end-to-end automation using approval-based Continuous Delivery and Deployment. You will then learn about Continuous Monitoring, using the monitoring and notification options provided by Microsoft Azure and Visual Studio Team Services.
Informacja i kodowanie. Krótkie wprowadzenie z przykładami zastosowań
Wojciech Kordecki
Informacja i kodowanie. Krótkie wprowadzenie z przykładami zastosowań Wojciech Kordecki Naukę programowania zacznij od solidnych podstaw Jak sądzisz, co stanowi bazę informatyki? Od czego powinien zacząć przyszły programista? Może od opanowania jednego z najpopularniejszych języków programowania? Oczywiście mógłby od tego rozpocząć, tyle że to trochę tak, jakby uczyć się korzystać z narzędzia bez świadomości, do czego ono właściwie służy. Języki programowania to praktyka. Tymczasem niezbędną wiedzą, którą także powinien opanować każdy przyszły informatyk, są podstawy dotyczące teorii informacji i kodowania. Wraz z tą książką przyswoisz je bez konieczności odwoływania się do zaawansowanej matematyki i samej informatyki. Ten podręcznik obejmuje najważniejsze kwestie: od znaków, które przekazują informacje, źródeł informacji i sposobów mierzenia ilości przekazywanych danych po przetwarzanie sygnałów z analogowych na cyfrowe i odwrotnie. Po drodze zapoznasz się z takimi zagadnieniami jak podstawy kodowania (w tym kodowanie Huffmana), bezstratna kompresja i digitalizacja danych, grafiki i dźwięku, wreszcie konstrukcja kodów liniowych i cyklicznych.
Instant Adobe Story Starter. Develop professional scripts, ready for production
Christopher Tilford
Adobe Story makes it easy for anybody to create a well-rounded script, and gives you the power to develop an entire project from start to finish. Setting up predetermined styles in different word processors can be time- consuming and even a little confusing! With Adobe Story, all documents contain the default and proper formatting for any desired professional script format. Have you ever wanted to put together your own screenplay? In this essential guide, script formatting is fully explained alongside some shortcuts and new ways to enhance your work with Adobe Story. You'll discover that the script-writing process is more accessible to even the newest, inexperienced writer. Instant Adobe Story Starter will take you through a concise yet straight-forward journey, introducing you to elements used in all industry-standard scripts, as well as other features geared towards streamlining the pre-production process. You will also be able to harness the different types of script templates available to you, alongside the wide array of other features that Adobe Story provides to bolster your creativity.
Zeeshan Chawdhary
iBooks is a great tool for book lovers. This book is a guide for using iBooks for reading, managing, and creating books – everything that an avid reader (and the writer within you) would need.Instant Apple iBooks How-to is a practical guide that takes you on a reading and writing journey with iBooks for your iPad. Begin with getting familiar with iBooks and proceed to write your first interactive book with iBooks Author!This book begins with downloading the iBooks app from the iTunes store and adding books and PDF collections to it via iBookstore. The book then goes on to explain other technologies in the iBooks app and concludes by showing you how to write your own book with iBooks Author.Not only will you learn how to read and manage books effectively, but you will also learn how those books can be created with iBooks Author. You will also understand how iBooks Author templates can help you lay out a book easily; some third party templates are also available.You will learn everything to maximize your reading and writing experience for the iBooks platform.
Austin Scott
RSLogix5000 is a user friendly IEC61131-3-compliant interface for programming the current generation of Rockwell Automation PLCs, which includes Ladder Diagrams (LD), Graphical Function Block Diagrams (FBD), Graphical Structured Text (ST), and Sequential Function Charts (SFC).Instant PLC Programming with RSLogix 5000 captures the core elements of PLC programming with RSLogix 5000 with a minimal investment of time. We will avoid getting into control theory and focus on condensing the information specific to RSLogix 5000. We have selected the key areas of RSLogix and provide a step-by-step approach to teaching them.This book start by follows the steps involved in creating a new RSLogix 5000 project and configuring racks, slots, and channels. Next, we will create routines using the various languages available in RSLogix 5000, troubleshooting and resolving issues we encounter along the way. Finally, we will dive into the advanced features, such as online changes, code generation, task management, and user-defined structures.You will also learn object-oriented PLC programming techniques using advanced features like user-defined types (UDTs) that improve the maintainability, uniformity, and readability of our routines. We also highlight the strengths and limitations of online changes and demonstrate techniques to maximize flexibility.You will learn everything you need to get up and running with RSLogix 5000 as well as best practices used by industry experts.
Inteligentna sieć. Algorytmy przyszłości. Wydanie II
Douglas McIlwraith, Haralambos Marmanis, Dmitry Babenko
Określenie „inteligentna sieć” może przywodzić na myśl futurystyczną wizję maszyn przejmujących kontrolę nad światem i niszczących ludzkość, jednak w rzeczywistości jest związane z rozwojem technologii. Związane jest z powstawaniem oprogramowania, które potrafi się uczyć i reagować na zachowania użytkowników. Oznacza też projektowanie i implementację inteligencji maszynowej. Inteligentna sieć rozwija się tu i teraz — znajomość zagadnień uczenia maszynowego i budowy inteligentnych algorytmów staje się bardzo potrzebna inżynierom oprogramowania! Niniejsza książka jest przeznaczona dla osób, które chcą projektować inteligentne algorytmy, a przy tym mają podstawy z zakresu programowania, matematyki i statystyki. Przedstawiono tu schematy projektowe i praktyczne przykłady rozwiązań. Opisano algorytmy, które przetwarzają strumienie danych pochodzące z internetu, a także systemy rekomendacji i klasyfikowania danych za pomocą algorytmów statystycznych, sieci neuronowych i uczenia głębokiego. Mimo że przyswojenie tych zagadnień wymaga wysiłku, bardzo ułatwi implementację nowoczesnych, inteligentnych aplikacji! W tej książce między innymi: wprowadzenie do problemów algorytmów inteligentnych systemy rekomendacji i filtrowanie kolaboratywne wykorzystanie regresji logistycznej do wykrywania oszustw uczenie głębokie, uczenie na żywo i renesans sieci neuronowych podejmowanie decyzji perspektywy inteligentnej sieci Inteligentny algorytm wyławia perły w strumieniach danych! Dr Douglas McIlwraith jest ekspertem w dziedzinie uczenia maszynowego. Zajmuje się analizą danych w londyńskiej agencji reklamowej. Prowadził badania w dziedzinach systemów rozproszonych, robotyki i zabezpieczeń. Dr Haralambos Marmanis jest pionierem w obszarze technik uczenia maszynowego w rozwiązaniach przemysłowych. Od 25 lat rozwija profesjonalne oprogramowanie. Dmitry Babenko projektuje złożone systemy dla firm z takich branż, jak bankowość, ubezpieczenia, zarządzanie łańcuchem dostaw i analityka biznesowa.
Pat Myers, Ike Kavas, Michael Muller, Jon...
Every organization, public or private, processes documents in various formats, especially paper and fax formats. Processing documents manually is an expensive and time-consuming endeavor. Ephesoft Enterprise is a modern document capture solution that allows an organization to automate the business process. It uses powerful technology to classify and capture the vital information from the document's content. This helps to minimize the time your company spends on reviewing and processing any physical and electronic documents.This book teaches you about document capture in general and implementation of document capture using Ephesoft.Start by learning about document capture and how Ephesoft revolutionized the industry. Progress to a tour of key features, including operator and administrator interfaces and then learn to configure Ephesoft to process your business’s specific document types and extract content from those documents. You will also get to know the advanced customization techniques that make Ephesoft accommodate your unique business needs. Finally, the book concludes by teaching you how to embed the classification and extraction functionality using Ephesoft’s web services.By the end, you will learn to optimize the processing of your documents, saving your company time and money.
Interfejs API. Strategia programisty
Daniel Jacobson, Greg Brail, Dan Woods
Poznaj potencjał interfejsów API! Internet to gigantyczna sieć urządzeń połączonych ze sobą. Jego potencjał wykorzystują wszyscy i każdy jest świadom tego, że pojedyncze urządzenie bez połączenia z siecią nic nie znaczy. Podobnie jest z systemami informatycznymi. Możliwość integracji z siecią, tworzenia rozszerzeń oraz wymiany danych pomaga twórcom aplikacji rozwinąć skrzydła i odnieść sukces na szeroką skalę. Zastanawiasz się, jak otworzyć Twój system na świat? Interfejs API to jedyna droga! Sięgnij po tę książkę i przekonaj się, jak przygotować wygodny interfejs API, z którego programiści będą korzystali z przyjemnością. Na kolejnych stronach znajdziesz kluczowe zasady projektowania interfejsów API, sposoby zabezpieczania API oraz zarządzania użytkownikami. Ponadto dowiesz się, jak zarządzać ruchem sieciowym, obsługiwać interfejs API oraz mierzyć sukces Twojego API. Na sam koniec zobaczysz, jak zaangażować projektantów w proces adaptacji. Ta książka jest doskonałym źródłem informacji dla wszystkich osób chcących zrozumieć, czym są interfejsy API, jak wykorzystać drzemiący w nich potencjał oraz jak uniknąć typowych zagrożeń i problemów. Twoja lektura obowiązkowa! Dowiedz się o rozwoju interfejsów API, a także dlaczego Twoja firma może ich wymagać. Zaznajom się z rolami właścicieli zasobów, dostawców i projektantów w łańcuchu wartości interfejsu API. Opracuj strategie związane z projektowaniem, implementowaniem i wprowadzeniem produktu na rynek. Opracuj efektywny proces na potrzeby zarządzaniami zabezpieczeniami i użytkownikami. Rozwiąż problemy natury prawnej, takie jak zarządzanie prawami i warunki użytkowania. Zarządzaj ruchem sieciowym i komfortem pracy użytkowników za pomocą pewnego modelu operacyjnego. Określ metryki wymagane do ustalenia skali powodzenia interfejsu API. Wszystko, co powinieneś wiedzieć o interfejsach API!
Mariusz Duka
Internet rzeczy to przykład koncepcji, która - w odróżnieniu od wielu innych relatywnie młodych dziedzin IT - została więcej niż pozytywnie zweryfikowana przez czas i rynek. Już dziś IoT znajduje bardzo szerokie zastosowanie w wielu obszarach życia: od projektów stricte hobbystycznych, przez automatykę domową, handel i usługi, po systemy inteligentnych miast, przemysł i rolnictwo. Internet rzeczy nadal ewoluuje - i staje się coraz powszechniejszy, a to może być zachętą do tego, by poznać go bliżej. Internet rzeczy. Podstawy programowania aplikacji i serwerów sieciowych w językach C/C++, MicroPython i Lua na urządzeniach IoT ESP8266, ESP32 i Arduino może się okazać świetną propozycją na początek przygody z IoT. Książka kompleksowo objaśnia specyfikę wybranych urządzeń i uczy, jak je programować w sposób na tyle przystępny, że wystarczy przeciętna znajomość obsługi komputera, by zacząć tworzyć pierwsze projekty. Treść została zilustrowana przykładowymi kodami źródłowymi, co zdecydowanie ułatwia stawianie pierwszych kroków. Dzięki książce: poznasz wybrane urządzenia IoT zaznajomisz się z narzędziami programistycznymi nauczysz się podstaw języków programowania uruchomisz własny serwer dla aplikacji web stworzysz serwer WWW na urządzeniu IoT a nawet zaprojektujesz serwer Minecrafta! Internet rzeczy ma przed sobą wielką przyszłość, bądź jej częścią!
Introduction to Programming. Learn to program in Java with data structures, algorithms, and logic
Nick Samoylov
Have you ever thought about making your computer do what you want it to do? Do you want to learn to program, but just don't know where to start? Instead of guiding you in the right direction, have other learning resources got you confused with over-explanations?Don't worry. Look no further. Introduction to Programming is here to help.Written by an industry expert who understands the challenges faced by those from a non-programming background, this book takes a gentle, hand-holding approach to introducing you to the world of programming. Beginning with an introduction to what programming is, you'll go on to learn about languages, their syntax, and development environments. With plenty of examples for you to code alongside reading, the book's practical approach will help you to grasp everything it has to offer. More importantly, you'll understand several aspects of application development. As a result, you'll have your very own application running by the end of the book. To help you comprehensively understand Java programming, there are exercises at the end of each chapter to keep things interesting and encourage you to add your own personal touch to the code and, ultimately, your application.
Inżynieria dużych modeli językowych. Podręcznik projektowania, trenowania i wdrażania LLM
Paul Iusztin, Maxime Labonne, Julien Chaumond (Foreword),...
Wraz ze wzrostem popularności dużych modeli językowych rośnie zapotrzebowanie na specjalistów, którzy potrafią je skutecznie wdrażać w rzeczywistych rozwiązaniach. Inżynieria LLM to szeroki zestaw zadań, wymagający unikalnego połączenia wiedzy z wielu dziedzin. Szczególnie istotne okazuje się tu podejście MLOps, które znacząco zwiększa szanse na sukces w projektach opartych na modelach językowych. Ten obszerny przewodnik pokaże Ci, jak stosować najlepsze praktyki w pracy z LLM. Znajdziesz tu omówienie kluczowych koncepcji, praktyczne techniki i porady ekspertów z zakresu inżynierii danych, dostrajania i oceny modeli, optymalizacji wnioskowania, a także budowania skalowalnych potoków przetwarzania. Krok po kroku prześledzisz, jak zrealizować konkretny produkt, integrując różne aspekty inżynierii LLM i metodologię MLOps. Dowiesz się, jak zbierać i przygotowywać dane, dostrajać modele do specyficznych zastosowań, zwiększać ich wydajność i wdrażać rozwiązania oparte na technice RAG. Najciekawsze zagadnienia: niezawodne potoki danych i zarządzanie cyklem trenowania modeli LLM tworzenie i udoskonalanie modeli językowych w praktyce podejście MLOps - koordynacja komponentów i monitorowanie promptów nadzorowane dostrajanie i ewaluacja modeli wykorzystanie narzędzi chmurowych (na przykład AWS) w skalowalnych wdrożeniach praktyczne zastosowanie techniki retrieval-augmented generation (RAG) Działa? To za mało. Musi działać dobrze!
Inżynieria i testowanie oprogramowania dla studenta i technika programisty
Kinga Kicinger, Kacper Ściślak, Łukasz Żurawka, Maciej...
Inżynieria i testowanie oprogramowania, to książka opisująca pełen zakres procesów związanych z tworzeniem oprogramowania, uwzględniając wszystkie kluczowe elementy cyklu programistycznego. Omawia złożone zadania wymagające połączenia wiedzy technicznej, pracy zespołowej oraz umiejętności korzystania z narzędzi do zarządzania projektami. Stanowi przewodnik po wszystkich etapach współczesnego wytwarzania oprogramowania - od koncepcji, przez implementację, aż po wdrożenie i utrzymanie. Książka prowadzi czytelnika krok po kroku przez najważniejsze elementy inżynierii oprogramowania: Pracę zespołową programistów; Systemy kontroli wersji; Nowoczesne metodyki zarządzania projektami; Proces inżynierii oprogramowania; Testowanie oprogramowania; Dokumentacja techniczna i projektowa. Dzięki jasnej strukturze i praktycznemu podejściu publikacja ta jest cennym źródłem wiedzy dla studentów informatyki, początkujących programistów i członków zespołów deweloperskich. To także wartościowa lektura dla tych, którzy chcą zrozumieć, jak wygląda profesjonalne wytwarzanie oprogramowania w rzeczywistych warunkach biznesowych. "Inżynieria oprogramowania" to nie tylko teoria - to narzędzie wspierające świadome i efektywne tworzenie nowoczesnych rozwiązań cyfrowych. Autorami książki są uczniowie czwartej klasy technikum programistycznego w Zespole Szkół Technicznych i Ogólnokształcących "Mechanik" w Tarnowskich Górach. Swoją przyszłość widzą w zespole programistycznym tworząc gry komputerowe bądź aplikacje mobilne. Ponadto treści tworzył oraz nadzorował proces powstania książki Aleksander Bies - nauczyciel przedmiotów informatycznych oraz doktorant zajmujący się badaniami nad wykorzystaniem sztucznej inteligencji w analizie danych biologicznych i szeregów czasowych. Autor publikacji naukowych oraz książek o programowaniu obiektowym i zaawansowanych aplikacjach webowych, z doświadczeniem w tworzeniu aplikacji desktopowych i mobilnych.
Inżynieria niezawodnych baz danych. Projektowanie systemów odpornych na błędy
Laine Campbell, Charity Majors
Informatyczna rewolucja dosięgła również systemy bazodanowe. Przez długi czas administrator bazy danych interesował się głównie wewnętrznymi mechanizmami bazy, optymalizacją zapytań czy analizą podsystemów składowania danych. Z kolei oprogramowaniem stron, infrastrukturą czy usługami sieciowymi zajmowali się zupełnie inni ludzie, pracujący w odmienny sposób. Nowe technologie wymuszają jednak zmianę sposobu pracy i myślenia. Trzeba położyć nacisk na automatyzację, inżynierię oprogramowania, ciągłą integrację i ciągłe udostępnianie. Poza tym trzeba zapewnić ochronę przetwarzanych danych - ich wartość i znaczenie wciąż szybko rosną. W tej praktycznej książce dokładnie wyjaśniono współczesne podejście do tworzenia architektury baz danych i ich eksploatacji. Jeśli chcesz stać się znakomitym inżynierem niezawodności baz danych, czyli DBRE (z Database Reliability Engineer), znajdziesz tu schemat zasad i praktyk projektowania, budowania i eksploatacji magazynów danych zgodnie z paradygmatami inżynierii niezawodności i kultury DevOps. Zapoznasz się z podstawowymi zagadnieniami z obszaru eksploatacji, z metodami utrwalania baz danych, nauczysz się stosować najważniejsze technologie skalowalnego i wydajnego składowania oraz pobierania danych z zachowaniem odporności na błędy. Dzięki temu szybko i skutecznie zajmiesz się architekturą i eksploatacją każdej nowoczesnej bazy. W książce między innymi: wprowadzenie do inżynierii niezawodności baz danych inżynieria infrastruktury i zarządzanie nią oceny ryzyka i strategie zarządzania bezpieczeństwem danych metody przechowywania, indeksowania i replikacji danych popularne wzorce architektoniczne rozproszonych baz danych praktyczne wykorzystanie zasad inżynierii niezawodności w organizacji Stań się znakomitym inżynierem niezawodności! Laine Campbell od 18 lat zajmuje się środowiskami produkcyjnymi baz danych i systemów rozproszonych o dużej skali. Obecnie jest starszym dyrektorem ds. inżynierii środowisk produkcyjnych w firmie Fastly. Charity Majors jest CEO i założycielką firmy honeycomb.io. Wcześniej zajmowała się eksploatacją należącej do Facebooka platformy Parse, gdzie zarządzała rozbudowanym zestawem replik baz MongoDB, a także bazami Redis, Cassandra i MySQL.
Inżynieria obserwowalności. Doskonalenie produkcyjnych systemów oprogramowania
Charity Majors, Liz Fong-Jones, George Miranda
Obserwowalność jest często mylnie uznawana za monitorowanie systemu. Tymczasem system jest obserwowalny, jeśli dzięki pochodzącym z niego danym można zrozumieć, jak on działa, jakie występują w nim problemy i jak wpływają one na jego działanie. Cechę tę można z powodzeniem wykorzystać w produkcyjnych systemach oprogramowania. Wprowadzenie obserwowalności do systemów jest wyzwaniem technicznym i kulturowym. Dzięki tej praktycznej książce zrozumiesz wartość obserwowalnych systemów i nauczysz się praktykować programowanie sterowane obserwowalnością. Przekonasz się, że dzięki jej wdrożeniu zespoły mogą szybko i bez obaw dostarczać kod, identyfikować wartości odstające i nietypowe zachowania, a ponadto lepiej zrozumieją doświadczenia użytkownika. Znajdziesz tu szczegółowe wyjaśnienia, co jest potrzebne do uzyskania wysokiej obserwowalności, a także szereg wskazówek, jak ulepszyć istniejące rozwiązania i pomyślnie dokonać migracji ze starszych narzędzi, takich jak wskaźniki, monitorowanie i zarządzanie dziennikami. Dowiesz się również, jaki wpływ ma obserwowalność systemu na kulturę organizacji ― i odwrotnie. W książce: stosowanie obserwowalności do zarządzania oprogramowaniem w dużej skali obserwowalność w procesie dostarczania złożonych aplikacji i systemów natywnych dla chmury wpływ obserwowalności na cały cykl życia oprogramowania stosowanie obserwowalności w połączeniu z poziomami SLO instrumentacja kodu debugowanie nieuchwytnych problemów To ważna lektura dla każdego, kto chce zrozumieć obserwowalność systemów oprogramowania! Alex Hidalgo, autor książki Implementing Service Level Objectives
Inżynieria oprogramowania. Jak zapewnić jakość tworzonym aplikacjom
Bogdan Bereza-Jarociński, Bolesław Szomański
Twórz rozwiązania najwyższej jakości! Ile kosztuje najwyższa jakość? Jak ją zapewnić? Jakie znaczenie ma bezpieczeństwo informacji? Inżynieria oprogramowania jest niezwykle obszerną dziedziną wiedzy, zajmującą się wszelkimi aspektami produkcji oprogramowania. Obejmuje zagadnienia takie, jak analiza, projektowanie czy też wdrożenie systemu informatycznego. Jeżeli kiedykolwiek spotkałeś się z oprogramowaniem miernej jakości, niewątpliwie na którymś z etapów jego produkcji pojawił się problem. Jak temu zapobiec? O tym właśnie traktuje ta książka. Dowiesz się z niej, jak unikać błędów, tak aby oprogramowanie, które wytworzysz, prezentowało najwyższą jakość! Poznasz podejście do kwestii jakości w czasach współczesnych oraz zobaczysz, jak temat ten był rozumiany wcześniej. Zdobędziesz wiedzę na temat miar używanych w inżynierii oprogramowania oraz najefektywniejszych metod i technik jego wytwarzania. Autor przedstawi Ci również narzędzia, które sprawią, że Twoje rozwiązania staną się jeszcze lepsze. Ponadto zobaczysz, jak ważne są tematy związane z bezpieczeństwem informacji. Warto podkreślić, że styl tej książki łączy lekkość i przyjemność lektury z poważną tematyką poruszanych w niej zagadnień. Jakość integralna Zarządzanie ryzykiem Zarządzanie procesami Cena jakości Spojrzenie na jakość wczoraj, dziś i jutro Zarządzanie jakością Socjologiczne i antropologiczne podejście do jakości Certyfikacja w inżynierii oprogramowania Najlepsze metody oraz techniki Dostępne narzędzia, automatyzacja testów Istota bezpieczeństwa informacji Spraw, aby Twoje aplikacje były najwyższej jakości!
Inżynieria oprogramowania w praktyce. Od wymagań do kodu z językiem UML
Michał Śmiałek, Kamil Rybiński
Proces wytwarzania oprogramowania bezustannie ewoluuje. Coraz częściej stosowane są metodyki zwinne (agile), a dominującymi zasadami stają się między innymi iteracyjny cykl wytwórczy i ciągła integracja. Mimo to doświadczenia przemysłu i obiektywne badania wskazują na utrzymującą się od lat "chroniczną chorobę" przekroczonych budżetów, niedotrzymanych terminów i niezadowolonych klientów. Jako istotne przyczyny tego stanu można wskazać zaniechanie stosowania podstawowych zasad inżynierii i utożsamianie inżynierii oprogramowania z samym programowaniem. Programowanie koncentruje się przede wszystkim na pisaniu kodu programów na podstawie zadanych założeń. Inżynieria oprogramowania podchodzi do jego wytwarzania w sposób całościowy i kładzie szczególny nacisk na uzyskanie jak najwyższej jakości produktu software'owego. Oto przystępny podręcznik wprowadzający w tajniki inżynierii oprogramowania. Kompleksowe ujęcie zagadnienia, od formułowania wymagań, poprzez projektowanie architektury i implementację, po testowanie i wdrożenie, a także skrupulatne omówienie różnorakich metodyk produkcji oprogramowania sprawiają, że to pozycja obowiązkowa dla każdego programisty, który ma ambicję być inżynierem oprogramowania. Przy czym książka jest wartościową lekturą dla wszystkich, którzy są zaangażowani w procesy związane z dostarczaniem na rynek programów komputerowych. Dotyczy to również procesów współpracy z klientem, takich jak analiza problemów biznesowych, planowanie i wdrożenie, wreszcie - taki dobór narzędzi i metodyk, aby możliwie jak najlepiej spełnić jego oczekiwania. Dzięki książce: poznasz najlepsze praktyki w zakresie produkcji wysokiej jakości oprogramowania zgłębisz inżynieryjne podejście do produkcji programów opanujesz podstawy specyfikowania wymagań i projektowania zaznajomisz się z różnymi metodykami wytwarzania oprogramowania
Inżynieria oprogramowania według Google. Czego warto się nauczyć o tworzeniu oprogramowania
Titus Winters, Tom Manshreck, Hyrum Wright
Inżynieria oprogramowania jest pojęciem znacznie szerszym od kodowania: oznacza wszystkie niezbędne narzędzia i procesy stosowane przez organizację do tworzenia oprogramowania. To daje możliwość zachowania wartości kodu w dłuższej perspektywie czasu i pozwala ustanowić bardziej rygorystyczne zasady tworzenia oprogramowania, a dzięki temu sam kod jest podatniejszy na zmiany. Innymi słowy, inżynieria oprogramowania polega na optymalnym integrowaniu i organizowaniu tworzenia aplikacji ― od koncepcji, poprzez tworzenie, wdrażanie i utrzymywanie, po jej wycofywanie. To nie jest podręcznik dla programistów. Celem autorów jest zaprezentowanie jedynej w swoim rodzaju perspektywy firmy Google, od lat rozwijającej trwały ekosystem oprogramowania, co pozwoliło zebrać pożyteczne wnioski dotyczące skali działalności i czasu jej trwania. W książce zwrócono uwagę na to, że proces tworzenia oprogramowania jest wysiłkiem zespołowym, omówiono najlepsze praktyki związane z utrzymywaniem bazy kodu o dużych rozmiarach i długim stażu, pokazano także narzędzia, które mogą się okazać przydatne w jej utrzymywaniu. Omówione tu zagadnienia uwzględniają doświadczenia, jakie typowy inżynier oprogramowania zdobywa w ramach swojej pracy, służą też wskazaniu różnorodnych sposobów rozwiązywania poszczególnych problemów. Najciekawsze zagadnienia: unikatowa kultura pracy w Google procesy i narzędzia stosowane w Google metody zwiększania odporności kodu na upływ czasu wpływ skali oprogramowania na organizację pracy inżynierów kompromisy w procesie podejmowania decyzji projektowych Piszesz kod? To ważne zadanie - bierz przykład z najlepszych!