Wzorce projektowe

1
Ebook

Ajax. Wzorce projektowe

Michael Mahemoff

Praktyczne rozwiązania dla projektantów aplikacji sieciowych Projektowanie aplikacji z wykorzystaniem technologii Ajax Dynamiczne interfejsy użytkownika Usługi sieciowe Technologia Ajax, będąca połączeniem języków XML i JavaScript, ostatnio zyskuje coraz większe uznanie wśród twórców witryn WWW i aplikacji sieciowych. Pozwala na ograniczenie do minimum komunikacji pomiędzy przeglądarką i serwerem, dzięki czemu aplikacje internetowe zachowują się niemal identycznie jak powszechnie wykorzystywane narzędzia biurkowe. Użytkownicy programów zaprojektowanych z wykorzystaniem Ajaksa nie muszą czekać na przeładowanie strony -- odbywa się to w tle i nie wpływa na szybkość działania. W dobie rosnącej popularności narzędzi internetowych Ajax wydaje się być idealnym rozwiązaniem. Czytając książkę "Ajax. Wzorce projektowe" opanujesz najlepsze praktyki tworzenia aplikacji sieciowych z wykorzystaniem tej technologii. Poznasz podstawowe wzorce projektowe oraz zasady ich stosowania w typowych aplikacjach. Nauczysz się korzystać z usług sieciowych, przesyłu strumieniowego i modelu DOM. Przeczytasz o optymalizacji kodu oraz powtórnym wykorzystywaniu jego fragmentów. Znajdziesz tu także wzorce dotyczące funkcjonalności i użyteczności witryn WWW oraz efektów graficznych. Ostatnią grupę wzorców opisanych w książce stanowią techniki diagnozowania tworzonych aplikacji. Geneza Ajaksa Podstawy projektowania w Ajaksie Zdalne wywoływanie poleceń Usługi sieciowe Transformacje XSLT Refaktoryzacja kodu Optymalizowanie wydajności aplikacji Efekty graficzne Użyteczne formularze Testowanie aplikacji Wykorzystaj w swoich projektach sprawdzone rozwiązania. Pobierz dodatkowy spis wzorców.

2
Ebook

Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian

Neal Ford, Rebecca Parsons, Patrick Kua

Przez długi czas uważano, że architektura oprogramowania powinna powstać przed rozpoczęciem pisania kodu i pozostać niezmieniona aż do zakończenia projektu. Pojawienie się zwinnych metod tworzenia oprogramowania spowodowało, że taką koncepcję zaczęto podawać w wątpliwość. Niektórzy nawet kwestionowali potrzebę tworzenia architektury, gdyż utrudniała reakcję na zmiany wymagań. Istnieje jednak inne podejście do architektury, zgodnie z którym jest ona ściśle powiązana z fazą programowania i dynamicznie odpowiada na zmiany pojawiające się podczas tworzenia kodu. W ten sposób architektura ewolucyjna, pomimo nieprzewidywalności zmian, zapewnia rozwój projektu we właściwym kierunku. Dzięki tej książce architekci oprogramowania zapoznają się z nowym podejściem do powiązań architektury z czasem. Przekonają się też, że tworzenie architektury ewolucyjnej sprowadza się do trzech głównych zagadnień: funkcji dopasowania, zmian przyrostowych i prawidłowego sprzęgania. W tej książce uwzględniono analizę każdego z tych aspektów, ukazano też mechanizm budowania architektury wspierającej ciągłe zmiany. Szczegółowo wyjaśniono zasady wprowadzania pętli informacji zwrotnej pozwalających całemu zespołowi na spójne rozwijanie systemu w zgodzie z zasadą ciągłego dostarczania. Pokazano metody monitorowania stanu architektury. Sporo uwagi poświęcono problemom danych długowiecznych - jest to często pomijane zagadnienie. W tej książce: Funkcje dopasowania w architekturze Zmiany przyrostowe wprowadzane za pomocą projektowania i operacji Sprzężenie architektury i wprowadzanie zmian bez utraty stabilności systemu Dane ewolucyjne oraz zmiany wymogów i architektury w miarę upływu czasu Budowanie architektur ewolucyjnych Praktyczne wdrażanie architektury ewolucyjnej w korporacji Architektura korporacyjna: wysoka sztuka projektowania!

3
Ebook

Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II

Neal Ford, Rebecca Parsons, Patrick Kua, Pramod Sadalage

