Verleger: 24
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 odwrotna w praktyce. Narzędzia i techniki
Bruce Dang, Alexandre Gazet, Elias Bachaalany, Sébastien...
Inżynieria odwrotna pozwoli Ci na walkę z hakerami i rootkitami. Na użytkowników globalnej sieci czekają coraz wymyślniejsze pułapki. Każdego dnia grozi im zarażenie oprogramowaniem szpiegującym, rozsyłającym niechciane wiadomości lub wykorzystującym moc obliczeniową procesora do nieznanych celów. Wykrywanie tego typu zagrożeń i przeciwdziałanie im wymaga dogłębnej analizy niechcianego oprogramowania. Jak to zrobić? Na te i wiele innych pytań odpowiedzi dostarczy ta wspaniała książka! Dzięki niej zrozumiesz, jak działają procesory x86, x64 oraz ARM, zgłębisz tajniki jądra systemu Windows oraz poznasz najlepsze narzędzia, które wspomogą Cię w Twoich działaniach. W trakcie lektury kolejnych stron dowiesz się, jak korzystać z debuggera, jaką strukturę mają sterowniki oraz czym są pakiety żądań wejścia-wyjścia. Następnie dowiesz się, po co zaciemnia się kod oraz jakie narzędzia są do tego potrzebne. Techniką odwrotną do zaciemniania jest rozjaśnianie kodu. Zastanawiasz się, które narzędzia są skuteczniejsze? Przekonaj się sam! Ta pasjonująca lektura dostarczy Ci mnóstwo wiedzy na temat działania oprogramowania. Odkryj nowatorskie, usystematyzowane podejście do inżynierii zwrotnej oparte na analizie prawdziwego złośliwego oprogramowania. Poznaj szczegóły trzech najpopularniejszych architektur: x86, x64 i ARM. Zapoznaj się ze szczegółowo omówionymi zagadnieniami związanymi z jądrem systemu Windows oraz sterownikami działającymi w trybie jądra, które zostały opatrzone przykładowymi analizami prawdziwych rootkitów oraz ćwiczeniami. Opanuj skomplikowane techniki zaciemniania kodu takie jak te, które są stosowane w zabezpieczeniach mających postać maszyny wirtualnej. Dowiedz się jak analizować zabezpieczone programy. Odkryj zaawansowane techniki debugowania i automatyzacji, które przyśpieszą wykonywanie zadań związanych z inżynierią odwrotną. Przyjrzyj się jak profesjonaliści analizują programy. Zastosuj zdobytą wiedzę podczas samodzielnej analizy próbek prawdziwego złośliwego oprogramowania. Dowiedz się, jak działają exploity, wirusy, rootkity! Ich działanie można w pełni zrozumieć tylko poprzez inżynierię odwrotną...
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!
Inżynieria platform dla nowoczesnych liderów. Skuteczne zarządzanie systemami i zespołami
Camille Fournier, Ian Nowland, Nicole Forsgren
Czy radzisz sobie z zarządzaniem kodem, narzędziami i infrastrukturą użytkowaną przez wiele zespołów? Próby rozwiązania tego problemu trwają od ćwierćwiecza, nierzadko jednak ignoruje się potrzeby użytkowników i nie zapewnia wymaganej niezawodności. Efekt? Totalny chaos i przytłaczające złożonością systemy. A przecież można inaczej: oto inżynieria platform! Inżynieria platform to sport zespołowy. A to jest Twój plan gry! Kelsey Hightower, współautor książki Kubernetes. Tworzenie niezawodnych systemów rozproszonych Ten praktyczny przewodnik docenią głównie inżynierowie, menedżerzy, menedżerzy produktu i liderzy. Jego treść wykracza poza aspekty programistyczne, prezentując zalety całościowego myślenia o infrastrukturze, a więc szerszego planowania i uwzględniania kwestii administracji systemami. Dzięki książce poznasz odpowiedzi na kluczowe pytania: kiedy powołać projekt wytwarzania platformy, jak zorganizować zespół zajmujący się platformą, co odróżnia planowanie platformy od innych, pozornie podobnych inicjatyw. Znajdziesz tu też przydatne wskazówki, z których możesz skorzystać na każdym etapie wdrażania i stosowania podejścia opartego na inżynierii platform. Najważniejsze zagadnienia: platforma jako produkt dla deweloperów rola i granice działania zespołów inżynierii platform wprowadzanie inżynierii platform w organizacji wyzwania związane ze skalowaniem platform najlepsze praktyki lidera zespołów inżynierii platform Platforma to organizm, a jego sercem jest zespół!
Inżynieria promptów bez tajemnic. Sztuka kreatywnego generowania tekstów
Gilbert Mizrahi
Pojawienie się dużych modeli językowych, takich jak GPT-4 czy Gemini, okazało się prawdziwym przełomem w wielu branżach. Modele te potrafią generować znakomite teksty i prowadzić zaawansowane konwersacje. Z ich potencjału można czerpać poprzez odpowiednio sformułowane prompty. Aby więc w pełni skorzystać z możliwości modelu do wykonania konkretnego zadania, trzeba opanować sztukę pisania promptów. Na podstawie tej praktycznej książki nauczysz się pisać skuteczne prompty dla dużych modeli językowych. Dowiesz się, w jaki sposób mogą posłużyć do generowania opisów produktów, spersonalizowanych wiadomości e-mail, postów w mediach społecznościowych, a nawet tekstów beletrystycznych i poetyckich. Poznasz także zaawansowane techniki użycia, takie jak integracja dużych modeli językowych z innymi narzędziami i tworzenie chatbotów. Wszystkie opisane tu techniki przetestujesz, eksperymentując i optymalizując swoje rozwiązania. W efekcie zdobędziesz umiejętności, które pozwolą Ci wykonywać codzienne zadania szybciej i lepiej! Dzięki tej książce: poznasz różne typy promptów i ich zastosowania rozwiniesz umiejętności kreatywnego pisania, korzystając ze sztucznej inteligencji zdobędziesz zaawansowane umiejętności tworzenia i wdrażania chatbotów nauczysz się integrować duże modele językowe z innymi narzędziami poznasz zagadnienia etyczne i najlepsze praktyki związane ze sztuczną inteligencją Moc promptów w Twoich rękach ― twórz, inspiruj, zaskakuj!