Inżynieria oprogramowania według Google. Czego warto się nauczyć o tworzeniu oprogramowania
- Autorzy:
- Titus Winters, Tom Manshreck, Hyrum Wright
- Wydawnictwo:
- Helion
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 576
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi

Opis ebooka: Inżynieria oprogramowania według Google. Czego warto się nauczyć o tworzeniu oprogramowania
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!
Obecnie inżynierowie oprogramowania muszą wiedzieć nie tylko, jak efektywnie programować, ale też, w jaki sposób opracowywać odpowiednie praktyki inżynieryjne, aby zapewnić trwałość i dobry stan swojej bazy kodu. W książce podkreślono różnicę między programowaniem i inżynierią oprogramowania.
W jaki sposób inżynierowie oprogramowania zarządzają aktywną bazą kodu, która w trakcie całego okresu swojego istnienia rozwija się i reaguje na zmieniające się wymagania i żądania? Bazując na swoim doświadczeniu zdobytym w firmie Google, Titus Winters i Hyrum Wright, będący inżynierami oprogramowania, oraz Tom Manshreck zajmujący się tworzeniem dokumentacji technicznej, prezentują swoje szczere i wnikliwe analizy tego, jak inżynierowie pracujący w wiodącej w skali światowej firmie tworzą i utrzymują oprogramowanie. W książce omówiono unikalną kulturę pracy, procesy i narzędzia obecne w firmie Google, a także wyjaśniono, jak te aspekty wpływają na efektywność organizacji z branży inżynierii.
Poznasz następujące trzy podstawowe zasady, o jakich powinny pamiętać firmy z branży oprogramowania w trakcie projektowania, definiowania architektury oraz pisania i utrzymywania kodu:
- Wpływ czasu na trwałość oprogramowania i metody zwiększania odporności kodu z upływem czasu.
- Wpływ skali na możliwości dalszego stosowania praktyk związanych z oprogramowaniem przez organizację z branży inżynierii.
- Kompromisy, jakie musi określać typowy inżynier przy ocenie decyzji projektowych.
"Choć w książce z góry wspomina się o kompromisach, wyjaśniono w niej, w jaki sposób, który sprawia, że jestem maksymalnie wydajny i zadowolony, firma Google realizuje procesy inżynierii oprogramowania."
Eric Haugh, Inżynier oprogramowania w firmie Google
Wybrane bestsellery
-
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering.How can software engineers manage a liv...
Software Engineering at Google. Lessons Learned from Programming Over Time Software Engineering at Google. Lessons Learned from Programming Over Time
(148.18 zł najniższa cena z 30 dni)203.15 zł
239.00 zł(-15%) -
Agile, zwinność - to terminy, które w pierwszej kolejności kojarzą się z branżą IT. I słusznie. Zwolennicy zwinnego programowania przyjmują, że skoro oczekiwania odbiorcy ewoluują w trakcie pracy nad produktem, jej założenia i metody powinny się do tych zmian adaptować. Firmy z sektora IT od dawn...(35.40 zł najniższa cena z 30 dni)
38.35 zł
59.00 zł(-35%) -
Książka stanowi kompendium wiedzy na temat tej niesłychanie szybko rozwijającej się i dynamicznie wkraczającej w nasze życie dziedziny. Została napisana tak, aby była przystępna dla osób posiadających podstawowe umiejętności matematyczne. Może stanowić podręcznik dla studentów takich kierunków ja...(29.40 zł najniższa cena z 30 dni)
31.85 zł
49.00 zł(-35%) -
Wielu adeptów kodowania ulega złudnemu przekonaniu, że opanowanie jakiegoś języka programowania wystarczy, aby być programistą. Nader często w pośpiechu piszą nieuporządkowany kod, który zawiera mnóstwo powtórzeń i jest kompletnie nieczytelny. Tymczasem prawdziwi mistr...
The Art of Clean Code. Jak eliminować złożoność i pisać czysty kod The Art of Clean Code. Jak eliminować złożoność i pisać czysty kod
(35.40 zł najniższa cena z 30 dni)38.35 zł
59.00 zł(-35%) -
Ten praktyczny przewodnik zawiera szeroki przegląd strategii, wzorców i form testowania oprogramowania, ułatwiających dobór ścieżek i podejść do konkretnych projektów w zależności od zakresu, budżetu i ram czasowych. Książka uczy przydatnych umiejętności w zakresie przeprowadzania testów wydajnoś...
Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości Testowanie full stack. Praktyczny przewodnik dostarczania oprogramowania wysokiej jakości
(53.40 zł najniższa cena z 30 dni)57.85 zł
89.00 zł(-35%) -
Bycie menedżerem w potężnej, lecz przeżywającej poważny kryzys firmie w branży IT to nie bułka z masłem. Nigdy nie wiadomo, co czeka Cię następnego dnia i czy jeszcze tam pracujesz. Ale dzień, w którym nagle dowiadujesz się, że z pracy odeszli dwaj Twoi przełożeni, a Ty masz zająć gorący i niewyg...
Projekt Feniks. Powieść o IT, modelu DevOps i o tym, jak pomóc firmie w odniesieniu sukcesu Projekt Feniks. Powieść o IT, modelu DevOps i o tym, jak pomóc firmie w odniesieniu sukcesu
(24.32 zł najniższa cena z 30 dni)24.50 zł
49.00 zł(-50%) -
Oto pierwszy tom dzieła, które stanowi inspirujące spojrzenie na sztuczną inteligencję. Jego zrozumienie nie wymaga wybitnej znajomości informatyki i matematyki. Książka jest wspaniałą syntezą wczesnych i późniejszych koncepcji, a także technik, przeprowadzoną we frameworku idei, metod i technolo...
Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 1 Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 1
(101.40 zł najniższa cena z 30 dni)109.85 zł
169.00 zł(-35%) -
To drugi tom klasycznego podręcznika wiedzy o sztucznej inteligencji. Podobnie jak w wypadku pierwszej części, lektura tej książki nie wymaga wybitnej znajomości tematu. Dzięki przejrzystości tekstu i umiejętnemu unikaniu nadmiernego formalizmu można w dość łatwy sposób zrozumieć kluczowe idee i ...
Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 2 Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 2
(77.40 zł najniższa cena z 30 dni)83.85 zł
129.00 zł(-35%) -
To trzecie, wzbogacone i uzupełnione wydanie praktycznego samouczka, dzięki któremu błyskawicznie rozpoczniesz pracę z Terraform. Zapoznasz się z językiem programowania Terraform i zasadami tworzenia kodu. Szybko zaczniesz wdrażać infrastrukturę i zarządzać nią za pomocą zaledwie kilku poleceń. I...
Terraform. Tworzenie infrastruktury za pomocą kodu. Wydanie III Terraform. Tworzenie infrastruktury za pomocą kodu. Wydanie III
(59.40 zł najniższa cena z 30 dni)64.35 zł
99.00 zł(-35%) -
O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, „czysty” kod i czym właściwie powinien się on charakteryzować. Co więcej – jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzen...(47.40 zł najniższa cena z 30 dni)
51.35 zł
79.00 zł(-35%)
O autorach ebooka
Titus Winters jest starszym inżynierem oprogramowania w Google. Kieruje pracami zespołu odpowiedzialnego za bazę kodu C++ firmy Google.
Tom Manshreck jest członkiem zespołu zajmującego się bibliotekami języka C++ w Google. Odpowiada za tworzenie dokumentacji technicznej.
Hyrum Wright jest inżynierem oprogramowania w Google. Kieruje grupą, która tworzy narzędzia do zautomatyzowanego wprowadzania zmian.
Ebooka "Inżynieria oprogramowania według Google. Czego warto się nauczyć o tworzeniu oprogramowania" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Inżynieria oprogramowania według Google. Czego warto się nauczyć o tworzeniu oprogramowania" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Inżynieria oprogramowania według Google. Czego warto się nauczyć o tworzeniu oprogramowania" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnym urządzeniu
Recenzje ebooka: Inżynieria oprogramowania według Google. Czego warto się nauczyć o tworzeniu oprogramowania (2)
Poniższe recenzje mogły powstać po przekazaniu recenzentowi darmowego egzemplarza poszczególnych utworów bądź innej zachęty do jej napisania np. zapłaty.
-
Recenzja: FSGeek Patschek Aleksander
Recenzja dotyczy produktu typu: ksiązka drukowanaTL;DR Spojrzenie inżynierię oprogramowania z punktu widzenia Google otwiera oczy na pewne kwestie. Świetna pozycja dla wszystkich deweloperów. Książka do najmniejszych nie należy, ale jak się zaczyna czytać, to ciężko się dziwić. Książka opisuje, jak firma Google podchodzi do inżynierii oprogramowania. I jest to bardzo cenne spojrzenie, bo w końcu mówimy o firmie z tysiącami programistów i pewnie taką samą ilością projektów. I co najważniejsze. Książka nie stara się edukować, mówić o jedynej słusznej drodze, a jedynie opisuje, jaka jest perspektywa Google i co się u nich sprawdziło. Największą zaletą książki jest struktura rozdziałów. Każdy jest napisany przez inną osobę i dotyczy innego obszaru inżynierii oprogramowania. Dzięki temu nie trzeba czytać od deski do deski a wybrać rozdziały, które aktualnie są potrzebne. Oczywiście nie jest to książka idealna. W niektórych fragmentach jest trochę lania wody, przez co trochę źle się je czyta. Nie wiem, czy to kwestia tłumaczenia, czy też oryginalnie też było słabo napisane. Na szczęście są to jednostkowe przypadki. Dla kogo ta książka? Myślę, że każdy programista powinien ją przeczytać. Można znaleźć wiele fajnej wiedzy i co najważniejsze - DOŚWIADCZENIA. Nie warto wszystkiego wdrażać na ślepo, ale wykorzystać wiedzę. Warto uczyć się na doświadczeniu innych. Szczególnie jeśli jest to doświadczenie Google'a.
-
Recenzja: dev.dawid Kostrzewa Dawid
Recenzja dotyczy produktu typu: ksiązka drukowanaKsiążka została napisana przez trzech inżynierów z Google, którzy bezpośrednio zajmują się produkcją oprogramowania. Opisane zostało większość tematów, które mogą pojawić się w świecie IT - począwszy od kultury pracy w zespole, poprzez zarządzanie zespołami, procesy tworzenia oprogramowania, testowanie, wdrażanie oprogramowania, zarządzanie kontrolą wersji, a na procesach CI/CD czy wprowadzaniu dużych zmian w projekcie skończywszy. Każdy z rozdziałów napisany jest przez inną osobę, co zapewnia zróżnicowany punkt widzenia. Dużym atutem są realne przypadki z codziennej pracy w Google. Cenię w tej książce to, że skupia się ona bardziej na podejściu do programowania i pracy jako inżynier oprogramowania, co jest uniwersalne dla każdego języka, niż na szczegółach kodu. Jeśli jednak miałbym wytknąć pewne słabsze punkty, to niektóre aspekty mogłyby być przedstawione w bardziej zwięzły i krótki sposób. W szczególności dotyczy to rozdziału o przeprowadzaniu code review, gdzie niestety nie znalazłem niczego nowatorskiego. Dla kogo jest ta książka? Moim zdaniem, najwięcej skorzystają z niej osoby z doświadczeniem w IT, szczególnie te, które brały udział w kilku projektach. W trakcie lektury odnajdywałem swoje własne doświadczenia w przedstawionych sytuacjach (jak codeowners bądź code style), co pozwoliło mi łatwo porównać swoje doświadczenia z tym, co jest prezentowane w książce. Osoby bez doświadczenia, również mogą zainteresować się tą pozycją, jednak mogą mieć trudności ze skojarzeniem informacji z książki z własnymi doświadczeniami. Podsumowując, "Inżynieria oprogramowania według Google" to bardzo intrygująca pozycja, która pozwala nam zajrzeć za kulisy i zrozumieć, jak inżynierowie Google'a podchodzą do tworzenia oprogramowania. Książka ta stanowi wartościowe źródło wiedzy dla profesjonalistów IT, jak również dla osób, które dopiero zaczynają swoją przygodę w tej branży. Mimo drobnych niedociągnięć, uważam, że jest to lektura, która zasługuje na uwagę.
Szczegóły ebooka
- Tytuł oryginału:
- Software Engineering at Google: Lessons Learned from Programming Over Time
- Tłumaczenie:
- Piotr Pilch
- ISBN Książki drukowanej:
- 978-83-283-9971-6, 9788328399716
- Data wydania książki drukowanej:
- 2023-05-08
- ISBN Ebooka:
- 978-83-283-9972-3, 9788328399723
- Data wydania ebooka:
-
2023-05-04
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 165x235
- Numer z katalogu:
- 192596
- Rozmiar pliku Pdf:
- 5.9MB
- Rozmiar pliku ePub:
- 6.6MB
- Rozmiar pliku Mobi:
- 14.7MB
- Pobierz przykładowy rozdział PDF
Spis treści ebooka
- 1. Czym jest inżynieria oprogramowania
- Czas i zmiana
- Prawo Hyruma
- Przykład: uporządkowanie z mieszaniem
- Dlaczego po prostu nie dążyć do sytuacji "nic się nie zmienia"?
- Skala i efektywność
- Zasady, które nie zapewniają skalowania
- Zasady zapewniające dobre skalowanie
- Przykład: aktualizacja kompilatora
- Przesunięcie w lewą stronę
- Kompromisy i koszty
- Przykład: markery
- Informacje zapewniane przy podejmowaniu decyzji
- Przykład: kompilacje rozproszone
- Przykład: wybór między czasem i skalą
- Ponowne analizowanie decyzji i popełnianie błędów
- Porównanie inżynierii oprogramowania i programowania
- Podsumowanie
- W skrócie
- Czas i zmiana
- 2. Jak dobrze pracować w zespołach?
- Pomóż mi ukryć mój kod
- Mit geniuszu
- Ukrywanie uważane za coś szkodliwego
- Wczesne wykrywanie
- Wskaźnik autobusowy
- Tempo postępów
- Analiza przypadku: inżynierowie i ich biura
- Mówiąc wprost, nie ukrywaj się
- Liczy się tylko zespół
- Trzy filary interakcji społecznych
- Dlaczego te filary są istotne?
- Pokora, szacunek i zaufanie w praktyce
- Kultura analizowania bez obwiniania
- Bycie "googlowym"
- Podsumowanie
- W skrócie
- 3. Dzielenie się wiedzą
- Wyzwania związane z uczeniem się
- Filozofia
- Przygotowanie: bezpieczeństwo psychologiczne
- Doradztwo
- Bezpieczeństwo psychologiczne w dużych grupach
- Poszerzanie własnej wiedzy
- Zadawaj pytania
- Zrozum kontekst
- Skalowanie pytań: zadaj je społeczności
- Rozmowy grupowe
- Listy wysyłkowe
- Poczta elektroniczna w firmie Google
- YAQS - platforma pytań i odpowiedzi
- Skalowanie posiadanej wiedzy - zawsze możesz się czegoś nauczyć
- Spotkania w godzinach pracy
- Konsultacje techniczne i zajęcia
- Dokumentacja
- Kod
- Skalowanie wiedzy na poziomie organizacji
- Doskonalenie kultury dzielenia się wiedzą
- Ustanawianie kanonicznych źródeł informacji
- Bycie na bieżąco
- Czytelność - standaryzowane doradztwo w ramach inspekcji kodu
- Czym jest proces oceny czytelności?
- Dlaczego korzysta się z tego procesu?
- Podsumowanie
- W skrócie
- 4. Inżynieria zapewniająca równość
- Uprzedzenie z założenia
- Zrozumienie potrzeby uwzględniania różnorodności
- Zapewnianie zdolności wspierania wielokulturowości
- Ustanawianie różnorodności bodźcem do podejmowania działań
- Odrzucanie osobliwych metod
- Uporanie się z ugruntowanymi procesami
- Wartości a wyniki
- Zachowaj ciekawość i nie zatrzymuj się
- Podsumowanie
- W skrócie
- 5. Jak kierować zespołem?
- Menedżerowie i kierownicy techniczni (i osoby pełniące obie role)
- Menedżer inżynierów
- Kierownik techniczny
- Menedżer i kierownik techniczny w jednym
- Analiza przypadku: wywieranie wpływu na osoby, które nam nie podlegają
- Przejście z roli pojedynczego uczestnika do roli przywódcy
- Jedyna rzecz wywołująca obawy to. w zasadzie wszystko
- Przywództwo służebne
- Menedżer inżynierów
- Menedżer to osoba identyfikowana przez 4-literowe słowo
- Współczesny menedżer inżynierów
- Antywzorce
- Antywzorzec: zatrudnianie naiwniaków
- Antywzorzec: ignorowanie osób o kiepskiej wydajności
- Antywzorzec: ignorowanie problemów ludzkich
- Antywzorzec: przyjaźnienie się z każdym
- Antywzorzec: naruszanie poprzeczki zatrudnienia
- Antywzorzec: traktowanie własnego zespołu jak dzieci
- Pozytywne wzorce
- Zrezygnuj z ego
- Bądź mistrzem zen
- Bądź katalizatorem
- Usuwaj przeszkody
- Bądź nauczycielem i mentorem
- Określ wyraźne cele
- Bądź szczery
- Monitoruj poziom zadowolenia
- Nieoczekiwane pytanie
- Inne wskazówki i rady
- Ludzie są jak rośliny
- Motywacja wewnętrzna i zewnętrzna
- Podsumowanie
- W skrócie
- Menedżerowie i kierownicy techniczni (i osoby pełniące obie role)
- 6. Przywództwo przy dużej skali
- Zawsze bądź rozstrzygającym
- Przypowieść o samolocie
- Identyfikowanie osób "z klapkami na oczach"
- Ustalanie kluczowych kompromisów
- Decydowanie, a następnie powtarzanie działań
- Zawsze możesz odejść
- Twoja misja: zbuduj niezależny zespół
- Dzielenie obszaru problemu
- Zawsze stawiaj na rozwój
- Cykl sukcesu
- Ważne kontra pilne
- Uczenie się upuszczania piłek
- Oszczędzanie własnej energii
- Podsumowanie
- W skrócie
- Zawsze bądź rozstrzygającym
- 7. Pomiar wydajności inżynierów
- Dlaczego powinno się mierzyć wydajność inżynierów?
- Segregacja: czy w ogóle jest to warte przeprowadzania pomiaru?
- Wybór sensownych metryk uwzględniających cele i sygnały
- Cele
- Sygnały
- Metryki
- Użycie danych do weryfikowania poprawności metryk
- Podejmowanie działania i monitorowanie wyników
- Podsumowanie
- W skrócie
- 8. Wytyczne i reguły dotyczące stylu
- Dlaczego stosujemy reguły?
- Tworzenie reguł
- Zasady ustalania wytycznych
- Przewodnik stylów
- Modyfikowanie reguł
- Proces
- Moderatorzy stylów
- Wyjątki
- Wytyczne
- Stosowanie reguł
- Narzędzia do sprawdzania błędów
- Narzędzia formatujące kod
- Podsumowanie
- W skrócie
- 9. Inspekcja kodu
- Przepływ procesu inspekcji kodu
- Realizowanie inspekcji kodu w firmie Google
- Zalety inspekcji kodu
- Poprawność kodu
- Zrozumiałość kodu
- Spójność kodu
- Korzyści natury psychologicznej i kulturowej
- Dzielenie się wiedzą
- Najlepsze praktyki dotyczące inspekcji kodu
- Bądź miły i profesjonalny
- Tworzenie drobnych zmian
- Tworzenie dobrych opisów zmian
- Ograniczanie liczby inspektorów do minimum
- Automatyzowanie, gdy tylko jest to możliwe
- Typy inspekcji kodu
- Inspekcje zupełnie nowego kodu
- Zmiany behawioralne, ulepszenia i optymalizacje
- Poprawki błędów i wycofania
- Refaktoryzacje i zmiany na dużą skalę
- Podsumowanie
- W skrócie
- 10. Dokumentacja
- Co jest kwalifikowane jako dokumentacja?
- Dlaczego dokumentacja jest niezbędna?
- Dokumentacja jest jak kod
- Poznaj swoich odbiorców
- Typy odbiorców
- Typy dokumentacji
- Dokumentacja referencyjna
- Dokumenty projektowe
- Kursy
- Dokumentacja pojęciowa
- Strony docelowe
- Inspekcje dokumentacji
- Filozofia towarzysząca dokumentacji
- KTO, CO, KIEDY, GDZIE i DLACZEGO
- Początek, środek i zakończenie
- Parametry dobrej dokumentacji
- Wycofywanie dokumentów
- Kiedy są potrzebni twórcy dokumentów technicznych?
- Podsumowanie
- W skrócie
- 11. Testowanie - przegląd
- Dlaczego tworzymy testy?
- Historia serwera Google Web Server
- Testowanie z szybkością nowoczesnego procesu projektowania
- Utwórz, uruchom i zareaguj
- Korzyści wynikające z testowania kodu
- Projektowanie zestawu testów
- Wielkość testu
- Zasięg testów
- Reguła Beyoncé
- Coś na temat pokrycia kodu
- Testowanie w firmie tak dużej jak Google
- Pułapki towarzyszące dużemu zestawowi testów
- Historia testowania w firmie Google
- Zajęcia wprowadzające
- Program certyfikacji Test Certified
- Testowanie w toalecie
- Kultura testowania obecnie
- Ograniczenia zautomatyzowanego testowania
- Podsumowanie
- W skrócie
- Dlaczego tworzymy testy?
- 12. Testowanie jednostkowe
- Doniosłość możliwości utrzymania
- Unikanie niepewnych testów
- Dążenie do uzyskania trwałych testów
- Testowanie za pośrednictwem publicznych interfejsów API
- Testuj stan, a nie interakcje
- Tworzenie przejrzystych testów
- Zapewnianie kompletności i zwięzłości testów
- Testuj zachowania, a nie metody
- Nie umieszczaj logiki w testach
- Twórz przejrzyste komunikaty o niepowodzeniach
- Testy i współużytkowanie kodu: zasada DAMP, a nie DRY
- Wartości współużytkowane
- Konfiguracja współużytkowana
- Współużytkowane metody pomocnicze i sprawdzanie poprawności
- Definiowanie infrastruktury testów
- Podsumowanie
- W skrócie
- 13. Dublery w testach
- Wpływ dublerów w testach na projektowanie oprogramowania
- Dublery w testach w firmie Google
- Podstawowe pojęcia
- Przykładowy dubler w teście
- Łącza
- Środowiska tworzące obiekty zastępcze
- Techniki użycia dublerów w testach
- Użycie fałszywego obiektu
- Użycie obiektów stub
- Testowanie interakcji
- Rzeczywiste implementacje
- Wybieraj realizm, a nie izolację
- Decydowanie o tym, kiedy skorzystać z rzeczywistej implementacji
- Zastosowanie fałszywego obiektu
- Dlaczego fałszywe obiekty są ważne?
- Kiedy powinno się tworzyć fałszywe obiekty?
- Wierność fałszywych obiektów
- Fałszywe obiekty powinny być testowane
- Jak postąpić, jeśli fałszywy obiekt jest niedostępny?
- Użycie obiektów stub
- Zagrożenia związane z nadużywaniem obiektów stub
- Kiedy użycie obiektów stub jest właściwe?
- Testowanie interakcji
- Zamiast testowania interakcji preferuj testowanie stanu
- Kiedy testowanie interakcji jest właściwe?
- Najlepsze praktyki związane z testowaniem interakcji
- Podsumowanie
- W skrócie
- 14. Testowanie na dużą skalę
- Czym są większe testy?
- Wierność
- Typowe luki w testach jednostkowych
- Dlaczego nie warto korzystać z większych testów?
- Większe testy w firmie Google
- Większe testy i czas
- Większe testy przy skali działań firmy Google
- Struktura dużego testu
- Testowany system
- Dane testu
- Weryfikacja
- Typy większych testów
- Testowanie funkcjonalne jednego lub większej liczby plików binarnych prowadzących interakcję
- Testowanie przeglądarki i urządzenia
- Testowanie wydajności, obciążenia i przeciążenia
- Testowanie konfiguracji wdrażania
- Testowanie rozpoznawcze
- Testowanie różnic A/B (regresji)
- Testowanie akceptacyjne na poziomie użytkowników
- Kontrolery i analiza kanarkowa
- Przywracanie awaryjne i inżynieria chaosu
- Ocena na poziomie użytkowników
- Duże testy i przepływ informacji procesu projektowania
- Tworzenie dużych testów
- Uruchamianie dużych testów
- Ustanowienie właścicieli dużych testów
- Podsumowanie
- W skrócie
- Czym są większe testy?
- 15. Wycofywanie
- Dlaczego warto wycofywać?
- Dlaczego wycofywanie jest takie trudne?
- Uwzględnienie wycofywania podczas projektowania
- Typy procesu wycofywania
- Wycofywanie wskazane
- Wycofywanie obowiązkowe
- Ostrzeżenia związane z wycofywaniem
- Zarządzanie procesem wycofywania
- Właściciele procesu
- Kamienie milowe
- Narzędzia do wycofywania
- Podsumowanie
- W skrócie
- 16. Kontrola wersji i zarządzanie gałęziami
- Czym jest kontrola wersji?
- Dlaczego kontrola wersji jest ważna?
- Porównanie scentralizowanego i rozproszonego systemu VCS
- "Źródło prawdy"
- Kontrola wersji i zarządzanie zależnościami
- Zarządzanie gałęziami
- Praca w trakcie jest równoznaczna istnieniu gałęzi
- Gałęzie rozwojowe
- Gałęzie wersji do opublikowania
- Kontrola wersji w firmie Google
- Jedna wersja
- Scenariusz: wiele dostępnych wersji
- Reguła "jednej wersji"
- (Prawie) żadnych długo istniejących gałęzi
- A co z gałęziami publikowanych wersji?
- Repozytoria monolityczne
- Przyszłość kontroli wersji
- Podsumowanie
- W skrócie
- Czym jest kontrola wersji?
- 17. Narzędzie Code Search
- Interfejs użytkownika narzędzia Code Search
- W jaki sposób pracownicy firmy Google korzystają z narzędzia Code Search?
- Gdzie?
- Co?
- Jak?
- Dlaczego?
- Kto i kiedy?
- Dlaczego zdecydowano się na osobne narzędzie internetowe?
- Skala
- Globalny widok kodu bez wymogu konfiguracji
- Specjalizacja
- Integracja z innymi narzędziami do projektowania
- Udostępnianie interfejsów API
- Wpływ skali na projekt
- Opóźnienie zapytania wyszukiwania
- Opóźnienie indeksowania
- Implementacja firmy Google
- Indeks wyszukiwania
- Klasyfikowanie
- Wybrane kompromisy
- Kompletność - liczy się przede wszystkim repozytorium
- Kompletność - wszystkie wyniki i te najbardziej trafne
- Kompletność - porównanie bieżącej gałęzi kodu z innymi gałęziami kodu oraz całej historii i obszarów roboczych
- Wyrazistość - porównanie tokenów, podłańcuchów i wyrażeń regularnych
- Podsumowanie
- W skrócie
- 18. Systemy do kompilacji i filozofia procesu kompilacji
- Przeznaczenie systemu do kompilacji
- Co się dzieje, gdy nie ma systemu do kompilacji?
- Wszystko, czego potrzebuję, to kompilator
- Czy skrypty powłoki nas uratują?
- Nowoczesne systemy do kompilacji
- Wszystko sprowadza się do zależności
- Systemy do kompilacji oparte na zadaniach
- Systemy do kompilacji oparte na artefaktach
- Kompilacje rozproszone
- Czas, skala i kompromisy
- Radzenie sobie z modułami i zależnościami
- Użycie szczegółowych modułów i reguła 1:1:1
- Minimalizowanie widoczności modułów
- Zarządzanie zależnościami
- Podsumowanie
- W skrócie
- 19. Critique - narzędzie firmy Google do inspekcji kodu
- Zasady dotyczące narzędzi do inspekcji kodu
- Przepływ inspekcji kodu
- Powiadomienia
- Etap 1. Tworzenie zmiany
- Ujawnianie różnic
- Wyniki analizy
- Ścisła integracja narzędzi
- Etap 2. Żądanie inspekcji
- Etapy 3. i 4. Zaznajomienie się ze zmianą i skomentowanie jej
- Komentowanie
- Stan zmiany
- Etap 5. Zatwierdzenie zmiany
- Etap 6. Wprowadzanie zmiany
- Po wprowadzeniu zmiany - historia śledzenia
- Podsumowanie
- W skrócie
- 20. Analiza statyczna
- Właściwości efektywnej analizy statycznej
- Skalowalność
- Użyteczność
- Kluczowe wnioski związane z wdrażaniem analizy statycznej
- Skoncentrowanie się na zadowoleniu projektanta
- Ustanowienie analizy statycznej częścią głównego przepływu informacji procesu projektowania
- Pozwól użytkownikom zaangażować się
- Tricorder - platforma do analizy statycznej firmy Google
- Zintegrowane narzędzia
- Zintegrowane kanały informacji zwrotnych
- Poprawki sugerowane
- Dostosowywanie przed rozpoczęciem projektu
- Sprawdzenia przed wysłaniem
- Integracja z kompilatorem
- Analiza w trakcie edytowania i przeglądania kodu
- Podsumowanie
- W skrócie
- Właściwości efektywnej analizy statycznej
- 21. Zarządzanie zależnościami
- Dlaczego zarządzanie zależnościami jest tak trudne?
- Wymagania powodujące konflikt i zależności diamentowe
- Importowanie zależności
- Możliwości zapewnienia zgodności
- Kwestie uwzględniane podczas importowania
- Jak w firmie Google radzimy sobie z importowaniem zależności?
- Zarządzanie zależnościami w teorii
- Nic się nie zmienia (czyli statyczny model zależności)
- Wersjonowanie semantyczne
- Pakietowe modele dystrybucji
- Model Live at Head
- Ograniczenia wersjonowania semantycznego
- Wersjonowanie semantyczne może nadmiernie ograniczać
- Wersjonowanie semantyczne może zapewniać zbyt wygórowaną obietnicę
- Motywacje
- Wybór wersji minimalnej
- Czy zatem wersjonowanie semantyczne się sprawdza?
- Zarządzanie zależnościami przy nieograniczonych zasobach
- Eksportowanie zależności
- Podsumowanie
- W skrócie
- Dlaczego zarządzanie zależnościami jest tak trudne?
- 22. Zmiany na dużą skalę
- Czym jest zmiana na dużą skalę?
- Kto zajmuje się zmianami na dużą skalę?
- Bariery w przypadku zmian atomowych
- Ograniczenia techniczne
- Konflikty związane ze scalaniem
- Nie ma "nawiedzonych cmentarzy"
- Niejednoznaczność
- Testowanie
- Inspekcja kodu
- Infrastruktura zmian na dużą skalę
- Zasady i kultura pracy
- Analiza bazy kodu
- Zarządzanie zmianami
- Testowanie
- Obsługa zmian przez języki
- Proces zmian na dużą skalę
- Autoryzowanie
- Tworzenie zmiany
- Podział na zmiany składowe i wprowadzanie ich do bazy kodu
- Oczyszczanie
- Podsumowanie
- W skrócie
- 23. Integracja ciągła
- Pojęcia związane z integracją ciągłą
- Szybkie pętle informacji zwrotnej
- Automatyzacja
- Testowanie ciągłe
- Wyzwania towarzyszące integracji ciągłej
- Testowanie hermetyczne
- Integracja ciągła w firmie Google
- Analiza przypadku procesu integracji ciągłej - aplikacja Google Takeout
- Nie mogę jednak pozwolić sobie na zastosowanie integracji ciągłej
- Podsumowanie
- W skrócie
- Pojęcia związane z integracją ciągłą
- 24. Wdrażanie ciągłe
- Idiomy wdrażania ciągłego w firmie Google
- Szybkość to sport zespołowy - sposób podziału procesu wdrażania na możliwe do zarządzania części
- Ocena wyizolowanych zmian - opcje z flagą ochraniającą
- Dążenie do zapewnienia zwinności - przygotowanie łańcucha wersji
- Żadne binaria nie są idealne
- Dotrzymuj ustalonego ostatecznego terminu publikacji wersji
- Skupienie się na jakości i użytkowniku - udostępniaj tylko to, co jest przydatne
- Przesunięcie w lewo - wcześniejsze podejmowanie decyzji opartych na danych
- Zmiana kultury zespołowej - uwzględnienie dyscypliny w procesie wdrażania
- Podsumowanie
- W skrócie
- 25. Model CaaS
- Ujarzmianie środowiska przetwarzania
- Automatyzacja mozolnej pracy
- Konteneryzacja i wielodostępność
- Podsumowanie
- Tworzenie oprogramowania dla zarządzanego środowiska przetwarzania
- Tworzenie architektury pod kątem awarii
- Zadania wsadowe i obsługujące
- Zarządzanie stanem
- Nawiązywanie połączenia z usługą
- Kod jednorazowy
- Wpływ czasu i skali na model CaaS
- Kontenery jako abstrakcja
- Jedna usługa, by wszystkimi rządzić
- Wprowadzana konfiguracja
- Wybór usługi przetwarzania
- Centralizacja kontra dostosowywanie
- Poziom abstrakcji: wariant bezserwerowy
- Publiczne i prywatne
- Podsumowanie
- W skrócie
- Ujarzmianie środowiska przetwarzania
- Posłowie
Słowo wstępne
Przedmowa
Część I. Teza
Część II. Kultura pracy
Część III. Procesy
Część IV. Narzędzia
Część V. Podsumowanie
Helion - inne książki
-
Poznanie języka to jednak dopiero połowa sukcesu. Musisz też wiedzieć, jakie operacje w systemie wykonuje ten język. Do zbadania, jak działa kompilator i co dzieje się za kulisami, w książce tej wykorzystywana jest płytka rozwojowa Nucleo z niewielkim, tanim mikroukładem ARM. Dowiesz się, jak pra...
Język C w programowaniu urządzeń. Praktyczna nauka tworzenia kodu dla systemów wbudowanych Język C w programowaniu urządzeń. Praktyczna nauka tworzenia kodu dla systemów wbudowanych
(52.20 zł najniższa cena z 30 dni)56.55 zł
87.00 zł(-35%) -
Oto zwięzły przewodnik przeznaczony dla inżynierów danych, którzy chcą poznać zasady implementacji potoków danych. Wyjaśnia najważniejsze pojęcia związane z potokami danych, opisuje zasady ich tworzenia i implementacji, prezentuje także najlepsze praktyki stosowane przez liderów w branży analizy ...
Potoki danych. Leksykon kieszonkowy. Przenoszenie i przetwarzanie danych na potrzeby ich analizy Potoki danych. Leksykon kieszonkowy. Przenoszenie i przetwarzanie danych na potrzeby ich analizy
(29.94 zł najniższa cena z 30 dni)32.44 zł
49.90 zł(-35%) -
Cyberbezpieczeństwo dotyczy dziś każdego. Nowe, zaktualizowane wydanie Cyberbezpieczeństwa dla bystrzaków pomoże Ci chronić osobiste informacje i zabezpieczyć dane biznesowe. Dowiedz się, co się dzieje z plikami, które przechowujesz online. Pracuj bezpiecznie w domu i unikaj dezinformacji. Upewni...(41.40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
To trzecie wydanie przewodnika autorstwa twórców Kubernetesa. Zostało starannie zaktualizowane i wzbogacone o tak ważne zagadnienia jak bezpieczeństwo, dostęp do Kubernetesa za pomocą kodu napisanego w różnych językach programowania czy tworzenie aplikacji wieloklastrowych. Dzięki książce poznasz...
Kubernetes. Tworzenie niezawodnych systemów rozproszonych. Wydanie III Kubernetes. Tworzenie niezawodnych systemów rozproszonych. Wydanie III
(41.40 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
Ta książka, podobnie jak inne z serii „Biblia”, zawiera zarówno niezbędne teoretyczne informacje, jak i mnóstwo praktycznych wskazówek i instrukcji, dzięki czemu jest znakomitą pomocą w nauce pisania skryptów dla Linuksa. Pokazano tu, kiedy efektywniej jest używać interfejsu graficzne...
Linux. Wiersz poleceń i skrypty powłoki. Biblia. Wydanie IV Linux. Wiersz poleceń i skrypty powłoki. Biblia. Wydanie IV
(89.40 zł najniższa cena z 30 dni)96.85 zł
149.00 zł(-35%) -
Dzięki temu przewodnikowi zrozumiesz techniki ataków, jak również metody śledcze obrońców. Nauczysz się analizować i śledzić ataki, a także stawiać hipotezy dotyczące ich sprawców. Znajdziesz tu opisy najważniejszych cyberataków, w tym przeprowadzonych na zlecenie rządów. Poznasz świat ukierunkow...
Sztuka wojny cyfrowej. Przewodnik dla śledczego po szpiegostwie, oprogramowaniu ransomware i cyberprzestępczości zorganizowanej Sztuka wojny cyfrowej. Przewodnik dla śledczego po szpiegostwie, oprogramowaniu ransomware i cyberprzestępczości zorganizowanej
(41.40 zł najniższa cena z 30 dni)44.85 zł
69.00 zł(-35%) -
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...(47.40 zł najniższa cena z 30 dni)
51.35 zł
79.00 zł(-35%) -
Ta książka jest właśnie takim mistrzem-przyjacielem. Nie zawiera skomplikowanej teorii i technicznego żargonu, znajdziesz w niej za to mnóstwo sekretów i wskazówek, dzięki którym zaczniesz przywozić z podróży przepiękne zdjęcia! Zamieszczono w niej sporo ważnych uwag na temat kreatywności czy wiz...
Fotografia podróżnicza. Tajemnice zawodowców wyjaśnione krok po kroku Fotografia podróżnicza. Tajemnice zawodowców wyjaśnione krok po kroku
(35.40 zł najniższa cena z 30 dni)38.35 zł
59.00 zł(-35%) -
Arduino od podstaw to praktyczny przewodnik adresowany do wszystkich, którzy chcą się zapoznać z możliwościami urządzenia - od tych, którzy dotąd nie mieli styczności z komputerami jednopłytkowymi, po tych bardziej zaawansowanych. Począwszy od podstaw, jak również przedstawienia możliwości i pote...(29.94 zł najniższa cena z 30 dni)
32.44 zł
49.90 zł(-35%) -
Mimo że C - stworzony przez pracownika Laboratoriów Bella Dennisa Ritchiego - liczy sobie pół wieku, wciąż pozostaje niezwykle popularnym proceduralnym językiem ogólnego zastosowania. To dzięki niemu powstają elementy systemów operacyjnych i programów użytkowych. Tymczasem za sprawą Międzynarodow...(71.40 zł najniższa cena z 30 dni)
77.35 zł
119.00 zł(-35%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana


Oceny i opinie klientów: Inżynieria oprogramowania według Google. Czego warto się nauczyć o tworzeniu oprogramowania Titus Winters, Tom Manshreck, Hyrum Wright (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.