Jeszcze kilka lat temu koncepcja ewoluowania architektury była uznawana za zbyt odważną. Uważano, że architektura powinna pozostawać elementem niezmiennym w czasie. Jednak rzeczywistość udowadnia, że systemy muszą ewoluować, aby spełniać wymogi użytkowników i odzwierciedlać zmiany w dynamicznym środowisku tworzenia oprogramowania. Innymi słowy, konieczne się staje budowanie architektur ewolucyjnych. Dzięki tej książce dowiesz się, w jaki sposób uczynić architekturę oprogramowania wystarczająco plastyczną, aby mogła odzwierciedlać zachodzące zmiany biznesowe i technologiczne. W nowym wydaniu rozbudowano pojęcia zmiany kierowanej i przyrostowej, a także przedstawiono najnowsze techniki dotyczące funkcji dopasowania, automatycznego zarządzania architekturą i danych ewolucyjnych. Zaprezentowano praktyki inżynieryjne umożliwiające ewoluowanie systemów oprogramowania, jak również podejścia strukturalne, w tym zasady projektowe, które ułatwiają zarządzanie tą ewolucją. Opisano ponadto, w jaki sposób zasady i praktyki architektury ewolucyjnej wiążą się z różnymi elementami procesu tworzenia oprogramowania. Naucz się postrzegać architekturę systemową jako plastyczny wyzwalacz. Sam Newman, architekt, autor książki Budowanie mikrousług Najciekawsze zagadnienia: mechanika architektury ewolucyjnej zarządzanie projektami oprogramowania i ich ewolucją style architektoniczne i zasady projektowania sprzęganie i wieloużywalność łączenie praktyk inżynieryjnych z kwestiami strukturalnymi Poznaj techniki umożliwiające tworzenie architektur oprogramowania na tyle zwinnych, aby dotrzymywały kroku ciągłym zmianom. Mark Richards, developertoarchitect.com

4
Ebook

C++ i Qt. Wprowadzenie do wzorców projektowych. Wydanie II

Alan Ezust, Paul Ezust

Najlepsze wzorce dla C++ i Qt! Język C++ przez długie lata był liderem wśród języków programowania i wciąż jest rozwijany. Qt to zestaw bibliotek pozwalający na tworzenie atrakcyjnego interfejsu użytkownika, działającego w różnych systemach operacyjnych — Windows, Mac OS X oraz Linux. Projekt jest intensywnie rozwijany od 1992 roku, a najnowsza wersja daje nawet możliwość tworzenia aplikacji internetowych czy mobilnych. Wykorzystanie możliwości C++ oraz potencjału Qt może dać niezwykłe efekty! W trakcie lektury nauczysz się podstaw języka C++ i zgłębisz tajniki bibliotek Qt. Zdobędziesz interesujące informacje na temat wykorzystania kontenerów, metaobiektów, metawłaściwości i mechanizmu refleksji. Dowiesz się, jak wykorzystać wzorzec MVC (ang. Model-View-Controller) oraz w jaki sposób opanować problemy związane z programowaniem współbieżnym. Ponadto nauczysz się panować nad wskaźnikami i unikać typowych problemów związanych z dostępem do pamięci. Książka ta jest doskonałą pozycją dla wszystkich programistów C++, którzy chcą wzbogacić swój warsztat o bibliotekę Qt. Dzięki tej książce: - poznasz podstawy C++ oraz Qt - opanujesz programowanie współbieżne - zrozumiesz wzorzec MVC - zbudujesz interesującą aplikację przy użyciu C++ i Qt Wykorzystaj moc duetu: C++ i Qt!

5
Ebook

Certyfikowany inżynier wymagań. Opracowanie na podstawie planu nauczania IREB® CPRE®. Przykładowe pytania egzaminacyjne z odpowiedziami

Karolina Zmitrowicz

