Programiści
Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(184)
Forma i typ
Książki
(183)
Publikacje fachowe
(180)
Publikacje dydaktyczne
(44)
Poradniki i przewodniki
(7)
Publikacje naukowe
(3)
Dostępność
tylko na miejscu
(166)
dostępne
(33)
wypożyczone
(3)
nieokreślona
(2)
Placówka
Wypożyczalnia
(35)
Biblioteka WB
(1)
Biblioteka Międzywydziałowa
(4)
Biblioteka WEAiI
(164)
Autor
Górczyński Robert
(17)
Rajca Piotr (1970- )
(13)
Watrak Andrzej
(12)
Bąbol Krzysztof
(10)
Piwko Łukasz
(10)
Walczak Tomasz
(9)
Meryk Radosław
(7)
Zatorska Joanna
(7)
Jońca Rafał
(6)
Lachowski Lech
(6)
Martin Robert C
(6)
Moch Wojciech
(6)
Szczepaniak Mikołaj
(5)
Walczak Tomasz (tłumacz)
(5)
Gutowski Maksymilian
(4)
Horstmann Cay S. (1959- )
(4)
Hubisz Jakub
(4)
Janusz Jacek
(3)
Sawka Krzysztof
(3)
Szeremiota Przemysław
(3)
Albahari Ben
(2)
Albahari Joseph
(2)
Beda Joe (1975- )
(2)
Blandy Jim
(2)
Bochenek Adam
(2)
Brikman Yevgeniy
(2)
Burns Brendan (1976- )
(2)
Chaniewska Maria
(2)
Chounlamany-Turalska Natalia
(2)
Farley David (1959- )
(2)
Freeman Adam (1972- )
(2)
Gee Trisha
(2)
Hightower Kelsey (1981- )
(2)
Kubiak Mirosław J
(2)
Lott Steven F. (1956- )
(2)
Lutz Mark
(2)
Matuk Konrad
(2)
McKinney Wes
(2)
Melé Antonio
(2)
Mizerska Anna
(2)
Nowocień Artur
(2)
Orendorff Jason
(2)
Pilch Piotr
(2)
Price Mark J
(2)
Pętlicki Marek
(2)
Schildt Herbert (1951- )
(2)
Seemann Mark
(2)
Trojan Anna
(2)
Ziadé Tarek
(2)
Alexandrescu Andrei
(1)
Ameisen Emmanuel
(1)
Amuthan G
(1)
Andriesse Dennis
(1)
Ater Tal
(1)
Atienza Rowel
(1)
Badhwar Saurabh
(1)
Bakkum Peter
(1)
Ball Corey J
(1)
Banker Kyle (1980- )
(1)
Baranowski Krzysztof (programista)
(1)
Barroso Luiz André
(1)
Barth Antje
(1)
Bass Len
(1)
Bates Bert
(1)
Berg Hansen Kim
(1)
Bird Andrew
(1)
Bloch Joshua
(1)
Bobak Andrzej
(1)
Borys Szymon
(1)
Bosagh Zadeh Reza
(1)
Brooks Frederick P
(1)
Brown Ethan (1975- )
(1)
Bruchet Michel
(1)
Buczyński Sebastian (informatyka)
(1)
Buelta Jaime
(1)
Băncilă Marius
(1)
Callaway John
(1)
Candel Jose Manuel Ortega
(1)
Caya Andrew
(1)
Celko Joe
(1)
Chacon Scott
(1)
Chandra K S Bharath
(1)
Chebbi Lamis
(1)
Chell Dominic
(1)
Chiarelli Andrea
(1)
Chiaretta Simone
(1)
Choi David
(1)
Chollet François
(1)
Ciborowska Agnieszka (informatyk)
(1)
Cichocki Marcin
(1)
Cieślak Piotr
(1)
Cleary Stephen
(1)
Clements Paul (1955- )
(1)
Coldwind Gynvael
(1)
Cole Matt R
(1)
Colley Shaun
(1)
Collins-Sussman Ben
(1)
Costa-Gascón Valentina
(1)
Cutajar James
(1)
Daubois Alexandre
(1)
Rok wydania
2020 - 2024
(122)
2010 - 2019
(62)
Okres powstania dzieła
2001-
(178)
2001
(2)
1901-2000
(1)
1945-1989
(1)
Kraj wydania
Polska
(184)
Język
polski
(184)
Odbiorca
Szkoły wyższe
(1864)
Menedżerowie
(246)
Programiści
(184)
Przedsiębiorcy
(105)
Fizjoterapeuci
(100)
Inżynierowie
(84)
Inżynierowie budownictwa
(78)
Informatycy
(74)
Lekarze
(57)
Technikum
(49)
Nauczyciele
(43)
Szkoły zawodowe
(43)
Prawnicy
(39)
Urzędnicy
(37)
Szkoły średnie
(34)
Trenerzy i instruktorzy sportowi
(31)
Pracownicy naukowi
(29)
Księgowi
(28)
Specjaliści ds. marketingu
(25)
Architekci
(23)
Ekonomiści
(23)
Pracodawcy
(20)
Biegli rewidenci
(19)
Logistycy
(19)
Analitycy ekonomiczni
(18)
Psycholodzy
(18)
Rzeczoznawcy budowlani
(18)
Specjaliści ds. kadr
(17)
Elektrycy
(16)
Inwestorzy indywidualni
(15)
Ortopedzi
(15)
Lekarze rodzinni
(14)
Adwokaci
(13)
Budowlani
(13)
Doradcy personalni
(13)
Radcy prawni
(13)
Rodzice
(13)
Pielęgniarki i pielęgniarze
(12)
Sportowcy
(12)
Studenci
(12)
Analitycy danych
(11)
Nauczyciele akademiccy
(11)
Rehabilitanci
(11)
Inspektorzy bhp
(10)
Szkoły ponadgimnazjalne
(10)
Handlowcy
(9)
Nauczyciele wychowania fizycznego
(9)
Pedagodzy
(9)
Poziom nauczania Szkoły wyższe
(9)
Pracownicy samorządowi
(9)
Psychoterapeuci
(9)
Dietetycy
(8)
Dyrektorzy HR
(8)
Inspektorzy budowlani
(8)
Pracownicy banków
(8)
Szkoły branżowe I stopnia
(8)
Sędziowie
(8)
Terapeuci zajęciowi
(8)
Zarządcy nieruchomości
(8)
Aplikanci
(7)
Coachowie
(7)
Dzieci
(7)
Elektronicy
(7)
Farmaceuci
(7)
Inżynierowie środowiska
(7)
Policjanci
(7)
Szkoły policealne
(7)
18+
(6)
Administratorzy systemów
(6)
B1 (poziom biegłości językowej)
(6)
Dorośli
(6)
Logopedzi
(6)
Menedżerowie produkcji
(6)
Monterzy urządzeń energii odnawialnej
(6)
Neurolodzy
(6)
Politycy
(6)
Specjaliści ds. controllingu
(6)
Strażacy
(6)
Testerzy oprogramowania komputerowego
(6)
Doradcy finansowi
(5)
Dziennikarze
(5)
Elektrycy budowlani
(5)
Energetycy
(5)
Kardiolodzy
(5)
Kierownicy budów
(5)
Kierownicy projektów
(5)
Masażyści
(5)
Młodzież
(5)
Pracownicy socjalni
(5)
Spedytorzy
(5)
Szkoły podstawowe
(5)
A2 (poziom biegłości językowej)
(4)
Cudzoziemcy
(4)
Dietetycy i żywieniowcy
(4)
Doradcy zawodowi
(4)
Ekolodzy
(4)
Graficy
(4)
Główni księgowi
(4)
Inżynierowie elektrycy
(4)
Kierowcy zawodowi
(4)
Temat
Programowanie (informatyka)
(82)
Python (język programowania)
(22)
Programy komputerowe
(19)
C++ (język programowania)
(15)
Java (język programowania)
(14)
Aplikacja internetowa
(12)
C# (język programowania)
(12)
Języki programowania
(9)
Uczenie maszynowe
(9)
Przetwarzanie w chmurze
(8)
Sztuczna inteligencja
(8)
Programowanie obiektowe
(7)
Baza danych
(6)
Deep learning
(6)
JavaScript (język programowania)
(6)
Programowanie zwinne
(6)
SQL (język zapytań)
(6)
Algorytmy
(5)
Automatyzacja
(5)
Bezpieczeństwo teleinformatyczne
(5)
Aplikacje internetowe
(4)
Architektura oprogramowania
(4)
C (język programowania)
(4)
Git (program komputerowy)
(4)
GitHub (serwis internetowy)
(4)
JavaScript
(4)
Kod źródłowy
(4)
Kontrola wersji (informatyka)
(4)
Optymalizacja
(4)
Programowanie
(4)
Projektowanie
(4)
Przetwarzanie danych
(4)
Sieci neuronowe
(4)
Systemy informatyczne
(4)
Zarządzanie projektami
(4)
.NET
(3)
ASP.NET
(3)
Analiza danych
(3)
AngularJS (język programowania)
(3)
Automatyka
(3)
Biblioteka (informatyka)
(3)
Cyberbezpieczeństwo
(3)
Czwarta rewolucja przemysłowa
(3)
DDD
(3)
Django (framework)
(3)
Framework (platforma programistyczna)
(3)
Haking
(3)
Internet rzeczy
(3)
Kubernetes (oprogramowanie)
(3)
PHP (język programowania)
(3)
Programiści
(3)
Programowanie współbieżne
(3)
React.js
(3)
TypeScript
(3)
Wzorzec projektowy (informatyka)
(3)
Excel
(2)
Informatyzacja
(2)
Interfejsy użytkowników (systemy informatyczne)
(2)
Kontener (struktura danych)
(2)
MySQL (program komputerowy)
(2)
Oprogramowanie open source
(2)
Platforma internetowa
(2)
Programowanie funkcyjne (informatyka)
(2)
Projektowanie stron WWW
(2)
Rust (język programowania)
(2)
Sprzęt komputerowy
(2)
Sterowniki programowalne
(2)
Strony WWW
(2)
Struktury danych
(2)
Sztuczna sieć neuronowa
(2)
TDD
(2)
TypeScript (język programowania)
(2)
Visual Studio
(2)
Zwinne zarządzanie
(2)
API (interfejs)
(1)
Administracja systemem
(1)
Amazon (platforma internetowa)
(1)
Analiza binarna (informatyka)
(1)
Android (system operacyjny)
(1)
Angular (framework)
(1)
Aplikacje mobilne
(1)
Arkusz kalkulacyjny
(1)
Bazy danych
(1)
Bezpieczeństwo systemów
(1)
Chatbot
(1)
Cyberprzestępczość
(1)
Data science
(1)
DevOps
(1)
Docker (oprogramowanie)
(1)
F# (język programowania)
(1)
Flutter (framework)
(1)
Grafika komputerowa
(1)
Gry komputerowe
(1)
HTML (język znaczników)
(1)
Hakerzy
(1)
Heurystyka (informatyka)
(1)
Informatyka
(1)
Infrastruktura informatyczna
(1)
Interfejs użytkownika
(1)
Internet
(1)
Temat: czas
2001-
(1)
Gatunek
Podręcznik
(144)
Poradnik
(27)
Opracowanie
(4)
Kompendia i repetytoria
(3)
Ćwiczenia i zadania
(3)
Monografia
(1)
Poradniki
(1)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(180)
Inżynieria i technika
(6)
Zarządzanie i marketing
(6)
Edukacja i pedagogika
(3)
Matematyka
(3)
Praca, kariera, pieniądze
(1)
184 wyniki Filtruj
Książka
W koszyku
Tytuł oryginału: Web development with Node and Express: leveraging the JavaScript Stack.
Wydanie 2. odnosi się do oryginału.
Na stronie redakcyjnej również ISBN oryginału: 9781492053514.
Na okładce nazwa wydawcy oryginału: O'Reilly.
1. Wprowadzenie do technologii Express 19 JavaScriptowa rewolucja 19 Wprowadzenie do technologii Express 20 Aplikacje działające po stronie serwera i aplikacje działające po stronie klienta 22 Krótka historia platformy Express 23 Node - nowy rodzaj serwera WWW 23 Ekosystem Node 24 Licencje 25 2. Pierwsze kroki w Node 27 Pobieranie Node 27 Użycie terminala 27 Edytory 29 npm 30 Prosty serwer WWW z użyciem Node 31 Witaj, świecie 31 Programowanie sterowane zdarzeniami 32 Trasowanie 32 Zwracanie zasobów statycznych 33 Przejdźmy do platformy Express 35 3. Oszczędność czasu dzięki Expressowi 37 Tworzenie szkieletu aplikacji 37 Witryna WWW Meadowlark Travel 37 Wstępne kroki 38 Widoki i układy 41 Statyczne pliki i widoki 44 Dynamiczne treści w widokach 44 4. Porządki 47 Struktura plików i katalogów 47 Najlepsze praktyki 48 Kontrola wersji 48 Jak używać systemu Git wraz z tą książką? 49 Samodzielne pisanie kodu 49 Korzystanie z przykładowego kodu 50 Pakiety npm 51 Metadane projektu 52 Moduły Node 53 5. Zapewnienie jakości 57 Plan zapewnienia jakości 58 QA: czy warto? 59 Logika kontra prezentacja 60 Rodzaje testów 60 Przegląd technik zapewniania jakości 61 Instalowanie i konfigurowanie platformy Jest 61 Testy jednostkowe 62 Tworzenie atrap 62 Refaktoryzacja aplikacji pod kątem testowalności 63 Pisanie pierwszego testu 63 Utrzymanie testów 65 Pokrycie testami 66 Testy integracyjne 67 Lintowanie 69 Ciągła integracja 72 6. Obiekty żądania i odpowiedzi 75 Elementy URL 75 Metody żądania HTTP 76 Nagłówki żądań 77 Nagłówki odpowiedzi 77 Internet Media Type 78 Ciało żądania 78 Obiekt żądania 78 Obiekt odpowiedzi 80 Znajdowanie dodatkowych informacji 82 Najważniejsze funkcje 82 Renderowanie treści 83 Przetwarzanie formularzy 84 Udostępnianie API 85 7. Tworzenie szablonów za pomocą silnika Handlebars 87 Nie ma absolutnych zasad z wyjątkiem tej jednej 88 Wybór silnika szablonów 89 Pug, czyli inne podejście 89 Podstawy silnika Handlebars 91 Komentarze 91 Bloki 92 Szablony po stronie serwera 93 Widoki i układy 94 Stosowanie (lub niestosowanie) układów w aplikacjach Expressa 95 Sekcje 96 Części 97 Doskonalenie szablonów 99 8. Przetwarzanie formularzy 101 Wysyłanie danych klienta na serwer 101 Formularze HTML 101 Kodowanie 102 Inne sposoby obsługi formularzy 102 Przetwarzanie formularzy w platformie Express 104 Wysyłanie danych formularza za pomocą funkcji fetch 106 Przesyłanie plików 108 Przesyłanie plików za pomocą funkcji fetch 110 Ulepszamy interfejs użytkownika formularza do przesyłania plików 111 9. Obiekty cookie i sesje 113 Przeniesienie danych dostępowych na zewnątrz 114 Obiekty cookie w Expressie 115 Sprawdzanie zawartości cookie 117 Sesje 117 Magazyny pamięci 117 Stosowanie sesji 119 Użycie sesji do implementowania wiadomości typu flash 119 Przeznaczenie sesji 121 10. Oprogramowanie pośredniczące 123 Zasady dotyczące oprogramowania pośredniczącego 124 Przykłady oprogramowania pośredniczącego 124 Często wykorzystywane oprogramowanie pośredniczące 127 Oprogramowanie pośredniczące od zewnętrznych producentów 129 11. Wysyłanie wiadomości e-mail 131 SMTP, MSA i MTA 131 Otrzymywanie poczty elektronicznej 132 Nagłówki poczty elektronicznej 132 Formaty wiadomości e-mail 133 E-mail w formacie HTML 133 Nodemailer 134 Wysyłanie poczty elektronicznej 135 Wysyłanie wiadomości do wielu odbiorców 135 Lepsze opcje wysyłania masowych wiadomości 136 Wysyłanie poczty w formacie HTML 136 Obrazy w wiadomościach e-mail w formacie HTML 137 Użycie widoków do wysyłania wiadomości w formacie HTML 138 Opakowanie funkcjonalności wiadomości e-mail 139 12. Kwestie produkcyjne 143 Środowiska wykonywania 143 Konfiguracja specyficzna dla środowiska 144 Uruchamianie procesów Node 145 Skalowanie witryny WWW 146 Skalowanie poziome z użyciem klastrów 147 Obsługa nieprzechwyconych wyjątków 149 Skalowanie poziome za pomocą wielu serwerów 151 Monitorowanie witryny WWW 151 Monitoring czasu działania za pomocą narzędzi od innych producentów 152 Testy wytrzymałościowe 152 13. Trwałość 155 Trwałość z wykorzystaniem systemu plików 155 Trwałość z wykorzystaniem chmury 157 Trwałość z wykorzystaniem baz danych 158 Uwaga dotycząca wydajności 158 Tworzenie abstrakcji warstwy danych 159 Konfiguracja MongoDB 160 Mongoose 161 Połączenia z bazą danych za pośrednictwem Mongoose 161 Tworzenie schematów i modeli 162 Dodawanie początkowych danych 163 Pobieranie danych 165 Dodawanie danych 167 PostgreSQL 168 Dodawanie danych 173 Baza danych jako magazyn sesji 174 14. Trasowanie 179 Trasy i SEO 181 Subdomeny 181 Funkcje obsługi tras są elementami oprogramowania pośredniczącego 182 Ścieżki tras i wyrażenia regularne 184 Parametry trasy 184 Porządkowanie tras 185 Deklarowanie tras w module 186 Logiczne grupowanie funkcji obsługi tras 187 Automatyczne renderowanie widoków 188 15. API typu REST i JSON 189 JSON i XML 190 Tworzenie API 190 Zgłaszanie błędów API 191 Mechanizm Cross-Origin Resource Sharing 192 Testy 193 Udostępnianie API za pomocą platformy Express 195 16. Aplikacje jednostronicowe 197 Krótka historia tworzenia aplikacji WWW 197 Technologie SPA 200 Tworzenie aplikacji za pomocą Reacta 201 Podstawy aplikacji tworzonych za pomocą Reacta 202 Strona główna 203 Trasowanie 205 Strona Wycieczki - projekt wizualny 207 Strona Wycieczki - integracja z serwerem 208 Wysyłanie informacji na serwer 210 Zarządzanie stanem 212 Opcje wdrażania 214 17. Treści statyczne 217 Kwestie wydajnościowe 218 Systemy dostarczania treści 219 Projektowanie z myślą o CDN 219 Witryna renderowana po stronie serwera 220 Aplikacje jednostronicowe 220 Zapisywanie zasobów statycznych w pamięci podręcznej 221 Zmiana treści statycznych 222 18. Bezpieczeństwo 225 HTTPS 225 Generowanie certyfikatu 226 Korzystanie z darmowego urzędu certyfikacji 227 Zakup certyfikatu 228 Włączanie HTTPS dla aplikacji napisanych za pomocą Expressa 229 Uwaga dotycząca portów 230 HTTPS i proxy 231 Ataki Cross-Site Request Forgery 232 Uwierzytelnianie 233 Uwierzytelnianie kontra autoryzacja 233 Problem dotyczący haseł 234 Uwierzytelnianie za pośrednictwem innych podmiotów 234 Przechowywanie danych użytkowników w bazie danych 235 Uwierzytelnianie kontra rejestracja oraz doświadczenie użytkownika 236 Passport 237 Autoryzacja oparta na rolach 245 Dodawanie dostawcy uwierzytelniania 246 Podsumowanie 248 19. Integracja z zewnętrznymi API 249 Serwisy społecznościowe 249 Wtyczki serwisów społecznościowych i wydajność witryny 249 Wyszukiwanie tweetów 250 Renderowanie tweetów 253 Geokodowanie 255 Geokodowanie z użyciem Google 255 Geokodowanie danych 257 Wyświetlanie mapy 258 Dane o pogodzie 259 20. Debugowanie 263 Pierwsza zasada debugowania 263 Wykorzystanie REPL i konsoli 264 Użycie wbudowanego debuggera Node 265 Klienty inspekcji Node 265 Debugowanie funkcji asynchronicznych 269 Debugowanie kodu platformy Express 270 21. Publikacja 273 Rejestracja domeny i hosting 273 System nazw domen 274 Bezpieczeństwo 274 Domeny najwyższego poziomu 275 Subdomeny 276 Serwery nazw 276 Hosting 278 Giganci 279 Wdrażanie 280 22. Konserwacja 285 Zasady konserwacji 285 Opracowanie długoterminowego planu 285 Użycie systemu kontroli wersji 287 Korzystanie z narzędzia do śledzenia błędów 287 Dbałość o higienę 287 Nieodkładanie na później 288 Rutynowe sprawdzanie jakości 288 Monitorowanie danych analitycznych 288 Optymalizacja wydajności 289 Priorytetyzacja śledzenia potencjalnych klientów 289 Zapobieganie "niewidocznym" porażkom 291 Ponowne wykorzystanie kodu i refaktoryzacja 291 Prywatny rejestr npm 291 Oprogramowanie pośredniczące 292 23. Dodatkowe zasoby 295 Dokumentacja online 295 Periodyki 296 Stack Overflow 296 Wkład w rozwój platformy Express 298
Sygnatura czytelni BWEAiI: XII N 144
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 149869 N (1 egz.)
Książka
W koszyku
Implementowanie czystej architektury w Pythonie / Sebastian Buczyński. - Gliwice : Helion, copyright 2022. - 280 stron : ilustracje ; 24 cm.
Bibliografia, netografia na stronach 279-280.
Dla średnio zaawansowanych programistów zajmujących się rozwojem aplikacji internetowych.
Era narzędzi . PODSTAWY CZYSTEJ ARCHITEKTURY . System płytki kontra system głęboki . CRUD, czyli system płytki 2.3. Założenia czystej architektury Niezależność od frameworków Wysoka testowalność Niezależność od API i interfejsu użytkownika . Niezależność od bazy danych . Niezależność od firm trzecich Elastyczność Rozszerzalność Warstwy, czyli horyzontalna organizacja kodu Świat zewnętrzny Infrastruktura . Aplikacja Domena Zasada zależności . Granice IMPLEMENTOWANIE CZYSTEJ ARCHITEKTURY W PYTHONIE WZORCOWA IMPLEMENTACJA Oznajmienie Przepływ sterowania w czystej architekturze Wymagania biznesowe . Implementacja Diagram sekwencji Granica wejściowa (input boundary) Granica wyjściowa (output boundary) Prezenter (presenter) . Model widoku (view model) Przypadek użycia (use case) Interfejs dostępu do danych (data access interface) Dostęp do danych (data access) Encja oferty (bid) Encja aukcji (auction) 4. MODYFIKACJE CZYSTEJ ARCHITEKTURY Dylemat prezentera Pozbywamy się granicy wejściowej Alternatywne podejścia do projektowania przypadków użycia Fasada Mediator pomiędzy wejściowym DTO a przypadkiem użycia. Użycie modeli bazodanowych jako encji WSTRZYKIWANIE ZALEŻNOŚCI . Wszędobylskie abstrakcje i klasy Abstrakcje w czystej architekturze . Odwrócenie sterowania a zależności Kontener IoC kontra service locator . Wstrzykiwanie zależności kontra konfiguracja CQRS Co to ma wspólnego z czystą architekturą? Osobny stos odczytu Zapytanie jako DTO Zapytania jako osobne klasy Fasada modelu do odczytu CQRS kontra REST API CQRS kontra GraphQL Słowo o złożoności Granica pomiędzy warstwą aplikacji a światem zewnętrznym Pisanie wejściowego DTO Value objects PLATFORMA AUKCYJNA Jak zacząć, czyli chodzący szkielet . Przypadek użycia dla składania oferty na aukcji Nazewnictwo Argumenty Encje aukcji i oferty Nazewnictwo Value objects jako identyfikatory Implementacja . Testy jednostkowe Implementacja Abstrakcyjne repozytorium Implementacja Implementacja działająca w pamięci Rozwijanie implementacji pod osłoną TDD Kończymy przypadek użycia — składanie oferty Wstrzykiwanie zależności Sprawiamy, że pierwszy sensowny test przechodzi . Refaktoryzacja Organizacja kodu Jak można ułożyć kod w Pythonie? Organizujemy kod projektu Organizujemy kod warstwy infrastruktury Łączymy wszystko razem w komponencie main Wystawiamy API IMPLEMENTOWANIE CZYSTEJ ARCHITEKTURY W PYTHONIE Finalizujemy aukcję w kolejnym przypadku użycia Zarys przypadku użycia i wejściowe DTO Rozszerzamy encję, by spełnić nowe wymagania Skoro encje nie powinny mieć żadnych zależności, Wprowadzamy port dla płatności . Implementujemy adapter Obsługa błędów kontra zasada zależności A co, gdybyśmy chcieli dodać zapamiętywanie karty płatniczej? Jak żyć, gdy adapter rośnie? Bramka płatności ma już SDK. Nie możemy go po prostu użyć? Przypadek użycia — rozpoczynanie nowej aukcji Skąd się biorą nowe aukcje? Encja aukcji i jej opis w jednym obiekcie — za i przeciw Wprowadzamy deskryptor Repozytorium z interfejsem kolekcji Które repozytorium wybrać? Operacje odczytu danych Podejście z przypadkami użycia CQRS na ratunek Zapytania jako klasa Model do odczytu Podsumowanie operacji odczytujących dane Odwracamy kontrolę za pomocą zdarzeń wysyłka e-maili . Techniki odwracania kontroli . Implementacja zdarzeń Skąd wziąć szynę zdarzeń? Jak wydostać zdarzenia z encji? Encja gromadzi zdarzenia, które potem publikuje repozytorium . Encja zwraca zdarzenia z metod, które zmieniają jej stan Testowanie encji, które zwracają zdarzenia Subskrybowanie się na zdarzenia Zdarzenia kontra transakcje kontra efekty uboczne Niezawodne publikowanie zdarzeń — outbox pattern Wprowadzamy jednostkę pracy Czas życia jednostki pracy Relacja pomiędzy jednostką pracy a szyną zdarzeń Radzimy sobie z innymi przekrojowymi zagadnieniami Konfiguracja Walidacja Synchronizacja MODULARNOŚĆ Ciężar sukcesu — rozrost i ciągłe zmiany Komponenty i kohezja Organizacja kodu według komponentu Komponenty i swoboda architektoniczna . Komponenty kontra mikroserwisy Komponenty a użytkownik Komponenty a bounded context Komponenty — implementacja Zależności między komponentami Oddzielne drogi Bezpośrednia zależność Niebezpośrednia zależność Zależność, gdy jeden z komponentów nie implementuje czystej architektury Odmiany integracji za pomocą zdarzeń Zależności między komponentami — podsumowanie platforma aukcyjna Odkrywamy komponenty Komponenty platformy aukcyjnej Co komponent wystawia na zewnątrz? . Tam, gdzie wszystko składa się w całość — komponent main Korzystamy z komponentu main do uruchomienia aplikacji Jedna architektura dla wszystkich komponentów Zależności pomiędzy komponentami Integrowanie komponentów za pomocą zdarzeń Wewnętrzna obsługa zdarzeń w tym samym komponencie Integracja różnych komponentów za pomocą zdarzeń — Integracja różnych komponentów za pomocą zdarzeń. Inne ciekawe zastosowania menadżera procesu Menadżer procesu kontra wyścigi IMPLEMENTOWANIE CZYSTEJ ARCHITEKTURY W PYTHONIE TESTOWANIE Strategia testowania i odmiany funkcji Piramida testów — mit czy jedyna słuszna droga? Jak przetestować przeglądarkę do bazy danych? Jak przetestować proxy? Jak przetestować system głęboki? Odkrywamy testowanie jednostkowe na nowo Ile musi wiedzieć test? Testowanie stanu kontra testowanie interakcji Niebezpieczeństwa związane z inspekcją stanu Niebezpieczeństwa związane ze sprawdzaniem interakcji Stuby kontra mocki Rodzaje obiektów dublerów Testujemy cały komponent jednostkowo . Ustawiamy komponent w pożądanym stanie Wywołujemy akcję na komponencie Weryfikujemy rezultat akcji na poziomie komponentu Radzimy sobie z zależnościami w postaci portów i repozytoriów MIGRACJA Z PROJEKTU ODZIEDZICZONEGO „Nie mogę przestać dostarczać nowych funkcji!” SUPLEMENT B: WPROWADZENIE DO EVENT SOURCING Co to jest event sourcing? Agregat z event sourcing kontra agregat z domain-driven design Prosty przykład agregatu Zamówienie jako encja Istotne zmiany zamówienia w formie zdarzeń Zamówienie jako agregat . Testowanie agregatów . Persystencja Nowe zdarzenia są dołączane na koniec strumienia zdarzeń Pobieranie strumienia zdarzeń . Dopisywanie nowych zdarzeń do strumienia . Wybór bazy danych — podsumowanie wymagań Przykładowa implementacja z użyciem PostgreSQL Użycie event store Co robić, gdy wykryjemy wyścig? Użycie repozytorium do ukrycia event store Migawki stanu agregatu Projekcje Event sourcing w aplikacji składającej się z komponentów Event sourcing to szczegół implementacyjny komponentu Stosuj zdarzenia domenowe na potrzeby integracji
Sygnatura czytelni BWEAiI: XII Ł 218
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 153019 (1 egz.)
Książka
W koszyku
Wydanie 2. odnosi się do oryginału. W książce także ISBN oryginału.
Pobieranie plików z przykładowym kodem Pobieranie kolorowych rysunków Używane konwencje 1. Rozpoczęcie przygody z automatyzacją Aktywowanie środowiska wirtualnego Instalowanie niezależnych pakietów Tworzenie łańcuchów znaków ze sformatowanymi wartościami Operowanie łańcuchami znaków Pobieranie danych z ustrukturyzowanych łańcuchów znaków Używanie niezależnego narzędzia parse Wprowadzenie do wyrażeń regularnych Więcej o wyrażeniach regularnych Dodawanie argumentów wiersza poleceń 2. Łatwa automatyzacja zadań Konfigurowanie prac crona Rejestrowanie błędów i problemów Wysyłanie e-maili z powiadomieniami 3. Tworzenie pierwszej aplikacji do pobierania informacji ze stron WWW Parsowanie kodu HTML Crawling w sieci WWW Subskrybowanie kanałów informacyjnych Dostęp do internetowych API Interakcje z formularzami Używanie pakietu Selenium do obsługi zaawansowanych interakcji Dostęp do stron chronionych hasłem Przyspieszanie pobierania informacji ze stron WWW 4. Wyszukiwanie i wczytywanie plików lokalnych Skanowanie i przeszukiwanie katalogów Wczytywanie plików tekstowych Praca z kodowaniami Wczytywanie plików CSV Wczytywanie plików dziennika Odczyt metadanych plików Wczytywanie plików graficznych Wczytywanie plików PDF Wczytywanie dokumentów Worda Sprawdzanie występowania słowa kluczowego w dokumentach 5. Generowanie atrakcyjnych raportów Tworzenie prostego raportu obejmującego zwykły tekst Używanie szablonów do generowania raportów Formatowanie tekstu za pomocą znaczników Markdown Generowanie prostego dokumentu Worda Dodawanie stylów do dokumentu Worda Generowanie struktury w dokumencie Worda Dodawanie grafiki do dokumentów Worda Generowanie prostego dokumentu PDF Określanie struktury dokumentu PDF Łączenie raportów w formacie PDF Dodawanie znaków wodnych i szyfrowanie dokumentów PDF 6. Zabawa z arkuszami kalkulacyjnymi Aktualizowanie plików CSV Odczyt arkusza kalkulacyjnego Excela Aktualizowanie arkusza kalkulacyjnego Excela Tworzenie nowych arkuszy w plikach Excela Tworzenie wykresów w Excelu Formatowanie komórek w Excelu Tworzenie makra w LibreOffice 7. Oczyszczanie i przetwarzanie danych Przygotowywanie arkusza kalkulacyjnego w formacie CSV Dodawanie symboli walut na podstawie lokalizacji Standaryzowanie formatu dat Agregowanie danych Równoległe przetwarzanie danych Przetwarzanie danych z użyciem biblioteki Pandas 8. Tworzenie atrakcyjnych wykresów Generowanie słupków warstwowych Rysowanie wykresów kołowych Wyświetlanie wielu linii Rysowanie wykresów punktowych Wyświetlanie map Dodawanie legendy i opisów Łączenie wykresów Zapisywanie wykresów 9. Kanały komunikacji Wysyłanie pojedynczych e-maili Odczytywanie e-maili Dodawanie subskrybentów do newslettera rozsyłanego pocztą elektroniczną Przesyłanie powiadomień za pomocą e-maili Tworzenie SMS-ów Odbieranie SMS-ów Tworzenie bota dla komunikatora Telegram 10. A może zautomatyzujesz kampanię marketingową? Tworzenie spersonalizowanych kodów rabatowych Wysyłanie powiadomień do klienta z użyciem preferowanego przez niego kanału Przygotowywanie informacji o sprzedaży Generowanie raportów sprzedażowych 11. Uczenie maszynowe i automatyzacja Analizowanie obrazów za pomocą Google Cloud Vision AI Pobieranie tekstu z obrazu za pomocą Google Cloud Vision AI Analizowanie tekstu za pomocą Google Cloud Natural Language Tworzenie własnego bazującego na uczeniu maszynowym modelu do klasyfikowania tekstu 12. Automatyczne procedury testowe Pisanie i wykonywanie przypadków testowych Testowanie kodu zewnętrznego Testowanie z użyciem atrap zależności Testowanie z użyciem symulowanych wywołań HTTP Przygotowywanie scenariuszy testowych Selektywne wykonywanie testów 13. Techniki debugowania Podstawy interpretera Pythona Debugowanie za pomocą rejestrowania informacji Debugowanie z użyciem punktów przerwania Doskonalenie umiejętności debugowania
Sygnatura czytelni BWEAiI: XII Ł 202
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 151792 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Kubernetes : up and running: drive into the future infrastructure.
Wydanie 2. odnosi się do oryginału.
Na stronie tytułowej również informacje o miejscach wydania i wydawcy oryginału - O'Reilly.
Dla początkujących i zaawansowanych uzytkowników Kubernetesa.
Rozdział 1. Wprowadzenie Prędkość Wartość niemutowalności Deklaratywna konfiguracja Systemy samonaprawiające się Skalowanie usługi i zespołów programistycznych Rozłączność Łatwe skalowanie aplikacji i klastrów Skalowanie zespołów programistycznych za pomocą mikrousług Separacja zagadnień dla zapewnienia spójności i skalowania Zapewnianie abstrakcji infrastruktury Wydajność Rozdział 2. Tworzenie i uruchamianie kontenerów Obrazy kontenerów Format obrazu Dockera Budowanie obrazów aplikacji za pomocą Dockera Pliki Dockerfile Optymalizacja rozmiarów obrazu Bezpieczeństwo obrazu Wieloetapowe budowanie obrazów Przechowywanie obrazów w zdalnym rejestrze Środowisko wykonawcze kontenera Dockera Uruchamianie kontenerów za pomocą Dockera Odkrywanie aplikacji kuard Ograniczanie wykorzystania zasobów Ograniczanie zasobów pamięci Ograniczanie zasobów procesora Czyszczenie Rozdział 3. Wdrażanie klastra Kubernetes Instalowanie Kubernetes w usłudze dostawcy publicznej chmury Google Kubernetes Engine Instalowanie Kubernetes w Azure Kubernetes Service Instalowanie Kubernetes w Amazon Web Services Lokalna instalacja Kubernetes za pomocą minikube Uruchamianie Kubernetes w Dockerze Uruchamianie Kubernetes na Raspberry Pi Klient Kubernetes Sprawdzanie statusu klastra Wyświetlanie węzłów roboczych klastra Kubernetes Komponenty klastra Serwer proxy Kubernetes Serwer DNS Kubernetes Interfejs użytkownika Kubernetes Rozdział 4. Typowe polecenia kubectl Przestrzenie nazw Konteksty Przeglądanie obiektów interfejsu API Kubernetes Tworzenie, aktualizacja i niszczenie obiektów Kubernetes Dodawanie etykiet i adnotacji do obiektów Polecenia debugowania Uzupełnianie poleceń Inne sposoby pracy z klastrami Rozdział 5. Kapsuły Kapsuły w Kubernetes Myślenie w kategoriach kapsuł Manifest kapsuły Tworzenie kapsuły Tworzenie manifestu kapsuły Uruchamianie kapsuł Wyświetlanie listy kapsuł Szczegółowe informacje o kapsule Usuwanie kapsuły Uzyskiwanie dostępu do kapsuły Korzystanie z przekierowania portów Uzyskiwanie większej ilości informacji za pomocą dzienników Uruchamianie poleceń w kontenerze przy użyciu exec Kopiowanie plików do i z kontenerów Kontrole działania Sonda żywotności Sonda gotowości Rodzaje kontroli działania Zarządzanie zasobami Żądania zasobów minimalne wymagane zasoby Żądania i limity Ograniczanie wykorzystania zasobów za pomocą limitów Utrwalanie danych za pomocą woluminów Używanie woluminów z kapsułami Różne sposoby używania woluminów z kapsułami Komunikacjasynchronizacja Pamięć podręczna Trwałe dane Montowanie systemu plików hosta Utrwalanie danych przy użyciu dysków zdalnych Wszystko razem Rozdział 6. Etykiety i adnotacje Etykiety Stosowanie etykiet Modyfikowanie etykiet Selektory etykiet Selektory etykiet w obiektach API Etykiety w architekturze Kubernetes Adnotacje Definiowanie adnotacji Czyszczenie Rozdział 7. Wykrywanie usług Co to jest wykrywanie usług Obiekt Service DNS usługi Kontrole gotowości Udostępnianie usługi poza klastrem Integracja z chmurą Szczegóły dla zaawansowanych Punkty końcowe Ręczne wykrywanie usług kube-proxy i adresy IP klastra Zmienne środowiskowe adresu IP klastra Łączenie z innymi środowiskami Czyszczenie Rozdział 8. Równoważenie obciążenia HTTP przy użyciu Ingress Specyfikacja Ingress i kontrolery Ingress Instalacja Contour Konfiguracja DNS Konfiguracja pliku lokalnych hostów Praca z Ingress Najprostszy sposób użycia Używanie nazw hosta Ścieżki Czyszczenie Techniki zaawansowane i pułapki Uruchamianie kilku kontrolerów Ingress Wiele obiektów Ingress Ingress i przestrzenie nazw Przepisywanie ścieżek Serwowanie przez TLS Inne implementacje Ingress Przyszłość Ingress Rozdział 9. Obiekt ReplicaSet Pętle uzgadniania Relacje między kapsułami i obiektami ReplicaSet Adaptowanie istniejących kontenerów Poddawanie kontenerów kwarantannie Projektowanie z wykorzystaniem ReplicaSet Specyfikacja ReplicaSet Szablony kapsuł Etykiety Tworzenie obiektu ReplicaSet Inspekcja obiektu ReplicaSet Znajdowanie ReplicaSet z poziomu kapsuły Znajdowanie zestawu kapsuł dla ReplicaSet Skalowanie kontrolerów ReplicaSet Skalowanie imperatywne za pomocą polecenia kubectl scale Skalowanie deklaratywne za pomocą kubectl apply Automatyczne skalowanie kontrolera ReplicaSet Automatyczne skalowanie na podstawie wykorzystania procesora Usuwanie obiektów ReplicaSet Rozdział 10. Obiekt Deployment Twoje pierwsze wdrożenie Wewnętrzne mechanizmy działania obiektu Deployment Tworzenie obiektów Deployment Zarządzanie obiektami Deployment Aktualizowanie obiektów Deployment Skalowanie obiektu Deployment Aktualizowanie obrazu kontenera Historia wersji Strategie wdrażania Strategia Recreate Strategia RollingUpdate Zarządzanie wieloma wersjami usługi Konfigurowanie ciągłej aktualizacji Spowalnianie wdrażania w celu zapewnienia poprawnego działania usługi Usuwanie wdrożenia Monitorowanie wdrożenia Rozdział 11. Obiekt DaemonSet Planista DaemonSet Tworzenie obiektów DaemonSet Ograniczanie użycia kontrolerów DaemonSet do określonych węzłów Dodawanie etykiet do węzłów Selektory węzłów Aktualizowanie obiektu DaemonSet Ciągła aktualizacja obiektu DaemonSet Usuwanie obiektu DaemonSet Rozdział 12. Obiekt Job Obiekt Job Wzorce obiektu Job Zadania jednorazowe Awaria kapsuły Równoległość Kolejki robocze Uruchamianie kolejki roboczej Ładowanie do kolejki Tworzenie zadania konsumenta Czyszczenie Obiekt CronJob Rozdział 13. Obiekty ConfigMap i tajne dane Obiekty ConfigMap Tworzenie obiektów ConfigMap Używanie obiektów ConfigMap Tajne dane Tworzenie tajnych danych Korzystanie z tajnych danych Woluminy tajnych danych Prywatne rejestry Dockera Ograniczenia dotyczące nazewnictwa Zarządzanie obiektami ConfigMap i tajnymi danymi Wyświetlanie obiektów Tworzenie obiektów Aktualizowanie obiektów Aktualizacja z pliku Odtworzenie i aktualizacja Edytowanie bieżącej wersji Aktualizacje na żywo Rozdział 14. Model kontroli dostępu oparty na rolach w Kubernetes Kontrola dostępu oparta na rolach Tożsamość w Kubernetes Role i powiązania ról Role i powiązania ról w Kubernetes Czasowniki określające możliwości w Kubernetes Role wbudowane Automatyczne uzgadnianie wbudowanych ról Techniki zarządzania funkcją RBAC Testowanie autoryzacji za pomocą narzędzia can-i Zarządzanie funkcją RBAC w kontroli źródła Tematy zaawansowane Agregowanie ról klastrowych Wykorzystywanie grup do wiązań Rozdział 15. Integracja rozwiązań do przechowywania danych i Kubernetes Importowanie usług zewnętrznych Usługi bez selektorów Ograniczenia usług zewnętrznych sprawdzanie poprawności działania Uruchamianie niezawodnych singletonów Uruchamianie singletona MySQL Dynamiczne przydzielanie woluminów Natywne magazyny danych Kubernetes z wykorzystaniem obiektów StatefulSet Właściwości obiektów StatefulSet Ręcznie zreplikowany klaster MongoDB z wykorzystaniem obiektów StatefulSet Automatyzacja tworzenia klastra MongoDB Trwałe woluminy i obiekty StatefulSet Ostatnia rzecz sondy gotowości Rozdział 16. Rozszerzanie Kubernetes Co znaczy rozszerzanie Kubernetes Punkty rozszerzalności Wzorce tworzenia zasobów Tylko dane Kompilatory Operatory Jak zacząć Podsumowanie Rozdział 17. Wdrażanie rzeczywistych aplikacji Jupyter Parse Wymagania wstępne Budowanie serwera parse-server Wdrażanie serwera parse-server Testowanie Parse Ghost Konfigurowanie serwera Ghost Ghost + MySQL Redis Konfigurowanie instalacji Redis Tworzenie usługi Redis Wdrażanie klastra Redis Zabawa z klastrem Redis Rozdział 18. Organizacja aplikacji Podstawowe zasady Systemy plików jako źródło prawdy Rola recenzji kodu Bramy i flagi funkcji Zarządzanie aplikacją w systemie kontroli źródła Układ systemu plików Wersje okresowe Kontrola wersji przy użyciu gałęzi i znaczników Kontrola wersji przy użyciu katalogów Konstruowanie aplikacji w sposób umożliwiający jej rozwój, testowanie i wdrażanie Cele Progresja wydania Znacznik kontrolny Etapy i wersje Parametryzacja aplikacji za pomocą szablonów Parametryzacja przy użyciu narzędzia Helm i szablonów Parametryzacja systemu plików Wdrażanie aplikacji na całym świecie Architektura umożliwiająca wdrażanie aplikacji na całym świecie Implementacja wdrożenia światowego Pulpity i monitorowanie wdrożeń światowych Dodatek A Budowanie klastra Raspberry Pi Kubernetes Lista części Flashowanie obrazów Pierwsze uruchomienie węzeł główny Konfigurowanie sieci Dodatkowe zadania Instalowanie Kubernetes Konfigurowanie klastra Konfigurowanie ustawień sieciowych klastra Konfigurowanie GUI
Sygnatura czytelni BWEAiI: XII Ż 79
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 149896 N (1 egz.)
Książka
W koszyku
Wydanie 3. odnosi się do oryginału. Na stronie tytułowej i okładce także nazwa wydawcy oryginału: O'Reilly.
Prędkość Wartość niemutowalności Deklaratywna konfiguracja Systemy samonaprawiające się Skalowanie usługi i zespołów programistycznych Rozłączność Łatwe skalowanie aplikacji i klastrów Skalowanie zespołów programistycznych za pomocą mikrousług Separacja zagadnień dla zapewnienia spójności i skalowania Zapewnianie abstrakcji infrastruktury Wydajność Ekosystem o pochodzeniu chmurowym 2. Tworzenie i uruchamianie kontenerów Budowanie obrazów aplikacji za pomocą Dockera Pliki Dockerfile Optymalizacja rozmiarów obrazu Bezpieczeństwo obrazu Wieloetapowe budowanie obrazów Przechowywanie obrazów w zdalnym rejestrze Środowisko wykonawcze kontenera Dockera Uruchamianie kontenerów za pomocą Dockera Odkrywanie aplikacji kuard Ograniczanie wykorzystania zasobów . Wdrażanie klastra Kubernetes Instalowanie Kubernetes w usłudze dostawcy publicznej chmury Google Kubernetes Engine Instalowanie Kubernetes w Azure Kubernetes Service Instalowanie Kubernetes w Amazon Web Services Lokalna instalacja Kubernetes za pomocą minikube Uruchamianie Kubernetes w Dockerze Klient Kubernetes Sprawdzanie statusu klastra Wyświetlanie węzłów roboczych klastra Kubernetes Komponenty klastra Serwer proxy Kubernetes Serwer DNS Kubernetes Interfejs użytkownika Kubernetes 4. Typowe polecenia kubectl Przestrzenie nazw Konteksty Przeglądanie obiektów interfejsu API Kubernetes Tworzenie, aktualizacja i niszczenie obiektów Kubernetes Dodawanie etykiet i adnotacji do obiektów Polecenia debugowania Zarządzanie klastrem Uzupełnianie poleceń Kapsuły w Kubernetes Myślenie w kategoriach kapsuł Manifest kapsuły Uruchamianie kapsuł Wyświetlanie listy kapsuł Usuwanie kapsuły Uzyskiwanie dostępu do kapsuły Uzyskiwanie większej ilości informacji za pomocą dzienników Uruchamianie poleceń w kontenerze przy użyciu exec Kopiowanie plików do i z kontenerów Kontrole działania Sonda żywotności Sonda gotowości Sonda rozruchu Zaawansowana konfiguracja sondy Rodzaje kontroli działania Zarządzanie zasobami Żądania zasobów: minimalne wymagane zasoby Ograniczanie wykorzystania zasobów za pomocą limitów Utrwalanie danych za pomocą woluminów Używanie woluminów z kapsułami Różne sposoby używania woluminów z kapsułami Etykiety Stosowanie etykiet Modyfikowanie etykiet Selektory etykiet Selektory etykiet w obiektach API Etykiety w architekturze Kubernetes Adnotacje Czyszczenie Wykrywanie usług Obiekt Service DNS usługi Kontrole gotowości Udostępnianie usługi poza klastrem Integracja z usługą równoważenia obciążenia Szczegóły dla zaawansowanych Punkty końcowe Ręczne wykrywanie usług kube-proxy i adresy IP klastra Zmienne środowiskowe adresu IP klastra Łączenie z innymi środowiskami Łączenie z zasobami poza klastrem Łączenie zasobów zewnętrznych z usługami w klastrze Równoważenie obciążenia HTTP przy użyciu Ingress Specyfikacja Ingress i kontrolery Ingress Instalacja Contour Konfiguracja DNS Konfiguracja pliku lokalnych hostów Praca z Ingress Używanie nazw hosta Ścieżki Czyszczenie Techniki zaawansowane i pułapki Uruchamianie kilku kontrolerów Ingress Wiele obiektów Ingress Ingress i przestrzenie nazw Przepisywanie ścieżek Serwowanie przez TLS Inne implementacje Ingress Przyszłość Ingress Obiekt ReplicaSet Pętle uzgadniania Relacje między kapsułami i obiektami ReplicaSet Adaptowanie istniejących kontenerów Poddawanie kontenerów kwarantannie Projektowanie z wykorzystaniem ReplicaSet Specyfikacja ReplicaSet Szablony kapsuł Etykiety Tworzenie obiektu ReplicaSet Inspekcja obiektu ReplicaSet Znajdowanie ReplicaSet z poziomu kapsuły Znajdowanie zestawu kapsuł dla ReplicaSet Skalowanie kontrolerów ReplicaSet Skalowanie imperatywne za pomocą polecenia kubectl scale Skalowanie deklaratywne za pomocą kubectl apply Automatyczne skalowanie kontrolera ReplicaSet
Usuwanie obiektów ReplicaSet Obiekt Deployment Tworzenie obiektów Deployment Zarządzanie obiektami Deployment Aktualizowanie obiektów Deployment Skalowanie obiektu Deployment Aktualizowanie obrazu kontenera Strategie wdrażania Strategia Recreate Strategia RollingUpdate Spowalnianie wdrażania w celu zapewnienia poprawnego działania usługi Usuwanie wdrożenia Monitorowanie wdrożenia Obiekt DaemonSet Planista DaemonSet Tworzenie obiektów DaemonSet Ograniczanie użycia kontrolerów DaemonSet do określonych węzłów Dodawanie etykiet do węzłów Selektory węzłów Aktualizowanie obiektu DaemonSet Usuwanie obiektu DaemonSet Obiekt Job Zadania jednorazowe Równoległość Kolejki robocze Obiekt CronJob Obiekty ConfigMap i tajne dane Tworzenie obiektów ConfigMap Używanie obiektów ConfigMap Tajne dane Prywatne rejestry kontenera Ograniczenia dotyczące nazewnictwa Zarządzanie obiektami ConfigMap i tajnymi danymi Wyświetlanie obiektów Tworzenie obiektów Aktualizowanie obiektów 14. Model kontroli dostępu oparty na rolach w Kubernetes Kontrola dostępu oparta na rolach Tożsamość w Kubernetes Role i powiązania ról w Kubernetes Techniki zarządzania funkcją RBAC Testowanie autoryzacji za pomocą narzędzia can-i Zarządzanie funkcją RBAC w kontroli źródła Agregowanie ról klastrowych Wykorzystywanie grup do wiązań Siatki usług Szyfrowanie i uwierzytelnianie przy użyciu Mutual TLS Kształtowanie ruchu Introspekcja Integracja rozwiązań do przechowywania danych i Kubernetes Importowanie usług zewnętrznych Usługi bez selektorów Ograniczenia usług zewnętrznych: sprawdzanie poprawności działania Uruchamianie niezawodnych singletonów Uruchamianie singletona MySQL Dynamiczne przydzielanie woluminów Natywne magazyny danych Kubernetes z wykorzystaniem obiektów StatefulSet Właściwości obiektów StatefulSet Ręcznie zreplikowany klaster MongoDB z wykorzystaniem obiektów StatefulSet Automatyzacja tworzenia klastra MongoDB Trwałe woluminy i obiekty StatefulSet Ostatnia rzecz: sondy gotowości Rozszerzanie Kubernetes Punkty rozszerzalności Wzorce tworzenia zasobów Tylko dane Kompilatory Operatory Dostęp do Kubernetes z poziomu popularnych języków programowania API Kubernetes - perspektywa klienta OpenAPI i generowane biblioteki klientów Kwestia kubectl x Programowanie API Kubernetes Instalacja bibliotek klienckich Uwierzytelnianie w API Kubernetes Dostęp do API Kubernetes Generowanie list i tworzenie kapsuł w Pythonie, Javie i .NET Tworzenie i łatanie nowych obiektów Obserwowanie zmian w API Kubernetes Interakcja z kapsułami Zabezpieczanie aplikacji w Kubernetes Kontekst zabezpieczeń Wyzwania związane z kontekstem zabezpieczeń Pod Security Czym jest Pod Security Stosowanie standardów Pod Security Zarządzanie kontami usług Kontrola dostępu oparta na rolach RuntimeClass Network Policy Siatka usług Narzędzia do weryfikacji zabezpieczeń Bezpieczeństwo obrazów Polityki i zarządzanie klastrami Kubernetes Dlaczego polityka i zarządzanie są ważne Przepływ wstępu Polityka i zarządzanie z narzędziem Gatekeeper Czym jest Open Policy Agent Instalacja Gatekeepera Konfigurowanie polityk Szablony ograniczeń Tworzenie ograniczeń Audyt Modyfikacja Replikacja danych Metryki Biblioteka polityk Wdrożenia aplikacji w wielu klastrach Podejście od góry z równoważeniem obciążenia Budowa aplikacji dla wielu klastrów Replikowane silosy - najprostszy model międzyregionalny Fragmentowanie - dane regionalne Większa elastyczność - routing mikrousług Organizacja aplikacji Systemy plików jako źródło prawdy Rola recenzji kodu Bramy i flagi funkcji Zarządzanie aplikacją w systemie kontroli źródła Układ systemu plików Wersje okresowe Konstruowanie aplikacji w sposób umożliwiający jej rozwój, testowanie i wdrażanie Cele Progresja wydania Parametryzacja aplikacji za pomocą szablonów Parametryzacja przy użyciu narzędzia Helm i szablonów Parametryzacja systemu plików Wdrażanie aplikacji na całym świecie Architektura umożliwiająca wdrażanie aplikacji na całym świecie Implementacja wdrożenia światowego Pulpity i monitorowanie wdrożeń światowych Budowanie własnego klastra Kubernetes
Sygnatura czytelni BWEAiI: XII G 50
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 154682 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Practical Test-Driven Development using C# 7 : unleash the power of TDD by implementing real world examples under .NET environment and JavaScript.
Na okładce nazwa oryginalnego wydawcy: Packt publishing.
Na książce także ISBN oryginału: 9781788398787.
Indeks.
Dla programistów posiadających podstawową wiedzę o TDD.
Rozdział 1. Dlaczego TDD jest ważne? 17 Najpierw trochę o nas 18 Historia Johna 18 Historia Claytona 18 Czym jest TDD? 19 Podejście do TDD 19 Podejście alternatywne 20 Proces 20 Po co zawracać sobie tym głowę? 21 Argumenty przeciwko TDD 21 Testowanie wymaga czasu 21 Testowanie jest kosztowne 22 Testowanie jest trudne 22 Nie wiemy jak 22 Argumenty za TDD 23 Mniejsza pracochłonność testowania manualnego 23 Mniej błędów 23 Pewien poziom poprawności 23 Brak strachu przed refaktoryzacją 24 Lepsza architektura 24 Szybsza praca 24 Różne rodzaje testów 25 Testy jednostkowe 25 Testy akceptacyjne 25 Testy integracyjne 25 Testy typu end-to-end 26 Liczba testów poszczególnych rodzajów 26 Części testu jednostkowego 26 Aranżacja 26 Akcja 26 Asercja 27 Wymagania 27 Dlaczego wymagania są ważne? 27 Historie użytkownika 27 Gherkin 29 Nasze pierwsze testy w C# 31 Rozwijanie aplikacji z testami 33 Nasze pierwsze testy w JavaScripcie 34 Dlaczego to ma znaczenie? 37 Rozdział 2. Przygotowanie środowiska testowego w .NET 39 Instalacja SDK .NET Core 39 Przygotowanie VS Code 40 Tworzenie projektu w VS Code 44 Przygotowanie Visual Studio Community 45 Pobieranie Visual Studio Community 46 Instalacja Visual Studio Community 46 Przesiadka na xUnit 46 Programistyczne kata 47 Stworzenie projektu 47 Czym jest Speaker Meet? 50 Projekt Web API 51 Rozdział 3. Przygotowanie środowiska testowego w JavaScripcie 57 Node.js 57 Czym jest Node? 58 Po co nam Node? 58 Instalacja Node 58 NPM 61 Szybkie wprowadzenie do IDE dedykowanych dla JavaScriptu 62 Visual Studio Code 63 WebStorm 64 Create React App 65 Czym jest Create React App? 66 Instalacja modułu globalnego 66 Tworzenie aplikacji za pomocą Reacta 66 Mocha i Chai 67 Szybkie kata sprawdzające środowisko 72 Wymagania 72 Wykonanie 72 Rozpoczęcie kata 73 Rozdział 4. Co należy wiedzieć przed rozpoczęciem pracy? 77 Nietestowalny kod 78 Wstrzykiwanie zależności 78 Wyodrębnianie oprogramowania zewnętrznego 79 Sobowtóry testowe 79 Frameworki imitujące 80 Zasady SOLID 80 Powitanie zależne od czasu 83 Kruche testy 84 Rodzaje sobowtórów testowych 86 Przykład wielopoziomowy 93 Rozdział 5. Tabula rasa - podejście do aplikacji na sposób TDD 101 Gdzie zacząć? 101 Golenie jaka 102 Duży projekt od razu 103 Czysta kartka 103 Po jednym kawałku 103 Minimalny wykonalny produkt 104 Inny sposób myślenia 104 Nie będziesz tego potrzebować 104 Małe testy 105 Adwokat diabła 106 Najpierw testy ścieżek negatywnych 109 Kiedy testowanie jest bolesne 113 Symulacja 113 Najpierw asercja 114 Bądź zorganizowany 114 Rozbicie aplikacji Speaker Meet 114 Prelegenci 114 Społeczności 115 Konferencje 115 Wymagania techniczne 115 Rozdział 6. Podejście do problemu 117 Zdefiniowanie problemu 117 Przetrawienie problemu 118 Epiki, funkcje i historie - ojej! 118 Problem Speaker Meet 120 Architektura heksagonalna wielowarstwowa 126 Architektura heksagonalna 127 Podstawowe, ale wydajne podziały wielowarstwowe 127 Kierunek testowania 130 Od tyłu do przodu 130 Od przodu do tyłu 137 Od wewnątrz na zewnątrz 144 Rozdział 7. Sterowanie testami aplikacji C# 149 Przegląd wymagań 149 Lista prelegentów 150 API 150 Testy API 151 Usługa 156 Testy usługi 156 Czyste testy 160 Repozytorium 161 Wykorzystanie fabryki z FakeRepository 163 Szczegóły prelegentów 165 API 165 Testy API 165 Usługa 169 Testy usługi 169 Czyste testy 172 Coś więcej z repozytorium 172 Dodatkowa praca związana z fabryką 173 Testowanie przypadków wyjątkowych 174 Rozdział 8. Wyodrębnianie problemów na zewnątrz 177 Odseparowanie problemów 177 Gravatar 178 Planowanie na przyszłość 185 Abstrahowanie warstwy danych 185 Rozszerzanie wzorca repozytorium 186 Zapewnienie funkcji 191 Tworzenie generycznego repozytorium 210 Krok pierwszy: abstrahowanie interfejsu 210 Krok drugi: abstrahowanie klasy konkretnej 211 Krok trzeci: zmiana testów, aby wykorzystywały repozytorium generyczne 215 Entity Framework 219 Wstrzykiwanie zależności 222 Rozdział 9. Testowanie aplikacji napisanej w JavaScripcie 225 Tworzenie aplikacji za pomocą Reacta 226 Wyodrębnienie aplikacji 226 Konfiguracja bibliotek Mocha, Chai, Enzyme i Sinon 226 Plan 228 Komponent React 228 Rzut oka na testowalność Reduxa 229 Testy jednostkowe usługi API 230 Lista prelegentów 230 Imitacja usługi API 231 Akcja pobierania wszystkich prelegentów 235 Reduktor dla pobierania wszystkich prelegentów 239 Komponent listy prelegentów 240 Szczegóły prelegenta 246 Rozbudowa imitacji usługi API 246 Akcja pobierania prelegenta 248 Reduktor dla pobierania prelegenta 254 Komponent dla szczegółów prelegenta 257 Rozdział 10. Kwestia integracji 261 Implementacja rzeczywistej usługi API 261 Zamiana imitacji API na prawdziwą usługę 262 Wykorzystanie biblioteki Sinon do imitacji odpowiedzi Ajaxa 264 Konfiguracja aplikacji 273 Testy integracyjne od początku do końca 273 Zalety 273 Wady 274 Ile testów end-to-end trzeba mieć? 274 Konfiguracja API 274 Projekt dla testów integracyjnych 275 Gdzie zacząć? 275 Weryfikacja odwołań repozytorium do bazy 275 Weryfikacja, czy usługa odwołuje się do bazy przez repozytorium 278 Weryfikacja odwołań API do usługi 280 Rozdział 11. Zmiany w wymaganiach 285 Witaj, świecie 286 Zmiana wymagań 286 FizzBuzz 287 Nowa funkcja 287 Aplikacja TODO 289 Oznaczanie jako wykonane 289 Dodanie testów 289 Kod produkcyjny 290 Dodanie testów 290 Kod produkcyjny 292 Zmiany w aplikacji Speaker Meet 293 Zmiany po stronie serwera 293 Zmiany po stronie interfejsu 295 Co teraz? 296 Przedwczesna optymalizacja 296 Rozdział 12. Problem z kodem zastanym 299 Czym jest kod zastany? 299 Dlaczego kod staje się zły? 300 Kiedy projekt staje się projektem zastanym? 300 Co możemy zrobić, aby zapobiec powstawaniu kodu zastanego? 301 Typowe problemy wynikające z kodu zastanego 302 Niezamierzone skutki uboczne 302 Nadmierna optymalizacja 303 Zbyt sprytny kod 304 Ścisłe łączenie z kodem zewnętrznym 304 Problemy przeszkadzające w dodawaniu testów 305 Bezpośrednia zależność od frameworka lub kodu zewnętrznego 305 Prawo Demeter 306 Praca w konstruktorze 306 Globalny stan 307 Metody statyczne 307 Duże klasy i funkcje 307 Radzenie sobie z problemami wynikającymi z kodu zastanego 308 Bezpieczna refaktoryzacja 308 Pierwsze testy 310 Idąc dalej 312 Naprawa błędów 313 Niebezpieczna refaktoryzacja 313 Rozdział 13. Sprzątanie bałaganu 315 Dziedziczenie kodu 315 Gra 316 Prośba o zmianę 316 Czasami dostajesz od życia cytryny 317 Zaczynamy 317 Abstrakcja klasy zewnętrznej 320 Niespodziewane dane wsadowe 324 Szukanie sensu w szaleństwie 329 Końcowe upiększanie 335 Gotowy na ulepszenia 337 Rozdział 14. Pokaż się z najlepszej strony 351 Co omówiliśmy? 351 Idąc naprzód 352 TDD to osobisty wybór 352 Nie potrzebujesz pozwolenia 353 Rozwijaj aplikacje poprzez testy 353 Wprowadzanie TDD do Twojego zespołu 353 Nie zmuszaj nikogo do TDD 354 Grywalizacja TDD 354 Pokaż zespołowi zalety 354 Kontroluj rezultaty 355 Powrót do świata jako ekspert TDD 355 Poszukaj mentora 355 Zostań mentorem 356 Praktykuj, praktykuj, praktykuj 356
Sygnatura czytelni BWEAiI: XII L 20
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 148514 N (1 egz.)
Książka
W koszyku
Rozdział 1. Pierwsze kroki z DevOps 19 Struktura 19 Cele 20 Czym jest DevOps? 20 Obszary metodyki DevOps 25 Zarządzanie i planowanie 26 Tworzenie i kompilowanie kodu 26 Ciągła integracja i testy 27 Automatyczne wdrażanie 27 Zapewnianie poprawnego działania oprogramowania w środowisku produkcyjnym 28 Monitorowanie 28 Ciągła integracja i ciągłe dostarczanie oprogramowania 28 Kanał dostarczania oprogramowania 30 Narzędzia DevOps 32 Automatyzacja za pomocą narzędzi Jenkins i Drone 38 Zarządzanie infrastrukturą i konfiguracją 39 Narzędzia monitorujące 40 Pakiet ELK 41 Kontenery i orkiestracja 42 DevOps a bezpieczeństwo 42 Wprowadzenie do DevSecOps 43 Rozdział 2. Platformy kontenerowe 47 Struktura 47 Cele 48 Kontenery Dockera 48 Czym jest Docker? 48 Nowe funkcjonalności platformy Docker i zarządzanie kontenerami 49 Architektura platformy Docker 50 Silnik 50 Rejestr 52 Klient 52 Testowanie platformy Docker w chmurze 54 Orkiestracja kontenera 56 Docker Compose 56 Kubernetes 57 Instalacja platformy Kubernetes i kluczowe pojęcia 58 Docker Swarm 61 Swarm w praktyce 63 Platforma OpenShift 66 Platforma OpenShift jako usługa 66 Metodyka DevOps z platformą OpenShift 66 Najważniejsze elementy platformy OpenShift 69 Scenariusze szkoleniowe 72 Rozdział 3. Zarządzanie kontenerami i obrazami Dockera 75 Struktura 76 Cele 76 Zarządzanie obrazami Dockera 76 Wprowadzenie do obrazów Dockera 76 Warstwy obrazu 77 Etykiety obrazu 78 Projektowanie obrazów kontenerów 80 Polecenia Dockerfile 80 Czym jest plik Dockerfile? 81 Tworzenie obrazu za pomocą pliku Dockerfile 81 Dobre praktyki tworzenia pliku Dockerfile 85 Zarządzanie kontenerami 86 Wyszukiwanie i uruchamianie obrazu 86 Uruchomienie kontenera w tle systemu 88 Badanie kontenera 88 Optymalizacja obrazów 91 Pamięć podręczna platformy Docker 92 Optymalizacja kompilacji obrazu 94 Tworzenie aplikacji dla środowiska Node.js 94 Zmniejszanie obrazu 96 Zmniejszanie obrazów za pomocą obrazu Alpine Linux 97 Okrojone obrazy 98 Rozdział 4. Wprowadzenie do bezpieczeństwa platformy Docker 103 Struktura 104 Cele 104 Zasady bezpieczeństwa platformy Docker 104 Podatność głównego procesu platformy Docker na ataki 106 Dobre praktyki bezpieczeństwa 107 Uruchamianie kontenera jako nie-administratora 108 Uruchamianie kontenera w trybie tylko do odczytu 110 Blokowanie uprawnień SETUID i SETGID 111 Weryfikowanie wiarygodności obrazów 112 Ograniczanie wykorzystania zasobów 112 Kompetencje kontenera 113 Wyświetlenie wszystkich kompetencji 115 Nadawanie i odbieranie kompetencji 116 Blokowanie polecenia ping w kontenerze 118 Nadawanie kompetencji do zarządzania siecią 120 Uruchamianie uprzywilejowanych kontenerów 121 Wiarygodność kontenerów 123 Podpisywanie obrazów 124 Bezpieczne pobieranie obrazów z wykorzystaniem pliku Dockerfile 126 Narzędzie notary do zarządzania obrazami 126 Rejestr Dockera 127 Czym jest rejestr? 127 Rejestr Dockera w serwisie Docker Hub 127 Tworzenie lokalnego rejestru 128 Rozdział 5. Bezpieczeństwo hosta platformy Docker 133 Struktura 134 Cele 134 Bezpieczeństwo procesu platformy Docker 134 Audyt plików i katalogów 137 Bezpieczeństwo jądra systemu Linux i moduł SELinux 138 Profile AppArmor i Seccomp 139 Instalacja modułu AppArmor w systemie Ubuntu 140 Moduł AppArmor w praktyce 142 Domyślny profil AppArmorDocker 142 Uruchamianie kontenera bez profilu AppArmor 143 Uruchamianie kontenera z profilem Seccomp 144 Zmniejszanie podatności kontenera na ataki 145 Testowanie bezpieczeństwa platformy Docker 146 Przykłady użycia narzędzia Docker Bench for Security 149 Kod źródłowy narzędzia Docker Bench for Security 152 Audyt hosta platformy Docker za pomocą narzędzi Lynis i dockscan 155 Audyt pliku Dockerfile 156 Narzędzie dockscan skanujące luki w bezpieczeństwie i sprawdzające podatność platformy Docker na ataki 161 Rozdział 6. Bezpieczeństwo obrazów Dockera 165 Struktura 166 Cele 166 Repozytorium Docker Hub 166 Skanowanie bezpieczeństwa obrazów Dockera 166 Proces skanowania obrazów Dockera 167 Otwarte narzędzia do analizy zagrożeń 169 Ciągła integracja oprogramowania na platformie Docker 169 CoreOS Clair 171 Dagda - pakiet testów bezpieczeństwa 171 OWASP Dependency-Check 175 MicroScanner 179 Skaner Clair i repozytorium Quay.io 180 Repozytorium GitHub i odnośniki do narzędzia Clair 187 Repozytorium obrazów Quay.io 188 Rejestracja w repozytorium Quay.io 189 Analiza obrazów Dockera za pomocą silnika i interfejsu CLI narzędzia Anchore 193 Uruchomienie silnika Anchore 195 Rozdział 7. Audyt i analiza podatności kontenerów Dockera na ataki 201 Struktura 202 Cele 202 Zagrożenia i ataki na kontenery 202 Zagrożenie Dirty COW (CVE-2016-5195) 207 Zapobieganie zagrożeniu Dirty COW przy użyciu mechanizmu AppArmor 210 Zagrożenie jack in the box (CVE-2018-8115) 210 Najbardziej zagrożone pakiety 211 Analiza zagrożeń obrazów Dockera 212 Klasyfikacja zagrożeń 213 Zagrożenia obrazu Alpine 215 Zagrożenia platformy Docker 217 Zagrożone obrazy w serwisie Docker Hub 219 Uzyskiwanie szczegółowych informacji o zagrożeniach CVE za pomocą interfejsu vulners API 220 Rozdział 8. Bezpieczeństwo platformy Kubernetes 223 Struktura 224 Cele 224 Wprowadzenie do bezpieczeństwa platformy Kubernetes 224 Zabezpieczanie kontenerów na platformie Kubernetes 224 Konfigurowanie platformy Kubernetes 225 Dobre praktyki bezpieczeństwa na platformie Kubernetes 226 Zarządzanie poufnymi informacjami 230 Bezpieczeństwo silnika platformy Kubernetes 231 Kontrola bezpieczeństwa platformy Kubernetes 231 Zwiększanie bezpieczeństwa kontenerów na platformie Kubernetes 232 Narzędzie Kube Bench i zagrożenia 234 Zalecenia CIS Benchmark dla platformy Kubernetes 234 Weryfikacja węzłów roboczych 235 Weryfikacja węzła głównego 235 Zagrożenia platformy Kubernetes 236 Projekty zabezpieczeń platformy Kubernetes 238 Wtyczki do zarządzania klastrem Kubernetesa 239 Rozdział 9. Sieć kontenerów Dockera 245 Typy sieci kontenerów 246 Typy sieci na platformie Docker 246 Tryb mostu 248 Tryb hosta 253 Zarządzanie siecią na platformie Docker 255 Sieć na platformie Docker 255 Komunikacja między kontenerami i wiązanie portów 258 Wiązanie portów kontenera i portów hosta 258 Eksponowanie portów 259 Tworzenie sieci na platformie Docker i zarządzanie nimi 260 Polecenia sieciowe 260 Sieć mostowa 261 Dołączenie kontenera do sieci 262 Łączenie kontenerów 265 Łączenie kontenerów wewnątrz hosta za pomocą parametru --link 265 Zmienne środowiskowe 266 Rozdział 10. Monitorowanie kontenerów 271 Wydajność kontenerów, wskaźniki i zdarzenia 272 Zarządzanie dziennikami 272 Wskaźniki kontenerów 275 Odczytywanie wskaźników za pomocą polecenia docker inspect 278 Zdarzenia w kontenerach Dockera 278 Inne narzędzia monitorujące 280 Narzędzia do monitorowania wydajności 283 Monitorowanie działania 290 Monitorowanie serwisu WordPress 290 Uruchomienie kontenera z narzędziem Falco 291 Filtry 294 Analiza wywołań systemowych za pomocą narzędzia Csysdig 296 Rozdział 11. Administrowanie kontenerami Dockera 299 Wprowadzenie do administrowania kontenerami 300 Zarządzanie kontenerami Dockera za pomocą narzędzia Rancher 302 Wdrożenie platformy Kubernetes za pomocą narzędzia Rancher 306 Zarządzanie kontenerami za pomocą narzędzia Portainer 310 Wdrożenie narzędzia Portainer w klastrze Docker Swarm 320 Zarządzanie klastrem Docker Swarm za pomocą narzędzia Portainer 323
Sygnatura czytelni BWEAiI: XII J 110
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 151101 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Mastering the faster Web with PHP, MySQL and JavaScript : develop state of the art applications using the latest Web technologies.
Na okładce logo wydawnictwa oryginału Packt.
Na książce także ISBN oryginału: 9781788392211.
Bibliografia, netografia przy niektórych rozdziałach. Indeks.
Rozdział 1. Wprowadzenie do koncepcji Szybszej Sieci 17 Istota Szybszej Sieci 18 Pojęcie Szybszej Sieci a wydajność 18 Pomiar Szybszej Sieci 19 Instalacja i konfiguracja użytecznych narzędzi 30 Rozdział 2. Ciągłe profilowanie i monitorowanie 43 Czym jest Blackfire.io? 43 Instalacja i konfiguracja narzędzia Blackfire.io 44 Ręczne profilowanie za pomocą Blackfire.io 50 Testy wydajnościowe przy użyciu Blackfire.io 56 Monitorowanie wydajności dzięki TICK Stack 58 Rozdział 3. Korzystanie z potencjału struktur danych i funkcji PHP 7 71 Usprawnienia języka PHP 7 72 Silne typowanie 72 Tablice niemodyfikowalne i upakowane 75 Przydział pamięci na liczby całkowite i zmiennoprzecinkowe 77 Interpolacja i łączenie ciągów znaków 78 Referencje w parametrach 79 Identyfikacja dalszych możliwych optymalizacji 81 Programowanie funkcyjne oraz spamiętywanie 87 Rozdział 4. Wybiegamy w przyszłość dzięki asynchronicznemu kodowi PHP 93 Asynchroniczna i nieblokująca obsługa wejścia/wyjścia 94 Wielowątkowość z użyciem biblioteki pthreads 102 Korzystanie z biblioteki ReactPHP 105 Rozdział 5. Pomiar i optymalizacja wydajności bazy danych 113 Wydajność zapytań SQL 113 Struktura indeksów 113 Plan wykonania zapytań 115 Podstawowa optymalizacja zapytań 117 Schemat wydajności i zaawansowana optymalizacja zapytań 120 Zaawansowane narzędzia do testowania 125 DBT2 125 SysBench 129 Rozdział 6. Efektywne zapytania do bazy danych w Nowoczesnym SQL-u 133 Nowoczesny SQL 133 Definicja 134 ozdział 7. Język JavaScript i programowanie sterowane zagrożeniami 151 Obiekt globalny i zmienne lokalne 152 Unikanie zmiennych globalnych 152 Obliczanie wartości zmiennych lokalnych 155 Unikanie szkodliwych wyrażeń i zwracanie uwagi na najsłabsze strony języka 155 Szkodliwe wyrażenia 155 Szkodliwe konstrukcje: instrukcja with 156 Szkodliwe konstrukcje: instrukcja eval 156 Szkodliwe konstrukcje: try-catch-finally 157 Unikanie nieefektywnych pętli 157 Lintery i tryb ścisły 159 Efektywne korzystanie z modelu DOM 160 Modyfikacja drzewa dokumentu 160 Zmienianie niewidocznego elementu 161 Dokonywanie zmian stylów 161 Wyszukiwanie węzłów 162 Badanie dużej liczby węzłów 163 Zarządzanie referencjami do innych dokumentów 163 Buforowanie wartości z modelu DOM 163 Strukturyzowanie i ładowanie aplikacji JavaScript 164 Ograniczanie czasochłonnych operacji 164 Oczyszczanie, minifikacja i kompresowanie zasobów 164 Ładowanie zasobów strony 165 Buforowanie zasobów strony 165 Rozdział 8. Funkcyjny JavaScript 167 Upraszczanie funkcji 167 Zasady programowania funkcyjnego 167 Funkcje jako typy pierwszoklasowe 169 Postępowanie z efektami ubocznymi 169 Niezmienność 170 Techniki programowania funkcyjnego 171 Funkcja map 171 Funkcja filter 171 Funkcja reduce 171 Optymalizacja ogonowa 172 Inne zapowiadane możliwości języka JavaScript 177 Funkcje asynchroniczne 177 Generatory asynchroniczne i pętle for-await-of 177 Operator potoku 178 Częściowe wywołanie 178 Rozdział 9. Zwiększanie wydajności serwera WWW 181 MOD_SPDY i HTTP/2 181 Multipleksowanie i priorytetyzacja strumieni 182 Wypychanie zasobów przez serwer 182 Kompresja nagłówków 183 HTTP/2 183 PHP-FPM i OPCache 185 PHP-FPM 185 Zend OPcache 186 ESI i Varnish Cache 187 Edge Side Includes (ESI) 187 Varnish Cache 190 Buforowanie po stronie klienta 194 Buforowanie w przeglądarce 195 Sieci dystrybucji treści (sieci CDN) 196 Inne narzędzia związane z ideą Szybszej Sieci 197 Rozdział 10. Przekraczamy granice wydajności 201 Czas zegarowy i postrzegany 201 Percepcja szybkości 203 Rozsądne opóźnienia i czasy odpowiedzi 204 Zasady i wzory projektowania interfejsu użytkownika 205 Narzędzia pozwalające przekraczać granice wydajności 207
Sygnatura czytelni BWEAiI: XII N 136
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 148513 N (1 egz.)
Książka
W koszyku
Indeks.
Mechanizmy związane z deklarowaniem danych (15) Bazy danych a systemy plików (17) Instrukcja Schema (19) Tabele jako encje (24) Tabele jako relacje (24) Wiersze a rekordy (26) Kolumny a pola (27) Transakcje i kontrola współbieżności (31) Sesje (32) Transakcje i model ACID (32) Kontrola współbieżności (34) Poziomy izolacji (36) Pesymistyczna kontrola współbieżności (38) Optymistyczna kontrola współbieżności za pomocą izolacji snapshotów (39) Logiczna kontrola współbieżności (42) Twierdzenie CAP (42) Model BASE (43) Spójność po stronie serwera (45) Obsługa błędów (46) Pasywne i aktywne zakleszczenie (46) Tabele (49) Instrukcja CREATE TABLE (50) Definicje kolumn (52) Kolumny obliczane (63) Ograniczenia [NOT] DEFERRABLE (64) Instrukcje CREATE DOMAIN i CREATE SEQUENCE (65) Konstrukcje związane z zestawem znaków (72) Klucze, lokalizatory i generowane wartości (75) Typy kluczy (76) Praktyczne wskazówki związane z denormalizacją (79) Normalizacja (85) Zależności funkcyjne i wielowartościowe (88) Pierwsza postać normalna (1NF) (88) Druga postać normalna (2NF) (93) Trzecia postać normalna (3NF) (94) Postać normalna z kluczem podstawowym (EKNF) (95) Postać normalna Boyce'a-Codda (BCNF) (96) Czwarta postać normalna (4NF) (98) Piąta postać normalna (5NF) (99) Postać normalna z kluczem dziedziny (DKNF) (101) Praktyczne wskazówki z zakresu normalizacji (108) Nadmiarowość, gdy nie jest używana postać normalna (109) Widoki, tabele pochodne i inne tabele wirtualne (115) Widoki w kwerendach (116) Widoki modyfikowalne i tylko do odczytu (117) Typy widoków (118) Obsługa widoków w silnikach bazodanowych (124) Klauzula WITH CHECK OPTION (128) Usuwanie widoków (133) Tabele ze zmaterializowanymi wynikami kwerend (134) Tabele pomocnicze (137) Tabela Series (138) Pomocnicze tabele wyszukiwania (143) Zaawansowane tabele pomocnicze z funkcjami (153) Globalne tabele stałych (164) Uwagi na temat przekształcania kodu proceduralnego na tabele (171) Inne obiekty schematu (177) Instrukcja CREATE SCHEMA (179) Tabele schematu (180) Tabele tymczasowe (180) Instrukcja CREATE ASSERTION (180) Instrukcja CREATE DOMAIN (181) Instrukcja CREATE COLLATION (182) Instrukcja CREATE TRANSLATION (183) Instrukcja CREATE PROCEDURE (183) Wyzwalacze (183) Model działania wyzwalaczy (184) Błędy, których należy unikać w instrukcjach DDL (193) Stosowanie skrótu "tbl" i powiązane błędy (193) Podział atrybutów (196) Problemy z przeciążaniem projektu (197) Nadmiarowość wynikająca z braku postaci normalnej (201) Typy danych (205) Dane liczbowe w SQL-u (207) Dokładne liczbowe typy danych (208) Przybliżone liczbowe typy danych (213) Konwersje typów liczbowych (215) Arytmetyka oparta na czterech funkcjach (217) Przekształcanie wartości na NULL i dokonywanie odwrotnych konwersji (219) Funkcje matematyczne (222) Adresy IP (226) Znakowe typy danych w SQL-u (229) Problemy z łańcuchami znaków w SQL-u (230) Standardowe funkcje znakowe (232) Często dostępne rozszerzenia od producentów (234) Tablice Cuttera (242) SQL-owe typy danych związane z czasem (243) Uwagi na temat standardów związanych z kalendarzem (244) Natura modeli danych związanych z czasem (247) SQL-owe typy danych związane z czasem (248) Typy danych z rodziny INTERVAL (255) Kwerendy z operacjami arytmetycznymi na datach (256) Stosowanie wartości NULL do oznaczania "wieczności" (257) Predykat OVERLAPS() (258) Ograniczenia związane ze zmianami stanu (260) Tabele z kalendarzem (265) Wielokolumnowe elementy danych (269) Elementy danych w postaci wektorów i współrzędnych (269) Hierarchiczne elementy danych (276) Wartości NULL - brakujące dane w SQL-u (283) Puste i brakujące tabele (285) Brakujące wartości w kolumnach (285) Kontekst i brakujące wartości (287) Porównywanie wartości NULL (288) Wartości NULL i logika (289) Wartości NULL a obliczenia matematyczne (293) Funkcje związane z wartościami NULL (294) Wartości NULL a języki główne (294) Wskazówki projektowe związane z wartościami NULL (295) Uwagi na temat różnych rodzajów wartości NULL (298) Operacje na tabelach (301) Instrukcja DELETE FROM (301) Instrukcja INSERT INTO (307) Instrukcja UPDATE (309) Uwaga na temat błędów w popularnych rozszerzeniach producentów (317) Instrukcja MERGE (318) Operacje na zbiorach (321) UNION i UNION ALL (322) Operatory INTERSECT i EXCEPT (325) Uwagi na temat opcji ALL i SELECT DISTINCT (330) Równość i podzbiory właściwe (331) Mechanizmy z poziomu wierszy i kolumn (333) Operatory porównywania (operatory theta) (335) Konwersja typów danych (336) Porównywanie wierszy w SQL-u (338) Operator IS [NOT] DISTINCT FROM (340) Operatory monadyczne (341) Predykaty dotyczące wyników podkwerend (345) Predykat UNIQUE (345) Predykat [NOT] IN() (347) Predykat [NOT] EXISTS() (357) [SOME | ANY] (365) ALL (365) Predykaty BETWEEN i OVERLAPS (369) Predykat BETWEEN (369) Predykat OVERLAPS (372) Rodzina wyrażeń CASE (383) Wyrażenie CASE (383) Wyrażenia w postaci podkwerend i stałe (391) Predykaty LIKE i SIMILAR TO (393) Sztuczki związane ze wzorcami (394) Wyniki dla wartości NULL i pustych łańcuchów znaków (396) Operator LIKE nie oznacza równości (396) Rozbudowywanie predykatu LIKE za pomocą złączenia (396) Wyrażenia CASE i predykaty LIKE (397) Predykat SIMILAR TO (397) Sztuczki związane z łańcuchami znaków (399) Podstawowa instrukcja SELECT (403) Wyrażenia CTE (404) Klauzula FROM (405) Klauzula WHERE (405) Klauzula GROUP BY (406) Klauzula HAVING (406) Klauzula SELECT (407) Klauzula ORDER BY (407) Wyrażenie z zagnieżdżonymi kwerendami a ortogonalność (407) Podstawowe funkcje agregujące (409) Funkcje z rodziny COUNT() (410) Funkcja SUM() (414) Funkcja AVG() (415) Funkcje zwracające ekstrema (419) Funkcja agregująca LIST() (427) Funkcja agregująca wyznaczająca dominantę (429) Funkcja agregująca zwracająca medianę (430) Funkcja agregująca PRD() (432) Zaawansowane statystyki opisowe (437) Funkcje dla tabel dwukolumnowych (437) Korelacja (439) Używanie SQL-a do agregacji w systemach OLAP (441) Kwerendy a raporty (441) Operatory grupowania (442) Klauzula okna (445) Funkcje agregujące oparte na oknie (449) Funkcje porządkowe (449) Rozszerzenia udostępniane przez producentów (452) Kartka z historii (456) Zaawansowane instrukcje SELECT (459) Podkwerendy skorelowane (459) Wrostkowe złączenia wewnętrzne (464) Złączenia zewnętrzne (465) Operator UNION JOIN (477) Skalarne wyrażenia SELECT (479) Dawna i nowa składnia złączeń (480) Złączenia z ograniczeniami (481) Złączenia T dr. Codda (490) Brakujące wartości w danych (496) Brakujące i mieszane dane w wierszach (501) Struktury danych w SQL-U (503) Grafy w SQL-u (505) Podstawowe cechy grafów (506) Ścieżki w grafie (510) Grafy acykliczne jako zbiory zagnieżdżone (517) Model wykorzystujący macierz sąsiedztwa (519) Punkty w wielokącie (520) Geometria taksówkowa (521) Klasy równoważności i kliki (524) Drzewa i hierarchie w SQL-u (533) Listy sąsiedztwa (534) Znajdowanie korzenia (535) Znajdowanie liści (536) Określanie poziomów w drzewie (536) Operacje na drzewach (537) Model oparty na zbiorach zagnieżdżonych (538) Znajdowanie korzenia i liści (541) Wyszukiwanie poddrzew (541) Wyszukiwanie poziomów i ścieżek w drzewie (542) Funkcje w modelu wykorzystującym zbiory zagnieżdżone (545) Usuwanie wierzchołków i poddrzew (546) Przegląd funkcji dotyczących drzew (548) Wstawianie i aktualizowanie elementów drzew (554) Przekształcanie list sąsiedztwa na zbiory zagnieżdżone (558) Przekształcanie zbiorów zagnieżdżonych na listy sąsiedztwa (558) Porównywanie wierzchołków i struktur (559) Kolejki (563) Podstawowe instrukcje DDL (563) Procedury Enqueue, Dequeue i Empty (564) Zmienianie uporządkowania (565) Kolejki i matematyka (566) Kolejki priorytetowe (567) Kolejki FIFO i LIFO (568) Macierze w SQL-u (573) Tablice oparte na nazwanych kolumnach (574) Tablice oparte na kolumnach z indeksem (577) Operacje na macierzach w SQL-u (579) Spłaszczanie tabeli do postaci tablicy (583) Porównywanie tablic zapisanych jako tabele (585) Inne operacje na macierzach (587) Typowe kwerendy (589) Partycjonowanie i agregowanie danych w kwerendach (591) Pokrycie i partycje (591) Zaawansowane grupowanie, agregowanie z uwzględnieniem okien i funkcje OLAP w SQL-u ( Podsekwencje, obszary, serie, luki i wyspy (613) Znajdowanie podobszarów o wielkości (n) (614) Numerowanie obszarów (615) Wyszukiwanie obszarów o maksymalnej wielkości (617) Kwerendy z granicami (621) Kwerendy dotyczące serii i sekwencji (621) Sumowanie ręcznie generowanych sekwencji wartości (626) Przestawianie i przesuwanie wartości na liście (629) Eliminowanie luk na listach liczb (630) "Zawijanie" listy liczb (630) Pokrycia (631) Klasy równoważności i kliki (635) Aukcje (645) Rodzaje ofert (645) Typy aukcji (646) Stosowanie modeli LIFO i FIFO w magazynach (648) Problem pakowania (653) Dzielenie relacji (655) Dzielenie z resztą (656) Dzielenie bez reszty (658) Uwaga na temat wydajności (659) Dzielenie Todda (659) Dzielenie z użyciem złączeń (662) Dzielenie z wykorzystaniem operatorów zbiorów (662) Dzielenie Romleya (663) Wyrażenia logiczne w dzieleniu relacji (666) Kwerendy związane z czasem (669) Obliczenia matematyczne na czasie (670) Kalendarze (674) Szeregi czasowe (677) Daty w formacie juliańskim (691) Inne funkcje związane z czasem (694) Okresy obejmujące wiele dni (694) Reprezentowanie czasu w tabelach (698) Funkcje LEAD() i LAG() (700) Problemy z rokiem 2000 - przegląd historyczny (701) Kwestie związane z implementacją i kodowaniem (707) Programowanie proceduralne, mieszane i deklaratywne w SQL-u (709) Słowa mają znaczenie (710) Porządkowanie kodu (711) Poziomy zagnieżdżania w SQL-u (717) Tabele pochodne (718) Reguły tworzenia nazw kolumn (719) Reguły określania zasięgu (720) Dostępne nazwy tabel (722) Wyrażenia CTE (723) Tabele z klauzulą LATERAL (723) Wskazówki programistyczne (725) Zagnieżdżony SQL, dynamiczny SQL z interfejsem CLI oraz SQL/PSM (727) Zagnieżdżony SQL (728) SQL/CLI (729) Dynamiczny SQL (729) Historia standardu SQL/PSM (729) Parametry w formacie CSV (738)
Sygnatura czytelni BWEAiI: XII Z 4
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 144833 N (1 egz.)
Książka
W koszyku
Git dla profesjonalistów / Scott Chacon, Ben Straub ; przekład: Wojciech Moch. - Gliwice : Helion, copyright 2022. - 479 stron : ilustracje ; 24 cm.
Wydanie 2. odnosi się do oryginału. Na okładce także nazwa wydawcy oryginału: APress.
Systemy kontroli wersji Lokalne systemy kontroli wersji Scentralizowane systemy kontroli wersji Rozproszone systemy kontroli wersji Krótka historia Gita Podstawy Gita Migawki, a nie różnice Niemal każda operacja wykonywana jest lokalnie Git sprawdza spójność danych Git wyłącznie dopisuje dane Trzy stany Wiersz poleceń Instalowanie Gita Instalowanie w systemie Linux Instalowanie w systemie Mac Instalowanie w systemach Windows Pierwsze konfigurowanie Gita Tożsamość Edytor Sprawdzanie ustawień Szukanie pomocy Podstawy Gita Pobieranie repozytorium Gita Inicjowanie repozytorium w istniejącym katalogu Klonowanie istniejącego repozytorium Zapisywanie zmian w repozytorium Sprawdzanie stanu plików Śledzenie nowych plików Umieszczanie zmodyfikowanych plików w przechowalni Skrócona informacja o statusie Ignorowanie plików Przeglądanie zmian w przechowalni i poza nią Zatwierdzanie zmian Pomijanie obszaru przechowywania Usuwanie plików Przenoszenie plików Przeglądanie historii commitów Ograniczanie wielkości wydruku Cofanie zmian Usuwanie pliku z obszaru przechowywania Wycofywanie zmian w zmodyfikowanym pliku Praca ze zdalnymi repozytoriami Wyświetlanie listy repozytoriów Dodawanie zdalnego repozytorium Pobieranie i wypychanie zmian do zdalnych repozytoriów Wypychanie zmian do zdalnego repozytorium Sprawdzanie zdalnego serwera Usuwanie zdalnych serwerów i zmienianie ich nazw Używanie tagów Wypisywanie listy tagów Tworzenie tagów Tagi opisane Tagi lekkie Tworzenie tagów dla starszych commitów Publikowanie tagów Aliasy w Gicie Rozgałęzienia Rozgałęzienia w skrócie Tworzenie nowej gałęzi Przełączanie między gałęziami Podstawy rozgałęziania i złączania Podstawy rozgałęziania Podstawy złączania Proste konflikty w złączeniach Zarządzanie gałęziami Sposoby pracy z gałęziami Długie gałęzie Gałęzie tematyczne Zdalne gałęzie Wypychanie zmian Gałęzie śledzące Pobieranie danych Usuwanie zdalnych gałęzi Przebazowanie Podstawowe przebazowanie Bardziej interesujące przykłady przebazowania Niebezpieczeństwa związane z przebazowaniem Przebazowanie po przebazowaniu Przebazowanie a złączenie Git na serwerze Protokoły Protokół lokalny Protokoły HTTP Protokół SSH Protokół Git Przenoszenie Gita na serwer Umieszczanie czystego repozytorium na serwerze Małe konfiguracje Generowanie własnych publicznych kluczy SSH Konfigurowanie serwera Demon Gita Smart HTTP GitWeb GitLab Instalacja Administrowanie Użytkownicy Grupy Projekty Hooki Podstawowa obsługa Współpraca Opcje hostowania na zewnętrznych serwerach . Rozproszony Git Rozproszone metody pracy Metoda scentralizowana Metoda z menedżerem integracji Metoda z dyktatorem i porucznikami Podsumowanie metod pracy Współpraca nad projektem Poradnik tworzenia commitów Mały, prywatny zespół Prywatny zespół zarządzany Projekt publiczny i kopia projektu Projekt publiczny i wiadomości e-mail Opieka nad projektem Praca z gałęziami tematycznymi Nakładanie łatek otrzymanych w e-mailu Nakładanie łatki przy użyciu polecenia am Integrowanie otrzymanych prac Metody pracy z wielkimi złączeniami Metody pracy używające przebazowania i wybierania commitów Rerere Oznaczanie wydań Generowanie numeru kompilacji Przygotowanie wydania Polecenie shortlog GitHub Tworzenie i konfigurowanie konta Dostęp przy użyciu protokołu SSH Awatar Adresy e-mail Uwierzytelnianie dwuskładnikowe Praca nad projektem Tworzenie kopii projektów Praca z GitHubem Tworzenie żądania pobrania Iterowanie w żądaniu pobrania Zaawansowane żądania pobrania Składnia Markdown Składnia Flavored Markdown Opieka nad projektem Tworzenie nowego repozytorium Dodawanie współpracowników Zarządzanie żądaniami pobrania Powiadomienia i napomknięcia Pliki specjalne Administrowanie projektem Zarządzanie organizacją Podstawy organizacji Zespoły Protokoły dla audytów Stosowanie skryptów Hooki API serwisu GitHub Octokit Narzędzia Gita Wybieranie commitów Pojedynczy commit Skrócony skrót SHA-1 Referencje gałęzi Skrócone nazwy w protokole referencji Referencje przodków Zakresy commitów Interaktywny obszar przechowywania Umieszczanie plików w przechowalni i wycofywanie ich Umieszczanie łatek w obszarze przechowywania Stos zmian i oczyszczanie Odkładanie prac na stosie Kreatywne używanie stosu Cofanie zmian pobranych ze stosu Tworzenie gałęzi ze stosu Czyszczenie katalogu roboczego Podpisywanie swoich prac Wprowadzenie do GPG Podpisywanie tagów Sprawdzanie tagów Podpisywanie commitów Wszyscy muszą używać podpisów Wyszukiwanie Narzędzie git grep Przeszukiwanie protokołu Gita Przeszukiwanie wierszy w protokole Modyfikowanie historii Modyfikowanie ostatniego commitu Zmienianie wielu komunikatów commitów Zmiana kolejności commitów Skracanie historii commitów Dzielenie commitu Rozwiązanie nuklearne: polecenie filter-branch Polecenie reset Trzy drzewa
Sposób pracy Działanie operacji reset Polecenie reset ze ścieżką Łączenie commitów Polecenie checkout Podsumowanie Zaawansowane złączenia Konflikty przy złączeniach Przerywanie złączenia Ignorowanie znaków białych Ręczne ponowne złączenie pliku Kontrolowanie konfliktów Protokół złączenia Łączony format diff Cofanie złączenia Inne typy złączeń Funkcja rerere Debugowanie za pomocą Gita Opisywanie plików Szukanie binarne Podmoduły Rozpoczynanie pracy z podmodułami Klonowanie projektu z podmodułami Praca w projekcie z podmodułami Publikowanie zmian w podmodule Złączanie zmian w podmodule Wskazówki dotyczące podmodułów Łączenie Podmienianie Przechowywanie danych uwierzytelniających Jak to działa? Własna pamięć podręczna dla danych uwierzytelniających Dostosowywanie Gita Konfigurowanie Gita Podstawowa konfiguracja klienta Kolory w Gicie Zewnętrzne narzędzia do złączania i wypisywania różnic Formatowanie i znaki białe Konfiguracja serwera Atrybuty Gita Pliki binarne Rozwijanie słów kluczowych Eksportowanie repozytorium Strategie złączania Hooki Instalowanie hooka Hooki klienckie Hooki związane z zatwierdzaniem commitów Hooki związane ze stosowaniem e-maili Pozostałe hooki Hooki serwerowe Przykładowa reguła wymuszana przez Git Hook serwerowy Wymuszanie stosowania określonego formatu komunikatów commitów Kontrola dostępu za pomocą list ACL Testowanie Hooki klienckie Git i inne systemy Git jako klient Git i Subversion Git i Mercurial Git i Perforce Git i TFS Migracja do Gita Subversion Mercurial Perforce TFS Niestandardowy importer . Wewnętrzne mechanizmy Gita Wewnętrzne i piękne Obiekty Gita Obiekty drzewa Obiekty commitów Przechowywanie obiektów Referencje Wskaźnik HEAD Tagi Zdalne repozytoria Pliki spakowane Specyfikacja referencji Wypychanie specyfikacji referencji Usuwanie referencji Protokoły transferu Protokół podstawowy Protokół rozbudowany Podsumowanie protokołów Konserwacja i odzyskiwanie danych Konserwowanie Odzyskiwanie danych Usuwanie obiektów Zmienne środowiskowe Zachowanie globalne Lokalizacje repozytorium Specyfikacje ścieżek Zatwierdzanie zmian Praca w sieci Złączanie i wyznaczanie różnic Debugowanie Zmienne różne Git i inne środowiska Interfejsy graficzne gitk i git-gui GitHub dla systemów macOS i Windows Inne narzędzia graficzne Git w Visual Studio Git w Eclipse Git w powłoce Bash Git w powłoce Zsh Git w PowerShell Git wbudowany w aplikacje Używanie Gita w wierszu poleceń Libgit2 Zaawansowane funkcje Inne powiązania LibGit2Sharp Objective-Git Pygit2 . Polecenia Gita Konfiguracja git config git help Pobieranie i tworzenie projektów git init git clone Tworzenie migawek git add git status git diff git difftool git commit git reset git rm git mv git clean Gałęzie i złączanie git branch git checkout git merge git mergetool git log git stash git tag Udostępnianie i aktualizowanie projektów git fetch git pull git push git remote git archive git submodule Kontrola i porównywanie git show git shortlog git describe Debugowanie git bisect git blame git grep Łatki git cherry-pick git rebase git revert E-mail git apply git am git format-patch git send-email git request-pull Zewnętrzne systemy git svn git fast-import Administrowanie git gc git fsck git reflog git filter-branch
Sygnatura czytelni BWEAiI: XII Ź 172
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 153014 (1 egz.)
Książka
W koszyku
Potęga podejścia reaktywnego Filary programowania reaktywnego Strumienie danych Wzorzec Obserwator Wykorzystanie RxJS w Angularze i jego zalety Moduł klienta HTTP Moduł routera Formularze reaktywne Emiter zdarzeń Potok asynchroniczny — AsyncPipe Diagram marmurkowy — nasza tajna broń. RxJS 7 Ulepszenia wpływające na rozmiar pakietu Przegląd zmian ułatwiających pisanie w TypeScript Dlaczego funkcja toPromise() została uznana za przestarzałą Metoda firstValueFrom() Metoda lastValueFrom() Ulepszenia spójności API Jak wdrażać wzorce reaktywne w aplikacjach Angulara Przewodnik po aplikacji Historyjki użytkowników naszej aplikacji strona główna interfejs dodawania nowego przepisu interfejs „Moje przepisy” interfejs „Ulubione” interfejs modyfikowania przepisu interfejs szczegółów przepisu Architektura naszej aplikacji Przegląd komponentów W stronę wzorców reaktywnych Pobieranie danych jako strumieni Opis klasycznego wzorca pobierania danych Definiowanie struktury danych Tworzenie usługi we frameworku Angular Pobieranie danych za pomocą metody Wstrzykiwanie i subskrybowanie usługi w komponencie Wyświetlanie danych w szablonie Zarządzanie anulowaniem subskrypcji Wzorzec reaktywny dla pobierania danych Pobieranie danych w postaci strumieni Definiowanie strumienia w komponencie Używanie potoku asynchronicznego w szablonie Podkreślenie zalet wzorca reaktywnego Stosowanie podejścia deklaratywnego Korzystanie ze strategii wykrywania zmian OnPush Obsługa błędów Zrozumienie anatomii obiektu obserwowalnego Badanie wzorców i strategii obsługi błędów Operatory obsługi błędów Operator catchError Operator delayWhen Przykłady obsługi błędów Łączenie strumieni Imperatywny wzorzec filtrowania danych Komponent filtrujący Komponent listy przepisów Deklaratywny wzorzec filtrowania danych Operator combineLatest Filary wzorca deklaratywnego Emitowanie wartości po wystąpieniu akcji Przekształcanie strumieni Wzorzec imperatywny dla autozapisu Wzorzec deklaratywny dla autozapisu Obiekt obserwowalny wyższego rzędu Operatory mapowania wyższego rzędu Operator concatMap Operator mergeMap Operator switchMap Operator exhaustMap Jak wdrażać wzorce reaktywne w aplikacjach Angulara Multiemisja zabierze Cię w nowe miejsca Różnice między multiemisją a pojedynczą emisją Producent Zimny obiekt obserwowalny Gorący obiekt obserwowalny Tematy RxJS Subject ReplaySubject BehaviourSubject Operatory multiemisji Buforowanie strumieni Użycie wzorca reaktywnego do buforowania strumieni Zalecany wzorzec RxJS 7 do buforowania strumieni Przypadki użycia buforowania strumieni Udostępnianie danych między komponentami Badanie reaktywnego wzorca udostępniania danych tworzenie wspólnej usługi aktualizacja ostatnio wybranego przepisu konsumowanie ostatniego wybranego przepisu Przedstawienie innych sposobów udostępniania danych Operacje zbiorcze Reaktywny wzorzec dla operacji zbiorczych Operator forkJoin Wzorzec w akcji Reaktywny wzorzec śledzenia postępów . Przetwarzanie aktualizacji w czasie rzeczywistym Reaktywny wzorzec konsumowania wiadomości w czasie rzeczywistym Zachowanie WebSocketSubject Zarządzanie połączeniem Implementacja wzorca Reaktywny wzorzec obsługi ponownego połączenia Ponawianie próby ponownego połączenia Testowanie obiektów obserwowalnych RxJS Wzorzec subskrypcji i zapewnienia Wzorzec testowania marmurkowego Zrozumienie składni Implementacja testów marmurkowych Testowanie strumieni przy użyciu modułu HttpClientTestingModule
Sygnatura czytelni BWEAiI: XII E 127
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 154673 N (1 egz.)
Książka
W koszyku
Indeks.
(Nie)bezpieczeństwo aplikacji mobilnych Ewolucja aplikacji mobilnych Najczęstsze kategorie aplikacji mobilnych Zalety aplikacji mobilnych Bezpieczeństwo aplikacji mobilnych Kluczowe czynniki problemu Projekt OWASP Mobile Security Narzędzia rekomendowane przez OWASP Mobile Security Przyszłość dziedziny zapewniania bezpieczeństwa aplikacjom mobilnym Analiza aplikacji iOS Poznajemy model bezpieczeństwa Inicjalizacja systemu iOS za pomocą łańcucha procedur bezpiecznego rozruchu Wprowadzenie Secure Enclave Ograniczenie procesów aplikacji dzięki podpisywaniu kodu Izolacja aplikacji za pomocą piaskownicy na poziomie procesu Ochrona informacji za pomocą szyfrowania przechowywanych danych Ochrona przed atakami dzięki funkcjom ograniczającym możliwość wykorzystania luk w zabezpieczeniach Poznajemy aplikacje iOS Dystrybucja aplikacji iOS Struktura aplikacji Instalacja aplikacji Poznajemy uprawnienia aplikacji Omówienie jailbreakingu Powody przeprowadzania jailbreakingu urządzenia Rodzaje jailbreakingu JailbreakMe v3 Saffron Jailbreak evasi0n Jailbreak evasi0n7 Przygotowanie środowiska testowego Przygotowanie podstawowego zestawu narzędzi Przeglądanie systemu plików Pliki typu property list Binarne pliki cookie Bazy danych SQLite Poznajemy API Data Protection Poznajemy pęk kluczy w systemie iOS Kontrola dostępu i polityka uwierzytelniania w iOS 8 Uzyskanie dostępu do pęku kluczy w iOS Poznajemy Touch ID Inżynieria odwrotna plików binarnych w iOS Analiza plików binarnych w systemie iOS Identyfikacja funkcji związanych z zapewnianiem bezpieczeństwa Deszyfrowanie plików binarnych pochodzących ze sklepu App Store Analiza odszyfrowanych plików binarnych Deasemblacja i dekompilacja aplikacji iOS Atakowanie aplikacji iOS Wprowadzenie do bezpieczeństwa w warstwie transportu Identyfikacja niebezpieczeństw czyhających w warstwie transportu CVE-2014-1266: SSL/TLS "Goto Fail" Przechwytywanie szyfrowanej komunikacji Niebezpieczeństwa związane z instalacją profili Ominięcie mechanizmu przypinania certyfikatu Niebezpieczeństwa związane z instalacją narzędzi pozwalających obejść kwestie zaufania Identyfikacja niebezpiecznego magazynu danych Modyfikacja aplikacji za pomocą deasemblera Hopper Atak na środowisko uruchomieniowe iOS Poznajemy języki Objective-C i Swift Instrumentacja środowiska uruchomieniowego iOS Poznajemy komunikację międzyprocesową Atak na procedurę obsługi protokołu Niebezpieczna procedura obsługi w aplikacji Skype Rozszerzenia aplikacji Ataki typu injection Atak injection na komponent UIWebView Aplikacja Skype na platformie iOS i ataki XSS Atak typu injection na magazyn danych po stronie klienta Atak typu injection na analizator składni XML Atak typu injection na procedurę obsługi pliku Identyfikowanie problemów w implementacji aplikacji iOS Ujawnienie danych osobowych Obsługa identyfikatora urządzenia Przetwarzanie książki adresowej Obsługa danych geolokalizacji Wykrywanie wycieku danych Wyciek danych w dziennikach zdarzeń aplikacji Wykrywanie wycieku danych poprzez schowek systemowy Obsługa zmiany stanu aplikacji Buforowanie klawiatury Buforowanie odpowiedzi HTTP Uszkodzenie pamięci w aplikacjach iOS Luki w zabezpieczeniach związane z ciągiem tekstowym formatowania Próba użycia obiektu po jego usunięciu Inne problemy związane z implementacjami kodu natywnego Tworzenie bezpiecznych aplikacji iOS Ochrona danych w aplikacji Ogólne reguły projektowe Implementacja szyfrowania Ochrona danych w trakcie transportu Unikanie luk w zabezpieczeniach pozwalających na przeprowadzenie ataku typu injection Unikanie ataków typu SQL injection Unikanie ataków typu XSS Ochrona aplikacji z użyciem zabezpieczeń binarnych Wykrycie przeprowadzenia jailbreakingu urządzenia Zabezpieczenie środowiska uruchomieniowego aplikacji Zabezpieczenie aplikacji przed modyfikacjami Implementacja zabezpieczeń antydebugowania Zaciemnienie aplikacji Analiza aplikacji Android Przygotowanie pierwszego środowiska Android Poznajemy aplikacje Android Podstawy systemu Android Poznajemy pakiety Androida Użycie narzędzi do przeglądania zasobów Androida Wprowadzenie do komponentów aplikacji Spojrzenie pod maskę ART, czyli zamienne środowisko uruchomieniowe dla oprogramowania Dalvik Poznajemy model zapewniania bezpieczeństwa Podpisanie kodu Poznajemy uprawnienia Słowo ostrzeżenia dotyczące taktyki najczęściej stosowanej przez oprogramowanie typu malware Piaskownica aplikacji Szyfrowanie systemu plików Ogólne mechanizmy obronne przed wykorzystaniem luk w zabezpieczeniach Dodatkowe mechanizmy obronne jądra przed eskalacją uprawnień Poznajemy kwestię uzyskania uprawnień użytkownika root Gingerbreak - wykorzystanie luk w zabezpieczeniach kodu jądra AOSP Exynos - wykorzystanie luk w zabezpieczeniach niestandardowych sterowników Samsung Admire - nadużycie uprawnień pliku za pomocą dowiązań symbolicznych Acer Iconia - wykorzystanie luk w zabezpieczeniach plików binarnych SUID Błędy klucza głównego - wykorzystanie luk w zabezpieczeniach kodu systemowego AOSP Towelroot - wykorzystanie luk w zabezpieczeniach jądra w systemie Android Modyfikacja w urządzeniu Nexus własnego obrazu przeznaczonego do odzyskiwania systemu Inżynieria odwrotna aplikacji Pobieranie plików APK Wyświetlenie pliku manifestu Wyświetlanie plików XML Wygenerowanie danych wyjściowych do pliku Deasemblacja kodu bajtowego DEX Dekompilacja kodu bajtowego DEX Dekompilacja zoptymalizowanego kodu DEX Deasemblacja kodu natywnego Narzędzia dodatkowe Praca ze środowiskiem ART Atakowanie aplikacji Android Dziwactwa modelu zapewniania bezpieczeństwa Współpraca z komponentami aplikacji Atak na komponenty aplikacji Poznajemy intencje Poznaj Sieve, czyli pierwszą atakowaną aplikację Przeprowadzanie ataku na czynności Kilka słów na temat aliasów czynności Rzeczywisty przykład: CVE-2013-6271 - usunięcie blokady urządzenia z wydania Android 4.3 lub starszego Rzeczywisty przykład - zmiana kodu PIN w urządzeniu bez podania dotychczasowego Wykorzystanie luk w niezabezpieczonych dostawcach treści Użycie istniejących narzędzi do wykrywania SQL injection Rzeczywisty przykład - luki w zabezpieczeniach wielu aplikacji Androida zainstalowanych standardowo w urządzeniach Samsunga Rzeczywisty przykład - aplikacja Shazam Przeprowadzanie ataku na niezabezpieczone usługi Rzeczywisty przykład - usługa schowka w urządzeniach firmy Samsung Błędy podczas kompilacji własnych klas Javy Przeprowadzanie ataku na odbiorcę komunikatów Systemowe komunikaty rozgłoszeniowe Rzeczywisty przykład: CVE-2013-6272 - zainicjowanie lub zerwanie połączenia bez odpowiednich uprawnień w systemie Android 4.4.2 lub starszym Rzeczywisty przykład - zdalne usunięcie zawartości urządzenia Samsung Galaxy Uzyskanie dostępu do pamięci masowej i dzienników zdarzeń Uprawnienia plików i katalogów Rzeczywisty przykład - możliwy do zapisu przez wszystkich użytkowników skrypt DroidWall wykonany przez użytkownika root Praktyki dotyczące szyfrowania pliku Pamięć masowa na karcie SD Rzeczywisty przykład - pamięć masowa aplikacji WhatsApp Rejestracja danych Błędne zastosowanie niezabezpieczonej komunikacji Przegląd ruchu sieciowego CVE-2012-6636 - wykonanie dowolnego kodu zdefiniowanego w metodzie addJavascriptInterface() Inne mechanizmy komunikacji Inne płaszczyzny ataku Przeprowadzanie ataku na kod natywny Wykorzystanie luk w zabezpieczeniach błędnie skonfigurowanych atrybutów pakietu Przeprowadzenie ataku na aplikację z włączoną opcją debuggable z poziomu innej aplikacji bez szczególnych uprawnień Dodatkowe techniki testowania Stosowanie poprawek w aplikacji Błędy podczas podpisywania pakietu Manipulacja środowiskiem uruchomieniowym Identyfikowanie problemów w implementacji aplikacji Android Przegląd standardowo zainstalowanych aplikacji Wyszukanie aplikacji o szerokich uprawnieniach Wyszukiwanie płaszczyzn dla zdalnego ataku Wyszukiwanie lokalnych luk w zabezpieczeniach Wykorzystanie luk w zabezpieczeniach urządzeń Narzędzia ataku Poznajemy poziomy uprawnień Praktyczne ataki fizyczne Praktyczne zdalne ataki Infiltracja danych użytkownika Użycie istniejących modułów narzędzia drozer Inne techniki do zastosowania w uprawnionych scenariuszach Tworzenie bezpiecznych aplikacji Android Reguła najmniejszego odkrycia się Komponenty aplikacji Magazyn danych Współpraca z niezaufanymi źródłami Żądanie minimalnych uprawnień Sprawdzenie plików znajdujących się w pakiecie APK Podstawowe mechanizmy obronne Przegląd punktów wejścia w komponentach aplikacji Bezpieczne przechowywanie plików Bezpieczne udostępnianie plików innym aplikacjom Prowadzenie bezpiecznej komunikacji Zabezpieczenie komponentu WebView Konfiguracja pliku manifestu Rejestracja zdarzeń Zmniejszenie ryzyka związanego z kodem natywnym Skrypt checksec nie działa Zaawansowane mechanizmy zabezpieczeń Wykrycie obniżenia poziomu ochrony Ochrona niewyeksportowanych komponentów Spowolnienie procesu inżynierii odwrotnej Zaciemnianie kodu źródłowego Wykrywanie użycia konta użytkownika root Wykrycie debugowania Wykrycie modyfikacji aplikacji Analiza aplikacji Windows Phone Poznajemy model zapewniania bezpieczeństwa Podpisywanie kodu i DRM Piaskownica aplikacji Szyfrowanie przechowywanych danych Proces zgłaszania aplikacji do sklepu Microsoft Store Poznajemy funkcje mechanizmów obronnych Poznajemy aplikacje na platformie Windows Phone 8.x Pakiety aplikacji Języki programowania i typy aplikacji Manifest aplikacji Katalogi aplikacji Rozpowszechnianie aplikacji Windows Phone Przygotowanie środowiska testowego Narzędzia SDK Odblokowanie możliwości urządzenia Wykorzystanie dostępu do systemu plików Wykorzystanie dostępu do rejestru Użyteczne narzędzia hakera Analiza plików binarnych aplikacji Proces inżynierii odwrotnej Analiza funkcji mechanizmów obronnych Atakowanie aplikacji Windows Phone Analiza pod kątem punktów wejścia danych Kontrolki WebBrowser i WebView Bluetooth Sesje HTTP Gniazda sieciowe NFC Kod kreskowy Karta SD Interfejsy komunikacji międzyprocesowej Powiadomienia typu toast Atak na warstwę transportową Identyfikacja i przechwytywanie komunikacji w postaci zwykłego tekstu Identyfikacja i przechwytywanie komunikacji HTTPS Przechwytywanie ruchu sieciowego innego niż HTTP i HTTPS Błędy związane z weryfikacją certyfikatu SSL Ataki na kontrolki WebBrowser i WebView Ataki typu XSS Ataki skryptów lokalnych Komunikacja między językami JavaScript i C# Identyfikacja luk w zabezpieczeniach implementacji IPC Procedura obsługi protokołu Procedura obsługi pliku Powiadomienia typu toast Atak na analizator składni XML Wprowadzenie do API XDocument Atak DoS podczas rozwinięcia encji Atak typu XXE Atak na bazę danych API LINQ to SQL SQLite i SQLCipher Atak na procedurę obsługi pliku Wprowadzenie do obsługi pliku Ataki polegające na poruszaniu się po katalogach Modyfikacje podzespołu .NET Identyfikowanie problemów w implementacji aplikacji Windows Phone Identyfikacja niebezpiecznego magazynu danych ustawień aplikacji Wykrywanie wycieku danych Magazyn danych plików cookie HTTP(S) Buforowanie HTTP(S) Rejestracja danych w aplikacji Identyfikacja niebezpiecznego magazynu danych Niezaszyfrowany magazyn danych plików Niezabezpieczony magazyn bazy danych Niebezpieczne generowanie liczby losowej Przewidywalność System.Random Wiele egzemplarzy System.Random Bezpieczeństwo wątku System.Random Niebezpieczna kryptografia i użycie hasła Klucze kryptograficzne na stałe umieszczone w kodzie Niebezpieczny magazyn kluczy kryptograficznych Przechowywanie klucza lub hasła w niemodyfikowalnym obiekcie ciągu tekstowego Nieudane usunięcie z pamięci klucza kryptograficznego lub hasła Niebezpieczne generowanie klucza Użycie słabych algorytmów kryptograficznych i trybów oraz kluczy o niewystarczającej długości Użycie statycznych wektorów inicjalizacji Błędne użycie API Data Protection na platformie Windows Phone Wykrywanie luk w zabezpieczeniach kodu natywnego Przepełnienie bufora stosu Przepełnienie bufora sterty Inne błędy związane z obsługą liczb całkowitych Błędy ciągu tekstowego formatowania Błędy związane z indeksowaniem tablicy Błędy związane z odmową usług Niebezpieczny kod C# Tworzenie bezpiecznych aplikacji Windows Phone Ogólne rozważania dotyczące bezpiecznego projektu aplikacji Bezpieczne szyfrowanie i przechowywanie danych Bezpieczne algorytmy i tryby szyfrowania Generowanie klucza i zarządzanie nim Szyfrowanie pliku Szyfrowanie bazy danych Bezpieczne generowanie liczby losowej Zapewnianie bezpieczeństwa danych w pamięci i usuwanie zawartości pamięci Uniknięcie ataku typu SQL injection Implementacja bezpiecznej komunikacji Użycie SSL i TLS Weryfikacja certyfikatu SSL i TLS Uniknięcie ataków typu XSS w komponentach WebBrowser i WebView Użycie SSL i TLS w komunikacji sieciowej Wyłączenie obsługi JavaScript Bezpieczne tworzenie dynamicznego kodu HTML i JavaScript Unikanie ataków przeprowadzanych przez skrypty lokalne Bezpieczne przetwarzanie danych XML Usunięcie bufora internetowego i plików cookie Usunięcie plików cookie Usunięcie bufora internetowego Unikanie błędów kodu natywnego Użycie funkcji mechanizmów obronnych Tworzenie aplikacji mobilnych niezależnych od platformy Wprowadzenie do aplikacji mobilnych niezależnych od platformy Zastosowanie funkcjonalności natywnej Udostępnienie funkcjonalności natywnej w systemie Android Udostępnienie funkcjonalności natywnej w systemie iOS Udostępnienie funkcjonalności natywnej w systemie Windows Phone Poznajemy frameworki PhoneGap i Apache Cordova Funkcje standardowe PhoneGap Zapewnienie bezpieczeństwa aplikacji utworzonych za pomocą frameworków PhoneGap i Cordova Wiele luk w zabezpieczeniach frameworka Cordova Ominięcie białej listy we frameworku Cordova dla protokołu innego niż HTTP
Sygnatura czytelni BWEAiI: XII Ń 83
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 145287 N (1 egz.)
Książka
W koszyku
(Technologia i Rozwiązania)
Indeks.
Odświeżenie wiadomości o obiektach (15) Literały obiektowe (15) Konstruktory obiektów (19) Prototypy obiektów (23) Klasy (25) Zasady programowania obiektowego (29) Zasady programowania obiektowego (30) Czy JavaScript to obiektowy język programowania? (31) Narzędzia abstrakcji i modelowania (31) Przestrzeganie zasad obiektowości (34) Obiektowość JavaScriptu a obiektowość klasyczna (42) Hermetyzacja i ukrywanie informacji (45) Hermetyzacja i ukrywanie informacji (45) Podejście konwencjonalne (46) Określanie prywatności za pomocą domknięć (47) Metadomknięcia (52) Deskryptory własności (58) Ukrywanie informacji w klasach ES6 (66) Dziedziczenie i domieszki (69) Zalety dziedziczenia (69) Obiekty i prototypy (70) Dziedziczenie w ES6 (76) Kontrolowanie dziedziczenia (78) Implementacja wielodziedziczenia (85) Tworzenie i używanie domieszek (86) Definiowanie kontraktów i kacze typizowanie (91) Dynamiczna kontrola typów (91) Kontrakty i interfejsy (97) Kacze typizowanie (98) Kacze typizowanie i polimorfizm (107) Zaawansowane techniki tworzenia obiektów (111) Tworzenie obiektów (111) Wzorce projektowe i tworzenie obiektów (113) Tworzenie singletonu (113) Fabryka obiektów (117) Wzorzec Budowniczy (124) Porównanie wzorców Fabryka i Budowniczy (127) Recykling obiektów z puli (127) Prezentowanie danych użytkownikowi (133) Interfejsy użytkownika (133) Wzorce prezentacyjne (136) Wzorzec Model-Widok-Kontroler (137) Wzorzec Model-Widok-Prezenter (143) Wzorzec Model-Widok-ModelWidoku (147) Porównanie wzorców MV* (152) Wiązanie danych (155) Czym jest wiązanie danych? (155) Implementacja wiązania danych (157) Wzorce Obserwator i Publikacja-Subskrypcja (163) Obiekty pośrednie (167) Programowanie asynchroniczne i obietnice (171) Czy JavaScript to język asynchroniczny? (171) Pisanie kodu asynchronicznego (173) Wprowadzenie do obietnic (180) Generatory (190) Organizacja kodu (195) Zakres globalny (195) Tworzenie przestrzeni nazw (197) Moduły (200) Ładowanie modułów (207) Moduły standardu ECMAScript 6 (217) Zasady SOLID (221) Obiektowe zasady projektowania (221) Zasada pojedynczej odpowiedzialności (222) Zasada otwarte/zamknięte (226) Zasada podstawiania Liskov (230) Zasada segregacji interfejsów (232) Zasada odwrócenia zależności (234) Nowoczesne architektury aplikacji (243) Od skryptów do aplikacji (244) Aplikacje klasyczne i jednostronicowe (246) Architektura Zakasa-Osmaniego (249) Funkcje przekrojowe i AOP (256) Aplikacje izomorficzne (258)
Sygnatura czytelni BWEAiI: XII N 96
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 144826 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Front-end Developement with ASP.NET Core, Angular and Bootstrap.
Na stronie redakcyjnej: copyright 2018 by John Wiley & Sons, Inc, Indianapolis, Indiana.
Na okładce logo oryginalnego wydawcy.
Indeks.
Dla programistów znających technologię ASP.NET MVC.
1. Co nowego w ASP.NET Core MVC? 25 Prawidłowe nazywanie rzeczy po imieniu 26 ASP.NET Core 26 .NET Core 26 Visual Studio Code 26 Visual Studio 2017 27 Wersje omówione w książce 27 Krótka historia oprogramowania internetowego Microsoft .NET 27 ASP.NET Web Forms 28 ASP.NET MVC 28 ASP.NET Web API 29 OWIN i Katana 29 Pojawienie się ASP.NET Core i .NET Core 30 .NET Core 30 Rozpoczęcie pracy z .NET Core 31 Narzędzie wiersza poleceń 31 Wprowadzenie do ASP.NET 32 Ogólne przedstawienie nowego projektu aplikacji ASP.NET Core MVC 32 OWIN 36 Anatomia aplikacji ASP.NET Core 38 Nowe podstawowe funkcje ASP.NET Core 40 Środowisko 40 Wstrzykiwanie zależności 42 Rejestrowanie danych 44 Konfiguracja 46 Ogólny opis wybranego oprogramowania pośredniczącego ASP.NET Core 50 Pakiet Diagnostics 50 Udostępnianie plików statycznych 51 Frameworki aplikacji 52 ASP.NET Core MVC 52 Używanie frameworka MVC wewnątrz ASP.NET Core 52 Używanie wstrzykiwania zależności w kontrolerach 54 Komponent widoku 55 Atrybut pomocniczy znacznika 57 Szablon projektu API 61 2. Zestaw narzędzi programisty front-endu 63 Dodatkowe języki programowania, które należy znać 64 Node.js 64 JSON 65 Sass i Less 66 Przyszłość języka JavaScript 68 TypeScript 68 Frameworki JavaScriptu 70 Angular 70 Knockout 72 React 73 jQuery 75 Frameworki CSS 76 Bootstrap 76 Primer CSS 78 Material Design Lite 78 Semantic UI 79 Menedżery pakietów 80 NuGet 80 Bower 81 npm 82 Struktura katalogów 83 Menedżery zadań 84 3. Angular w pigułce 87 Koncepcje Angulara 89 Język frameworka Angular 89 Przygotowywanie projektu Angulara 90 Używanie edytora internetowego 90 Używanie projektu startowego 91 Używanie narzędzia Angular CLI 91 Struktura aplikacji Angular 92 Punkt wejścia do aplikacji 92 Moduł główny 92 Komponent główny 93 Kod HTML strony głównej 95 Dołączanie danych 95 Interpolacja 96 Jednokierunkowe dołączanie danych 96 Dołączanie zdarzenia 97 Dwukierunkowe dołączanie danych 97 Dyrektywa 98 Usługa i wstrzykiwanie zależności 99 Wiele komponentów 101 Właściwości wejścia i wyjścia 103 Komunikacja z back-endem 105 Używanie modułu Http 106 Użycie obiektu RxJS Observable 107 Używanie Angulara wraz z ASP.NET MVC 110 Połączenie projektów Angulara i ASP.NET Core 112 Visual Studio 2017 i obsługa frameworka Angular 119 Fragmenty kodu 119 Lista IntelliSense w plikach TypeScriptu 120 Lista IntelliSense w plikach HTML 120 4. Bootstrap w pigułce 123 Wprowadzenie do frameworka Bootstrap 124 Instalowanie Bootstrapa 124 Najważniejsze funkcje 125 Style Bootstrapa 126 System siatki 126 Typografia 130 Tabela 131 Formularz 131 Przycisk 133 Komponenty 133 Ikona glyphicon 133 Rozwijane menu 134 Grupa znacznika input 135 Nawigacja 136 Inne komponenty 142 JavaScript 142 Treść oparta na kartach 143 Modalne okno dialogowe 144 Podpowiedź i dymek 146 Dostosowanie frameworka Bootstrap do własnych potrzeb za pomocą Less 148 Dostosowanie do własnych potrzeb za pomocą witryny internetowej 148 Dostosowanie do własnych potrzeb za pomocą Less 149 Obsługa Bootstrapa w Visual Studio 2017 i ASP.NET Core 150 Rozszerzenie Bootstrap Snippet Pack 152 Rozszerzenie Glyphfriend 153 Atrybut pomocniczy znacznika w ASP.NET Core 154 5. Zarządzanie zależnościami za pomocą menedżerów NuGet i Bower 157 Ogólne koncepcje 158 Menedżer NuGet 159 Pobieranie pakietów za pomocą NuGeta 159 Publikowanie własnych pakietów 163 Menedżer npm 165 Instalowanie menedżera npm 165 Używanie menedżera npm 165 Gdzie są instalowane pakiety? 168 Menedżer Bower 168 Instalowanie menedżera Bower 168 Pobieranie pakietów za pomocą Bowera 168 Gdzie są instalowane pakiety? 170 Tworzenie własnego pakietu 171 6. Tworzenie aplikacji za pomocą narzędzi Gulp i webpack 173 Na czym polega działanie systemu kompilacji front-endu? 174 Dokładniejsze omówienie narzędzia Gulp 175 Rozpoczęcie pracy z narzędziem Gulp 175 Plik gulpfile.js 175 Typowy plik kompilacji Gulp 177 Więcej przepisów na Gulpa 179 Sprawdzenie kodu JavaScriptu za pomocą wtyczki JSHint 180 Wprowadzenie do narzędzia webpack 184 Podstawowe koncepcje narzędzia webpack 184 Używanie narzędzia webpack 184 Kolejne możliwości narzędzia webpack 188 Visual Studio 2017 i systemy kompilacji 189 Rozszerzenie Bundler & Minifier 189 Okno Eksplorator modułu uruchamiającego zadania 192 Lista IntelliSense dla narzędzia Gulp 193 7. Wdrażanie aplikacji ASP.NET Core 195 Nowy model hostingu ASP.NET Core 195 Wdrożenie w serwerze IIS 197 Upewnienie się o dostępności serwera IIS 197 Instalowanie AspNetCoreModule 199 Publikowanie aplikacji za pomocą wiersza poleceń 199 Utworzenie witryny internetowej 200 Publikowanie aplikacji za pomocą Visual Studio 201 Wdrażanie do Azure 202 Wdrażanie do Azure za pomocą Visual Studio i metody Web Deploy 203 Ciągłe wdrażanie do Azure za pomocą systemu git 206 Wdrażanie do kontenera Docker 210 Instalowanie obsługi Dockera 210 Publikowanie obrazu Dockera 213 8. Programowanie poza Windowsem 215 Instalowanie .NET CORE w systemie macOS 216 Tworzenie pierwszej aplikacji ASP.NET Core w systemie macOS 217 Używanie narzędzia dotnet 217 Używanie narzędzia Yeoman 220 Visual Studio Code 222 Konfigurowanie Visual Studio Code 222 Funkcje programistyczne oferowane przez Visual Studio Code 223 OmniSharp 229 Inne środowiska IDE 229 Używanie narzędzi działających w powłoce 230 9. Zebranie wszystkiego w całość 231 Tworzenie witryny internetowej wyświetlającej wyniki trójboju 232 Tworzenie witryny administracyjnej 232 Konfigurowanie Entity Framework 235 Tworzenie stron obsługujących operacje CRUD 240 Tworzenie witryny rejestracji 243 Wyświetlanie wyników w czasie rzeczywistym 247 Tworzenie działającej po stronie klienta aplikacji Angular 247 Tworzenie API sieciowego 252 Nawiązywanie połączenia z urządzeniami IoT 255 Wdrażanie aplikacji 258
Sygnatura czytelni BWEAiI: XII E 25
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 148045 N (1 egz.)
Książka
W koszyku
W książce także ISBN oryginału.
Część I. Jak zrozumieć TypeScript i poprawić swoją znajomość języka JavaScript Rozdział 1. Zrozumieć TypeScript Wymagania techniczne Czym jest TypeScript? Dlaczego TypeScript jest niezbędny? Typowanie dynamiczne a statyczne Programowanie obiektowe Rozdział 2. Prezentacja języka TypeScript Wymagania techniczne Czym są typy? Jak działają typy? Wprowadzenie do typów języka TypeScript Typ any Typ unknown Typy przecięć i unii Typy literałowe Nazwy zastępcze typów Typy wyników funkcji Funkcje jako typy Typ never Klasy i interfejsy Klasy Interfejsy Dziedziczenie Klasy abstrakcyjne Interfejsy Typy generyczne Prezentacja najnowszych możliwości języka i konfigurowania kompilatora Łączenie opcjonalne Scalanie wartości pustych Konfigurowanie TypeScriptu Rozdział 3. Tworzenie lepszych aplikacji dzięki użyciu możliwości wersji ES6+ języka JavaScript Wymagania techniczne Poznawanie rodzajów zmiennych w ES6 oraz zasięgów w języku JavaScript Poznawanie funkcji strzałkowych Zmienianie kontekstu this Rozproszenie, destrukturyzacja i reszta Rozproszenie, Object.assign oraz Array.concat Destrukturyzacja Reszta Prezentacja wybranych funkcji tablicowych find filter map reduce some oraz every Przedstawienie nowych typów kolekcji Set Map Przedstawienie słów kluczowych async i await Część II. Nauka tworzenia aplikacji jednostronicowych z użyciem frameworka React Rozdział 4. Przedstawienie koncepcji aplikacji jednostronicowych oraz ich realizacja z użyciem frameworka React Wymagania techniczne Przedstawienie wcześniejszych sposobów tworzenia witryny WWW Cechy i zalety aplikacji jednostronicowych Jak React pomaga w tworzeniu aplikacji jednostronicowych Atrybuty aplikacji Reacta Rozdział 5. Tworzenie aplikacji Reacta z wykorzystaniem hooków Wymagania techniczne Wyjaśnienie ograniczeń i problemów związanych ze stosowaniem starych komponentów klasowych Stan Metody cyklu życia Prezentacja hooków Reacta i wyjaśnienie, dlaczego w stosunku do komponentów klasowych są one usprawnieniem Porównanie stosowania komponentów klasowych i hooków Wielokrotne stosowanie kodu Prostota Rozdział 6. Przygotowywanie projektu za pomocą create-react-app i testowanie go przy użyciu Jest Wymagania techniczne Przedstawienie metod programowania aplikacji Reacta i systemu używanego do ich budowania Narzędzia do zarządzania projektami Transpilacja Repozytoria kodu Testowanie aplikacji Reacta po stronie klienta Atrapy Tworzenie atrap z wykorzystaniem jest.fn Tworzenie atrap komponentów Prezentacja najpopularniejszych narzędzi oraz praktyk tworzenia aplikacji Reacta Visual Studio Code Prettier Debugger Chrome Alternatywne zintegrowane środowiska programistyczne Rozdział 7. Redux i React Router Wymagania techniczne Zarządzanie stanem przy użyciu Reduxa Reduktory i akcje React Context Prezentacja frameworka React Router Część III. Tworzenie usług internetowych z użyciem Expressa i GraphQL-a Rozdział 8. Prezentacja tworzenia aplikacji serwerowych z wykorzystaniem Node.js i Expressa Wymagania techniczne Wyjaśnienie sposobu działania środowiska Node Pętla zdarzeń Prezentacja możliwości środowiska Node Instalowanie Node Tworzenie prostego serwera Node Żądania i odpowiedzi Trasowanie Debugowanie Jak Express ułatwia pisanie rozwiązań przeznaczonych dla środowiska Node Przedstawienie możliwości frameworka Express Tworzenie internetowego API przy użyciu Expressa Rozdział 9. Czym jest GraphQL? Wymagania techniczne Czym jest GraphQL? Schematy GraphQL Definicje typów i resolwery Zapytania, mutacje oraz subskrypcje Rozdział 10. Konfiguracja projektu Expressa z zależnościami od języków TypeScript i GraphQL Wymagania techniczne Tworzenie projektu Expressa tworzonego w języku TypeScript Dodawanie do projektu GraphQL-a i jego zależności Prezentacja pakietów pomocniczych Rozdział 11. Czego się nauczysz - aplikacja internetowego forum Analiza aplikacji, którą napiszemy - internetowego forum Analiza uwierzytelniania użytkowników forum Analiza zarządzania wątkami Analiza systemu punktacji wątków Rozdział 12. Tworzenie klienta Reacta na potrzeby aplikacji internetowego forum Wymagania techniczne Tworzenie wstępnej wersji aplikacji Reacta CSS Grid Granice błędów Warstwa usługi danych Menu nawigacyjne Komponenty związane z uwierzytelnianiem Trasowanie i ekrany aplikacji Ekran główny Ekran wątku i jego wpisów Rozdział 13. Przygotowywanie stanu sesji przy użyciu Expressa i Redisa Wymagania techniczne Czym jest stan sesji? Przedstawienie magazynu danych Redis Tworzenie stanu sesji z wykorzystaniem Expressa i Redisa Rozdział 14. Przygotowywanie Postgresa oraz warstwy repozytorium przy wykorzystaniu TypeORM Wymagania techniczne Przygotowanie bazy danych Postgres Przedstawienie mechanizmów odwzorowań obiektowo-relacyjnych na przykładzie TypeORM Tworzenie warstwy repozytorium bazującej na Postgresie i TypeORM Rozdział 15. Dodawanie schematu GraphQL-a - część 1. Wymagania techniczne Tworzenie definicji typów i resolwerów dla serwerowego kodu GraphQL System punktacji wątków Integracja mechanizmu uwierzytelniania z resolwerami GraphQL-a Przygotowanie hooków Reacta do korzystania z serwera Apollo GraphQL Ekran główny - komponent Main Możliwości związane z uwierzytelnianiem Ekran profilu użytkownika Rozdział 16. Dodawanie schematu GraphQL-a - część 2. Komponent Thread i jego trasa System punktów Rozdział 17. Wdrażanie w chmurze AWS Wymagania techniczne Konfiguracja Ubuntu w chmurze AWS Instalacja Redisa, Postgresa i Node w systemie Ubuntu Instalacja serwera Redis Instalacja Postgresa Instalacja Node Konfiguracja i wdrażanie aplikacji na serwerze NGINX Konfigurowanie projektu super-forum-client Konfiguracja serwera NGINX Rozwiązywanie problemów
Sygnatura czytelni BWEAiI: XII N 159
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 152395 (1 egz.)
Książka
W koszyku
Tytuł oryginału: Deep learning with Python.
Indeks.
Dla zainteresowanych nauką zagadnień związanych z uczeniem głębokim od podstaw, a także dla wszystkich chcących poszerzyć swoją wiedzę na temat uczenia głębokiego - analityków, programistów, studentów.
CZĘŚĆ I. PODSTAWY UCZENIA GŁĘBOKIEGO 19 Rozdział 1. Czym jest uczenie głębokie? 21 1.1. Sztuczna inteligencja, uczenie maszynowe i uczenie głębokie 22 1.1.1. Sztuczna inteligencja 22 1.1.2. Uczenie maszynowe 22 1.1.3. Formy danych umożliwiające uczenie 24 1.1.4. "Głębia" uczenia głębokiego 26 1.1.5. Działanie uczenia głębokiego przedstawione na trzech rysunkach 27 1.1.6. Co dotychczas osiągnięto za pomocą uczenia głębokiego? 29 1.1.7. Nie wierz w tymczasową popularność 30 1.1.8. Nadzieje na powstanie sztucznej inteligencji 31 1.2. Zanim pojawiło się uczenie głębokie: krótka historia uczenia maszynowego 32 1.2.1. Modelowanie probabilistyczne 32 1.2.2. Wczesne sieci neuronowe 33 1.2.3. Metody jądrowe 33 1.2.4. Drzewa decyzyjne, lasy losowe i gradientowe wzmacnianie maszyn 35 1.2.5. Powrót do sieci neuronowych 35 1.2.6. Co wyróżnia uczenie głębokie? 36 1.2.7. Współczesne uczenie maszynowe 37 1.3. Dlaczego uczenie głębokie? Dlaczego teraz? 38 1.3.1. Sprzęt 38 1.3.2. Dane 39 1.3.3. Algorytmy 40 1.3.4. Nowa fala inwestycji 40 1.3.5. Demokratyzacja uczenia głębokiego 41 Rozdział 2. Matematyczne podstawy sieci neuronowych 43 2.1. Pierwszy przykład sieci neuronowej 44 2.2. Reprezentacja danych sieci neuronowych 47 2.2.1. Skalary (tensory zerowymiarowe) 48 2.2.2. Wektory (tensory jednowymiarowe) 48 2.2.3. Macierze (tensory dwuwymiarowe) 48 2.2.4. Trójwymiarowe tensory i tensory o większej liczbie wymiarów 49 2.2.5. Główne atrybuty 49 2.2.6. Obsługa tensorów R 50 2.2.7. Wsad danych 50 2.2.8. Prawdziwe przykłady tensorów danych 51 2.2.9. Dane wektorowe 51 2.2.10. Dane szeregu czasowego i dane sekwencyjne 52 2.2.11. Dane w postaci obrazów 52 2.2.12. Materiały wideo 53 2.3. Koła zębate sieci neuronowych: operacje na tensorach 53 2.3.1. Operacje wykonywane element po elemencie 54 2.3.2. Operacje na tensorach o różnych wymiarach 55 2.3.3. Iloczyn tensorowy 55 2.3.4. Zmiana kształtu tensora 57 2.3.5. Geometryczna interpretacja operacji tensorowych 58 2.3.6. Interpretacja geometryczna uczenia głębokiego 59 2.4. Silnik sieci neuronowych: optymalizacja gradientowa 60 2.4.1. Czym jest pochodna? 61 2.4.2. Pochodna operacji tensorowej: gradient 62 2.4.3. Stochastyczny spadek wzdłuż gradientu 63 2.4.4. Łączenie pochodnych: algorytm propagacji wstecznej 66 2.5. Ponowna analiza pierwszego przykładu 67 Rozdział 3. Rozpoczynamy korzystanie z sieci neuronowych 71 3.1. Anatomia sieci neuronowej 72 3.1.1. Warstwy: podstawowe bloki konstrukcyjne uczenia głębokiego 72 3.1.2. Modele: sieci warstw 73 3.1.3. Funkcja straty i optymalizatory: najważniejsze elementy konfiguracji procesu uczenia 74 3.2. Wprowadzenie do pakietu Keras 75 3.2.1. Keras, TensorFlow, Theano i CNTK 76 3.2.2. Instalowanie pakietu Keras 77 3.2.3. Praca z pakietem Keras: krótkie wprowadzenie 77 3.3. Przygotowanie stacji roboczej do uczenia głębokiego 79 3.3.1. Dwie opcje uruchamiania pakietu Keras 79 3.3.2. Wady i zalety uruchamiania uczenia głębokiego w chmurze 80 3.3.3. Jaki procesor graficzny najlepiej nadaje się do uczenia głębokiego? 80 3.4. Przykład klasyfikacji binarnej: klasyfikacja recenzji filmów 81 3.4.1. Zbiór danych IMDB 81 3.4.2. Przygotowywanie danych 82 3.4.3. Budowa sieci neuronowej 83 3.4.4. Walidacja modelu 87 3.4.5. Używanie wytrenowanej sieci do generowania przewidywań dotyczących nowych danych 90 3.4.6. Dalsze eksperymenty 90 3.4.7. Wnioski 91 3.5. Przykład klasyfikacji wieloklasowej: klasyfikacja krótkich artykułów prasowych 91 3.5.1. Zbiór danych Agencji Reutera 91 3.5.2. Przygotowywanie danych 93 3.5.3. Budowanie sieci 93 3.5.4. Walidacja modelu 94 3.5.5. Generowanie przewidywań dotyczących nowych danych 96 3.5.6. Inne sposoby obsługi etykiet i funkcji straty 97 3.5.7. Dlaczego warto tworzyć odpowiednio duże warstwy pośrednie? 97 3.5.8. Dalsze eksperymenty 98 3.5.9. Wnioski 98 3.6. Przykład regresji: przewidywanie cen mieszkań 99 3.6.1. Zbiór cen mieszkań w Bostonie 99 3.6.2. Przygotowywanie danych 100 3.6.3. Budowanie sieci 100 3.6.4. K-składowa walidacja krzyżowa 101 3.6.5. Wnioski 105 Rozdział 4. Podstawy uczenia maszynowego 107 4.1. Cztery rodzaje uczenia maszynowego 108 4.1.1. Uczenie nadzorowane 108 4.1.2. Uczenie nienadzorowane 108 4.1.3. Uczenie częściowo nadzorowane 109 4.1.4. Uczenie przez wzmacnianie 109 4.2. Ocena modeli uczenia maszynowego 109 4.2.1. Zbiory treningowe, walidacyjne i testowe 111 4.2.2. Rzeczy, o których warto pamiętać 114 4.3. Wstępna obróbka danych, przetwarzanie cech i uczenie cech 114 4.3.1. Przygotowywanie danych do przetwarzania przez sieci neuronowe 115 4.3.2. Przetwarzanie cech 116 4.4. Nadmierne dopasowanie i zbyt słabe dopasowanie 118 4.4.1. Redukcja rozmiaru sieci 119 4.4.2. Dodawanie regularyzacji wag 121 4.4.3. Porzucanie - technika dropout 123 4.5. Uniwersalny przepływ roboczy uczenia maszynowego 125 4.5.1. Definiowanie problemu i przygotowywanie zbioru danych 125 4.5.2. Wybór miary sukcesu 126 4.5.3. Określanie techniki oceny wydajności modelu 127 4.5.4. Przygotowywanie danych 127 4.5.5. Tworzenie modeli lepszych od linii bazowej 128 4.5.6. Skalowanie w górę: tworzenie modelu, który ulega nadmiernemu dopasowaniu 129 4.5.7. Regularyzacja modelu i dostrajanie jego hiperparametrów 129 CZĘŚĆ II. UCZENIE GŁĘBOKIE W PRAKTYCE 131 Rozdział 5. Uczenie głębokie i przetwarzanie obrazu 133 5.1. Wprowadzenie do konwolucyjnych sieci neuronowych 134 5.1.1. Działanie sieci konwolucyjnej 136 5.1.2. Operacja max-pooling 141 5.2. Trenowanie konwolucyjnej sieci neuronowej na małym zbiorze danych 143 5.2.1. Stosowanie uczenia głębokiego w problemach małych zbiorów danych 144 5.2.2. Pobieranie danych 144 5.2.3. Budowa sieci neuronowej 147 5.2.4. Wstępna obróbka danych 148 5.2.5. Stosowanie techniki augmentacji danych 151 5.3. Korzystanie z wcześniej wytrenowanej konwolucyjnej sieci neuronowej 155 5.3.1. Ekstrakcja cech 155 5.3.2. Dostrajanie 163 5.4. Wizualizacja efektów uczenia konwolucyjnych sieci neuronowych 168 5.4.1. Wizualizacja pośrednich aktywacji 169 5.4.2. Wizualizacja filtrów konwolucyjnych sieci neuronowych 175 5.4.3. Wizualizacja map ciepła aktywacji klas 181 Rozdział 6. Uczenie głębokie w przetwarzaniu tekstu i sekwencji 187 6.1. Praca z danymi tekstowymi 188 6.1.1. Kodowanie słów i znaków metodą gorącej jedynki 189 6.1.2. Osadzanie słów 192 6.1.3. Łączenie wszystkich technik: od surowego tekstu do osadzenia słów 197 6.1.4. Wnioski 203 6.2. Rekurencyjne sieci neuronowe 203 6.2.1. Warstwa rekurencyjna w pakiecie Keras 206 6.2.2. Warstwy LSTM i GRU 209 6.2.3. Przykład warstwy LSTM zaimplementowanej w pakiecie Keras 212 6.3. Zaawansowane zastosowania rekurencyjnych sieci neuronowych 214 6.3.1. Problem prognozowania temperatury 214 6.3.2. Przygotowywanie danych 217 6.3.3. Punkt odniesienia w postaci zdrowego rozsądku 220 6.3.4. Podstawowe rozwiązanie problemu przy użyciu techniki uczenia maszynowego 221 6.3.5. Punkt odniesienia w postaci pierwszego modelu rekurencyjnego 223 6.3.6. Stosowanie rekurencyjnego porzucania w celu zmniejszenia nadmiernego dopasowania 225 6.3.7. Tworzenie stosów warstw rekurencyjnych 226 6.3.8. Korzystanie z dwukierunkowych rekurencyjnych sieci neuronowych 228 6.3.9. Kolejne rozwiązania 232 6.4. Konwolucyjne sieci neuronowe i przetwarzanie sekwencji 234 6.4.1. Przetwarzanie sekwencji za pomocą jednowymiarowej sieci konwolucyjnej 234 6.4.2. Jednowymiarowe łączenie danych sekwencyjnych 235 6.4.3. Implementacja jednowymiarowej sieci konwolucyjnej 235 6.4.4. Łączenie sieci konwolucyjnych i rekurencyjnych w celu przetworzenia długich sekwencji 237 Rozdział 7. Najlepsze zaawansowane praktyki uczenia głębokiego 245 7.1. Funkcjonalny interfejs programistyczny pakietu Keras: wykraczanie poza model sekwencyjny 246 7.1.1. Wprowadzenie do funkcjonalnego interfejsu API 247 7.1.2. Modele z wieloma wejściami 249 7.1.3. Modele z wieloma wyjściami 251 7.1.4. Skierowane acykliczne grafy warstw 254 7.1.5. Udostępnianie wag warstwy 258 7.1.6. Modele pełniące funkcję warstw 259 7.2. Monitorowanie modeli uczenia głębokiego przy użyciu wywołań zwrotnych pakietu Keras i narzędzia TensorBoard 260 7.2.1. Używanie wywołań zwrotnych w celu sterowania procesem trenowania modelu 260 7.2.2. Wprowadzenie do TensorBoard - platformy wizualizacji danych pakietu TensorFlow 264 7.3. Korzystanie z pełni możliwości modeli 268 7.3.1. Konstrukcja zaawansowanych architektur 269 7.3.2. Optymalizacja hiperparametru 272 7.3.3. Składanie modeli 274 Rozdział 8. Stosowanie uczenia głębokiego w celu generowania danych 279 8.1. Generowanie tekstu za pomocą sieci LSTM 281 8.1.1. Krótka historia generatywnych sieci rekurencyjnych 281 8.1.2. Generowanie danych sekwencyjnych 282 8.1.3. Dlaczego strategia próbkowania jest ważna? 282 8.1.4. Implementacja algorytmu LSTM generującego tekst na poziomie liter 285 8.2. DeepDream 290 8.2.1. Implementacja algorytmu DeepDream w pakiecie Keras 291 8.2.2. Wnioski 296 8.3. Neuronowy transfer stylu 297 8.3.1. Strata treści 298 8.3.2. Strata stylu 298 8.3.3. Implementacja neuronowego transferu stylu przy użyciu pakietu Keras 299 8.4. Generowanie obrazów przy użyciu wariacyjnych autoenkoderów 306 8.4.1. Próbkowanie z niejawnej przestrzeni obrazów 306 8.4.2. Wektory koncepcyjne używane podczas edycji obrazu 307 8.4.3. Wariacyjne autoenkodery 308 8.5. Wprowadzenie do generatywnych sieci z przeciwnikiem 315 8.5.1. Schematyczna implementacja sieci GAN 316 8.5.2. Zbiór przydatnych rozwiązań 317 8.5.3. Generator 318 8.5.4. Dyskryminator 319 8.5.5. Sieć z przeciwnikiem 320 8.5.6. Trenowanie sieci DCGAN 320 Rozdział 9. Wnioski 325 9.1. Przypomnienie najważniejszych koncepcji 326 9.1.1. Sztuczna inteligencja 326 9.1.2. Co sprawia, że uczenie głębokie to wyjątkowa dziedzina uczenia maszynowego? 326 9.1.3. Jak należy traktować uczenie głębokie? 327 9.1.4. Najważniejsze technologie 328 9.1.5. Uniwersalny przepływ roboczy uczenia maszynowego 329 9.1.6. Najważniejsze architektury sieci 330 9.1.7. Przestrzeń możliwości 334 9.2. Ograniczenia uczenia głębokiego 336 9.2.1. Ryzyko antropomorfizacji modeli uczenia maszynowego 337 9.2.2. Lokalne uogólnianie a ekstremalne uogólnianie 339 9.3. Przyszłość uczenia głębokiego 341 9.3.1. Modele jako programy 342 9.3.2. Wykraczanie poza algorytm propagacji wstecznej i warstwy różniczkowalne 343 9.3.3. Zautomatyzowane uczenie maszynowe 344 9.3.4. Nieustanne uczenie się i wielokrotne używanie modułowych procedur składowych 345 9.3.5. Przewidywania dotyczące dalekiej przyszłości 346 9.4. Bycie na bieżąco z nowościami związanymi z szybko rozwijającą się dziedziną 348 9.4.1. Zdobywaj wiedzę praktyczną, pracując z prawdziwymi problemami przedstawianymi w serwisie Kaggle 348 9.4.2. Czytaj o nowych rozwiązaniach w serwisie arXiv 348 9.4.3. Eksploruj ekosystem związany z pakietem Keras 349 9.5. Ostatnie słowa 349 Dodatek A. Instalowanie pakietu Keras i innych bibliotek niezbędnych do jego działania w systemie Ubuntu 353 Dodatek B. Uruchamianie kodu w środowisku RStudio Server przy użyciu zdalnej instancji procesora graficznego EC2 359
Sygnatura czytelni BWEAiI: XII Ł 130
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 147414 N (1 egz.)
Książka
W koszyku
SEO dla początkujących / Agnieszka Ciborowska, Jarosław Lipiński. - Gliwice : Helion, © 2022. - 278, [2] strony : fotografie, ilustracje, wykresy ; 24 cm.
WYSZUKIWARKI Jak działaJą wyszukiwarki internetowe? Boty Google W jaki sposób boty Google znajdują strony internetowe? Co wpływa na częstotliwość odwiedzin robotów? Search Quality Team Search Quality Evaluator Guidelines Rynek wyszukiwarek w Polsce i na świecie Korzyści z wysokich pozycji w wyszukiwarkach Co to jest pozycjonowanie i SEO? Czy terminy "pozycjonowanie" i "SEO" oznaczają to samo? DOBÓR FRAZ KLUCZOWYCH Od czego zacząć? Strategia długiego ogona Przykłady długiego ogona dla frazy "wakacje" Przykłady długiego ogona dla frazy "ubrania" Przykłady długiego ogona dla frazy "psy do adopcji" Narzędzia wspomagające dobor słów kluczowych Google Keyword Planner Keyword Tool Google Trends Google Autosuggest AnswerThePublic Soovle Lista fraz kluczowych CZYNNIKI RANKINGOWE Czynniki związane z treścią Fraza kluczowa w tytule Fraza kluczowa w treści Unikalność treści Długość i jakość treści Zróżnicowanie treści Nowe informacje Fraza kluczowa w nagłówkach Adres URL Aktualizacje treści Optymalizacja grafik E-A-T Fraza kluczowa w krótkim opisie i zajawce Czynniki związane z domeną Wiek domeny Historia domeny Fraza kluczowa w nazwie domeny Rozszerzenie domeny Długość nazwy domeny Dane WHOIS Czynniki związane z całą witryną Temat strony Architektura serwisu Reputacja i opinie Zakładka Kontakt Regulamin i polityka prywatności Widoczność w social mediach Czynniki techniczne Linki wewnętrzne Odległość od strony głównej Złożoność serwisu (liczba podstron) Prędkość wczytywania Czytelność na urządzeniach mobilnych Core Web Vitals Poprawność kodu i przejrzystość strony Mapa witryny (dla wyszukiwarek) Problemy z dostępnością serwisu Ścieżka nawigacji (breadcrumbs) Uszkodzone linki wychodzące Czynniki związane z serwerem Certyfiat SSL Lokalizacja serwera Sąsiedztwo na serwerze Czynniki zewnętrzne - hiperłącza Liczba linków Jakość linkujących stron Inne cechy linków PRZYGOTOWYWANIE WITRYNY Dopasowywanie fraz kluczowych do podstron Strona główna Architektura witryny Menu nawigacyjne Adresy URL Taksonomie Linkowanie wewnętrzne Treść witryny POZYSKIWANIE LINKÓW Budowa i rodzaje linków Rodzaje anchorów Rodzaje atrybutów rel Naturalne linki Przykładowe źródła linków Artykuły i informacje Dyskusje i komentarze Zawartość dodatkowa Ogłoszenia i katalogi Najbliższe otoczenie Dodatkowe sposoby Niekorzystne linki SEO COPYWRITING Najważniejsze zasady Strona główna Blogi i bazy wiedzy Treści dla sklepu internetowego Opisy produktów Opisy kategorii Produkty wycofane ze sprzedaży Zlecanie pisania tekstów Rodzaje tekstów Zasady tworzenia treści do umieszczania w innych serwisach Pomysły na treści Elementy dodatkowe Zdjęcia Infografik Filmy Wykresy i diagramy Tabelki i listy Elementy interaktywne ZAPLECZE SEO Planowanie i zasady budowy zaplecza Plan budowy zaplecza SEO Linkowanie do stron zapleczowych Linkowanie ze stron zapleczowych Pomysły na strony zapleczowe Narzędzia wspomagające budowę zaplecza Wtyczki do WordPressa Wygasłe domeny Gdzie szukać wygasłych domen? Przechwytywanie domen Na co zwrócić uwagę, kupując wygasłe domeny? Architektura serwisu ŚLEDZENIE WYNIKÓW Pozycje w wynikach wyszukiwania Ręczne sprawdzanie pozycji Google Search Console Systemy do monitoringu fraz Ruch na stronie - Google Analytics Zakładanie konta Google Analytics Poruszanie się po panelu Google Analytics CZĘSTE PROBLEMY I BŁĘDY Kanibalizacja słów kluczowych Zduplikowane treści Publikacja treści z innych serwisów Kradzione treści Zduplikowana treść w ramach serwisu Przebudowa strony internetowej Aktualizacje algorytmów Google GOOGLE ADS JAKO UZUPEŁNIENIE POZYCJONOWANIA Zakładanie konta Wstęp do tworzenia kampanii Kampania w sieci wyszukiwania Ustawienia ogólne Kierowanie i odbiorcy Rozszerzenia reklam Słowa kluczowe i reklamy NARZĘDZIA POZYCJONERA Google Search Console Zakładanie konta i dodawanie strony Panel Google Search Console Ahrefs Site Explorer Keyword Explorer Site Audit Content Explorer Wtyczka Yoast SEO Kreator konfiguacji Wyszukiwarki Ustawienia wpisu Surfer SEO Content Editor Audit Content Planner Keyword Research SERP Analyzer CHECKLISTY SEO Dobór fraz kluczowych Ocena strony internetowej Domena Witryna Przygotowanie witryny Użytkownicy Optymalizacja podstrony na wybraną frazę kluczową Zaplecze SEO Linki zwrotne
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 153046 N (1 egz.)
Książka
W koszyku
Rozdział 2. Dlaczego warto znać Power Query? (11) Rozdział 3. Wstążki Power Query (15) Rozdział 4. Wersje Excela i dodatku PQ (19) Rozdział 5. Typy danych (21) Rozdział 6. Kilka słów o datach i ich formatach (23) Rozdział 7. Importowanie danych (25) 7.1. Importowanie pliku .csv (26) 7.2. Importowanie danych z Excela (32) 7.3. Importowanie całych folderów (37) 7.4. Pliki tekstowe bez separatorów (44) 7.5. Baza danych (51) 7.6. Importowanie ze stron internetowych (52) 7.7. Różnica pomiędzy tabelą a połączeniem (56) Rozdział 8. Krojenie i szatkowanie danych (61) 8.1. Dodawanie tabel (62) 8.2. Zapomnij o Wyszukaj.Pionowo czy scalaniu tabel (65) 8.3. Typy "joinów" i sposób ich używania (72) 8.4. Tabelowanie danych (76) 8.5. "Odtabelowywanie" danych (82) 8.6. Grupowanie i sumowanie danych (85) 8.7. Powtarzanie rekordów w tabeli (91) Rozdział 9. Język M, czyli język danych (97) 9.1. Obiekty, które warto poznać (111) 9.2. Podstawy języka M (120) 9.3. Twoja pierwsza własna funkcja (124) Rozdział 10. Dodatki (129) 10.1. Interaktywny formularz (129) 10.2. Stwórz spis treści swojego pliku (135) 10.3. Automatyzacja (141)
Sygnatura czytelni BWEAiI: XII W 61
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 149917 N (1 egz.)
Książka
W koszyku
Indeks.
Współbieżność w języku C#. Receptury Współbieżność: przegląd Wprowadzenie do współbieżności Wprowadzenie do programowania asynchronicznego Wprowadzenie do programowania równoległego Wprowadzenie do programowania reaktywnego (Rx) Wprowadzenie do przepływów danych Wprowadzenie do programowania wielowątkowego Kolekcje dla aplikacji współbieżnych Nowoczesne projektowanie Podsumowanie informacji na temat kluczowych technologii Podstawy async Wstrzymanie na określony czas Zwracanie wykonanych zadań Raportowanie postępu Oczekiwanie na wykonanie zestawu zadań Oczekiwanie na wykonanie jakiegokolwiek zadania Przetwarzanie wykonanych zadań Unikanie kontekstu dla kontynuacji Obsługa wyjątków z metod async typu Task Obsługa wyjątków z metod async typu void Podstawy przetwarzania równoległego Równoległe przetwarzanie danych Równoległa agregacja Równoległe wywołanie Równoległość dynamiczna Parallel LINQ Podstawy przepływu danych Łączenie bloków Propagowanie błędów Usuwanie połączeń między blokami Ograniczanie pojemności bloków Przetwarzanie równoległe za pomocą bloków przepływu danych Tworzenie niestandardowych bloków Podstawy Rx Konwersja zdarzeń .NET Wysyłanie powiadomień do kontekstu Grupowanie danych zdarzeń za pomocą okienek i buforów Ujarzmianie strumieni zdarzeń za pomocą ograniczania przepływu i próbkowania Limity czasu Testowanie Testy jednostkowe metod async Testy jednostkowe metod async, które powinny zakończyć się niepowodzeniem Testy jednostkowe metod async void Testy jednostkowe siatek przepływu danych Testy jednostkowe strumieni obserwowalnych Rx Testy jednostkowe strumieni obserwowalnych Rx za pomocą atrapy harmonogramu Interoperacyjność Metody opakowujące async dla metod async ze zdarzeniami Completed Metody opakowujące async dla metod Begin/End Metody opakowujące async dla dowolnych operacji lub zdarzeń Metody opakowujące async dla kodu równoległego Metody opakowujące async dla strumieni obserwowalnych Rx Metody opakowujące strumieni obserwowalnych Rx dla kodu asynchronicznego Strumienie obserwowalne Rx i siatki przepływu danych Kolekcje Niemutowalne stosy i kolejki Listy niemutowalne Zbiory niemutowalne Słowniki niemutowalne Słowniki bezpieczne wątkowo Kolejki blokujące Stosy i multizbiory blokujące Kolejki asynchroniczne Stosy i multizbiory asynchroniczne Kolejki blokujące/asynchroniczne Anulowanie Wysyłanie żądań anulowania Reagowanie na żądania anulowania poprzez odpytywanie Anulowanie z powodu przekroczenia limitu czasu Anulowanie kodu async Anulowanie kodu równoległego Anulowanie kodu reaktywnego Anulowanie siatek przepływu danych Wstrzykiwanie żądań anulowania Współdziałanie z innymi systemami anulowania Przyjazne funkcyjnie programowanie obiektowe Interfejsy async i dziedziczenie Konstruowanie async: fabryki Konstruowanie async: wzorzec inicjowania asynchronicznego Właściwości async Zdarzenia async Usuwanie async Synchronizacja Blokady Blokady async Sygnały blokujące Sygnały async Ograniczanie współbieżności Planowanie Planowanie pracy dla puli wątków Wykonywanie kodu za pomocą dyspozytora zadań Planowanie kodu równoległego Synchronizacja przepływu danych z wykorzystaniem dyspozytorów Scenariusze Inicjowanie współdzielonych zasobów Odroczona ewaluacja Rx Asynchroniczne wiązanie danych
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 145285, 145283 N, 145284 (3 egz.)
Książka
W koszyku
Zrozumieć programowanie / Gynvael Coldwind ; z przedmową Mateusza Jurczyka. - Wydanie 1 - 5 dodruk. - Warszawa : Wydawnictwo Naukowe PWN, 2017. - 623, [1] strona : ilustracje ; 24 cm.
Bibliografia przy rozdziale. Indeks.
Dla początkujących i średniozaawansowanych programistów.
Konsola i interpreter poleceń Wykorzystanie interpretera Przekierowania Przykładowe polecenia wykorzystujące przekierowania Bieżący katalog roboczy Zmienne środowiskowe Skrypt startowy Konsola okiem programisty Czytanie nieznanego języka Podstawy architektury komputerów Własny (wirtualny) komputer Rejestry procesora Kod maszynowy Zestaw instrukcji Pamięć operacyjna Komunikacja z urządzeniami Przerwania Konsola znakowa Programowalny timer Przykładowy „kompilator” Emulator Typy liczb naturalnych i całkowitych Zapis binarny i heksadecymalny Typy liczb naturalnych Liczby całkowite Little i Big Endian Przepełnienie zmiennych naturalnych i całkowitych Przycięcie wyniku Saturacja Zasygnalizowane przepełnienie Niezdefiniowane zachowanie Awans zmiennej Duże liczby Obsługa przepełnienia w praktyce Typy pseudorzeczywiste Wstęp do liczb zmiennoprzecinkowych Ułamki binarne IEEE 754 i zmienne binarne Kodowanie IEEE 754 Double Precision Wartości specjalne i zdenormalizowane Istotne wartości zmiennoprzecinkowe Porównanie liczb zmiennoprzecinkowych Dziesiętne typy zmiennoprzecinkowe Typy stałoprzecinkowe Znaki i łańcuchy znaków ASCII i strony kodowe Unicode Łańcuchy znaków Konwersja kodowań Wykonywanie programu 7. Procesy Procesy w systemie operacyjnym GNU/Linux Procesy w systemie operacyjnym Windows Programowe tworzenie nowego procesu Plik wykonywalny a nowy proces API debuggera Dziedziczenie po procesie rodzicu Inne operacje na zewnętrznych procesach 8. Wątki Tworzenie nowych wątków Typy wątków i ich przełączanie Kontekst wątku Zmienne lokalne dla wątku Pula wątków 9. Synchronizacja Blokujące atomowe bariery Spinlocki – wirujące blokady Muteksy i sekcje krytyczne. Zdarzenia i zmienne warunkowe Problemy w synchronizacji Pliki i formaty danych System plików Podstawowe operacje na systemie plików Prawa dostępu Operacje na plikach i danych Ciekawe mechanizmy systemu plików 11. Pliki binarne i tekstowe Wstęp do serializacji Formaty plików 12. Format BMP i wstęp do bitmap Grafika rastrowa Canvas, surface, image, ... Przegląd popularnych formatów pikseli Wyświetlenie bitmapy Ogólna struktura pliku BMP Nagłówek BITMAPFILEHEADER Nagłówek BITMAPINFOHEADER Implementacja 24-bitowego BI_RGB Paleta kolorów Kompresja RLE w wydaniu BMP Implementacja RLE8 13. Format PNG Struktura PNG Bloki IHDR oraz IEND Blok IDAT, kompresja i filtry adaptacyjne Prosty dekoder Komunikacja 14. Komunikacja międzyprocesowa Potoki Nazwane potoki Gniazda domeny UNIX i socketpair Pamięć współdzielona Wiadomości w WinAPI 15. Komunikacja sieciowa Wstęp do sieci TCP/IP Gniazda TCP oraz DNS Nasłuchujące gniazda TCP oraz HTTP Gniazda UDP i peer-to-peer
Sygnatura czytelni BWEAiI: XII F 100
Ta pozycja znajduje się w zbiorach 2 placówek. Rozwiń listę, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 153866 N (1 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 153867 N (1 egz.)
Pozycja została dodana do koszyka. Jeśli nie wiesz, do czego służy koszyk, kliknij tutaj, aby poznać szczegóły.
Nie pokazuj tego więcej

Deklaracja dostępności