Techniki programowania
Algorytmy regulacji obiektów przemysłowych PID i MPC
Piotr Tatjewski
Zamierzeniem autora niniejszej publikacji jest przedstawienie algorytmów automatycznej regulacji dominujących aktualnie w praktyce przemysłowej. Stąd przedmiotem prezentacji są algorytmy PID oraz algorytmy predykcyjne, określane akronimem MPC (Model-based Predictive Control), powszechnie już stosowanym. Algorytm PID był i jest nadal dominującą techniką w pętlach regulacji obiektów przemysłowych. Powszechne są oceny, iż występuje on w co najmniej 80% pracujących pętli regulacyjnych. Przy czym jest on stosowany w różnych strukturach i konfiguracjach, najważniejsze z nich są przedstawione w pierwszych dwóch rozdziałach niniejszej książki. Z kolei algorytm MPC, zastosowany po raz pierwszy w przemyśle dużej skali w latach siedemdziesiątych ubiegłego stulecia, zdobył przebojem miejsce zarówno w praktyce przemysłowej, jak i pracach naukowych, rozwojowych. Jest on obecnie drugim, po PID, niekwestionowanym standardem regulacji przemysłowej. Jest podstawowym algorytmem tzw. regulacji zaawansowanej (advanced control), zalecanym przede wszystkim dla regulacji procesów wielowymiarowych o silnych interakcjach, o trudnej dynamice czy pracujących na granicy aktywnych ograniczeń procesowych.
Algorytmy, struktury danych i techniki programowania. Wydanie IV
Piotr Wróblewski
Podstawowy podręcznik do nauki algorytmiki Przystępne wprowadzenie do algorytmiki Bez zbędnej teorii Gotowe rozwiązania w C++ Oto kolejne wydanie sprawdzonej i cenionej przez programistów, wykładowców oraz studentów książki, będącej podstawowym podręcznikiem do nauki algorytmiki. W pierwszej kolejności autor zapozna Cię z elementarnymi zagadnieniami z tej dziedziny oraz wyjaśni, skąd bierze się tak szybki postęp w tej dyscyplinie nauki. Podczas dalszej lektury poznasz takie pojęcia, jak rekurencja, analiza złożoności oraz algorytmy sortowania i przeszukiwania czy algorytmy numeryczne. Szybko opanujesz metody optymalizacji algorytmów, sposoby kodowania i kompresji danych oraz elementy algorytmiki grafów. Przedstawione w książce algorytmy zilustrowane zostały przykładowymi kodami źródłowymi w C++ , ułatwiającymi zrozumienie poznawanych zagadnień. Przejrzysta forma, praktyczne przykłady oraz przystępny język sprawiają, że książka ta pozwala szybko, a także bezboleśnie opanować zarówno algorytmy, jak i struktury danych oraz najlepsze techniki programowania. Historia algorytmiki Wykorzystanie rekurencji Analiza złożoności algorytmów Algorytmy sortowania Algorytmy przeszukiwania Przeszukiwanie tekstów Struktury danych i ich implementacja Optymalizacja algorytmów Zaawansowane techniki programowania Wykorzystanie grafów Wprowadzenie do sztucznej inteligencji Kodowanie i kompresja danych Algorytmy numeryczne Poradnik kompilacji i uruchamiania programów (GCC, DevC++, Microsoft Visual C++ Express Edition). Szybko i bezboleśnie opanuj wszystkie zagadnienia algorytmiki!
Algorytmy, struktury danych i techniki programowania. Wydanie V
Piotr Wróblewski
Wprowadzenie do algorytmiki Tylko niezbędna teoria Gotowe rozwiązania w C++ Oto kolejne wydanie sprawdzonej, cenionej przez programistów, wykładowców oraz studentów książki, będącej podstawowym podręcznikiem do nauki algorytmiki. Jej autor zapozna Cię z elementarnymi zagadnieniami z tej dziedziny oraz wyjaśni, skąd bierze się tak szybki postęp w tej dyscyplinie nauki. Poznasz podstawowe struktury danych używane do rozwiązywania problemów algorytmicznych oraz nauczysz się je projektować w C++ z użyciem technik obiektowych i klas parametryzowanych. Podczas dalszej lektury poznasz takie pojęcia, jak rekurencja, analiza złożoności oraz algorytmy sortowania i przeszukiwania czy algorytmy numeryczne. Opanujesz metody optymalizacji algorytmów, sposoby kodowania i kompresji danych oraz elementy algorytmiki grafów. Przedstawione tu algorytmy są zilustrowane gotowymi kodami źródłowymi w C++ , co ułatwia zrozumienie poznawanych zagadnień. Przejrzysta forma, praktyczne przykłady oraz przystępny język sprawiają, że książka pozwala szybko i bez trudu opanować zarówno algorytmy, jak i struktury danych oraz najlepsze techniki programowania. Historia algorytmiki Struktury danych i ich implementacja Wprowadzenie do bibliotek STL, czyli algorytmy i struktury danych dla „leniuchów” Analiza złożoności algorytmów Wykorzystanie rekurencji i optymalizacja algorytmów Algorytmy sortowania i przeszukiwania Przeszukiwanie tekstów Zaawansowane techniki programowania Wykorzystanie grafów Algorytmy numeryczne Wprowadzenie do sztucznej inteligencji Kodowanie i kompresja danych Błyskawiczny kurs C++ z uwzględnieniem programowania obiektowego Poradnik kompilacji i uruchamiania programów konsolowych oraz graficznych w darmowych środowiskach IDE (GCC/Dev-C++, Microsoft Visual C++ z pakietu Visual Studio). Szybko i bezboleśnie opanuj wszystkie zagadnienia algorytmiki!
Robert Sedgewick, Kevin Wayne
Nie odkrywaj koła na nowo — sprawdź gotowe rozwiązania! Jak oceniać wydajność algorytmów? Jak wydajnie sortować elementy? Jak kompresować dane? Algorytmy od zawsze porównywane były do przepisów kucharskich. Z celnością tego porównania trudno dyskutować, na pewno jednak przesolenie zupy ma zupełnie inne konsekwencje niż błędnie opracowany lub zaimplementowany algorytm. To właśnie algorytmy decydują o czasie wykonania skomplikowanych operacji przez programy komputerowe, a ich odpowiednia implementacja może niejednokrotnie decydować o sukcesie lub porażce projektu wartego fortunę. Dzięki tej książce masz szansę uniknąć typowych programistycznych błędów i porażek. Jej lektura zapozna Cię z najpopularniejszymi algorytmami, ich licznymi zaletami oraz słabymi stronami. Sprawdzisz, do czego można je zastosować, a w jakich miejscach lepiej zrezygnować z ich wykorzystania. Ponadto nauczysz się analizować działanie algorytmów, mierzyć ich wydajność oraz dobierać dane testowe. W książce zostały omówione klasyczne algorytmy sortowania, wyszukiwania, operacji na grafach oraz kompresji danych. Jej ogromnym atutem są przykładowe implementacje algorytmów w języku JAVA oraz to, że przedstawiony kod jest gotowy do natychmiastowego użycia! Pozycja ta jest obowiązkową lekturą dla każdego programisty, któremu zależy na najwyższej wydajności tworzonych rozwiązań. Podstawowe pojęcia Struktura programu w języku JAVA Instrukcje, typy danych, wyrażenia w języku JAVA Korzystanie z abstrakcyjnych typów danych Stosy, kolejki Analiza algorytmów Algorytmy sortowania i wyszukiwania Wykorzystanie grafów Znajdowanie najkrótszej ścieżki Operacja na łańcuchach znaków Algorytmy kompresji danych Nie trać czasu i energii — korzystaj ze sprawdzonych rozwiązań!
Amazon Web Services w akcji. Wydanie II
Andreas Wittig, Michael Wittig
Platforma Amazon Web Services jest uważana za największą i najdojrzalszą chmurę obliczeniową. Oferuje ponad setkę gotowych usług, praktycznie niewyczerpywalne zasoby mocy obliczeniowej, nieograniczone bezpieczne magazynowanie oraz pierwszorzędne możliwości automatyzacji. Jest przy tym nieustannie unowocześniana i udostępnia coraz to nowsze możliwości. Pozwala na tworzenie i utrzymanie aplikacji w elastyczny i niezawodny sposób. Dla wielu organizacji decyzja o migracji infrastruktury informatycznej na platformę AWS okazała się strzałem w dziesiątkę. Aby z powodzeniem przeprowadzić taką transformację, konieczne jest uzyskanie wiedzy na temat platformy Amazon Web Services i zrozumienie związanych z nią koncepcji. To drugie, uaktualnione wydanie kompletnego wprowadzenia do wdrażania aplikacji w chmurze AWS. Dokładnie opisano w nim usługi dostarczające instancje obliczeniowe, przestrzeń na dane i zapewniające pracę w sieci. Wyjaśniono koncepcje niezbędne do uruchomienia aplikacji WWW na platformie AWS: równoważenie obciążenia, maszyny wirtualne, magazynowanie plików, systemy baz danych i buforowanie w pamięci. Przedstawiono też zagadnienia wysokiej dostępności, odporności na błędy oraz dynamicznego skalowania infrastruktury. Dużą zaletą książki jest omówienie zautomatyzowanego zarządzania infrastrukturą za pomocą usługi AWS CloudFormation. Sporo uwagi poświęcono także różnym aspektom bezpieczeństwa w chmurze. Najciekawsze zagadnienia: koncepcje związane z Amazon Web Services, w tym maszyny wirtualne i EC2 automatyzacja infrastruktury i wdrażanie oprogramowania na platformie AWS skalowalność i bezpieczeństwo infrastruktury w chmurze AWS najprzydatniejsze usługi AWS: S3, EBS, EFS, RDS i wiele innych wysoka dostępność i niezawodność infrastruktury tworzenie odpornych na błędy usług sieciowych Amazon Web Services: już dziś zaprojektuj system przyszłości! Bracia Andreas Wittig i Michael Wittig są inżynierami oprogramowania. Stosują podejście DevOps i specjalizują się we wdrażaniu rozwiązań opartych na chmurze AWS. Koncentrują się na zagadnieniach infrastruktury jako kodu, ciągłego wdrażania, przetwarzania bezserwerowego, zabezpieczeń i tworzenia produktów typu SaaS. Obaj zdobyli certyfikaty AWS Certified Solutions Architect - Professional i AWS Certified DevOps Engineer - Professional. Ich wspólną pasją jest dzielenie się wiedzą.
Analiza i projektowanie obiektowe. Rusz głową!
Brett D. McLaughlin, Gary Pollice, David West
Współczesne systemy informatyczne mają niewiele wspólnego z tymi sprzed kilkunastu lat. Są skomplikowane, nafaszerowane wieloma technologiami, bywa też, że mają (zbyt) wielu autorów. Jak zapanować nad tym wszystkim? Jak projektować systemy szybko oraz bezbłędnie? Czujesz się zagubiony? Nic się nie martw! Po prostu... Otwórz swój umysł! Teraz dzięki nowatorskim metodom nauczania możesz błyskawicznie opanować wszystkie elementy projektowania obiektowego. Charakterystyczna dla serii "Rusz głową!" cecha to wymieszana w odpowiednich proporcjach wiedza, humor oraz wszystko wyjaśniające grafiki. Informacje zawarte w książce obejmują pełny zakres tematyki związanej z analizą i projektowaniem obiektowym. Tylko kilkaset stron dzieli Cię od opanowania metod zbierania wymagań, tworzenia przypadków użycia czy też projektowania diagramów klas. A to tylko początek - sprawdź spis treści i przekonaj się, jak szeroki materiał zawiera ta książka. Naprzód, głowo! Nikt ci tego nie potrafił wytłumaczyć? Wydaje Ci się, że to problem nie na Twoją głowę? Nie potrzebujesz elektrowstrząsów, żeby pobudzić swój mózg do aktywnego działania. Tylko żadnych gwałtownych gestów! Usiądź wygodnie, otwórz książkę, dopiero teraz się zacznie. Na początek - rusz głową! Precz z nudnymi wykładami i zakuwaniem bez zrozumienia! Nauka to znacznie więcej niż tylko czytanie suchego tekstu. Twój mózg jest niczym głodny rekin, cały czas prący naprzód w poszukiwaniu nowej, apetycznej przekąski. Jak karmimy Twój wygłodniały umysł? Używamy rysunków, bo obraz wart jest 1024 słów. Stosujemy powtórzenia, by zakodować na stałe dane w Twojej chłonnej głowie. Oddziałujemy na emocje, jesteśmy nieprzewidywalni, zaskakujący i zabawni. Stawiamy przed Tobą wyzwania i zadajemy pytania, które angażują Cię w proces studiowania przedstawianych zagadnień. Cały czas pobudzamy Twój umysł do aktywnego działania, zmuszamy go do posłuszeństwa... a za ciężką pracę nagrodzimy go smakowitym ciasteczkiem w postaci wiedzy - wisienka gratis! Rozgryź to sam! Zasady i cele projektowania obiektowego Metody zbierania wymagań Przypadki użycia i ich analiza Graficzna prezentacja systemu i zasad jego działania - diagramy UML Wzorce projektowe - sprawy skomplikowane stają się proste, a proste jeszcze prostsze Projektowanie architektury systemu Testowanie Książka należy serii "Rusz głową!", która jest kontynuacją serii "Head First". Książki z tej serii zdobyły uznanie czytelników dzięki swemu unikalnemu i nowatorskiemu podejściu do przekazywania wiedzy. Sprawdź na półce, może znajdziesz obok inne książki z tej serii. Dzięki nim nawet najbardziej skomplikowane dziedziny wiedzy stają się przystępne, przyjazne i prostsze.
JAYME SCHROEDER, Brian Boyles
AndEngine is a broad 2D game engine which allows game developers, both experienced and inexperienced, to develop games for the Android platform with ease. Don't be fooled by the simplicity, though. As easy as it is to “pick up and go,” AndEngine includes enough functionality to bring any type of 2D game world to life.The AndEngine for Android Game Development Cookbook contains all of the necessary information and examples in order to build the games as you imagine them. The book's recipes will walk you through the various aspects of game design with AndEngine and provides detailed instructions on how to achieve some of the most desirable effects for your games.The AndEngine for Android Game Development Cookbook begins with detailed information on some of the more useful structuring techniques in game design and general aspects of resource management. Continuing on, the book will begin to discuss AndEngine entities, including sprites, text, meshes, and more. Everything from positioning, to modifiers, and even tips on improving entity functionality with raw OpenGL capabilities. From here on, everything from applying physics to your game, working with multi-touch events and gestures, game optimization, and even an overview of the various AndEngine extensions will be covered.The book has a widerange of recipes, from saving and loading game data, applying parallax backgrounds to create a seemingly 3D world, relying on touch events to zoom the game camera, taking screen-shots of the device's screen, and performance optimization using object pools. If physics-based games are more interesting to you, there's also a list of recipes ranging from controlling the world forces and calculating forces applied to bodies, creating destructible objects, and even creating rag-dolls.Pong styled games were fun 35 years ago, but it is time to take your game to the next level with the AndEngine for Android Game Development Cookbook.
Yossi Elkrief
Android 6 is the latest and greatest version of the Android operating system, and comes packed with cutting edge new features for you to harness for the benefit of building better applications.This step-by-step guide will take you through the basics of the Android Marshmallow permissions model and beyond into other crucial areas such as the Audio,Video,Camera API and Android’s at work features. Learn how to create, deploy, and manage Android applications with Marshmallow’s API and the latest functionalities. The combination of instructions and real-world examples will make your application deployment and testing a breeze.