Budowanie produktów, które wnoszą realną wartość biznesową, wymaga dobrych podstaw. Takimi podstawami są wymagania. Inżynieria wymagań od lat stanowi podstawę projektów - niezależnie od panujących mód i trendów. Inżynieria wymagań to proces definiowania, dokumentowania i utrzymywania wymagań w projektowaniu inżynierskim. Bez inżynierii wymagań nie byłoby systemów - nie tylko informatycznych, ale także usługowych, z których korzystamy na co dzień. Windy, nowoczesne pralki czy telewizory, smartfony i aplikacje na nie, infrastruktura lądowa i powietrzna - wszystko to systemy budowane na podstawie wymagań. Bez inżynierii wymagań te systemy by nie powstały. Lub powstałyby... ale o nieakceptowalnym poziomie jakości. ze wstępu Książka obejmuje tematykę inżynierii wymagań według programu certyfikacji IREB® CPRE® Foundation Level na poziomie podstawowym. Omawia zagadnienia wyszczególnione w planie nauczania IREB® CPRE® z naciskiem na aspekt praktyczny, a także przygotowuje do egzaminu certyfikacyjnego. Co ważne, zagadnienia teoretyczne zostały zobrazowane przykładami w stopniu określonym przez poziom poznawczy (K1, K2, K3). Zdobądź certyfikat i stań się kimś, kogo nie ruszy żaden projekt: Opanuj zasady inżynierii wymagań Poznaj artefakty i praktyki dokumentowania Dowiedz się, jakie są praktyki w zakresie opracowywania wymagań Wdróż się w proces i strukturę pracy Zorientuj się, jak w praktyce wygląda zarządzanie wymaganiami Ułatw sobie zadania dzięki narzędziom wspierającym Podejdź do egzaminu próbnego (wewnątrz znajdziesz pytania egzaminacyjne, klucz odpowiedzi i ich uzasadnienia)   Zobacz zapis z webinaru prowadzonego przez Karolinę Zmitrowicz oraz Rossa Apostola na temat: „Sztuczna inteligencja w produkcji oprogramowania” ⤵️

6
Ebook

DDD. Kompendium wiedzy

Vaughn Vernon

DDD w pigułce Modelowanie oprogramowania jest kojarzone z pojęciem programowania dziedzinowego, w skrócie zwanego DDD. Jest to dość nowatorskie podejście do tworzenia architektury oprogramowania, a jego największą zaletą jest wysoka pewność uzyskiwania bardzo dobrych rezultatów. Programiści często błyskawicznie dostrzegają zalety DDD i korzyści płynące ze stosowania odpowiednich narzędzi, stąd technika ta cieszy się coraz większym uznaniem. Dopiero jednak pełne zrozumienie zasad stosowania wzorców projektowych DDD przez wszystkich zaangażowanych w projekt pozwala na osiągnięcie imponujących wyników przy projektowaniu skomplikowanych systemów oprogramowania. Ten zwięzły i czytelnie napisany podręcznik jest przeznaczony dla programistów, ekspertów dziedzinowych, menedżerów, analityków biznesowych, architektów informacji i testerów. Koncentruje się na praktycznej wiedzy niezbędnej do uzyskania pożądanych rezultatów. Wyjaśniono, jak segregować modele dziedzin za pomocą wzorca kontekstu ograniczonego, jak rozwinąć język wszechobecny, a także w jaki sposób zintegrować wiele kontekstów ograniczonych poprzez wykorzystanie relacji zespołowych i mechanizmów technicznych. Co najważniejsze, dowiesz się, jak podejście DDD działa w rzeczywistości i co zrobić, aby jak najszybciej cieszyć się jego zaletami. W książce przedstawiono następujące zagadnienia: wprowadzenie do DDD i zalety tego podejścia do projektowania projektowanie strategiczne DDD integrowanie istniejących systemów w ramach tworzenia nowych aplikacji modelowanie taktyczne - agregaty i zdarzenia dziedziny narzędzia do zarządzania projektami i przyśpieszania prac Narzędzia DDD - ciesz się udanym wdrożeniem!

7
Ebook

DevOps dla bystrzaków

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

8
Ebook

Expression Blend Przewodnik

Artur Żarski

Przewodnik ten ma na celu zapoznanie Czytelnika z produktem o nazwie Expression Blend. Czym tak naprawdę jest Blend? Jest to profesjonalne narzędzie do projektowania interaktywnych interfejsów użytkownika – w szczególności różnego rodzaju animacji 2D oraz 3D. Pozwala na łączenie różnego rodzaju elementów w jednym projekcie. Mogą to być obrazy wideo, grafika wektorowa, wysokiej jakości elementy tekstowe, animacje oraz różnego rodzaju inne grafiki. Dzięki temu można tworzyć bardzo zaawansowane obiekty, zawierające najrozmaitsze podstawowe elementy i budując w ten sposób rozbudowany interfejs użytkownika.