Architektura oprogramowania i podejmowanie decyzji: Wykorzystywanie przyw - Helion
ebook
Autor: Srinath PereraISBN: 9788375415438
stron: 248, Format: ebook
Data wydania: 2024-04-29
Ksi臋garnia: Helion
Cena ksi膮偶ki: 71,82 z艂 (poprzednio: 79,80 z艂)
Oszcz臋dzasz: 10% (-7,98 z艂)
Osoby kt贸re kupowa艂y "Architektura oprogramowania i podejmowanie decyzji: Wykorzystywanie przyw", wybiera艂y tak偶e:
- Windows Media Center. Domowe centrum rozrywki 66,67 z艂, (8,00 z艂 -88%)
- Ruby on Rails. 膯wiczenia 18,75 z艂, (3,00 z艂 -84%)
- Przyw贸dztwo w 艣wiecie VUCA. Jak by膰 skutecznym liderem w niepewnym 艣rodowisku 58,64 z艂, (12,90 z艂 -78%)
- Scrum. O zwinnym zarz膮dzaniu projektami. Wydanie II rozszerzone 58,64 z艂, (12,90 z艂 -78%)
- Od hierarchii do turkusu, czyli jak zarz膮dza膰 w XXI wieku 58,64 z艂, (12,90 z艂 -78%)
Spis tre艣ci
Architektura oprogramowania i podejmowanie decyzji: Wykorzystywanie przyw贸dztwa, technologii i zarz膮dzania produktem do budowy 艣wietnych produkt贸w eBook -- spis tre艣ci
- Spis tre艣ci
- Od autora
- Wprowadzenie do przyw贸dztwa w oprogramowaniu
- Rola oceny sytuacji
- Cel tej ksi膮偶ki
- Cz臋艣膰 I: Wprowadzenie
- Cz臋艣膰 II: Podstawowe informacje
- Cz臋艣膰 III: Projekt systemu
- Cz臋艣膰 IV: 艁膮czenie wszystkiego w ca艂o艣膰
- Systemy, projekt i architektura
- Czym jest architektura oprogramowania?
- Jak zaprojektowa膰 system?
- Pi臋膰 pyta艅
- Pytanie 1: Kiedy jest najlepszy czas na wprowadzenie produktu na rynek?
- Pytanie 2: Jaki jest poziom umiej臋tno艣ci zespo艂u?
- Pytanie 3: Jaka jest wra偶liwo艣膰 naszego systemu na wydajno艣膰?
- Pytanie 4: Kiedy mo偶emy przepisa膰 system?
- Pytanie 5: Jakie s膮 trudne problemy?
- Siedem zasad: koncepcje nadrz臋dne
- Zasada 1: Opieraj wszystko na do艣wiadczeniu u偶ytkownika
- Zasada 2: U偶ywaj iteracyjnej strategii cienkich plastr贸w
- Zasada 3: W ka偶dej iteracji dodawaj najwi臋ksz膮 warto艣膰 przy jak najmniejszym wysi艂ku w celu wsparcia wi臋kszej liczby u偶ytkownik贸w
- Zasada 4: Podejmuj decyzje i absorbuj ryzyko
- Zasada 5: Projektuj dog艂臋bnie rzeczy, kt贸re trudno zmieni膰, ale implementuj je powoli
- Zasada 6: Wyeliminuj niewiadome i wyci膮gaj wnioski z dowod贸w, pracuj膮c nad trudnymi problemami wcze艣nie i r贸wnolegle
- Zasada 7: Poznaj kompromisy mi臋dzy sp贸jno艣ci膮 i elastyczno艣ci膮 w architekturze oprogramowania
- Projektowanie ksi臋garni internetowej
- Projektowanie dla chmury
- Podsumowanie
- Modele mentalne pozwalaj膮ce zrozumie膰 i wyja艣ni膰 wydajno艣膰 systemu
- System komputerowy
- Modele dla wydajno艣ci
- Model 1: Koszt prze艂膮czenia z trybu u偶ytkownika na tryb j膮dra
- Model 2: Hierarchia operacji
- Model 3: Narzut zwi膮zany z prze艂膮czaniem kontekstu
- Model 4: Prawo Amdahla
- Model 5: Prawo skalowalno艣ci uniwersalnej
- Model 6: Kompromisy dotycz膮ce op贸藕nienia i stopnia wykorzystania
- Model 7: Projektowanie pod k膮tem przepustowo艣ci z u偶yciem modelu maksymalnego u偶ytecznego wykorzystania
- Model 8: Dodawanie limit贸w op贸藕nie艅
- Techniki optymalizacji
- Techniki optymalizacji procesora
- Techniki optymalizacji operacji I/O
- Techniki optymalizacji pami臋ci
- Techniki optymalizacji op贸藕nienia
- Intuicyjne wyczucie wydajno艣ci
- Uwarunkowania przyw贸dztwa
- Podsumowanie
- Do艣wiadczenia u偶ytkownika (UX)
- Og贸lne koncepcje UX dla architekt贸w
- Zasada 1: Zrozum swoich u偶ytkownik贸w
- Zasada 2: R贸b mo偶liwie jak najmniej
- Zasada 3: Dobre produkty nie potrzebuj膮 instrukcji: ich u偶ycie jest oczywiste
- Zasada 4: My艣l w kategoriach wymiany informacji
- Zasada 5: Niech rzeczy proste b臋d膮 proste
- Zasada 6: Zaprojektuj UX przed implementacj膮
- Projekt UX dla konfiguracji
- Projekt UX dla API
- Projekt UX dla rozszerze艅
- Rozwa偶ania dotycz膮ce przyw贸dztwa
- Podsumowanie
- Og贸lne koncepcje UX dla architekt贸w
- Makroarchitektura: Wprowadzenie
- Historia makroarchitektury
- Nowoczesne architektury
- Elementy sk艂adowe makroarchitektury
- Rozwa偶ania dotycz膮ce przyw贸dztwa
- Podsumowanie
- Makroarchitektura: koordynacja
- Podej艣cie 1: Rozpoczynaj przep艂yw z poziomu klienta
- Podej艣cie 2: U偶yj innej us艂ugi
- Podej艣cie 3: U偶yj scentralizowanego oprogramowania po艣rednicz膮cego
- Podej艣cie 4: Zaimplementuj choreografi臋
- Rozwa偶ania dotycz膮ce przyw贸dztwa
- Podsumowanie
- Makroarchitektura: zachowywanie sp贸jno艣ci stanu
- Dlaczego transakcje?
- Dlaczego musimy wykroczy膰 poza transakcje?
- Wykraczanie poza transakcje
- Podej艣cie 1: Ponowne zdefiniowanie problemu w celu obni偶enia wymaganych gwarancji
- Podej艣cie 2: Stosowanie kompensacji
- Najlepsze praktyki
- Rozwa偶ania dotycz膮ce przyw贸dztwa
- Podsumowanie
- Makroarchitektura: obs艂ugiwanie bezpiecze艅stwa
- Zarz膮dzanie u偶ytkownikami
- Zabezpieczenia interakcji
- Techniki uwierzytelniania
- Techniki autoryzacji
- Typowe scenariusze interakcji w zakresie zabezpiecze艅 dla aplikacji
- Przechowywanie, RODO i inne regulacje
- Strategia i porady dotycz膮ce bezpiecze艅stwa
- Wydajno艣膰 i op贸藕nienie
- Model zerowego zaufania
- Zachowajmy ostro偶no艣膰 podczas uruchamiania kodu dostarczonego przez u偶ytkownika
- Tematy zwi膮zane z blockchain
- Inne tematy
- Rozwa偶ania dotycz膮ce przyw贸dztwa
- Podsumowanie
- Makroarchitektura: obs艂ugiwanie wysokiej dost臋pno艣ci i skali
- Dodawanie wysokiej dost臋pno艣ci
- Replikacja
- Szybkie odzyskiwanie
- Skalowalno艣膰
- Skalowanie dla nowoczesnej architektury: rozwi膮zanie podstawowe
- Skalowanie: narz臋dzia pracy
- Taktyka skalowania 1: Brak wsp贸艂dzielenia
- Taktyka skalowania 2: Dystrybucja
- Taktyka skalowania 3: Buforowanie
- Taktyka skalowania 4: Przetwarzanie asynchroniczne
- Budowanie skalowalnych system贸w
- Podej艣cie 1: Sukcesywna eliminacja w膮skich garde艂
- Podej艣cie 2: Projekt typu shared-nothing
- Rozwa偶ania dotycz膮ce przyw贸dztwa
- Podsumowanie
- Dodawanie wysokiej dost臋pno艣ci
- Makroarchitektura: rozwa偶ania na temat mikrous艂ug
- Decyzja 1: Obs艂ugiwanie wsp贸艂dzielonych baz danych
- Rozwi膮zanie 1: Jedna mikrous艂uga aktualizuj膮ca baz臋 danych
- Rozwi膮zanie 2: Dwie mikrous艂ugi aktualizuj膮ce baz臋 danych
- Decyzja 2: Zabezpieczanie mikrous艂ug
- Decyzja 3: Koordynowanie mikrous艂ug
- Decyzja 4: Unikanie piek艂a zale偶no艣ci
- Kompatybilno艣膰 wsteczna
- Kompatybilno艣膰 w prz贸d
- Wykresy zale偶no艣ci
- Lu藕no powi膮zane zespo艂y oparte na repozytoriach jako alternatywa dla mikrous艂ug
- Rozwa偶ania dotycz膮ce przyw贸dztwa
- Podsumowanie
- Decyzja 1: Obs艂ugiwanie wsp贸艂dzielonych baz danych
- Architektury serwer贸w
- Tworzenie us艂ugi
- Najlepsze praktyki w zakresie tworzenia us艂ugi
- Techniki zaawansowane
- Korzystanie z alternatywnych modeli I/O i w膮tk贸w
- Narzut zwi膮zany z koordynacj膮
- Wydajne zapisywanie lokalnego stanu
- Wyb贸r systemu transportu
- Obs艂uga op贸藕nie艅
- Rozdzielanie odczyt贸w i zapis贸w
- U偶ywanie blokad (i sygnalizacji) w aplikacjach
- Korzystanie z kolejek i pul
- Obs艂uga wywo艂a艅 us艂ug
- Stosowanie powy偶szych technik w praktyce
- Aplikacje ograniczone procesorem (procesor >> pami臋膰 i brak operacji I/O)
- Aplikacje ograniczone pami臋ci膮 (procesor + pami臋膰 i brak operacji I/O)
- Aplikacje zr贸wnowa偶one (procesor + pami臋膰 + operacje I/O)
- Aplikacje ograniczone operacjami I/O (operacje I/O + pami臋膰 > procesor)
- Inne kategoryzacje aplikacji
- Rozwa偶ania dotycz膮ce przyw贸dztwa
- Podsumowanie
- Budowanie stabilnych system贸w
- Dlaczego systemy ulegaj膮 awariom i co mo偶emy z nimi zrobi膰?
- Jak obs艂ugiwa膰 znane b艂臋dy?
- Nieoczekiwane obci膮偶enie
- Awarie zasob贸w
- Zale偶no艣ci
- Zmiany dokonywane przez ludzi
- Typowe b艂臋dy
- Wycieki zasob贸w
- Zakleszczenia i powolne operacje
- Jak obs艂ugiwa膰 nieznane b艂臋dy?
- Obserwowalno艣膰
- B艂臋dy i testowanie
- 艁askawa degradacja
- Rozwa偶ania dotycz膮ce przyw贸dztwa
- Podsumowanie
- Budowanie i ewoluowanie system贸w
- Rozpoczynanie pracy
- Dbanie o podstawy
- Zrozumienie procesu projektowania
- Podejmowanie decyzji i absorbowanie ryzyka
- Wymaganie doskona艂o艣ci
- Komunikowanie projektu
- Ewoluowanie systemu: jak uczy膰 si臋 od u偶ytkownik贸w i ulepsza膰 system
- Rozwa偶ania dotycz膮ce przyw贸dztwa
- Podsumowanie
- Rozpoczynanie pracy
- Indeks
- Polecamy tak偶e