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
(165)
dostępne
(34)
wypożyczone
(4)
nieokreślona
(1)
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
(1882)
Menedżerowie
(252)
Programiści
(184)
Przedsiębiorcy
(106)
Fizjoterapeuci
(101)
Inżynierowie
(88)
Inżynierowie budownictwa
(78)
Informatycy
(75)
Lekarze
(57)
Technikum
(49)
Nauczyciele
(45)
Szkoły zawodowe
(43)
Prawnicy
(39)
Urzędnicy
(38)
Szkoły średnie
(35)
Trenerzy i instruktorzy sportowi
(31)
Pracownicy naukowi
(30)
Księgowi
(29)
Specjaliści ds. marketingu
(26)
Ekonomiści
(24)
Architekci
(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)
Analitycy danych
(12)
Pielęgniarki i pielęgniarze
(12)
Sportowcy
(12)
Studenci
(12)
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)
Terapeuci zajęciowi
(9)
Dietetycy
(8)
Dyrektorzy HR
(8)
Inspektorzy budowlani
(8)
Pracownicy banków
(8)
Szkoły branżowe I stopnia
(8)
Sędziowie
(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: Hands-On Machine learning with C#.
Na książce także ISBN oryginału: 9781788994941.
Na okładce nazwa wydawcy oryginału: Packt.
Rozdział 1. Podstawy uczenia maszynowego 13 Wprowadzenie do uczenia maszynowego 14 Wydobywanie danych 18 Sztuczna inteligencja 18 Bio-SI 18 Uczenie głębokie 19 Probabilistyka i statystyka 19 Rozpoczynanie projektu uczenia maszynowego 20 Zbieranie danych 20 Przygotowanie danych 20 Wybranie modelu i trening 21 Ocena modelu 22 Poprawianie modelu 22 Zbiór danych o irysach 22 Rodzaje uczenia maszynowego 24 Uczenie nadzorowane 25 Kompromis odchylenie - wariancja 25 Ilość danych treningowych 26 Wymiarowość przestrzeni wejścia 27 Nieprawidłowe wartości wyjścia 27 Heterogeniczność danych 27 Uczenie nienadzorowane 28 Uczenie ze wzmocnieniem 29 Lepiej kupić, zbudować czy skorzystać z otwartych źródeł? 29 Rozdział 2. ReflectInsight - monitorowanie w czasie rzeczywistym 33 Router 34 Przeglądarka protokołu 35 Przeglądarka na żywo 35 Nawigacja w komunikatach 35 Przeszukiwanie komunikatów 38 Formatowanie czasu i daty 38 Automatyczne zapisywanie i czyszczenie 39 SDK 43 Edytor konfiguracji 43 Rozdział 3. Wnioskowanie Bayesa - rozwiązywanie zagadki ucieczki z miejsca wypadku i analizowanie danych 47 Twierdzenie Bayesa 48 Naiwny klasyfikator bayesowski i rysowanie danych 54 Rysowanie danych 55 Rozdział 4. Ryzyko i nagroda - uczenie ze wzmocnieniem 65 Uczenie ze wzmocnieniem 65 Rodzaje uczenia 68 Q-uczenie 68 SARSA 69 Uruchamianie aplikacji 69 Wieże Hanoi 74 Rozdział 5. Logika rozmyta - nawigowanie na torze przeszkód 83 Logika rozmyta 84 Pojazd kierowany automatycznie 86 Rozdział 6. Łączenie kolorów - mapy samoorganizujące i elastyczne sieci neuronowe 97 Zrozumieć istotę sieci samoorganizującej 98 Rozdział 7. Wykrywanie twarzy i ruchu - filtrowanie obrazów 113 Wykrywanie twarzy 114 Wykrywanie ruchu 122 Dodawanie funkcji wykrywania ruchu do swojej aplikacji 125 Rozdział 8. Encyklopedia i neurony - problem komiwojażera 129 Problem komiwojażera 129 Parametr współczynnika uczenia 147 Promień uczenia 148 Rozdział 9. Mam przyjąć tę pracę? - drzewa decyzji w akcji 149 Drzewo decyzyjne 150 Węzeł decyzyjny 151 Zmienna decyzyjna 151 Kolekcja węzłów gałęzi decyzyjnej 151 Mam przyjąć tę pracę? 152 numl 154 Drzewa decyzyjne w Accord.NET 155 Kod uczący 156 Tablica pomyłek 158 Wizualizacja typu błędu 159 Rozdział 10. Głęboka wiara - głębokie sieci i sny 163 Ograniczone maszyny Boltzmanna 163 Warstwy 166 O czym śni komputer? 171 Rozdział 11. Mikrotesty porównawcze i funkcje aktywacji 177 Rysowanie funkcji aktywacji 178 Rysowanie wszystkich funkcji aktywacji 180 Główna funkcja rysująca 181 Testy porównawcze 182 Rozdział 12. Intuicyjne uczenie głębokie w C# i .NET 187 Czym jest uczenie głębokie? 188 OpenCL 189 Hierarchia OpenCL 189 Framework Kelp.Net 192 Funkcje 192 Stosy funkcji 192 Słowniki funkcji 194 Caffe 194 Strata 195 Optymalizacje 195 Zbiory danych 196 Testy 198 Monitorowanie w Kelp.Net 199 Weaver 200 Tworzenie testów 202 Testy porównawcze funkcji 203 Uruchamianie testu porównawczego 203 Rozdział 13. Obliczenia kwantowe - spojrzenie w przyszłość 207 Superpozycja 209 Teleportacja 209 Splątanie 209
Sygnatura czytelni BWEAiI: XII E 107
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. 148175 N (1 egz.)
Książka
W koszyku
Informatyka wywiadowcza Poziom strategiczny Poziom operacyjny Poziom taktyczny Cykl działań wywiadowczych Planowanie i wyznaczanie celu Przygotowywanie i gromadzenie danych Przetwarzanie i wykorzystywanie danych Analiza i wytwarzanie informacji Rozpowszechnianie i integracja wiedzy Ocena i informacje zwrotne Definiowanie Twojego zapotrzebowania na informacje wywiadowcze Proces gromadzenia danych Wskaźniki naruszenia bezpieczeństwa Zrozumieć złośliwe oprogramowanie Wykorzystanie źródeł publicznych do gromadzenia danych - OSINT Honeypoty Analiza złośliwego oprogramowania i sandboxing Przetwarzanie i wykorzystywanie danych Cyber Kill Chain® Model diamentowy Framework MITRE ATT&CK Tendencyjność a analiza informacji Czym jest polowanie na zagrożenia? Czym jest polowanie na zagrożenia? Rodzaje polowań na zagrożenia Zestaw umiejętności łowcy zagrożeń Piramida Model dojrzałości w procesie polowania na zagrożenia Określenie naszego modelu dojrzałości Proces polowania na zagrożenia Pętla polowania na zagrożenia Model polowania na zagrożenia Metodologia oparta na danych TaHiTI - polowanie ukierunkowane integrujące informatykę wywiadowczą Z jakich źródeł pozyskujemy dane? Zrozumienie zebranych danych Podstawy systemów w operacyjnych Podstawy działania sieci komputerowych Narzędzia dostępne w systemie Windows Podgląd zdarzeń w systemie Windows Instrumentacja zarządzania systemem Windows (WMI) Śledzenie zdarzeń dla Windows (ETW) Źródła danych Dane z punktów końcowych Dane sieciowe Dane zabezpieczeń Zrozumieć przeciwnika Jak mapować przeciwnika Framework ATT&CK Taktyki, techniki, subtechniki i procedury Macierz ATT&CK Nawigator ATT&CK Mapowanie za pomocą frameworka ATT&CK Praca z danymi Używanie słowników danych Metadane zdarzeń zagrażających bezpieczeństwu typu open source Używanie narzędzia MITRE CAR CARET Używanie Sigmy Jak emulować przeciwnika Stworzenie planu emulacji przeciwnika Czym jest emulacja przeciwnika? Plan emulacji zespołu MITRE ATT&CK Jak emulować zagrożenie Atomic Red Team Mordor (Security Datasets) CALDERA Jak pracować z wykorzystaniem środowiska badawczego Jak stworzyć środowisko badawcze Konfigurowanie środowiska badawczego Instalowanie środowiska wirtualnego VMware ESXI Tworzenie sieci VLAN Konfigurowanie zapory (firewalla) Instalowanie systemu operacyjnego Windows Server Konfigurowanie systemu operacyjnego Windows Server w roli kontrolera domeny Zrozumienie struktury usługi katalogowej Active Directory Nadanie serwerowi statusu kontrolera domeny Konfigurowanie serwera DHCP Tworzenie jednostek organizacyjnych Tworzenie użytkowników Tworzenie grup Obiekty zasad grupy Konfigurowanie zasad inspekcji Dodawanie nowych klientów Konfigurowanie stosu ELK Konfigurowanie usługi systemowej Sysmon Pobieranie certyfikatu Konfigurowanie aplikacji Winlogbeat Szukanie naszych danych w instancji stosu ELK Bonus - dodawanie zbiorów danych Mordor do naszej instancji stosu ELK HELK - narzędzie open source autorstwa Roberto Rodrigueza Rozpoczęcie pracy z platformą HELK Jak przeprowadzać kwerendę danych Atomowe polowanie z użyciem bibliotek Atomic Red Team Cykl testowy bibliotek Atomic Red Team Testowanie dostępu początkowego Testowanie wykonania Testowanie zdolności do przetrwania Testy nadużywania przywilejów Testowanie unikania systemów obronnych Testowanie pod kątem wykrywania przez atakującego zasobów ofiary Testowanie taktyki wysyłania poleceń i sterowania (C2) Invoke-AtomicRedTeam Quasar RAT Przypadki użycia trojana Quasar RAT w świecie rzeczywistym Uruchamianie i wykrywanie trojana Quasar RAT Testowanie zdolności do przetrwania Testowanie dostępu do danych uwierzytelniających Badanie ruchu w poprzecznych Jak polować na przeciwnika Oceny przeprowadzone przez MITRE Importowanie zbiorów danych APT29 do bazy HELK Polowanie na APT29 Używanie frameworka MITRE CALDERA Konfigurowanie programu CALDERA Wykonanie planu emulacji za pomocą programu CALDERA Reguły pisane w języku Sigma. Znaczenie dokumentowania i automatyzowania procesu Znaczenie dokumentacji Klucz do pisania dobrej dokumentacji Dokumentowanie polowań Threat Hunter Playbook Jupyter Notebook Aktualizowanie procesu polowania Znaczenie automatyzacji. Wymiana informacji kluczem do sukcesu Jak oceniać jakość danych Jak odróżnić dane dobrej jakości od danych złej jakości Wymiary danych Jak poprawić jakość danych OSSEM Power-up DeTT&CT Sysmon-Modular Jak zrozumieć dane wyjściowe Jak zrozumieć wyniki polowania Znaczenie wyboru dobrych narzędzi analitycznych. Jak zdefiniować dobre wskaźniki śledzenia postępów Znaczenie definiowania dobrych wskaźników Jak określić sukces programu polowań Korzystanie z frameworka MaGMA for Threat Hunting Jak stworzyć zespół szybkiego reagowania i jak informować zarząd o wynikach polowań Jak zaangażować w działanie zespół reagowania na incydenty Wpływ komunikowania się na sukces programu polowania na zagrożenia
Sygnatura czytelni BWEAiI: XII Ń 91
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. 152991 (1 egz.)
Książka
W koszyku
Tytuł oryginału: Beginning Java data structures and algorithms.
Indeks.
Rozdział 1. Algorytmy i ich złożoność 13 Tworzymy nasz pierwszy algorytm 14 Algorytm konwersji liczb dwójkowych na dziesiętne 14 Mierzenie złożoności algorytmów za pomocą notacji dużego O 16 Przykład na złożoność 16 Zrozumienie złożoności 18 Notacja złożoności 22 Identyfikacja algorytmów o różnej złożoności 26 Złożoność liniowa 26 Złożoność kwadratowa 27 Złożoność logarytmiczna 28 Złożoność wykładnicza 30 Złożoność stała 31 Rozdział 2. Algorytmy sortowania i podstawowe struktury danych 35 Wprowadzenie do sortowania bąbelkowego 35 Zrozumienie sortowania bąbelkowego 36 Udoskonalanie sortowania bąbelkowego 37 Zrozumienie sortowania szybkiego 40 Zrozumienie rekurencji 40 Podział w wyszukiwaniu szybkim 41 Jak to wszystko poskładać razem 44 Korzystanie z sortowania przez scalanie 45 Dzielenie problemu 46 Scalanie problemu 47 Rozpoczęcie pracy z podstawowymi strukturami danych 50 Wprowadzenie do struktur danych 50 Struktura list powiązanych 51 Operacje na listach powiązanych 53 Kolejki 56 Stosy 57 Modelowanie stosów i kolejek przy użyciu tablic 59 Rozdział 3. Tablice z haszowaniem i binarne drzewa poszukiwań 65 Wprowadzenie do tablic z haszowaniem 65 Zrozumienie tablic z haszowaniem 66 Rozwiązywanie kolizji przez łańcuchowanie 68 Rozwiązywanie kolizji przez adresowanie otwarte 71 Haszowanie uniwersalne 76 Rozpoczęcie pracy z binarnymi drzewami poszukiwań 78 Struktura drzewa binarnego 78 Operacje na binarnych drzewach poszukiwań 80 Przechodzenie przez binarne drzewo poszukiwań 83 Zrównoważone binarne drzewa poszukiwań 85 Rozdział 4. Paradygmaty projektowania algorytmów 91 Wprowadzenie do algorytmów zachłannych 92 Problem wyboru zajęć 92 Rozwiązanie problemu wyboru zajęć 94 Składniki algorytmu zachłannego 94 Kodowanie Huffmana 96 Ćwiczenie: Implementacja algorytmu zachłannego do obliczania ułamków egipskich 100 Wprowadzenie do algorytmów typu "dziel i zwyciężaj" 101 Podejście "dziel i zwyciężaj" 101 Metoda rekurencji uniwersalnej 102 Problem najbliższej pary punktów 104 Ćwiczenie: Rozwiązywanie problemu podtablicy o największej sumie 106 Zrozumienie programowania dynamicznego 108 Elementy problematyki programowania dynamicznego 108 Dyskretny problem plecakowy 109 Najdłuższy wspólny podciąg 112 Ćwiczenie: Problem wydawania reszty 114 Rozdział 5. Algorytmy wyszukiwania wzorca w tekście 117 Algorytm wyszukiwania naiwnego 117 Implementacja wyszukiwania naiwnego 118 Usprawnienie algorytmu wyszukiwania naiwnego 119 Pierwsze kroki z algorytmem wyszukiwania wzorca Boyera-Moore'a 120 Zasada niezgodności 120 Zasada dobrego sufiksu 123 Zastosowanie algorytmu Boyera-Moore'a 126 Prezentacja innych algorytmów wyszukiwania wzorca w tekście 127 Algorytm Rabina-Karpa 128 Algorytm Knutha-Morrisa-Pratta 129 Algorytm Aho-Corasick 130 Rozdział 6. Grafy, liczby pierwsze i klasy złożoności 131 Reprezentacja grafów 132 Listy sąsiedztwa 133 Macierz sąsiedztwa 135 Przechodzenie przez graf 137 Przeszukiwanie wszerz 138 Przeszukiwanie w głąb 140 Wykrywanie cykli 143 Obliczanie najkrótszych ścieżek 145 Najkrótsza ścieżka z pojedynczego źródła: algorytm Dijkstry 145 Najkrótsze ścieżki dla wszystkich par wierzchołków: algorytm Floyda-Warshalla 150 Liczby pierwsze w algorytmach 153 Sito Eratostenesa 154 Rozkład na czynniki pierwsze 154 Inne koncepcje związane z grafami 155 Minimalne drzewa rozpinające 155 Algorytm A* 156 Problem maksymalnego przepływu 156 Zrozumienie klas złożoności problemów 157
Sygnatura czytelni BWEAiI: XII N 131
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. 148070 N (1 egz.)
Książka
W koszyku
Na okładce także nazwa wydawcy oryginału: Packt.
Dla początkujących programistów chcących pisać czysty kod w PHP.
Prezentacja czystego kodu Znaczenie czystego kodu dla zespołów Znaczenie czystego kodu we własnych projektach Zasady wzorców projektowych Zachowaj konsekwencję, a szybciej uzyskasz rezultaty O narzędziach do analizy kodu O testowaniu i jego wielu formach Programuj, nie rób akrobacji Czysty kod w PHP Uwagi na temat możliwości utrzymania kodu Używanie operatorów binarnych i zapisu ósemkowego, szesnastkowego i dwójkowego Nadawanie wartości zmiennym i stosowanie instrukcji goto Przesadne komentowanie Korzystanie z operatorów trójargumentowych Stosowanie skrótów Wprowadzanie w kodzie mikrooptymalizacji Programowanie na nowo metod z biblioteki SPL Tu chodzi o coś więcej niż sam kod PHP jako ekosystem Wybór właściwych bibliotek Parę słów o wersjonowaniu semantycznym Czym jest wersjonowanie semantyczne? Jak sobie radzić z wersjonowaniem semantycznym Stabilność kontra trendy Optymalizacja czasu pracy i rozdzielenie odpowiedzialności Konwencje nazewnicze i organizacyjne Pliki klas i interfejsów Pliki wykonywalne Elementy zawartości i zasoby sieci WWW Nazewnictwo klas, interfejsów i metod Nazewnictwo folderów Rozdzielenie odpowiedzialności Rozsyłanie zdarzeń Objaśnienie polimorfizmu — interfejsy i klasy abstrakcyjne Interfejsy Klasy abstrakcyjne PHP ewoluuje — deprecjacje i rewolucje Nowe wersje PHP w porównaniu ze starymi Ścisła kontrola typów Raportowanie błędów Atrybuty Przełom w wersji 8 Konstrukcja match Argumenty nazwane Klasy i właściwości tylko do odczytu Migrowanie zasobów do odpowiednich klas Ochrona wrażliwych argumentów przed wyciekiem Utrzymywanie jakości kodu Narzędzia jakości kodu Sprawdzanie składni i stylu kodu Linter wbudowany w PHP PHP CS Fixer: szperacz kodu Statyczna analiza kodu phpcpd — wykrywacz kopiowania i wklejania kodu PHPMD: wykrywacz bałaganu w PHP PHPStan — analizator statyczny dla języka PHP Psalm — maszyna lintująca do analizy statycznej dla PHP Rozszerzenie środowisk IDE PHP Inspections (EA Extended) Intelephense Wskaźniki jakości kodu Prezentacja wskaźników jakości kodu Aspekty jakości oprogramowania Wskaźniki jakości kodu Czysty kod w PHP Zbieranie wskaźników w PHP phploc PHP Depend PhpMetrics Zalety i wady korzystania ze wskaźników Organizacja narzędzi jakości PHP Instalowanie narzędzi jakości kodu przy użyciu menedżera Composer Instalowanie narzędzi jakości kodu z wykorzystaniem sekcji require-dev Instalacja globalna Skrypty menedżera Composer Instalowanie narzędzi jakości kodu jako plików phar Utrzymywanie plików phar w porządku Zarządzanie plikami phar przy użyciu programu Phive Dodawanie menedżera Phive do projektu Testowanie automatyczne Dlaczego potrzebujesz testów automatycznych? Łatwiejsza refaktoryzacja dzięki testom Typy testów automatycznych Testy jednostkowe Testy integracyjne Testy E2E Piramida testowa w praktyce Uwagi o pokryciu kodu Zapoznanie z pokryciem kodu Jak generować raporty o pokryciu kodu Korzystanie z adnotacji @covers Koszty błędu Prezentacja ciągłej integracji Potok budowy Integrowanie potoku z przepływem pracy Budowanie potoku w narzędziu GitHub Actions Integrowanie potoku z własnym przepływem pracy Twój lokalny potok — haki narzędzia Git Konfigurowanie haków narzędzia Git Haki narzędzia Git w praktyce Dygresja — wprowadzanie ciągłej integracji do istniejącego oprogramowania Spojrzenie na ciągłe dostarczanie Praca w zespole Standardy pisania kodu Podążanie za istniejącymi standardami Zasady pisania kodu Przeglądy kodu Czysty kod w PHP Definicja ukończenia Wnioski na temat przeglądów kodu Wzorce projektowe Zapoznanie ze wzorcami projektowymi Wzorce projektowe często spotykane w języku PHP Antywzorce Tworzenie efektywnej dokumentacji Dokumentacja dla programistów Tworzenie dokumentacji Dokumenty tekstowe Diagramy Generatory dokumentacji Dokumentacja w kodzie źródłowym Adnotacje nie są kodem Nieczytelny kod Nieaktualne komentarze Bezużyteczne komentarze Błędne lub nieprzydatne sekcje DocBlock Komentarze TODO Testy jako dokumentacja
Sygnatura czytelni BWEAiI: XII Ć 122
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. 154659 N (1 egz.)
Książka
W koszyku
C++ dla bystrzaków / Stephen R. Davis ; przekład: Michał Sternik. - Gliwice : Helion, copyright 2020. - 460 stron : ilustracje ; 23 cm.
(Dla Bystrzaków)
(Septem)
Tytuł oryginału: C++ for dummies.
Wydanie 7. odnosi się do oryginału.
Na okładce: W prostocie tkwi siła. Wprowadzenie do języka C++; programowanie funkcjonalne; używanie klas nadrzędnych i dziedziczenia.
Indeks.
CZĘŚĆ I: PODSTAWY PROGRAMOWANIA W C++ 25 Rozdział 1: Pierwszy program w C++ 27 Pojęcia dotyczące języka C++ 28 Instalacja Code::Blocks 29 Windows 29 Ubuntu Linux 32 Macintosh 34 Tworzenie pierwszego programu w C++ 37 Tworzenie projektu 38 Wprowadzanie kodu w języku C++ 39 Korzystanie ze ściągawki 41 Budowanie programu 42 Uruchamianie programu 43 Przeglądanie programu z komentarzami 44 Analiza struktury programów w C++ 45 Opatrywanie kodu źródłowego komentarzami 45 Tworzenie programów z instrukcji C++ 46 Deklaracja zmiennych 47 Generowanie wyjścia programu 48 Obliczanie wyrażeń 48 Przechowywanie wyników wyrażenia 48 Pozostała część programu Conversion 49 Rozdział 2: Stałe deklarowanie zmiennych 51 Deklaracja zmiennych 52 Deklarowanie różnych typów zmiennych 52 Przegląd ograniczeń liczb całkowitych w C++ 53 Rozwiązywanie problemu zaokrągleń 54 Ograniczenia liczb zmiennoprzecinkowych 55 Deklarowanie typów zmiennych 57 Typy stałych 58 Zakres typów liczbowych 59 Znaki specjalne 60 Szerokie ładunki na autostradzie typu Char 61 Czy te obliczenia są logiczne? 62 Wyrażenia mieszane 63 Deklaracje automatyczne 64 Rozdział 3: Operacje matematyczne 67 Wykonywanie prostych obliczeń binarnych 68 Dekomponowanie wyrażeń 69 Określanie kolejności operacji 69 Wykonywanie operacji jednoargumentowych 70 Korzystanie z operatorów przypisania 72 Rozdział 4: Operacje logiczne 75 Po co wykonujemy operacje logiczne? 76 Korzystanie z prostych operatorów logicznych 76 Przechowywanie wartości logicznych 77 Używanie logicznych zmiennych typu int 79 Zawiłości wykonywania operacji logicznych na zmiennych zmiennoprzecinkowych 79 Wyrażanie liczb binarnych 81 System liczb dziesiętnych 81 Inne systemy liczbowe 82 System liczb binarnych 82 Wykonywanie bitowych operacji logicznych 84 Operatory jednobitowe 84 Używanie operatorów bitowych 86 Prosty test 86 Rozdział 5: Sterowanie przepływem programu 89 Sterowanie przepływem programu za pomocą instrukcji rozgałęzienia 90 Wykonywanie pętli 92 Wykonywanie pętli, gdy warunek jest prawdziwy 92 Wykorzystanie autoinkrementacji i autodekrementacji 94 Pętle for 95 Unikanie budzącej strach pętli nieskończonej 98 Pętla for zależna od zakresu 98 Instrukcje zarządzania pętlami 99 Zagnieżdżanie instrukcji sterujących 102 Przełączanie na inny temat? 104 CZĘŚĆ II: PROGRAMOWANIE W C++ Z WYKORZYSTANIEM FUNKCJI 107 Rozdział 6: Tworzenie funkcji 109 Pisanie i używanie funkcji 110 Definiowanie funkcji 112 Definiowanie funkcji sumujSekwencje() 112 Wywoływanie funkcji sumujSekwencje() 113 Dziel i rządź 113 Funkcje w szczegółach 113 Funkcje proste 114 Funkcje z argumentami 115 Przeciążanie funkcji 117 Definiowanie prototypów funkcji 119 Argumenty domyślne 120 Przekazywanie przez wartość i przekazywanie przez referencję 122 Typy przechowywania zmiennych 123 Rozdział 7: Przechowywanie sekwencji w tablicach 125 Szeregowanie argumentów w tablicach 126 Korzystanie z tablic 127 Inicjowanie tablic 130 Sięganie poza zakres tablicy 131 Pętle bazujące na zakresach 131 Definiowanie i używanie tablic w tablicach 132 Korzystanie z tablic znaków 133 Tworzenie tablicy znaków 133 Tworzenie ciągu znaków 134 Manipulowanie ciągami znaków 136 Niektóre funkcje biblioteki standardowej 138 Miejsce dla ciągów złożonych z szerokich znaków 139 Rozdział 8: Wskaźniki w C++ 141 Rozmiar zmiennej 141 Czym jest adres? 143 Operatory adresu 143 Używanie wskaźników 145 Używanie różnych typów wskaźników 146 Przekazywanie wskaźników do funkcji 147 Przekazywanie przez wartość 147 Przekazywanie wartości wskaźnikowych 148 Przekazywanie przez referencję 148 Zmienne stałe 149 Korzystanie ze sterty 151 Ograniczony zasięg 151 Analiza problemu zakresu ważności 152 Użycie sterty 153 Rozdział 9: Drugie spojrzenie na wskaźniki w C++ 155 Definiowanie operacji na wskaźnikach 155 Użycie wskaźników w tablicach 156 Użycie operatorów do adresu tablicy 158 Operacje wskaźnikowe na ciągach znaków 159 Uzasadnienie użycia wskaźników 161 Stosowanie operatorów do wskaźników innych typów niż char 161 Porównanie wskaźnika z tablicą 162 Wskaźnik null 164 Deklaracja i użycie tablic wskaźników 165 Wykorzystanie tablic ciągów znaków 166 Dostęp do argumentów funkcji main() 168 Rozdział 10: Preprocesor C++ 173 Co to jest preprocesor? 173 Dołączanie plików 174 #Definiowanie 177 A może by tak nie definiować? 180 Wyliczeniowy typ danych 181 Dołączanie warunkowe z użyciem instrukcji #if 183 Obiekty zdefiniowane wewnętrznie 184 Typedef 186 CZĘŚĆ III: WPROWADZENIE DO KLAS 187 Rozdział 11: Programowanie obiektowe 189 Abstrakcyjne kuchenki mikrofalowe 189 Przygotowanie funkcjonalnego nachos 190 Przygotowywanie nachos w sposób obiektowy 191 Klasyfikacja kuchenki mikrofalowej 191 Po co klasyfikujemy przedmioty? 192 Rozdział 12: Klasy w C++ 195 Wprowadzenie do klas 195 Kształt klasy 196 Dostęp do elementów klasy 197 Aktywacja obiektów 197 Symulowanie rzeczywistych obiektów 198 Po co zawracać sobie głowę funkcjami składowymi? 198 Dodawanie funkcji składowej 199 Wywoływanie funkcji składowych 200 Dostęp do pól z funkcji składowej 202 Ustalanie zakresu 203 Definiowanie funkcji składowych w klasie 204 Umieszczanie funkcji składowych poza klasą 206 Przeciążanie funkcji składowych 208 Rozdział 13: Wskazywanie na obiekty 211 Deklarowanie tablic obiektów 211 Deklarowanie wskaźników do obiektów 212 Dereferencja wskaźnika obiektu 213 Wskazywanie w kierunku strzałek 214 Przekazywanie obiektów do funkcji 214 Wywoływanie funkcji z wartością obiektu 215 Wywoływanie funkcji ze wskaźnikiem na obiekt 216 Wywoływanie funkcji za pomocą operatora referencji 217 Po co przejmować się wskaźnikami i referencjami? 218 Zwracanie do sterty 219 Alokowanie obiektów ze sterty 220 Kiedy kompilator alokuje za Ciebie pamięć? 220 Listy 221 Wykonywanie innych operacji na listach 222 Wykorzystanie list w programie DaneListyJed 223 Promyk nadziei: lista kontenerów w bibliotece C++ 226 Rozdział 14: Chronione elementy składowe klasy 227 Ochrona składowych 227 Dlaczego potrzebujesz składowych chronionych? 228 Jak działają składowe chronione? 228 Po co chronić składowe klasy? 230 Ochrona wewnętrznego stanu klasy 230 Używanie klasy z ograniczonym interfejsem 231 Dostęp do elementów chronionych z zewnątrz 231 Rozdział 15: "Po co mnie tworzysz, skoro za chwilę chcesz mnie zniszczyć?" 235 Tworzenie obiektów 236 Korzystanie z konstruktorów 237 Konstruowanie pojedynczego obiektu 237 Konstruowanie wielu obiektów 238 Konstruowanie dupleksu 239 Dekonstrukcja obiektu 241 Do czego służy destruktor? 241 Praca z destruktorami 242 Rozdział 16: Argumenty przekazywane przez konstruktor 247 Wyposażenie konstruktorów w argumenty 248 Korzystanie z konstruktora 248 Przeciążanie konstruktora 250 Automatyczne konstruktory domyślne 253 Konstruowanie składowych klasy 255 Konstruowanie składowej typu złożonego 255 Konstruowanie składowej, która jest stałą 261 Rekonstrukcja kolejności konstruowania 261 Kolejność konstrukcji obiektów lokalnych 262 Obiekty statyczne są konstruowane tylko raz 262 Wszystkie obiekty globalne są konstruowane przed funkcją main() 263 Obiekty globalne są konstruowane bez określonej kolejności 264 Składowe są konstruowane w kolejności, w jakiej zostały zadeklarowane 265 Destruktory niszczą obiekty w kolejności odwrotnej do kolejności ich tworzenia 265 Konstruowanie tablic 265 Konstruktory jako forma konwersji 266 Rozdział 17: Konstruktory kopiujący i przenoszący 269 Kopiowanie obiektu 269 Do czego służy konstruktor kopiujący? 270 Korzystanie z konstruktora kopiującego 270 Automatyczny konstruktor kopiujący 272 Kopiowanie głębokie i kopiowanie płytkie 273 Obiekty tymczasowe 277 Trwałe unikanie obiektów tymczasowych 279 Konstruktor przenoszący 280 Rozdział 18: Składowe statyczne: czy zmiękczacz tkanin może pomóc? 283 Definiowanie składowej statycznej 284 Do czego służą składowe statyczne? 284 Używanie składowych statycznych 284 Odwoływanie się do składowych statycznych 285 Przypadki użycia składowych statycznych 287 Deklarowanie statycznych funkcji składowych 287 O czym to w ogóle jest? 290 CZĘŚĆ IV: DZIEDZICZENIE 293 Rozdział 19: Dziedziczenie 295 Czy potrzebuję dziedziczenia? 297 Jak dziedziczy klasa? 297 Używanie podklasy 299 Konstruowanie podklasy 299 Niszczenie podklasy 301 Dziedziczenie konstruktorów 301 Relacja MA 302 Rozdział 20: Wirtualne funkcje składowe. Czy są realne? 303 Do czego jest potrzebny polimorfizm? 306 Jak działa polimorfizm? 307 Kiedy funkcja nie jest wirtualna? 308 Wirtualne rozważania 310 Rozdział 21: Faktoryzacja klas 313 Faktoryzacja 314 Implementacja klas abstrakcyjnych 318 Opisywanie koncepcji klasy abstrakcyjnej 318 Tworzenie klasy konkretnej z klasy abstrakcyjnej 320 Przekazywanie klas abstrakcyjnych 320 CZĘŚĆ V: BEZPIECZEŃSTWO 323 Rozdział 22: Czy zaakceptujesz nowy operator przypisania? 325 Porównanie operatorów z funkcjami 326 Wstawianie nowego operatora 327 Tworzenie płytkich kopii to poważny problem 327 Przeciążanie operatora przypisania 329 Przeciążenie operatora indeksu 333 Konstruktor i operator przenoszący 334 Rozdział 23: Strumienie wejścia-wyjścia 337 Jak działa strumień wejścia-wyjścia? 338 Domyślne obiekty strumienia 338 Strumienie wejścia-wyjścia 340 Tryby otwierania 341 Hej, pliku, w jakim jesteś stanie? 342 Czy możesz mi pokazać przykład? 343 Inne metody klas obsługi strumieni 346 Bezpośrednie czytanie i zapisywanie strumieni 348 Zarządzanie formatem 350 O co chodzi z endl? 351 Umieszczanie wskaźnika w pliku 352 Korzystanie z podklas klasy stringstream 353 Manipulowanie manipulatorami 356 Rozdział 24: Obsługa błędów - wyjątki 359 Uzasadnienie dla nowego mechanizmu obsługi błędów 361 Działanie mechanizmu wyjątków 362 Czym można rzucać? 365 Uwaga, przechodzę! 367 Rozdział 25: Dziedziczenie wielokrotne 369 Mechanizm dziedziczenia wielokrotnego 370 Jak sobie poradzić z niejasnościami dotyczącymi dziedziczenia? 371 Dziedziczenie wirtualne 372 Konstruowanie obiektów dziedziczenia wielokrotnego 378 Wyrażanie sprzecznych opinii 379 Rozdział 26: Szablony w C++ 381 Uogólnianie funkcji do szablonu 382 Szablony klas 384 Wskazówki dotyczące korzystania z szablonów 387 Instancje szablonów zewnętrznych 388 Implementowanie listy inicjalizacyjnej 388 Rozdział 27: Standaryzacja w bibliotece STL 391 Kontener typu string 392 Iterowanie po listach 397 Przeglądanie listy 398 Operacje na całej liście 400 Czy możesz mi pokazać przykład? 400 Rozdział 28: Pisanie bezpiecznego kodu 403 Motywy działania hakerów 404 Na czym polega wstrzyknięcie kodu? 406 Przykładowe wstrzyknięcie SQL 406 Unikanie wstrzykiwania kodu 408 Przepełnianie bufora dla zabawy i zysku 409 Czy mogę zobaczyć przykład? 410 Hakerskie wykorzystanie przepełnienia bufora 412 Unikanie przepełnienia bufora - pierwsza próba 416 Unikanie przepełnienia bufora - druga próba 418 Kolejna zaleta klasy string 420 Dlaczego nie zawsze należy używać klasy string? 422 CZĘŚĆ VI: DEKALOGI 425 Rozdział 29: Dziesięć sposobów na zapobieganie błędom 427 Włączaj wszystkie ostrzeżenia i komunikaty o błędach 427 Koduj w jasnym i spójnym stylu 428 Ograniczaj widoczność 429 Dodawaj komentarze do kodu w trakcie pisania 430 Wykonuj krok po kroku każdą ścieżkę przynajmniej raz 431 Unikaj przeciążania operatorów 431 Zarządzaj stertą systematycznie 431 Używaj wyjątków do obsługi błędów 432 Deklaruj wirtualne destruktory 432 Unikaj dziedziczenia wielokrotnego 434 Rozdział 30: Dziesięć sposobów na ochronę programów przed hakerami 435 Nie zakładaj niczego w odniesieniu do danych wprowadzanych przez użytkowników 436 Obsługuj awarie z wdziękiem 437 Zapisuj logi programu 438 Postępuj zgodnie z dobrymi zasadami wytwarzania oprogramowania 439 Wdrożenie kontroli wersji 440 Bezpiecznie uwierzytelniaj użytkowników 441 Zarządzaj zdalnymi sesjami 444 Zaciemniaj swój kod 445 Podpisz swój kod za pomocą certyfikatu cyfrowego 448 Użyj bezpiecznego szyfrowania wszędzie tam, gdzie jest to konieczne 449
Sygnatura czytelni BWEAiI: XII Ł 192
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. 149926 N (1 egz.)
Książka
W koszyku
Na okładce nazwa wydawcy oryginału: Packt.
Indeks.
Rozdział 1. Przygotowanie środowiska Dwóch graczy, jeden cel Rewolucja ASP.NET Co nowego w Angularze? Podejście od początku do końca Aplikacja typu SPA Typowe funkcjonalności nowoczesnych aplikacji SPA Oczekiwania właściciela produktu Projekt przykładowej aplikacji SPA Wizja To nie będzie typowa aplikacja Witaj, świecie Aplikacja TestMakerFree Podstawowe funkcjonalności i wymagania Przygotowanie środowiska pracy Uwaga pomyśl, zanim to zrobisz Mit niedziałającego kodu Pozostań otwarty na nowości, ale wprowadzaj je odpowiedzialnie Wersje narzędzi i bibliotek Konfiguracja projektu Alternatywna konfiguracja z wykorzystaniem wiersza poleceń Test konfiguracji środowiska Poznawanie projektu Pliki konfiguracyjne Plik Program.cs Plik Startup.cs Plik appsettings.json Plik package.json Aktualizacja (lub dezaktualizacja) Angulara Aktualizacja (lub dezaktualizacja) pozostałych pakietów Plik tsconfig.json Pliki konfiguracyjne narzędzia Webpack Aktualizacja pliku webpack.config.js Uaktualnienie pliku webpack.config.vendor.js Dlaczego warto korzystać z dynamicznego mechanizmu pakowania modułów? Odświeżenie plików generowanych przez Webpack Kod po stronie serwerowej Plik Controllers/HomeController.cs Plik Controllers/SampleDataController.cs Folder /Views/ Kod po stronie klienckiej Folder /ClientApp/app/ Przygotowanie projektu Pamięć podręczna i pliki statyczne Mechanizm stosowany w przeszłości Powrót do przyszłości Czas na test Podejście z użyciem silnego typowania Czyszczenie aplikacji klienckiej Ograniczenie liczby komponentów Klasy AppModule Aktualizacja NavMenu Rozdział 2. Część serwerowa wykorzystująca .NET Core Przepływ danych Zadania modelu widoku Pierwszy model widoku Klasa QuizViewModel Klasa QuizController Dodatkowe metody akcji Metoda ByTitle Metoda Random() Sprawdzenie, czy wszystko działa Dodawanie pozostałych kontrolerów Klasa QuestionViewModel Klasa QuestionController Klasa AnswerViewModel Klasa AnswerController Klasa ResultViewModel Klasa ResultController Działanie routingu Definiowanie routingu Routing dawniej i dziś Obsługa routingu w .NET Core Trzy sposoby routingu Dodawanie nowych ścieżek Atrapa dostawcy danych Obsługa pojedynczych elementów Rozdział 3. Część kliencka korzystająca z frameworka Angular Wzorzec nawigacji Powiązanie ogół-szczegóły Kliencka część interfejsu dotyczącego quizu Komponent QuizListComponent Nowa klasa HttpClient Porównanie ze starszym standardem Jak zainstalować klasę HttpClient? Jak jej użyć? Wstrzyknięcie jako zależności Pobranie i subskrypcja Metoda onSelect() Plik szablonu Plik arkusza stylów Dodanie komponentu Plik modułu (klasa AppModule) Szablon komponentu HomeComponent Test Klasa QuizComponent Dodanie plików komponentu Dodanie komponentu Test Dołączanie dodatkowych list Wiele instancji jednego komponentu Testowanie i debugowanie Interfejs OnInit i zdarzenia cyklu życia Implementacja metody ngOnInit Testowanie poprawionej wersji Dwukierunkowe dowiązanie danych Wyłączenie dwukierunkowego dowiązania danych Routing po stronie klienckiej Strategie PathLocationStrategy i HashLocationStrategy Refaktoryzacja aplikacji Rejestracja nowej ścieżki Aktualizacja komponentu QuizComponent Pobranie identyfikatora quizu Dodanie obiektu HttpClient Pobieranie danych Aktualizacja komponentu QuizListComponent Test routingu Dodanie nowych komponentów Komponent AboutComponent Komponent LoginComponent Komponent PageNotFoundComponent Aktualizacja klasy AppModule Test całej aplikacji Rozdział 4. Model danych wykorzystujący Entity Framework Core Przygotowania Instalacja Entity Framework Core Podejścia do modelowania danych Najpierw model Najpierw baza danych Najpierw kod Podjęcie decyzji Tworzenie encji Klasa ApplicationUser Klasa Quiz Klasa Question Klasa Answer Klasa Result Definiowanie relacji Wzorzec leniwego wczytywania danych w relacjach jeden-do-wielu Konfiguracja obiektu DbContext Strategie inicjalizacji bazy danych Wybór bazy danych Aktualizacja pliku appsettings.json Tworzenie bazy danych Aktualizacja pliku Startup.cs Dodanie migracji początkowej Błąd braku pliku Działanie mechanizmu migracji Implementacja wypełniania bazy danymi Utworzenie klasy DbSeeder Użycie DbSeeder w Startup.cs Wypełnienie bazy danymi początkowymi Aktualizacja klasy QuizController Narzędzie Mapster Instalacja Podstawy użycia Aktualizacja klasy Testowanie dostawcy danych Rozdział 5. Interakcje po stronie klienckiej Dodawanie, aktualizacja i usuwanie quizów Aktualizacja klasy QuizController Dostosowanie części klienckiej Dodanie komponentu QuizEditController Aktywacja trybu edycji Obsługa zdarzeń lub linki routera Dodanie ścieżki edycji Implementacja funkcjonalności usuwania Kilka słów o obiektach Observable Pierwszy test poważnej interakcji klienta z serwerem Przepływ komunikacji między klientem i serwerem Pytania, odpowiedzi i wyniki Zadania po stronie serwerowej Klasa QuestionController Klasa AnswerController Klasa ResultController Klasa BaseApiController Zastosowanie klasy BaseApiController Zadania po stronie klienckiej Dodanie interfejsów Komponent QuestionListComponent Wprowadzenie do metody ngOnChanges() Dlaczego powinniśmy się tym przejmować? Plik szablonu Dodanie referencji Komponent QuestionEditComponent Referencje i routing Komponent AnswerListComponent Komponent AnswerEditComponent Plik szablonu Referencje i routing Komponent ResultListComponent Referencje i routing Komponent ResultEditComponent Pełnowymiarowy test aplikacji Rozdział 6. Arkusze stylów i układ interfejsu graficznego Czy jest aż tak źle? Wprowadzenie do LESS Języki arkuszy stylów CSS Przykładowy kod CSS Czym jest LESS i dlaczego warto go używać? Zmienne Dyrektywy importu Zagnieżdżanie selektorów Domieszki (mixin) Pseudoklasa :extend Dokumentacja LESS Sass, Stylus i inne możliwości Implementacja LESS Instalacja kompilatora LESS Kompilacja plików LESS za pomocą narzędzia Webpack Samodzielne definiowanie stylów kontra użycie frameworka CSS Podejście zróbmy wszystko sami Zalety Wady Podejście wykorzystujące framework CSS Zalety Wady Wnioski Praca z Bootstrapem Zmiana motywu Przebudowanie plików dystrybucyjnych zewnętrznych dostawców Usunięcie folderu /wwwroot/dist/ Uaktualnienie pliku .csproj Utworzenie pliku update-webpack.bat Sprawdzenie nowego motywu Zmiana struktury interfejsu użytkownika Komponent AppComponent Komponent NavMenuComponent Komponent QuizSearchComponent Rejestracja komponentu QuizSearchComponent Plik SVG z logo Szybki test Stylowanie komponentów Enkapsulacja CSS Wbudowana enkapsulacja wykorzystująca Shadow DOM Wyłączenie enkapsulacji Komponent HomeComponent Komponent QuizListComponent Następny test interfejsu użytkownika Komponent QuizComponent Test interfejsu użytkownika Komponent QuizEditComponent Komponenty pytania, odpowiedzi i wyniku Przyciski i ikony Tabele i elementy div Formularze i pola tekstowe Całościowy test zmian interfejsu Rozdział 7. Formularze i weryfikacja danych Walidacja danych Formularze we frameworku Angular Formularze sterowane szablonami Zalety Wady Formularze sterowane modelem Pierwszy reaktywny formularz Dodanie referencji do ReactiveFormsModule Uaktualnienie komponentu QuizEditComponent Dodanie walidatorów Dodanie skrótów Uaktualnienie komponentów Komponent QuestionEditComponent Komponent AnswerEditComponent Komponent ResultEditComponent Debugowanie i testowanie Jak wygląda model formularza? Operator potoku Reagowanie na zmiany Obserwowanie obiektu Observable Rozbudowa dziennika aktywności Debugowanie po stronie klienta Testy jednostkowe formularzy Rozdział 8. Uwierzytelnianie i autoryzacja Uwierzytelniać czy tego nie robić? Uwierzytelnianie Uwierzytelnianie przy udziale strony trzeciej Wzlot i upadek OpenID OpenID Connect Autoryzacja Autoryzacja przy udziale strony trzeciej Rozwiązania własne czy firm trzecich? Mechanizmy uwierzytelniania wbudowane w .NET Core Konfiguracja .NET Core Identity Konfiguracja usługi Identity Klasa ApplicationUser jako klasa potomna Uaktualnienie klasy DbContext Modyfikacja klasy DbSeeder Kilka słów na temat zadań asynchronicznych i blokad wzajemnych Aktualizacja bazy danych Dodanie migracji dotyczącej usługi Identity Zastosowanie migracji Opcja 1. aktualizacja Opcja 2. usunięcie i ponowne utworzenie Wypełnienie bazy danymi Sposoby uwierzytelniania Sesje Tokeny Sygnatury Uwierzytelnianie dwuetapowe Wnioski Implementacja uwierzytelniania JWT Dodanie usługi uwierzytelniania do klasy startowej Aktualizacja plików AppSettings Klasa TokenController Aktualizacja klasy BaseApiController Aktualizacja kontrolerów dziedziczących po klasie bazowej Dodanie klasy TokenController Klasa TokenRequestViewModel Klasa TokenResponseViewModel Test narzędziem Postman Formularz logowania w Angularze Interfejs TokenResponse Klasa AuthService Aktualizacja klasy AppModule Nowa wersja komponentu LoginComponent Pierwszy test logowania Dodanie tokena do nagłówka żądania HTTP Klasa AuthInterceptor Dodanie AuthInterceptor do AppModule Wymuszenie autoryzacji Dostosowanie klienta Komponent NavMenuComponent Komponent QuizComponent Ochrona serwera Pobranie identyfikatora aktualnego użytkownika Sprawdzenie uwierzytelniania na styku klient-serwer Rozdział 9. Tematy zaawansowane Wygasanie tokena i tokeny odświeżania Czym jest token odświeżania? Zadania po stronie serwerowej Dodanie encji dla tokena Aktualizacja encji użytkownika Aktualizacja ApplicationDbContext Przygotowanie i zastosowanie migracji w EF Core Implementacja tokena odświeżania Aktualizacja klasy TokenResponseViewModel Aktualizacja klasy TokenRequestViewModel Aktualizacja klasy TokenController Zadania po stronie klienckiej Aktualizacja interfejsu TokenResponse Aktualizacja klasy AuthService Dodanie klasy AuthResponseInterceptor Dodanie nowej klasy AuthResponseInterceptor do AppModule Test działania aplikacji Rejestracja nowego użytkownika Zadania po stronie serwerowej Klasa UserController Klasa UserViewModel Zadania po stronie klienckiej Interfejs User Klasa RegisterComponent Własne walidatory Pliki szablonu i arkusza stylów Plik AppModule Komponent LoginComponent Komponent NavMenu Test działania aplikacji Uwierzytelnianie dzięki firmom trzecim Działanie uwierzytelniania OAuth2 Mechanizm jawny czy niejawny? Zalety i wady podejścia niejawnego Zalety i wady podejścia jawnego Wnioski Logowanie do Facebooka Tworzenie aplikacji Facebooka Mechanizm niejawny Aktualizacja klasy TokenController Dodanie metody GenerateRandomPassword() Dodanie komponentu LoginFacebookComponent Działanie stref Dodanie pliku szablonu Aktualizacja AppModule Użycie komponentu LoginFacebookComponent Test działania aplikacji Mechanizm jawny Instalacja pakietu Authentication.Facebook Konfiguracja usługi uwierzytelniania poprzez Facebooka Aktualizacja pliku appsettings.json Aktualizacja klasy TokenController Metoda ExternalLogin Dodanie klasy SignInManager Metoda ExternalLoginCallback Komponent LoginExternalProvider Aktualizacja AppModule Użycie komponentu LoginExternalProvidersComponent Test działania aplikacji Rozdział 10. Prace wykończeniowe i wdrożenie Przejście na SQL Server Instalacja SQL Server 2017 Express Edition Instalacja SQL Server Management Studio Konfiguracja bazy danych Zmiana sposobu uwierzytelniania Dodanie bazy danych TestMakerFree Dodanie nowego użytkownika dla bazy danych Powiązanie loginu z bazą danych Dodanie konfiguracji połączenia z bazą SQL Server Modyfikacja konfiguracji połączenia z bazą danych Dodanie produkcyjnego adresu URL u zewnętrznych dostawców Aktualizacja pliku launchSettings.json Publikacja aplikacji internetowej Tworzenie profilu publikacji Publikacja poprzez protokół FTP Profil publikacji do folderu Publikacja aplikacji internetowej Konfiguracja serwera i IIS Instalacja modułu ASP.NET Core dla IIS Dodanie nowej witryny Konfiguracja puli aplikacji Uruchamianie silnika Analiza typowych błędów po wdrożeniu Przeanalizowanie komunikatu w przeglądarce Plik web.config Narzędzie Event Viewer Moduł logowania w ASP.NET Core Sprawdzenie serwera Kestrel Uruchomienie serwera Kestrel w Visual Studio Wyłączenie renderowania po stronie serwera
Sygnatura czytelni BWEAiI: XII E 105
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. 147410 (1 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 147026 N (1 egz.)
Książka
W koszyku
W książce także ISBN oryginału.
Bibliografia, netografia na stronach 549-551. Indeks.
Dla średniozaawansowanych programistów języków obiektowych.
Część 1 UmiejsCowienie wstrzykiwania zależnośCi na mapie 1 Podstawy Wstrzykiwania zależności: co, jak i dlaczego 1.1. Pisanie utrzymywalnego kodu Powszechne mity na temat DI Rozumienie celu DI 1.2. Prosty przykład: Hello DI! Kod Hello DI! Korzyści (płynące) z DI 1.3. Co wstrzykiwać, a czego nie wstrzykiwać STABILNE ZALEŻNOŚCI NIESTABILNE ZALEŻNOŚCI 1.4. Zakres DI KOMPOZYCJA OBIEKTOWA CYKL ŻYCIA OBIEKTU PRZECHWY-TYWANIE DI w trzech wymiarach 1.5. Konkluzje 2 Pisanie ściśle powiązanego kodu 2.1. Budowanie ściśle powiązanej aplikacji Poznajmy Mary Rowan Tworzenie warstwy danych Tworzenie warstwy domeny Tworzenie warstwy interfejsu użytkownika 2.2. Ocena aplikacji ściśle powiązanej Ocena grafu zależności Ocena tworzenia strukturalności 2.3. Analiza braku strukturalności Analiza wykresu zależności Analiza interfejsu dostępu do danych Inne kwestie 2.4. Konkluzja 3 Pisanie luźno powiązanego kodu 3.1. Ponowne budowanie aplikacji e-commerce Budowanie bardziej utrzymywanego UI Budowanie niezależnego modelu domeny Budowanie nowej warstwy dostępu do danych Implemen-tacja Adaptera IUserContext specyficznego dla ASP.NET Core Tworzenie aplikacji w PODSTAWIE KOMPOZYCJI 3.2. Analiza luźno powiązanej implementacji Zrozumienie interakcji między komponentami Analizowanie nowego grafu zależności Część 2 katalog 4 Wzorce DI 4.1. PODSTAWA KOMPOZYCJI Jak działa PODSTAWA KOMPOZYCJI Użycie KONTENERA DI w PODSTAWIE KOMPOZYCJI Przykład: Implementowanie PODSTAWY KOMPOZYCJI przy użyciu CZYSTEGO DI Pozorna eksplozja zależności 4.2. WSTRZYKIWANIE KONSTRUKTOREM Jak działa WSTRZYKIWANIE KONSTRUKTOREM Kiedy używać WSTRZYKIWANIA KONSTRUKTOREM Znany sposób użycia WSTRZYKIWANIA KONSTRUKTOREM Przykład: Dodawanie przeliczania walut do wyróżnionych produktów 4.3. WSTRZYKIWANIE METODĄ Jak działa WSTRZYKIWANIE METODĄ Kiedy używać WSTRZYKIWANIA METODĄ Znany sposób użycia WSTRZYKIWANIA METODĄ Przykład: Dodawanie przewalutowania do ENCJI Product 4.4. WSTRZYKIWANIE WŁAŚCIWOŚCIĄ Jak działa WSTRZYKIWANIE WŁAŚCIWOŚCIĄ Kiedy używać WSTRZYKIWANIA WŁAŚCIWOŚCIĄ Znane zastosowania WSTRZYKIWANIA WŁAŚCIWOŚCIĄ Przykład: WSTRZYKIWANIE WŁAŚCIWOŚCIĄ jako model rozszerzalności biblioteki do ponownego użycia 4.5. Wybieranie wzorca (do pracy) 5 Antywzorce DI 5.1. ANTYWZORZEC CONTROL FREAK Przykład: CONTROL FREAK przez nowo powstające ZALEŻNOŚCI Przy-kład: CONTROL FREAK przez fabryki Przykład: CONTROL FREAK przez przeciążone konstruktory Analiza CONTROL FREAK 5.2. LOKALIZATOR USŁUG Przykład: ProductService przy użyciu LOKALIZATORA USŁUG Analiza LOKALIZATORA USŁUG 5.3. KONTEKST OTOCZENIA Przykład: Dostęp do czasu przez KONTEKST OTOCZENIA Przykład: Logowanie przez KONTEKST OTOCZENIA Analiza KONTEKSTU OTOCZENIA 5.4. Antywzorzec OGRANICZONEJ KONSTRUKCJI Przykład: Późne wiązanie ProductRepository Analiza OGRANICZONEJ KONSTRUKCJI 6 Zapachy kodu 6.1. Radzenie sobie z zapachem kodu Przesadnego Wstrzykiwania Konstruktorem Rozpoznawanie Przesadnego Wstrzykiwania Konstruktorem Refaktorowanie z Przesadnego Wstrzykiwania Konstruktorem do Usług fasadowych Refaktorowanie z Przesadnego Wstrzykiwania Konstruktorem do zdarzeń domeny 6.2. Nadużywanie Fabryk abstrakcyjnych Nadużywanie Fabryk abstrakcyjnych do pokonania problemów cyklu życia Nadużywanie Fabryk abstrakcyjnych do wybierania ZALEŻNOŚCI na podstawie danych czasu wykonania 6.3. Naprawianie cyklicznych ZALEŻNOŚCI Przykład: Cykliczne ZALEŻNOŚCI spowodowane naruszeniem SRP Analiza cyklu ZALEŻNOŚCI Mary 215 Refaktoring naruszeń SRP, aby rozwiązać cykl ZALEŻNOŚCI Powszechne strategie przerywania cyklów ZALEŻNOŚCI Ostateczność: przerwanie cyklu za pomocą WSTRZYKIWANIA WŁAŚCIWOŚCIĄ Część 3 Czyste Di 7 Kompozycja aplikacji 7.1. Komponowanie aplikacji konsolowej Przykład: Uaktualnienie kursu walut przy użyciu programu UpdateCurrency Budowanie PODSTAWY KOMPOZYCJI programu UpdateCurrency Komponowanie grafów obiektów w CreateCurrencyParser Głębsze spojrzenie na warstwy UpdateCurrency 7.2. Komponowanie aplikacji UWP Kompozycja UWP Przykład: Podłączanie aplikacji typu gruby klient do zarządzania Produktami Implementowanie PODSTAWY KOMPOZYCJI w aplikacji UWP 7.3. Komponowanie aplikacji ASP.NET Core MVC Tworzenie własnego aktywatora kontrolera Konstruowanie własnej warstwy middleware przy użyciu CZYSTEGO DI 8 Cykl życia obiektu 8.1. Zarządzanie CYKLEM ŻYCIA ZALEŻNOŚCI Wprowadzenie ZARZĄDZANIA CYKLEM ŻYCIA Zarządzanie cyklem życia przy użyciu CZYSTEGO DI 8.2. Pracowanie z usuwalnymi ZALEŻNOŚCIAMI Konsumowanie usuwalnych ZALEŻNOŚCI Zarządzanie usuwalnymi ZALEŻNOŚCIAMI 8.3. Katalog STYLÓW ŻYCIA STYL ŻYCIA SINGLETON PRZEJŚCIOWY STYL ŻYCIA ZAKRESOWY STYL ŻYCIA 8.4. Złe wybory STYLU ŻYCIA POJMANE ZALEŻNOŚCI Wybór STYLU ŻYCIA wyciekający do klas konsumujących przez CIEKNĄCE ABSTRAKCJE Powodowanie błędów współbieżności przez łączenie instancji z cyklem życia jednego wątku 9 Przechwytywanie 9.1. Przedstawienie PRZECHWYTYWANIA Wzorzec projektowy dekorator Przykład: Implementowanie audytowania przy użyciu Dekoratora 9.2. Implementowanie ZAGADNIEŃ PRZEKROJOWYCH Przechwytywanie za pomocą wzorca Bezpiecznik Raportowanie wyjątków przy użyciu wzorca Dekorator Zapobieganie nieautoryzowanemu dostępowi do wrażliwej funkcjonalności przy użyciu Dekoratora 10 Rozmyślne Programowanie Aspektowe 10.1.Wprowadzenie do AOP 10.2.Zasady SOLID ZASADA POJEDYNCZEJ ODPOWIEDZIALNOŚCI (SRP) ZASADA OTWARTE/ZAMKNIĘTE (OCP ZASADA PODSTAWIENIA LISKOV (LSP) ZASADA SEGREGACJI INTERFEJSÓW (ISP) ZASADA OD-WRÓCENIA ZALEŻNOŚCI (DIP) Zasady SOLID aPRZECHWYTYWANIE 10.3.SOLID jako sterownik dla AOP Przykład: Implementowanie funkcjonalności związanych z produktem przy użyciu IProductService Analiza IProductService z perspektywy SOLID Ulepszanie projektu przez zastosowanie zasad SOLID Dodanie większej liczby ZAGADNIEŃ PRZEKROJOWYCH 11 Programowanie Aspektowe oparte na narzędziach 11.1.Dynamiczne PRZECHWYTYWANIE Przykład: PRZECHWYTYWANIE za pomocą Castle Dynamic Proxy Analiza dynamicznego PRZECHWYTYWANIA 11.2.Tkanie w czasie kompilacji Przykład: Zastosowanie aspektu transakcji przy użyciu tkania w czasie kompilacji Analiza tkania w czasie kompilacji Część 4 kontenery Di 12 Wprowadzenie do Kontenera DI 12.1.Wprowadzenie do KONTENERÓW Odkrywanie API kontenerów rozwiązującego ZALEŻNOŚCI AUTOMATYCZNE PODŁĄCZANIE Przykład: Implementowanie uproszczonego KONTENERA DI, który wspiera AUTOMATYCZNE PODŁĄCZANIE 12.2.Konfigurowanie KONTENERÓW DI Konfigurowanie kontenerów za pomocą plików konfiguracyjnych Kontenery konfiguracyjne przy użyciu KONFIGURACJI JAKO KODU Konfigurowanie kontenerów przez konwencję przy użyciu AUTOREJESTRACJI Mieszanie i dopasowywanie podejść konfiguracji 12.3.Kiedy używać KONTENERA DI Używanie bibliotek trzecich oznacza koszty i ryzyko CZYSTE DI daje krótszy cykl feedbacku Werdykt: kiedy używać KONTENERA DI 13 Kontener DI Autofac 13.1.Wprowadzenie do Autofac Rozwiązywanie obiektów Konfigurowanie ContainerBuilder 13.2.Zarządzanie cyklem życia Konfigurowanie zakresów instancji Zwalnianie komponentów 13.3.Rejestrowanie trudnych API Konfigurowanie prymitywnych ZALEŻNOŚCI Rejestrowanie obiektów za pomocą bloków kodu 13.4.Praca z licznymi komponentami Wybieranie wśród wielu kandydatów Podłączenie sekwencji Podłączanie Dekoratorów 14. Kontener DI Simple Injector Pisanie Kompozytów 14.1. Wprowadzenie do Simple Injector Tworzenie obiektów Konfigurowanie kontenera 14.2. Zarządzanie cyklem życia Konfigurowanie STYLÓW ŻYCIA Zwalnianie komponentów Zakresy otoczenia Diagnozowanie kontenera pod kątem częstych problemów cyklu życia 14.3. Rejestrowanie trudnych API Konfigurowanie prymitywnych ZALEŻNOŚCI Wyciąganie prymitywnych ZALEŻNOŚCI do Obiektów Parametrów Rejestrowanie obiektów za pomocą bloków kodu 14.4. Praca z licznymi komponentami Wybieranie spośród licznych kandydatów Podłączanie sekwencji Podłączanie Dekoratorów Podłączanie Kompozytów Sekwencje są strumieniami 15 Kontener DI Microsoft.Extensions.DependencyInjection 15.1.Wprowadzenie do Microsoft.Extensions.DependencyInjection Rozwiązywanie obiektów Konfigurowanie ServcieCollection 15.2.Zarządzanie cyklem życia Konfigurowanie STYLÓW ŻYCIA Zwalnianie komponentów 15.3.Rejestrowanie trudnych API Konfigurowanie prymitywnych ZALEŻNOŚCI Wyciąganie prymitywnych ZALEŻNOŚCI do Obiektów Parametru Rejestrowanie obiektów za pomocą bloków kodu 15.4.Praca z licznymi komponentami Wybieranie wśród licznych kandydatów Podłączanie sekwencji Podłączanie Dekoratorów Podłączanie Kompozytów
Sygnatura czytelni BWEAiI: XII Ł 198
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. 150531 N (1 egz.)
Książka
W koszyku
Na stronie tytułowej i okładce: Wydanie 4 - dotyczy wydania oryginału.
Indeks.
Wprowadzenie w świat obiektów (37) Postępująca abstrakcja (38) Obiekt posiada interfejs (40) Obiekt dostarcza usługi (42) Ukrywanie implementacji (43) Wielokrotne wykorzystanie implementacji (44) Dziedziczenie (45) "Bycie czymś" a "bycie podobnym do czegoś" (48) Wymienialność obiektów z użyciem polimorfizmu (49) Hierarchia z pojedynczym korzeniem (52) Kontenery (53) Typy parametryzowane (typy ogólne) (54) Tworzenie obiektów i czas ich życia (55) Obsługa wyjątków - eliminowanie błędów (57) Współbieżność (57) Java i Internet (58) Czym jest sieć WWW? (58) Programowanie po stronie klienta (60) Programowanie po stronie serwera (65) Wszystko jest obiektem (67) Dostęp do obiektów poprzez referencje (67) Wszystkie obiekty trzeba stworzyć (68) Gdzie przechowujemy dane (69) Przypadek specjalny: typy podstawowe (70) Tablice w Javie (71) Nigdy nie ma potrzeby niszczenia obiektu (72) Zasięg (72) Zasięg obiektów (73) Własne typy danych - słowo class (74) Pola i metody (74) Metody, argumenty i wartości zwracane (76) Lista argumentów (76) Tworzenie programu w Javie (78) Widoczność nazw (78) Wykorzystanie innych komponentów (78) Słowo kluczowe static (79) Twój pierwszy program w Javie (81) Kompilacja i uruchomienie (83) Komentarze oraz dokumentowanie kodu (84) Dokumentacja w komentarzach (84) Składnia (85) Osadzony HTML (86) Niektóre znaczniki dokumentacyjne (86) Przykład dokumentowania kodu (88) Styl programowania (89) Operatory (93) Prosta instrukcja wyjścia (93) Używanie operatorów Javy (94) Kolejność operatorów (95) Przypisanie (95) Tworzenie nazw w wywołaniach metod (97) Operatory matematyczne (98) Jednoargumentowe operatory minus i plus (100) Operatory zwiększania i zmniejszania (100) Operatory relacji (101) Sprawdzanie równości obiektów (101) Operatory logiczne (103) Skracanie obliczenia wyrażenia logicznego (104) Literały (105) Zapis wykładniczy (106) Operatory bitowe (108) Operatory przesunięć (109) Operator trójargumentowy if-else (112) Operatory + i += dla klasy String (113) Najczęstsze pułapki przy używaniu operatorów (114) Operatory rzutowania (115) Obcinanie a zaokrąglanie (116) Promocja typu (117) W Javie nie ma "sizeof" (117) Kompendium operatorów (118) Sterowanie przebiegiem wykonania (127) Prawda i fałsz (127) if-else (128) Iteracja (129) do-while (129) for (130) Operator przecinka (131) Składnia foreach (132) return (134) break i continue (135) Niesławne "goto" (136) switch (140) Inicjalizacja i sprzątanie (143) Gwarantowana inicjalizacja przez konstruktor (143) Przeciążanie metod (145) Rozróżnianie przeciążonych metod (147) Przeciążanie a typy podstawowe (148) Przeciążanie przez wartości zwracane (151) Konstruktory domyślne (152) Słowo kluczowe this (153) Wywoływanie konstruktorów z konstruktorów (155) Znaczenie słowa static (157) Sprzątanie: finalizacja i odśmiecanie pamięci (157) Do czego służy finalize() (158) Musisz przeprowadzić sprzątanie (159) Warunek zakończenia (160) Jak działa odśmiecacz pamięci (161) Inicjalizacja składowych (164) Określanie sposobu inicjalizacji (166) Inicjalizacja w konstruktorze (167) Kolejność inicjalizacji (167) Inicjalizacja zmiennych statycznych (168) Jawna inicjalizacja statyczna (171) Inicjalizacja egzemplarza (172) Inicjalizacja tablic (173) Zmienne listy argumentów (177) Typy wyliczeniowe (182) Kontrola dostępu (187) Pakiet - jednostka biblioteczna (188) Organizacja kodu (189) Tworzenie unikatowych nazw pakietów (191) Własna biblioteka narzędziowa (194) Wykorzystanie instrukcji import do zmiany zachowania (196) Pułapka związana z pakietami (196) Modyfikatory dostępu w Javie (196) Dostęp pakietowy (197) public: dostęp do interfejsu (198) private: nie dotykać! (199) protected: dostęp "na potrzeby" dziedziczenia (200) Interfejs i implementacja (202) Dostęp do klas (203) Wielokrotne wykorzystanie klas (209) Składnia kompozycji (210) Składnia dziedziczenia (212) Inicjalizacja klasy bazowej (214) Delegacje (217) Łączenie kompozycji i dziedziczenia (218) Zapewnienie poprawnego sprzątania (220) Ukrywanie nazw (223) Wybór między kompozycją a dziedziczeniem (225) protected (226) Rzutowanie w górę (227) Dlaczego "w górę" (228) Jeszcze o kompozycji i dziedziczeniu (229) Słowo kluczowe final (229) Zmienne finalne (229) Metody finalne (233) Klasy finalne (235) Ostrożnie z deklaracją final (236) Inicjalizacja i ładowanie klas (237) Inicjalizacja w przypadku dziedziczenia (238) Polimorfizm (241) Rzutowanie w górę raz jeszcze (242) Zapominanie o typie obiektu (243) Mały trik (244) Wiązanie wywołania metody (245) Uzyskiwanie poprawnego działania (245) Rozszerzalność (248) Pułapka: "przesłanianie" metod prywatnych (251) Pułapka: statyczne pola i metody (252) Konstruktory a polimorfizm (253) Kolejność wywołań konstruktorów (253) Dziedziczenie a sprzątanie (255) Zachowanie metod polimorficznych wewnątrz konstruktorów (260) Kowariancja typów zwracanych (262) Projektowanie z użyciem dziedziczenia (263) Substytucja kontra rozszerzanie (264) Rzutowanie w dół a identyfikacja typu w czasie wykonania (265) Interfejsy (269) Klasy i metody abstrakcyjne (269) Interfejsy (273) Rozdzielenie zupełne (276) "Dziedziczenie wielobazowe" w Javie (280) Rozszerzanie interfejsu poprzez dziedziczenie (283) Kolizje nazw podczas łączenia interfejsów (284) Adaptowanie do interfejsu (285) Pola w interfejsach (287) Inicjalizacja pól interfejsów (288) Zagnieżdżanie interfejsów (289) Interfejsy a wytwórnie (291) Klasy wewnętrzne (295) Tworzenie klas wewnętrznych (295) Połączenie z klasą zewnętrzną (297) .this i .new (299) Klasy wewnętrzne a rzutowanie w górę (300) Klasy wewnętrzne w metodach i zasięgach (302) Anonimowe klasy wewnętrzne (304) Jeszcze o wzorcu Factory Method (308) Klasy zagnieżdżone (310) Klasy wewnątrz interfejsów (312) Sięganie na zewnątrz z klasy wielokrotnie zagnieżdżonej (313) Dlaczego klasy wewnętrzne (314) Domknięcia i wywołania zwrotne (316) Klasy wewnętrzne a szkielety sterowania (319) Dziedziczenie po klasach wewnętrznych (325) Czy klasy wewnętrzne mogą być przesłaniane? (326) Lokalne klasy wewnętrzne (327) Identyfikatory klas wewnętrznych (329) Kolekcje obiektów (331) Kontenery typowane i uogólnione (332) Dodawanie grup elementów (337) Wypisywanie zawartości kontenerów (339) Interfejs List (341) Interfejs Iterator (345) Interfejs ListIterator (348) Klasa LinkedList (349) Klasa Stack (350) Interfejs Set (352) Interfejs Map (355) Interfejs Queue (359) PriorityQueue (360) Collection kontra Iterator (362) Iteratory a pętle foreach (365) Idiom metody-adaptera (367) Obsługa błędów za pomocą wyjątków (375) Zarys koncepcji (376) Podstawy obsługi wyjątków (377) Argumenty wyjątków (378) Przechwytywanie wyjątku (379) Blok try (379) Obsługa wyjątków (379) Tworzenie własnych wyjątków (380) Rejestrowanie wyjątków (383) Specyfikacja wyjątków (386) Przechwytywanie dowolnego wyjątku (387) Stos wywołań (389) Ponowne wyrzucanie wyjątków (389) Sekwencje wyjątków (392) Standardowe wyjątki Javy (395) Przypadek specjalny: RuntimeException (396) Robienie porządków w finally (397) Do czego służy finally (399) Współdziałanie finally z return (401) Pułapka: zagubiony wyjątek (402) Ograniczenia wyjątków (404) Konstruktory (407) Dopasowywanie wyjątków (411) Rozwiązania alternatywne (413) Historia (414) Perspektywy (415) Przekazywanie wyjątków na konsolę (418) Zamiana wyjątków sprawdzanych na niesprawdzane (419) Ciągi znaków (423) Niezmienność ciągów znakowych (423) StringBuilder kontra przeciążony operator '+' (424) Niezamierzona rekursja (428) Operacje na egzemplarzach klasy String (430) Formatowanie wyjścia (432) Funkcja printf() (432) System.out.format() (432) Klasa Formatter (433) Specyfikatory formatu (434) Konwersje (435) Metoda String.format() (438) Wyrażenia regularne (439) Podstawy (440) Tworzenie wyrażeń regularnych (442) Kwantyfikatory (444) Klasy Pattern oraz Matcher (446) metoda split() (453) Operacje zastępowania (454) Metoda reset() (456) Wyrażenia regularne i operacje wejścia-wyjścia Javy (457) Skanowanie wejścia (459) Separatory wartości wejściowych (461) Skanowanie wejścia przy użyciu wyrażeń regularnych (462) Klasa StringTokenizer (463) Informacje o typach (465) Potrzeba mechanizmu RTTI (465) Obiekt Class (467) Literały Class (472) Referencje klas uogólnionych (475) Nowa składnia rzutowania (477) Sprawdzanie przed rzutowaniem (478) Użycie literałów klas (484) Dynamiczne instanceof (485) Zliczanie rekurencyjne (487) Wytwórnie rejestrowane (488) instanceof a równoważność obiektów Class (491) Refleksja - informacja o klasie w czasie wykonania (493) Ekstraktor metod (494) Dynamiczne proxy (497) Obiekty puste (501) Imitacje i zalążki (507) Interfejsy a RTTI (507) Typy ogólne (515) Porównanie z językiem C++ (516) Proste uogólnienia (517) Biblioteka krotek (519) Klasa stosu (522) RandomList (523) Uogólnianie interfejsów (524) Uogólnianie metod (527) Wykorzystywanie dedukcji typu argumentu (528) Metody uogólnione ze zmiennymi listami argumentów (531) Metoda uogólniona w służbie klasy Generator (531) Uniwersalny Generator (532) Upraszczanie stosowania krotek (533) Uniwersalny kontener Set (535) Anonimowe klasy wewnętrzne (538) Budowanie modeli złożonych (540) Tajemnica zacierania (542) Jak to się robi w C++ (543) Słowo o zgodności migracji (546) Kłopotliwość zacierania (547) Na krawędzi (548) Kompensacja zacierania (552) Tworzenie egzemplarzy typów (553) Tablice typów ogólnych (556) Ramy (560) Symbole wieloznaczne (564) Jak bystry jest kompilator? (567) Kontrawariancja (568) Symbole wieloznaczne bez ram konkretyzacji (571) Konwersja z przechwyceniem typu (576) Problemy (578) Typy podstawowe jako parametry typowe (578) Implementowanie interfejsów parametryzowanych (580) Ostrzeżenia przy rzutowaniu (580) Przeciążanie (582) Zawłaszczenie interfejsu w klasie bazowej (583) Typy samoskierowane (584) Osobliwa rekurencja uogólnienia (584) Samoskierowanie (585) Kowariancja argumentów (588) Dynamiczna kontrola typów (591) Wyjątki (592) Domieszki (594) Domieszki w C++ (594) Domieszki z użyciem interfejsów (595) Zastosowanie wzorca projektowego Decorator (596) Domieszki w postaci dynamicznych proxy (598) Typowanie utajone (599) Kompensacja braku typowania utajonego (604) Refleksja (604) Aplikowanie metody do sekwencji obiektów (605) Kiedy nie ma pod ręką odpowiedniego interfejsu (608) Symulowanie typowania utajonego za pomocą adapterów (610) Obiekty funkcyjne w roli strategii (613) Tablice (621) Co w nich takiego specjalnego? (621) Tablice to pełnoprawne obiekty (623) Tablice w roli wartości zwracanych (625) Tablice wielowymiarowe (627) Tablice a typy ogólne (631) Wytwarzanie danych testowych (633) Metoda Arrays.fill() (633) Generatory danych (634) Tworzenie tablic za pomocą generatorów (639) Narzędzia klasy Arrays (643) Kopiowanie tablic (643) Porównywanie tablic (645) Porównywanie elementów tablic (646) Sortowanie tablic (649) Przeszukiwanie tablicy posortowanej (650) Kontenery z bliska (655) Pełna taksonomia kontenerów (655) Wypełnianie kontenerów (656) Rozwiązanie z generatorem (657) Generatory dla kontenerów asocjacyjnych (659) Stosowanie klas abstrakcyjnych (662) Interfejs Collection (669) Operacje opcjonalne (672) Operacje nieobsługiwane (673) Interfejs List (675) Kontenery Set a kolejność elementów (678) SortedSet (681) Kolejki (683) Kolejki priorytetowe (684) Kolejki dwukierunkowe (685) Kontenery asocjacyjne (686) Wydajność (688) SortedMap (691) LinkedHashMap (692) Haszowanie i kody haszujące (693) Zasada działania hashCode() (696) Haszowanie a szybkość (699) Przesłonięcie metody hashCode() (702) Wybór implementacji (707) Infrastruktura testowa (708) Wybieranie pomiędzy listami (711) Zagrożenia testowania w małej skali (717) Wybieranie pomiędzy zbiorami (719) Wybieranie pomiędzy odwzorowaniami (720) Narzędzia dodatkowe (724) Sortowanie i przeszukiwanie list (727) Niemodyfikowalne kontenery Collection i Map (729) Synchronizacja Collection i Map (730) Przechowywanie referencji (731) WeakHashMap (734) Kontenery Java 1.0 i 1.1 (735) Vector i Enumeration (735) Hashtable (736) Stack (736) BitSet (738) Wejście-wyjście (741) Klasa File (741) Wypisywanie zawartości katalogu (742) Narzędzie do przeglądania katalogów (745) Tworzenie katalogów i sprawdzanie ich obecności (750) Wejście i wyjście (752) Typy InputStream (752) Typy OutputStream (753) Dodawanie atrybutów i użytecznych interfejsów (754) Odczyt z InputStream za pomocą FilterInputStream (755) Zapis do OutputStream za pomocą FilterOutputStream (756) Klasy Reader i Writer (757) Źródła i ujścia danych (758) Modyfikacja zachowania strumienia (758) Klasy niezmienione (759) Osobna i samodzielna RandomAccessFile (760) Typowe zastosowania strumieni wejścia-wyjścia (760) Buforowany plik wejścia (761) Wejście z pamięci (762) Formatowane wejście z pamięci (762) Wyjście do pliku (763) Przechowywanie i odzyskiwanie danych (765) Odczyt i zapis do plików o dostępie swobodnym (766) Strumienie-potoki (768) Narzędzia do zapisu i odczytu danych z plików (768) Odczyt plików binarnych (771) Standardowe wejście-wyjście (772) Czytanie ze standardowego wejścia (772) Zamiana System.out na PrintWriter (773) Przekierowywanie standardowego wejścia-wyjścia (773) Sterowanie procesami zewnętrznymi (774) Konwersja danych (779) Pobieranie podstawowych typów danych (782) Widoki buforów (783) Manipulowanie danymi przy użyciu buforów (787) Szczegółowe informacje o buforach (787) Pliki odwzorowywane w pamięci (791) Blokowanie plików (795) Kompresja (798) Prosta kompresja do formatu GZIP (798) Przechowywanie wielu plików w formacie Zip (799) Archiwa Javy (JAR) (801) Serializacja obiektów (803) Odnajdywanie klasy (806) Kontrola serializacji (808) Stosowanie trwałości (815) XML (821) Preferencje (824) Typy wyliczeniowe (827) Podstawowe cechy typów wyliczeniowych (827) Wyliczenia a importy statyczne (828) Dodawanie metod do typów wyliczeniowych (829) Przesłanianie metod typu wyliczeniowego (830) Wyliczenia w instrukcjach wyboru (831) Tajemnica metody values() (832) Implementuje, nie dziedziczy (835) Wybór losowy (836) Organizacja na bazie interfejsów (837) EnumSet zamiast znaczników (841) Stosowanie klasy EnumMap (843) Metody specjalizowane dla elementów wyliczenia (844) Typy wyliczeniowe w łańcuchu odpowiedzialności (848) Typy wyliczeniowe a automaty stanów (851) Rozprowadzanie wielokrotne (856) Rozprowadzanie z udziałem typów wyliczeniowych (859) Stosowanie metod specjalizowanych dla elementów wyliczenia (861) Rozprowadzanie za pomocą EnumMap (863) Z tablicą dwuwymiarową (864) Adnotacje (867) Podstawy składni adnotacji (868) Definiowanie adnotacji (869) Metaadnotacje (870) Procesory adnotacji (871) Elementy adnotacji (872) Ograniczenia wartości domyślnych (872) Generowanie plików zewnętrznych (873) Adnotacje nie dają się dziedziczyć (876) Implementowanie procesora (876) Przetwarzanie adnotacji za pomocą apt (879) Program apt a wizytacje (883) Adnotacje w testowaniu jednostkowym (886) @Unit a typy ogólne (895) Implementacja @Unit (896) Usuwanie kodu testującego (903) Współbieżność (907) Oblicza współbieżności (908) Szybsze wykonanie (909) Ulepszanie projektu (911) Podstawy wielowątkowości (912) Definiowanie zadań (913) Klasa Thread (914) Wykonawcy (916) Zwracanie wartości z zadań (919) Usypianie - wstrzymywanie wątku (920) Priorytet wątku (921) Przełączanie (923) Wątki-demony (924) Wariacje na temat wątków (928) Terminologia (933) Łączenie wątków (934) Tworzenie reaktywnego interfejsu użytkownika (935) Grupy wątków (936) Przechwytywanie wyjątków (937) Współdzielenie zasobów (940) Niewłaściwy dostęp do zasobów (940) Rozstrzyganie współzawodnictwa o zasoby współdzielone (943) Atomowość i widoczność (948) Klasy "atomowe" (955) Sekcje krytyczne (956) Synchronizacja dostępu na bazie innych obiektów (961) Lokalna pamięć wątku (962) Przerywanie wykonania zadań (964) Ogród botaniczny (symulacja) (964) Przerywanie zablokowanego wątku (967) Wymuszanie przerwania wykonania (968) Sprawdzanie przerwania (976) Współdziałanie wątków (978) notify() kontra notifyAll() (984) Producenci i konsumenci (987) Producenci, konsumenci i kolejki (992) Przekazywanie danych pomiędzy zadaniami za pomocą potoków (997) Zakleszczenie (999) Nowe komponenty biblioteczne (1004) CountDownLatch (1004) CyclicBarrier (1006) DelayQueue (1008) PriorityBlockingQueue (1011) Sterowanie szklarnią - planowanie uruchamiania zadań (1014) Semaphore (1017) Exchanger (1020) Symulacje (1022) Symulacja okienka kasowego (1022) Symulacja sali restauracyjnej (1027) Rozdzielanie zadań (1031) Wydajność (1036) Porównanie technologii muteksów (1036) Kontenery bez blokad (1044) Blokowanie optymistyczne (1051) Blokady ReadWriteLock (1053) Obiekty aktywne (1055) Graficzne interfejsy użytkownika (1063) Aplety (1065) Podstawy biblioteki Swing (1066) Platforma prezentacyjna (1069) Tworzenie przycisku (1069) Przechwytywanie zdarzenia (1070) Obszary tekstowe (1073) Rozmieszczanie elementów interfejsu (1074) BorderLayout (1075) FlowLayout (1076) GridLayout (1076) GridBagLayout (1077) Pozycjonowanie bezpośrednie (1077) BoxLayout (1077) Najlepsze rozwiązanie? (1078) Model zdarzeń w Swingu (1078) Rodzaje zdarzeń i odbiorników (1079) Śledzenie wielu zdarzeń (1084) Wybrane komponenty Swing (1086) Przyciski (1087) Ikony (1089) Pola tekstowe (1091) Ramki (1093) Miniedytor (1094) Pola wyboru (1095) Przyciski wyboru (1096) Listy rozwijane (1097) Listy (1098) Zakładki (1100) Okna komunikatów (1100) Menu (1102) Menu kontekstowe (1107) Rysowanie (1109) Okna dialogowe (1112) Okna dialogowe plików (1115) HTML w komponentach Swing (1117) Suwaki i wskaźniki postępu (1117) Zmiana stylu interfejsu (1119) Drzewka, tabele i schowek (1121) JNLP oraz Java Web Start (1121) Swing a współbieżność (1126) Zadania długotrwałe (1126) Wizualizacja wielowątkowości interfejsu użytkownika (1133) Programowanie wizualne i komponenty JavaBean (1135) Czym jest komponent JavaBean? (1136) Wydobycie informacji o komponencie poprzez klasę Introspector (1138) Bardziej wyszukany komponent (1143) Komponenty JavaBean i synchronizacja (1146) Pakowanie komponentu JavaBean (1150) Bardziej złożona obsługa komponentów JavaBean (1151) Więcej o komponentach JavaBean (1152) Alternatywy wobec biblioteki Swing (1152) Flex - aplikacje klienckie w formacie Flash (1153) Ahoj, Flex (1154) Kompilowanie MXML (1155) MXML i skrypty ActionScript (1156) Kontenery i kontrolki (1156) Efekty i style (1158) Zdarzenia (1159) Połączenie z Javą (1159) Modele danych i wiązanie danych (1162) Kompilowanie i instalacja (1163) Aplikacje SWT (1164) Instalowanie SWT (1165) Ahoj, SWT (1165) Eliminowanie powtarzającego się kodu (1168) Menu (1170) Panele zakładek, przyciski i zdarzenia (1171) Grafika (1174) Współbieżność w SWT (1176) SWT czy Swing?
Sygnatura czytelni BWEAiI: XII N 98
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. 144846 N (1 egz.)
Brak okładki
Książka
W koszyku
Tytuł oryginału: Introducing machine learning, 2020
Na okładce: Professional oraz nazwa wydawcy oryginału: Microsoft.
Indeks.
Dla programistów chcących zdobyć umiejętnośći z zakresu analizy danych, jak i dla analityków danych, którzy chcą zdobyć odpowiednie umiejętnści programistyczne.
Część I Podstawy uczenia maszynowego Jak uczą się ludzie Ku myślącym maszynom Świt rozumowania mechanicznego Twierdzenia Godła o niekompletności Formalizacja maszyn liczących Formalizacja ludzkiego myślenia Narodziny sztucznej inteligencji jako dyscypliny Biologia uczenia się Czym właściwie jest inteligentne oprogramowanie? Jak działają neurony Podejście kija i marchewki Przystosowywanie się do zmian Sztuczne formy inteligencji Prymitywna inteligencja Systemy eksperckie Systemy autonomiczne Sztuczne formy sentymentu Inteligentne oprogramowanie Stosowana sztuczna inteligencja Ewolucja inteligencji oprogramowania Systemy eksperckie Ogólna sztuczna inteligencja Uczenie nienadzorowane Uczenie nadzorowane Problemy z odwzorowywaniem i algorytmy Podstawowe problemy Klasyfikowanie obiektów Przewidywanie wyników Grupowanie obiektów Bardziej złożone problemy Klasyfikacja obrazów Wykrywanie obiektów Analiza tekstu Zautomatyzowane uczenie maszynowe Aspekty platformy AutoML Korzystanie z platformy AutoML Model Builder Ogólne kroki rozwiązania uczenia maszynowego Zbieranie danych Kultura firmy sterowana danymi Opcje magazynu Przygotowanie danych Podnoszenie jakości danych Czyszczenie danych Inżynieria cech Finalizowanie treningowego zbioru danych Wybieranie i trenowanie modelu Ściągawka z algorytmów Przypadek sieci neuronowych Ewaluacja wydajności modelu Wdrażanie modelu Wybór odpowiedniej platformy hostingowej Eksponowanie API Czynnik danych Jakość danych Ważność danych Zbieranie danych Integralność danych Kompletność Unikatowość Terminowość Dokładność Spójność Kim właściwie jest analityk danych? Praca analityka danych Przybornik analityka danych Analitycy danych i programiści Część II Uczenie maszynowe w .NET Sposób .NET Dlaczego (nie) Python? Dlaczego Python jest tak popularny w uczeniu maszynowym? Taksonomia bibliotek Pythona wykorzystywanych w uczeniu maszynowym Kompleksowe rozwiązania wykorzystujące modele Pythona Wstęp doML.NET Tworzenie i używanie modeli w MLNET Elementy kontekstu uczenia Implementacja potoku MLNET Dane początkowe Eksploracja zbioru danych Stosowanie typowych transformacji danych Uwarunkowania zbioru danych Etap treningowy Wybór algorytmu Pomiar rzeczywistej wartości algorytmu Planowanie fazy testowej Rzut oka na miary Przewidywanie cen z poziomu aplikacji klienckiej Pobieranie pliku modelu Konfigurowanie aplikacji ASP.NET Przewidywanie opłat za przejazd taksówką Opracowanie odpowiedniego interfejsu użytkownika Wątpliwości dotyczące danych i podejścia do problemu Zadania i algorytmy ML.NET Ogólna architektura ML.NET Wykorzystywane typy i interfejsy Reprezentacja danych Obsługiwane katalogi Zadania klasyfikacji Klasyfikacja binarna Klasyfikacja wieloklasowa Zadania grupowania w klastry Przygotowanie danych do pracy Trenowanie modelu Ocena modelu Przeniesienie uczenia Etapy tworzenia klasyfikatora obrazów Stosowanie niezbędnych transformacji danych Tworzenie i trenowanie modelu Dodatkowe uwagi o przeniesieniu uczenia Część III Podstawy uczenia płytkiego Matematyczne podstawy uczenia maszynowego Pod parasolem statystyki Średnia w statystyce Dominanta w statystyce Mediana w statystyce Obciążenie i wariancja Wariancja w statystyce Obciążenie w statystyce Reprezentacja danych Podsumowanie pięcioliczbowe Histogramy Wykresy punktowe Macierze wykresu punktowego Tworzenie wykresu na odpowiedniej skali Miary uczenia maszynowego Statystyka a uczenie maszynowe Ostateczny cel uczenia maszynowego Od modeli statystycznych do modeli uczenia maszynowego Ocena modelu uczenia maszynowego Od zbioru danych do prognoz Mierzenie precyzji modelu Przygotowanie danych do przetwarzania Skalowanie Standaryzacja Normalizacja Proste prognozy: Regresja liniowa Problem Zgadywanie wyników na podstawie danych Tworzenie hipotez o relacji Algorytm liniowy Ogólna idea Znajdowanie funkcji straty Algorytm najmniejszych kwadratów Algorytm spadku gradientu Jak dobry jest algorytm? Ulepszanie rozwiązania Trasa wielomianowa Regularyzacja Złożone przewidywania i decyzje: drzewa Problem Czym właściwie jest drzewo? Drzewa w uczeniu maszynowym Przykładowy algorytm oparty na drzewie Zasady projektowania algorytmów opartych na drzewach Drzewa decyzyjne a systemy eksperckie Odmiany algorytmów opartych na drzewach Drzewa klasyfikacyjne Działanie algorytmu CART Algorytm ID3 Drzewa regresji Działanie algorytmu Przycinanie drzewa Jak podejmować lepsze decyzje: metody grupowe Problem Technika bagging Algorytmy lasów losowych Kroki algorytmów Zalety i wady Technika wzmacniania (boosting) Możliwości wzmacniania Wzmacnianie gradientowe Zalety i wady Metody probabilistyczne: naiwny klasyfikator bayesowski Szybkie wprowadzenie do statystyki bayesowskiej Wstęp do prawdopodobieństwa Bayesa Wstęp do notacji Twierdzenie Bayesa Praktyczny przykład recenzji kodu Wykorzystanie statystyki bayesowskiej w klasyfikacji Wstępne sformułowanie problemu Uproszczone (lecz skuteczne) sformułowanie Praktyczne aspekty klasyfikatorów bayesowskich Naiwne klasyfikatory bayesowskie Ogólny algorytm Wielomianowy naiwny klasyfikator bayesowski Naiwny klasyfikator bayesowski Bernoulliego Naiwny klasyfikator bayesowski Gaussa Naiwna regresja bayesowska Podstawy liniowej regresji bayesowskiej Zastosowanie bayesowskiej regresji liniowej Grupowanie danych: klasyfikacja i klastry Podstawowe podejście do klasyfikacji nadzorowanej Algorytm k najbliższych sąsiadów Kroki algorytmu Scenariusze biznesowe Maszyna wektorów nośnych Ogólny opis algorytmu Szybka powtórka z matematyki Kroki algorytmu Klasteryzacja nienadzorowana Przypadek biznesowy: redukcja zbioru danych Algorytm K-średnich Algorytm K-medoidów Algorytm DBSCAN Część IV Podstawy uczenia głębokiego Jednokierunkowe sieci neuronowe Krótka historia sieci neuronowych Neuron McCullocha-Pittsa Sieci jednokierunkowe Bardziej wyrafinowane sieci Typy sztucznych neuronów Perceptron Neuron logistyczny Trenowanie sieci neuronowej Ogólna strategia uczenia Algorytm propagacji wstecznej Projekt sieci neuronowej Aspekty sieci neuronowej Funkcje aktywacji Ukryte warstwy Warstwa wyjściowa Budowanie sieci neuronowej Dostępne platformy Pierwsza sieć neuronowa za pomocą Keras Sieci neuronowe kontra inne algorytmy Inne typy sieci neuronowych Typowe problemy jednokierunkowych sieci neuronowych Rekurencyjne sieci neuronowe Anatomia sieci neuronowej ze stanem Sieci neuronowe LSTM Konwolucyjne sieci neuronowe Klasyfikacja i rozpoznawanie obrazów Warstwa konwolucyjna Warstwa typu pooling W pełni połączona warstwa Dalszy rozwój sieci neuronowych Generatywne sieci neuronowe z przeciwnikiem Sieci typu autoencoder Analiza sentymentu: kompleksowe rozwiązanie Przygotowanie danych treningowych Formalizowanie problemu Uzyskiwanie danych Manipulowanie danymi Uwarunkowania dotyczące formatu pośredniego Trenowanie modelu Wybieranie ekosystemu Budowanie słownika wyrazów Wybieranie trenera Inne aspekty sieci Aplikacja kliencka Pobieranie danych wejściowych dla modelu Uzyskiwanie prognoz z modelu Przekształcanie odpowiedzi w przydatne informacje Część V Finalne uwagi O Usługi w chmurze oferujące Al Azure Cognitive Services Azure Machinę Learning Studio Azure Machinę Learning Service Maszyny DSVM Usługi lokalne SQL Server Machinę Learning Sen/ices Machinę Learning Server Microsoft Data Processing Services Azure Data Lake Azure Databricks Azure HDInsight .NET dla Apache Spark Azure Data Share Azure Data Factory Biznesowe postrzeganie Al Postrzeganie Al w branży Wykorzystanie potencjału Do czego można wykorzystać sztuczną inteligencję Wyzwania czające się tuż za rogiem Kompleksowe rozwiązania Nazwijmy to po prostu konsultingiem Granica między oprogramowaniem a analizą danych Zwinna Al
Sygnatura czytelni BWEAiI: XII Ą 106
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. 149327 N (1 egz.)
Książka
W koszyku
Na okładce podtytuł: zmień sposób myślenia o projektowaniu systemów informatycznych. W książce także ISBN oryginału.
Bibliografia, netografia na stronach 565-566. Indeks.
Zastosowanie modelu dziedziny Przydatność modelu w projektowaniu sterowanym dziedziną Istota programu Rozdział 1. Przetwarzanie wiedzy Elementy wydajnego modelowania Przetwarzanie wiedzy Ciągła nauka Projekt bogaty w wiedzę Modele dogłębne Rozdział 2. Komunikacja i użycie języka Język wszechobecny Modelowanie na głos Jeden zespół, jeden język Dokumenty i diagramy Spisane dokumenty projektowe Wykonywalna podstawa Modele objaśniające Rozdział 3. Związanie modelu z implementacją Projektowanie sterowane modelem Paradygmaty modelowania i narzędzia wspierające Projekt mechaniczny Projekt sterowany modelem Odkrywanie szkieletu dlaczego modele są ważne dla użytkowników Modelowanie praktyczne II Elementy składowe projektu sterowanego modelem Rozdział 4. Wyizolowanie dziedziny Architektura warstwowa Powiązanie warstw Szkielety architektury To w warstwie dziedziny żyje model Antywzorzec inteligentnego interfejsu użytkownika Inne rodzaje izolacji Rozdział 5. Wyrażenie modelu w programie Asocjacje ENCJE (zwane również obiektami referencyjnymi) Modelowanie ENCJI Projektowanie operacji na tożsamości WARTOŚCI Projektowanie OBIEKTÓW WARTOŚCI Projektowanie asocjacji korzystających z WARTOŚCI USŁUGI USŁUGI a wyizolowana warstwa dziedziny Ziarnistość Dostęp do USŁUG MODUŁY (zwane również PAKIETAMI) MODUŁY zwinne (agile modules) Pułapki tworzenia pakietów na podstawie wymogów infrastruktury Paradygmaty modelowania Dlaczego dominuje paradygmat obiektowy? Nieobiekty w świecie obiektowym Utrzymywanie PROJEKTU STEROWANEGO MODELEM w przypadku łączenia paradygmatów Rozdział 6. Cykl życia obiektu dziedziny AGREGATY FABRYKI Wybór FABRYK oraz ich miejsc Kiedy potrzebujesz jedynie konstruktora Projektowanie interfejsu Gdzie mieści się logika niezmienników? FABRYKI ENCJI a FABRYKI WARTOŚCI Odtwarzanie zachowanych obiektów REPOZYTORIA Odpytywanie REPOZYTORIUM Kod klienta, w przeciwieństwie do programistów, ignoruje implementację REPOZYTORIUM Implementacja REPOZYTORIUM Praca ze szkieletami architektury Relacje z FABRYKAMI Projektowanie obiektów dla relacyjnych baz danych Rozdział 7. Użycie języka przykład rozszerzony Prezentacja systemu logistycznego dla ładunku Izolowanie dziedziny wprowadzenie aplikacji Rozróżnianie ENCJI oraz WARTOŚCI Role (rola) oraz inne atrybuty Projektowanie asocjacji w dziedzinie logistyki morskiej Granice AGREGATU Wybór REPOZYTORIÓW Przeglądanie scenariuszy Przykładowa funkcjonalność aplikacji zmiana miejsca przeznaczenia ładunku Przykładowa funkcjonalność aplikacji powtórzenie operacji Tworzenie obiektów FABRYKI oraz konstruktory klasy Cargo Dodanie operacji obsługi Przerwa na refaktoring projekt alternatywny AGREGATU Cargo MODUŁY w modelu logistyki morskiej Nowa funkcjonalność sprawdzanie przydziału Łączenie dwóch systemów Wzbogacanie modelu segmentacja biznesu Poprawa wydajności Ostateczna wersja III Refaktoryzacja ku głębszemu zrozumieniu Poziomy refaktoryzacji Modele dogłębne Model dogłębny/projekt elastyczny Proces odkrywania Rozdział 8. Moment przełomowy Historia pewnego przełomu Przyzwoity model, lecz wciąż... Moment przełomowy Model pogłębiony Otrzeźwiająca decyzja Zapłata Możliwości Koncentracja na podstawach Epilog potok nowych spostrzeżeń Rozdział 9. Odkrywanie pojęć niejawnych Wyciąganie pojęć Nasłuchiwanie języka Analiza dziwnej implementacji Rozmyślanie nad sprzecznościami Czytanie książki Wielokrotne powtarzanie prób W jaki sposób zamodelować mniej oczywiste pojęcia Bezpośrednie ograniczenia Procesy jako obiekty dziedziny SPECYFIKACJA Zastosowanie SPECYFIKACJI w implementacji Walidacja Wybór (lub odszukiwanie) Tworzenie na zamówienie (generowanie) Rozdział 10. Projekt elastyczny INTERFEJSY UJAWNIAJĄCE ZAMIAR FUNKCJE BEZ EFEKTÓW UBOCZNYCH ASERCJE Teraz widzimy lepiej ZARYSY KONCEPCYJNE Nieprzewidziana zmiana KLASY SAMODZIELNE ZAMKNIĘCIE OPERACJI Projektowanie deklaratywne Języki właściwe dziedzinie Deklaratywny styl projektowania Rozszerzenie SPECYFIKACJI w stylu deklaratywnym Łączenie SPECYFIKACJI przy użyciu operatorów logicznych Subsumpcja Kierunki ataku Definiowanie poddziedzin W miarę możliwości polegaj na ustalonym formalizmie Wstępny projekt dystrybucji płatności Oddzielanie poleceń oraz FUNKCJI BEZ EFEKTÓW UBOCZNYCH Ujawnianie ukrytych pojęć Obiekt SharePie staje się WARTOŚCIA kaskada spostrzeżeń Elastyczność nowego projektu Rozdział 11. Stosowanie wzorców analitycznych Wzorce analityczne stanowią wiedzę do wykorzystania Rozdział 12. Powiązanie wzorców projektowych z modelem STRATEGIA (zwana również POLITYKĄ) KOMPOZYT Dlaczego nie wzorzec PYŁKU (FLYWEIGHT)? Rozdział 13. Refaktoryzacja ku głębszemu zrozumieniu Początek Zespoły poszukiwawcze Wcześniejsze odkrycia Projekt dla programistów Wyczucie czasu Kryzys jako źródło możliwości IV Projekt strategiczny Rozdział 14. Utrzymywanie integralności modelu KONTEKST ZWIĄZANY Rozpoznawanie odprysków pojęciowych w KONTEKŚCIE ZWIĄZANYM CIĄGŁA INTEGRACJA MAPA KONTEKSTÓW Testowanie na granicach KONTEKSTU Organizacja oraz dokumentacja MAP KONTEKSTÓW Relacje pomiędzy KONTEKSTAMI ZWIĄZANYMI JĄDRO WSPÓŁDZIELONE ZESPOŁY PROGRAMISTYCZNE KLIENTA DOSTAWCY KONFORMISTA WARSTWA ZAPOBIEGAJĄCA USZKODZENIU Projektowanie interfejsu WARSTWY ZAPOBIEGAJĄCEJ USZKODZENIU Implementacja WARSTWY ZAPOBIEGAJĄCEJ USZKODZENIU Opowieść ku przestrodze ODDZIELNE DROGI USŁUGA OTWARTEGO GOSPODARZA JĘZYK OPUBLIKOWANY Unifikacja słonia Wybór strategii kontekstu modelu Decyzja zespołowa lub wyższa Stawianie siebie w kontekście Przekształcanie granic Akceptacja tego, czego nie możemy zmienić wyznaczanie zewnętrznych systemów Relacje z systemami zewnętrznymi System w projektowaniu Dostosowanie do specjalnych potrzeb przy użyciu odrębnych modeli Wdrożenie Kompromis Kiedy projekt już trwa Transformacje Łączenie KONTEKSTÓW ODDZIELNE DROGI JĄDRO WSPÓŁDZIELONE Łączenie KONTEKSTÓW JĄDRO WSPÓŁDZIELONE CIĄGŁA INTEGRACJA Wygaszanie starego systemu USŁUGA OTWARTEGO GOSPODARZA JĘZYK OPUBLIKOWANY Rozdział 15. Destylacja DZIEDZINA GŁÓWNA Wybór RDZENIA dziedziny Kto wykonuje prace? Zwiększanie destylacji PODDZIEDZINY OGÓLNE Rozwiązanie 1. Gotowy, standaryzowany produkt Rozwiązanie 2. Opublikowany projekt lub model Rozwiązanie 3. Oddelegowanie implementacji Rozwiązanie 4. Samodzielna implementacja Ogólny nie oznacza możliwy do ponownego wykorzystania Zarządzanie ryzykiem projektowym OPIS WIZJI DZIEDZINY RDZEŃ WYRÓŻNIONY Dokument destylacji RDZEŃ oznaczony Dokument destylacji jako narzędzie procesowe SPÓJNE MECHANIZMY OGÓLNE PODDZIEDZINY a SPÓJNE MECHANIZMY Kiedy MECHANIZM jest częścią DZIEDZINY GŁÓWNEJ Destylacja do stylu deklaratywnego RDZEŃ ODDZIELONY Koszt utworzenia RDZENIA ODDZIELONEGO Rozwijanie decyzji zespołowych RDZEŃ ABSTRAKCYJNY Głęboka destylacja modelu Wybór celów refaktoryzacji Rozdział 16. Struktury dużej skali PORZĄDEK EWOLUCYJNY METAFORA SYSTEMU Dlaczego nie potrzebujemy metafory naiwnej WARSTWY ODPOWIEDZIALNOŚCI Odpowiedzialności operacyjne Odpowiedzialności potencjału Odpowiedzialności wsparcia decyzji W jaki sposób struktura wpływa na bieżący projekt? Wybór odpowiednich warstw POZIOM WIEDZY SZKIELET KOMPONENTÓW DOŁĄCZANYCH Tworzenie elementu Wybierz materiały Tworzenie elementu Jak ograniczająca powinna być struktura? Refaktoryzacja ku lepiej dopasowanej strukturze Minimalizm Komunikacja oraz samodyscyplina Restrukturyzacja przyczynia się do projektu elastycznego Destylacja zmniejsza obciążenie Rozdział 17. Łączenie strategii Łączenie struktur dużej skali z KONTEKSTAMI ZWIĄZANYMI Łączenie struktur dużej skali oraz destylacji Najpierw oszacowanie Kto określa strategię? Powstawanie struktury w trakcie tworzenia aplikacji Zespół architektoniczny skoncentrowany na kliencie Sześć podstawowych kryteriów dotyczących podejmowania strategicznych decyzji projektowych Decyzja musi dotrzeć do całego zespołu. Proces podejmowania decyzji musi uwzględniać uwagi. Plan musi umożliwiać rozwój. Zespoły architektów nie mogą wyciągać wszystkich najlepszych i najbardziej błyskotliwych programistów. Projekt strategiczny wymaga minimalizmu oraz pokory. Obiekty są specjalizowane, programiści są uniwersalni. To samo dotyczy szkieletów technicznych Nie twórz szkieletów dla osób nierozgarniętych. Wystrzegaj się planu głównego
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 152756 N (1 egz.)
Książka
W koszyku
C++20 : laboratorium / Dawid Farbaniec. - Gliwice : Helion, copyright 2022. - 261, [3] strony : ilustracje ; 21 cm.
Bibliografia, netografia na stronach 260-261.
Rozdział 1. Schemat blokowy i pseudokod (15) 1.1. Infekcja plików przez wirusy komputerowe (15) Rozdział 2. Kod źródłowy programu i kompilacja (19) CZĘŚĆ 2. C++, CZYLI POZNAJ JĘZYK HAKERÓW Rozdział 3. NOT-A-VIRUS.Viral. Hello.MSVC++ (23) Rozdział 4. Budowanie i uruchamianie projektu (27) Rozdział 5. Komentarze w języku C++ (38) Rozdział 6. Typy danych, zmienne i stałe (40) 6.1. Zmienne (41) 6.2. Stałe (45) 6.3. Zakresy zmiennych (46) Rozdział 7. Typy podstawowe (50) 7.1. Inicjalizacja (50) 7.2. Typy całkowitoliczbowe (52) 7.3. Typy zmiennoprzecinkowe (56) 7.4. Typy znakowe (59) 7.5. Typ logiczny (62) 7.6. Typ wyliczeniowy (63) 7.7. Typ void (65) Rozdział 8. Definiowanie własnych nazw typów (66) Rozdział 9. Dedukcja typu (68) Rozdział 10. Rzutowanie i konwersja typów (71) 10.1. static_cast (75) 10.2. const_cast (76) 10.3. dynamic_cast (78) 10.4. reinterpret_cast (79) Rozdział 11. Napisy (82) 11.1. Surowe napisy (85) Rozdział 12. Struktury (86) 12.1. Pola bitowe (89) Rozdział 13. Unie (91) Rozdział 14. Instrukcje sterujące przepływem (94) 14.1. Instrukcja warunkowa if (94) 14.2. Instrukcja warunkowa switch (99) 14.3. Grupowanie warunków (101) Rozdział 15. Pętle (104) 15.1. Instrukcja for (104) 15.2. Instrukcja while (107) 15.3. Instrukcja do-while (110) 15.4. Instrukcje break i continue (111) 15.5. Instrukcja goto (112) Rozdział 16. Operatory (115) 16.1. Operatory logiczne i bitowe (117) 16.2. Inkrementacja i dekrementacja (119) 16.3. Operator ternarny (121) 16.4. Priorytety operatorów (122) 16.5. Przeciążanie operatorów (127) Rozdział 17. Tablice i wskaźniki (130) 17.1. Tablice w stylu języka C (130) 17.2. Kontener std::array (132) 17.3. Wskaźniki do tablic (134) 17.4. Wskaźniki void oraz nullptr (137) 17.5. Referencje (odwołania) (138) 17.6. Inteligentne wskaźniki (142) Rozdział 18. Funkcje (150) 18.1. Definiowanie funkcji (151) 18.2. Argumenty i zwracanie wartości (157) 18.3. Argumenty domyślne (164) 18.4. Przeciążanie funkcji (167) 18.5. Funkcje i zmienne inline (168) 18.6. Wskaźnik na funkcję (173) 18.7. Funkcje ze zmienną liczbą argumentów (177) 18.8. Wyrażenia lambda (180) 18.9. Koprocedury (ang. coroutines) (183) Rozdział 19. Klasy i obiekty (188) 19.1. Klasy i obiekty (189) 19.2. Operator dostępu (191) 19.3. Modyfikatory dostępu (193) 19.4. Słowo kluczowe this (195) 19.5. Składowe statyczne (196) 19.6. Konstruktor i destruktor (198) 19.7. Klasy pochodne i zagnieżdżone (204) 19.8. Elementy stałe, zmienne i ulotne (208) 19.9. Jawne usuwanie funkcji (209) 19.10. Przeciążanie operatorów w klasach oraz trójdrożny operator porównania () (210) 19.11. Przyjaciele (213) 19.12. Funkcje wirtualne (213) 19.13. Klasy abstrakcyjne (217) Rozdział 20. Przestrzenie nazw (220) 20.1. Tworzenie przestrzeni nazw (220) 20.2. Dyrektywa using (222) 20.3. Aliasy przestrzeni nazw (223) Rozdział 21. Szablony (224) 21.1. Szablony zmiennych (224) 21.2. Szablony klas (226) 21.3. Szablony funkcji (229) 21.4. Szablony w wyrażeniach lambda (229) 21.5. Wymagania nazwane (słowo kluczowe "concept") (229) Rozdział 22. Obsługa wyjątków (236) 22.1. Blok try-catch (236) 22.2. Rzucanie wyjątku (238) CZĘŚĆ 3. PRZYKŁADOWA APLIKACJA W C++/WINRT DLA UNIVERSAL WINDOWS PLATFORM Rozdział 23. Witaj, świecie C++/WinRT! (243) 23.1. MainPage.xaml (244) 23.2. MainPage.cpp (246) 23.3. Uruchomienie rozwiązania (248) Rozdział 24. Nauka C++, co dalej? (251)
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 152058 N (1 egz.)
Książka
W koszyku
Na stronie 4. okładki także nazwa wydawcy oryginału: Pearson Addison-Wesley.
Dla programistów, menedżerów, inżynierów i liderów technicznych.
Czym jest inżynieria oprogramowania? Inżynieria - praktyczne zastosowanie nauki Zmiana paradygmatu To nie produkcja jest naszym problemem Inżynieria projektowa zamiast inżynierii produkcyjnej Inżynieria != kod Ograniczenia rzemiosła Precyzja i skalowalność Radzenie sobie ze złożonością Powtarzalność i precyzja pomiarów Inżynieria, kreatywność i rzemiosło Dlaczego to, co robimy, nie jest inżynierią oprogramowania Kompromisy Iluzja postępu Droga od rzemiosła do inżynierii Rzemiosło to za mało. Podstawy podejścia inżynieryjnego Branża zmian? Znaczenie pomiarów Wprowadzanie stabilności i wydajności Podstawy inżynierii oprogramowania Eksperci od uczenia się Eksperci od radzenia sobie ze złożonością Optymalizacja z myślą o uczeniu się . Praca w modelu iteracyjnym Praktyczne zalety podejścia iteracyjnego Podejście iteracyjne jako strategia projektowania defensywnego Pokusa tworzenia planu Praktyczne aspekty podejścia iteracyjnego Informacje zwrotne Praktyczny przykład ilustrujący znaczenie informacji zwrotnych Informacje zwrotne w czasie pisania kodu Informacje zwrotne na etapie integracji Informacje zwrotne na etapie projektowania Informacje zwrotne w architekturze Preferuj szybkie informacje zwrotne Informacje zwrotne w kontekście projektu produktu Informacje zwrotne w organizacji i kulturze Podejście przyrostowe Znaczenie modułowości Podejście przyrostowe w organizacjach Narzędzia ułatwiające przyrostową pracę Ograniczanie zakresu wpływu zmian Projektowanie przyrostowe Podejście empiryczne Zakorzenienie w rzeczywistości Oddzielenie podejścia empirycznego od eksperymentów "Znam ten błąd!" Unikanie oszukiwania samego siebie Wymyślanie rzeczywistości pasującej do argumentów Kierowanie się rzeczywistością Nastawienie na eksperymentowanie Czym jest "nastawienie na eksperymentowanie"? Informacje zwrotne Hipotezy Pomiary Kontrolowanie zmiennych Zautomatyzowane testy jako eksperymenty Zapewnianie kontekstu dla wyników testów przeprowadzanych w ramach eksperymentów Zakres eksperymentów Optymalizowanie z myślą o radzeniu sobie ze złożonością Modułowość Cechy charakterystyczne modułowości Niedocenianie znaczenia dobrego projektu Znaczenie testowalności Projektowanie z myślą o łatwości testowania poprawia modułowość Usługi i modułowość Łatwość wdrażania a modułowość Modułowość w różnych skalach Modułowość w systemach ludzkich Spójność Modułowość i spójność - podstawy projektowania Prosty przykład niskiej spójności Kontekst ma znaczenie Wysoce wydajne oprogramowanie Związki z powiązaniami Zapewnianie wysokiej spójności za pomocą programowania sterowanego testami Jak uzyskać spójne oprogramowanie? Koszty niskiej spójności Spójność w systemach ludzkich Podział zadań Wstrzykiwanie zależności Oddzielanie złożoności zasadniczej od złożoności przypadkowej Znaczenie podejścia DDD Testowalność Porty i adaptery Kiedy stosować wzorzec porty i adaptery? Czym jest API? Stosowanie programowania sterowanego testami do wprowadzania podziału zadań Ukrywanie informacji i abstrakcja Abstrakcja lub ukrywanie informacji Co jest powodem powstawania "wielkiej błotnej bryły"? Problemy organizacyjne i kulturowe Problemy techniczne i problemy projektowe Obawy przed "nadinżynierią" Tworzenie bardziej abstrakcyjnego kodu za pomocą testów Wartość abstrakcji "Dziurawe" abstrakcje Wybór odpowiednich abstrakcji Abstrakcje z dziedziny problemu Wyodrębnianie złożoności przypadkowej za pomocą abstrakcji Izolowanie zewnętrznych systemów i zewnętrznego kodu Zawsze preferuj ukrywanie informacji. Radzenie sobie z powiązaniami Koszty powiązań Skalowanie Mikrousługi Wyeliminowanie powiązań może prowadzić do większej ilości kodu Luźne powiązanie nie jest jedynym, które ma znaczenie Preferuj luźne powiązania W czym powiązania różnią się od podziału zadań? Zasada DRY jest zbyt uproszczona Asynchroniczność jako narzędzie do uzyskiwania luźnych powiązań Projektowanie z myślą o luźnych powiązaniach Luźne powiązania w systemach ludzkich Narzędzia ułatwiające inżynierię w branży oprogramowania Narzędzia w dziedzinie inżynierii Czym jest rozwój oprogramowania? Testowalność jako narzędzie Punkty pomiaru Problemy z osiąganiem testowalności Jak zwiększyć testowalność? Łatwość wdrażania Szybkość Kontrolowanie zmiennych Ciągłe dostarczanie Ogólne narzędzia wspomagające inżynierię Współczesny inżynier oprogramowania Inżynieria jako proces ludzki Organizacje dokonujące przełomu w świecie cyfrowym Skutki a mechanizmy
Sygnatura czytelni BWEAiI: XII J 121
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. 153923 N (1 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 153924 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Debugging teams : better productivity through collaboration.
Indeks.
1. Mit genialnego programisty (29) Pomóż mi ukryć mój kod (30) Mit geniusza (30) Ukrywanie jest uznawane za szkodliwe (33) Liczy się tylko zespół (39) Trzy filary (40) HRT w praktyce (44) Kolejne kroki (52) 2. Budowanie znakomitej kultury zespołowej (53) Dlaczego powinno Cię to obchodzić? (56) Kultura a ludzie (59) Wzorce komunikacji w kulturach odnoszących sukcesy (63) Synchronizacja wysokopoziomowa (64) Codzienne dyskusje (74) Posługiwanie się systemem śledzenia zgłoszeń (78) Komunikacja jako element inżynierii (79) W końcu tak naprawdę chodzi wyłącznie o produkt... (84) 3. Każda łódź potrzebuje kapitana (87) Natura nie znosi próżni (88) Brzydkie słowo: menedżer (89) Usłużny lider (93) Antywzorce (94) Wzorce postępowania liderów (100) Ludzie są jak rośliny (118) Motywacja wewnętrzna a motywacja zewnętrzna (120) 4. Radzenie sobie z toksycznymi ludźmi (123) Definicja toksyczności (124) Umacnianie zespołu (125) Identyfikowanie zagrożenia (127) Odtrutka (132) Końcowe przemyślenia (139) 5. Sztuka organizacyjnej manipulacji (141) Firmy dobre, firmy złe i strategie (141) Jak być powinno (142) Jak jest zazwyczaj (145) Organizacyjna manipulacja (151) Plan B: Ewakuacja (165) Nie wszystko stracone (167) 6. Użytkownik też człowiek (169) Zarządzanie opinią publiczną (170) Jak użyteczny jest Twój program? (174) Wygląd ma znaczenie (181) Zarządzanie relacjami z użytkownikami (187) Pamiętaj o użytkownikach (196)
Sygnatura czytelni BMW: VI E 248 (nowy)
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka Międzywydziałowa
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 146311 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Essential TypeScript : from Beginner to Pro.
Część I. Zaczynamy Rozdział 1. Pierwsza aplikacja w TypeScripcie Przygotowanie systemu Krok 1. Instalowanie Node.js Krok 2. Instalowanie Gita Krok 3. Instalowanie TypeScriptu Krok 4. Instalowanie programistycznego edytora tekstu Utworzenie projektu Inicjalizacja projektu Utworzenie pliku konfiguracyjnego kompilatora Tworzenie pliku kodu TypeScriptu Kompilowanie i uruchamianie kodu Definiowanie modelu danych Tworzenie klasy kolekcji elementów listy rzeczy do zrobienia Implementowanie podstawowych funkcji modelu danych Dodawanie funkcji do klasy kolekcji Zapewnienie dostępu do elementów listy rzeczy do zrobienia Usuwanie wykonanych zadań Obsługa licznika elementów Używanie pakietu zewnętrznego Dodawanie deklaracji typu dla pakietu JavaScriptu Dodawanie poleceń Filtrowanie elementów Dodawanie zadań Oznaczanie zadania jako wykonanego Trwałe przechowywanie danych Stosowanie klasy trwałego magazynu danych Rozdział 2. Poznajemy TypeScript Dlaczego powinieneś używać języka TypeScript? Funkcje języka TypeScript zwiększające produktywność programisty Poznajemy ograniczenia funkcji związanych z produktywnością Poznawanie wersji JavaScriptu Poznawanie ograniczeń wersji JavaScriptu Co powinieneś wiedzieć? Jak skonfigurować środowisko programistyczne? Jaka jest struktura książki? Czy w książce znajdziesz wiele przykładów? Gdzie znajdziesz przykładowe fragmenty kodu? Rozdział 3. Wprowadzenie do języka JavaScript część I Przygotowanie projektu Zagmatwany JavaScript Typy języka JavaScript Praca z podstawowymi typami danych Koercja typu Unikanie niechcianej koercji typu Wartość jawnie stosowanej koercji typu Praca z funkcją Praca z wynikiem działania funkcji Unikanie problemów z błędnym dopasowaniem argumentu Używanie funkcji strzałki Praca z tablicą Używanie operatora rozwinięcia w tablicy Praca z obiektem Dodawanie, modyfikowanie i usuwanie właściwości obiektu Zabezpieczenie przed niezdefiniowanymi obiektami i właściwościami Używanie operatorów rozwinięcia i resztowego w obiekcie Definiowanie funkcji typu getter i setter Definiowanie metod Słowo kluczowe this Słowo kluczowe this w oddzielnych funkcjach Słowo kluczowe this w metodach Zmiana zachowania słowa kluczowego this Słowo kluczowe this w funkcji strzałki Powrót do problemu początkowego Rozdział 4. Wprowadzenie do języka JavaScript część II Przygotowanie projektu Dziedziczenie obiektu JavaScriptu Analizowanie i modyfikowanie prototypu obiektu Tworzenie własnych właściwości Używanie funkcji konstruktora Łączenie funkcji konstruktora Sprawdzanie typu prototypu Definiowanie statycznych właściwości i metod Używanie klas JavaScriptu Używanie dziedziczenia w klasach Definiowanie metody statycznej Używanie iteratorów i generatorów Używanie generatora Definiowanie obiektów pozwalających na iterację Używanie kolekcji JavaScriptu Sortowanie danych według klucza przy użyciu obiektu Sortowanie danych według klucza przy użyciu obiektu Map Używanie wartości typu Symbol jako kluczy w obiekcie Map Przechowywanie danych według indeksu Używanie modułów Tworzenie modułu JavaScriptu Używanie modułu JavaScriptu Eksportowanie funkcji z modułu Definiowanie w modelu wielu funkcjonalności nazwanych Rozdział 5. Używanie kompilatora TypeScriptu Przygotowanie projektu Struktura projektu Używanie menedżera pakietów Node Plik konfiguracyjny kompilatora TypeScriptu Kompilacja kodu TypeScriptu Błędy generowane przez kompilator Używanie trybu monitorowania i wykonywania skompilowanego kodu Automatyczne wykonywanie kodu po kompilacji Uruchamianie kompilatora za pomocą menedżera pakietów Node Używanie funkcjonalności wersjonowania celu Wybór plików biblioteki do kompilacji Wybór formatu modułu Użyteczne ustawienia konfiguracji kompilatora Rozdział 6. Testowanie i debugowanie kodu TypeScriptu Przygotowanie projektu Debugowanie kodu TypeScriptu Przygotowanie do debugowania Dodawanie punktów przerwania Używanie Visual Studio Code do debugowania Używanie zintegrowanego debuggera Node.js Używanie funkcji zdalnego debugowania w Node.js Używanie lintera TypeScriptu Wyłączanie reguł lintowania Testy jednostkowe w TypeScripcie Konfigurowanie frameworka testów Tworzenie testów jednostkowych Uruchamianie frameworka testów Część II. Praca z językiem TypeScript Rozdział 7. Typowanie statyczne Przygotowanie projektu Typy statyczne Tworzenie typu statycznego za pomocą adnotacji typu Używanie niejawnie zdefiniowanego typu statycznego Używanie typu any Używanie niejawnie zdefiniowanego typu any Wyłączenie niejawnego używania typu any Używanie unii typów Używanie asercji typu Asercja typu nieoczekiwanego Używanie wartownika typu Używanie typu never Używanie typu unknown Używanie typów null Ograniczenie przypisywania wartości null Usunięcie null z unii za pomocą asercji Usuwanie wartości null z unii za pomocą wartownika typu Używanie asercji ostatecznego przypisania Rozdział 8. Używanie funkcji Przygotowanie projektu Definiowanie funkcji Ponowne definiowanie funkcji Parametry funkcji Używanie parametrów opcjonalnych Używanie parametru z wartością domyślną Używanie parametru resztowego Stosowanie adnotacji typu dla parametrów funkcji Kontrolowanie wartości null parametru Wynik działania funkcji Wyłączenie niejawnego zwracania wartości przez funkcję Używanie adnotacji typu dla wyniku działania funkcji Definiowanie funkcji typu void Przeciążanie typu funkcji Rozdział 9. Tablice, krotki i wyliczenia Przygotowanie projektu Praca z tablicami Używanie automatycznie ustalonego typu tablicy Unikanie problemów z automatycznie ustalanym typem tablicy Unikanie problemów z pustą tablicą Problemy związane z tablicą typu never Krotka Przetwarzanie krotki Używanie typów krotki Wyliczenie Sposób działania wyliczenia Używanie wartości wyliczenia Używanie wyliczenia w postaci ciągu tekstowego Ograniczenia typu wyliczeniowego Ograniczenia związane ze sprawdzaniem typu Ograniczenia wartownika typu Używanie wyliczenia w postaci stałej Używanie typu literału wartości Używanie w funkcji typu literałów wartości Łączenie typów wartości w typie literałów wartości Nadpisywanie za pomocą typu literałów wartości Używanie aliasu typu Rozdział 10. Praca z obiektami Przygotowanie projektu Praca z obiektami Używanie adnotacji kształtu typu obiektu Dopasowanie kształtu typu obiektu Używanie właściwości opcjonalnych dla nieregularnych kształtów Dołączanie metod w kształcie typu Wymuszenie ścisłego sprawdzania metod Używanie aliasu typu dla kształtu typu Radzenie sobie z nadmiarem właściwości Używanie unii kształtu typu Typy właściwości unii Używanie wartownika typu dla obiektu Wartownik typu poprzez sprawdzanie właściwości Wartownik typu z funkcją predykatu Używanie złączenia typów Używanie złączenia do korelacji danych Łączenie złączeń Złączanie właściwości tego samego typu Złączanie właściwości różnych typów Łączenie metod Rozdział 11. Praca z klasami i interfejsami Przygotowanie projektu Używanie funkcji konstruktora Używanie klas Używanie słów kluczowych kontroli dostępu Definiowanie właściwości tylko do odczytu Upraszczanie klasy konstruktora Używanie dziedziczenia klas Automatyczne określanie typu podklasy Używanie klasy abstrakcyjnej Wartownik typu klasy abstrakcyjnej Używanie interfejsu Implementowanie wielu interfejsów Rozszerzanie interfejsu Definiowanie opcjonalnych właściwości i metod interfejsu Definiowanie implementacji interfejsu abstrakcyjnego Wartownik typu interfejsu Dynamiczne tworzenie właściwości Rozdział 12. Używanie typów generycznych Przygotowanie projektu Zrozumienie problemu Dodawanie obsługi innego typu Tworzenie klasy generycznej Argumenty typu generycznego Używanie argumentów innego typu Ograniczanie wartości typu generycznego Ograniczanie typu generycznego za pomocą kształtu Definiowanie parametrów wielu typów Stosowanie parametru typu w metodzie Pozostawienie kompilatorowi zadania ustalenia typu argumentu Rozszerzanie klasy generycznej Dodawanie funkcjonalności do istniejących parametrów typu Ustawienie na stałe parametru typu generycznego Ograniczanie parametru typu generycznego Wartownik typu generycznego Definiowanie metody statycznej w klasie generycznej Definiowanie interfejsu generycznego Rozszerzanie interfejsu generycznego Implementacja interfejsu generycznego Przekazywanie parametru typu generycznego Ograniczenie lub określenie na stałe parametru typu generycznego Tworzenie implementacji interfejsu abstrakcyjnego Rozdział 13. Zaawansowane typy generyczne Przygotowanie projektu Używanie kolekcji generycznych Używanie iteratorów generycznych Łączenie iteratora i obiektu możliwego do iteracji Tworzenie klasy umożliwiającej iterację Używanie typów indeksu Używanie zapytania typu indeksu Jawne dostarczanie parametrów typu generycznego dla typów indeksu Używanie zindeksowanego operatora dostępu Używanie typu indeksu dla klasy Collection Używanie mapowania typu Używanie parametru typu generycznego z typem mapowanym Zmiana modyfikowalności i opcjonalności właściwości Mapowanie określonych właściwości Łączenie transformacji w pojedyncze mapowanie Tworzenie typu z użyciem mapowania Używanie typów warunkowych Zagnieżdżanie typów warunkowych Używanie typu warunkowego w klasie generycznej Używanie typów warunkowych z uniami typów Używanie wbudowanych dystrybucyjnych typów warunkowych Używanie typów warunkowych podczas mapowania typów Identyfikowanie właściwości określonego typu Automatyczne ustalanie typów dodatkowych w warunkach Ustalanie typu funkcji Rozdział 14. Praca z JavaScriptem Przygotowanie projektu Dodawanie kodu TypeScriptu do przykładowego projektu Praca z JavaScriptem Dołączanie kodu JavaScriptu w trakcie kompilacji Sprawdzanie typu kodu JavaScriptu Opisywanie typów używanych w kodzie JavaScriptu Używanie komentarzy do opisywania typów Używanie plików deklaracji typu Opisywanie kodu JavaScriptu przygotowanego przez podmioty zewnętrzne Używanie plików deklaracji pochodzących z projektu Definitely Typed Używanie pakietów zawierających deklaracje typu Generowanie plików deklaracji Część III. Tworzenie aplikacji internetowych Rozdział 15. Tworzenie aplikacji internetowej TypeScriptu część I Przygotowanie projektu Przygotowanie zestawu narzędzi Dodawanie obsługi paczek Dodawanie programistycznego serwera WWW Utworzenie modelu danych Utworzenie źródła danych Generowanie treści HTML-a za pomocą API modelu DOM Dodawanie obsługi stylów Bootstrap CSS Używanie formatu JSX do tworzenia treści HTML-a Sposób działania JSX Konfigurowanie kompilatora TypeScriptu i procedury wczytującej pakiet webpack Tworzenie funkcji fabryki Używanie klasy JSX Importowanie funkcji fabryki w klasie JSX Dodawanie funkcjonalności do aplikacji Wyświetlanie filtrowanej listy produktów Wyświetlanie treści i obsługa uaktualnień Rozdział 16. Tworzenie aplikacji internetowej TypeScriptu część II Przygotowanie projektu Dodawanie usługi sieciowej Wykorzystanie źródła danych w aplikacji Używanie dekoratorów Używanie metadanych dekoratora Dokończenie aplikacji Dodawanie klasy Header Dodawanie klasy obsługującej szczegóły zamówienia Dodawanie klasy obsługującej potwierdzenie zamówienia Zakończenie pracy nad aplikacją Wdrażanie aplikacji Dodawanie pakietu produkcyjnego serwera HTTP Tworzenie pliku dla trwałego magazynu danych Utworzenie serwera Używanie względnych adresów URL do obsługi żądań danych Kompilacja aplikacji Testowanie gotowej aplikacji Umieszczanie aplikacji w kontenerze Instalowanie Dockera Przygotowanie aplikacji Tworzenie kontenera Dockera Uruchamianie aplikacji Rozdział 17. Tworzenie aplikacji internetowej Angulara część I Przygotowanie projektu Konfigurowanie usługi sieciowej Konfigurowanie pakietu Bootstrap CSS Uruchomienie przykładowej aplikacji Rola TypeScriptu w programowaniu z użyciem frameworka Angular Rola TypeScriptu w łańcuchu narzędzi Angulara Poznajemy dwa kompilatory Angulara Utworzenie modelu danych Utworzenie źródła danych Utworzenie implementacji klasy źródła danych Konfigurowanie źródła danych Wyświetlenie filtrowanej listy produktów Wyświetlanie przycisków kategorii Utworzenie nagłówka Połączenie komponentów produktu, kategorii i nagłówka Konfigurowanie aplikacji Rozdział 18. Tworzenie aplikacji internetowej Angulara część II Przygotowanie projektu Dokończenie pracy nad funkcjonalnością aplikacji Dodawanie komponentu obsługującego podsumowanie zamówienia Tworzenie konfiguracji routingu Wdrażanie aplikacji Dodawanie pakietu produkcyjnego serwera HTTP Tworzenie pliku dla trwałego magazynu danych Utworzenie serwera Używanie względnych adresów URL do obsługi żądań danych Kompilacja aplikacji Testowanie gotowej aplikacji Umieszczanie aplikacji w kontenerze Przygotowanie aplikacji Tworzenie kontenera Dockera Uruchamianie aplikacji Rozdział 19. Tworzenie aplikacji internetowej React część I Przygotowanie projektu Konfigurowanie usługi sieciowej Instalowanie pakietu Bootstrap CSS Uruchamianie przykładowej aplikacji TypeScript i programowanie React Definiowanie typów encji Wyświetlanie filtrowanej listy produktów Używanie zaczepów i komponentów funkcyjnych Wyświetlanie listy kategorii i nagłówka Przygotowanie i przetestowanie komponentów Utworzenie magazynu danych Utworzenie klasy żądania HTTP Połączenie komponentów z magazynem danych Rozdział 20. Tworzenie aplikacji internetowej React część II Przygotowanie projektu Konfigurowanie routingu URL Dokończenie pracy nad funkcjonalnością aplikacji Dodawanie komponentu obsługującego podsumowanie zamówienia Dodawanie komponentu potwierdzającego złożenie zamówienia Dokończenie konfiguracji routingu Wdrażanie aplikacji Dodawanie pakietu produkcyjnego serwera HTTP Tworzenie pliku dla trwałego magazynu danych Utworzenie serwera Używanie względnych adresów URL do obsługi żądań danych Kompilacja aplikacji Testowanie gotowej aplikacji Umieszczanie aplikacji w kontenerze Przygotowanie aplikacji Tworzenie kontenera Dockera Uruchamianie aplikacji Rozdział 21. Tworzenie aplikacji internetowej Vue.js część I Przygotowanie projektu Konfigurowanie usługi sieciowej Instalowanie pakietu Bootstrap CSS Uruchamianie przykładowej aplikacji TypeScript i programowanie w Vue.js Zestaw narzędzi TypeScriptu podczas programowania z użyciem frameworka Vue.js Utworzenie klas encji Wyświetlanie filtrowanej listy produktów Wyświetlanie listy kategorii i nagłówka Tworzenie i testowanie komponentów Utworzenie magazynu danych Utworzenie dekoratorów magazynu danych Połączenie komponentów z magazynem danych Dodawanie obsługi usługi sieciowej Rozdział 22. Tworzenie aplikacji internetowej Vue.js część II Przygotowanie projektu Konfigurowanie routingu URL Dokończenie pracy nad funkcjonalnością aplikacji Dodawanie komponentu obsługującego podsumowanie zamówienia Dodawanie komponentu potwierdzającego złożenie zamówienia Dokończenie konfiguracji routingu Wdrażanie aplikacji Dodawanie pakietu produkcyjnego serwera HTTP Tworzenie pliku dla trwałego magazynu danych Utworzenie serwera Używanie względnych adresów URL do obsługi żądań danych Kompilacja aplikacji Testowanie gotowej aplikacji Umieszczanie aplikacji w kontenerze Przygotowanie aplikacji Tworzenie kontenera Dockera Uruchamianie aplikacji
Sygnatura czytelni BWEAiI: XII N 145
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. 149870 N (1 egz.)
Książka
W koszyku
Pierwsza aplikacja w TypeScripcie Przygotowanie systemu Krok 1. Instalowanie Node.js Krok 2. Instalowanie Gita Krok 3. Instalowanie TypeScriptu Krok 4. Instalowanie programistycznego edytora tekstu Utworzenie projektu Inicjalizacja projektu Utworzenie pliku konfiguracyjnego kompilatora Tworzenie pliku kodu TypeScriptu Kompilowanie i uruchamianie kodu Definiowanie modelu danych Dodawanie funkcji do klasy kolekcji Używanie pakietu zewnętrznego Dodawanie deklaracji typu dla pakietu JavaScriptu Dodawanie poleceń Filtrowanie elementów Dodawanie zadań Oznaczanie zadania jako wykonanego Trwałe przechowywanie danych Stosowanie klasy trwałego magazynu danych Dlaczego powinieneś używać języka TypeScript? Funkcje języka TypeScript zwiększające produktywność programisty Przygotowanie projektu Zagmatwany JavaScript Typy języka JavaScript Praca z podstawowymi typami danych Koercja typu Praca z funkcją Praca z tablicą Używanie operatora rozwinięcia w tablicy Destrukturyzacja tablicy Praca z obiektem Dodawanie, modyfikowanie i usuwanie właściwości obiektu Używanie operatorów rozwinięcia i resztowego w obiekcie Definiowanie funkcji typu getter i setter Definiowanie metod Słowo kluczowe this Słowo kluczowe this w oddzielnych funkcjach Słowo kluczowe this w metodach Zmiana zachowania słowa kluczowego this Słowo kluczowe this w funkcji strzałki Powrót do problemu początkowego Wprowadzenie do języka JavaScript - część II Dziedziczenie obiektu JavaScriptu Analizowanie i modyfikowanie prototypu obiektu Tworzenie własnych właściwości Używanie funkcji konstruktora Sprawdzanie typu prototypu Definiowanie statycznych właściwości i metod Używanie klas JavaScriptu Używanie iteratorów i generatorów Używanie generatora Definiowanie obiektów pozwalających na iterację Używanie kolekcji JavaScriptu Sortowanie danych według klucza przy użyciu obiektu Sortowanie danych według klucza przy użyciu obiektu Map Przechowywanie danych według indeksu Używanie modułów Tworzenie modułu JavaScriptu Używanie modułu JavaScriptu Eksportowanie funkcji z modułu Definiowanie w modelu wielu funkcjonalności nazwanych Używanie kompilatora TypeScriptu Struktura projektu Używanie menedżera pakietów Node Plik konfiguracyjny kompilatora TypeScriptu Kompilacja kodu TypeScriptu Błędy generowane przez kompilator Używanie trybu monitorowania i wykonywania skompilowanego kodu Używanie funkcjonalności wersjonowania celu Wybór plików biblioteki do kompilacji Wybór formatu modułu Użyteczne ustawienia konfiguracji kompilatora Testowanie i debugowanie kodu TypeScriptu Przygotowanie projektu Debugowanie kodu TypeScriptu Przygotowanie do debugowania Używanie Visual Studio Code do debugowania Używanie zintegrowanego debuggera Node.js Używanie funkcji zdalnego debugowania w Node.js Używanie lintera TypeScriptu Wyłączanie reguł lintowania Testy jednostkowe w TypeScripcie Konfigurowanie frameworka testów Tworzenie testów jednostkowych Uruchamianie frameworka testów Praca z językiem TypeScript Typowanie statyczne Typy statyczne Tworzenie typu statycznego za pomocą adnotacji typu Używanie niejawnie zdefiniowanego typu statycznego Używanie typu any Używanie unii typów Używanie asercji typu Asercja typu nieoczekiwanego Używanie wartownika typu Używanie typu never Używanie typu unknown Używanie typów null Ograniczenie przypisywania wartości null Usunięcie null z unii za pomocą asercji Usuwanie wartości null z unii za pomocą wartownika typu Używanie asercji ostatecznego przypisania Używanie funkcji Definiowanie funkcji Ponowne definiowanie funkcji Parametry funkcji Wynik działania funkcji Przeciążanie typu funkcji Funkcje asercji Tablice, krotki i wyliczenia Praca z tablicami Używanie automatycznie ustalonego typu tablicy Unikanie problemów z automatycznie ustalanym typem tablicy Unikanie problemów z pustą tablicą Krotka Przetwarzanie krotki Używanie typów krotki Używanie krotki z elementami opcjonalnymi Definiowanie krotki z elementem resztowym Wyliczenie Sposób działania wyliczenia Używanie wyliczenia w postaci ciągu tekstowego Ograniczenia typu wyliczeniowego Używanie typu literału wartości Używanie w funkcji typu literałów wartości Łączenie typów wartości w typie literałów wartości Nadpisywanie za pomocą typu literałów wartości Używanie szablonów typu literałów tekstowych Używanie aliasu typu Używanie adnotacji kształtu typu obiektu Dopasowanie kształtu typu obiektu Wymuszenie ścisłego sprawdzania metod Używanie aliasu typu dla kształtu typu Radzenie sobie z nadmiarem właściwości Używanie unii kształtu typu Typy właściwości unii Używanie wartownika typu dla obiektu Używanie złączenia typów Używanie złączenia do korelacji danych Łączenie złączeń . Praca z klasami i interfejsami Używanie funkcji konstruktora Używanie klas Używanie słów kluczowych kontroli dostępu Używanie właściwości prywatnych JavaScriptu Definiowanie właściwości tylko do odczytu Upraszczanie klasy konstruktora Używanie dziedziczenia klas Używanie klasy abstrakcyjnej Używanie interfejsu Implementowanie wielu interfejsów Rozszerzanie interfejsu Definiowanie opcjonalnych właściwości i metod interfejsu Definiowanie implementacji interfejsu abstrakcyjnego Wartownik typu interfejsu Dynamiczne tworzenie właściwości Sprawdzanie wartości indeksu Używanie typów generycznych Zrozumienie problemu Dodawanie obsługi innego typu Tworzenie klasy generycznej Argumenty typu generycznego Używanie argumentów innego typu Ograniczanie wartości typu generycznego Definiowanie parametrów wielu typów Pozostawienie kompilatorowi zadania ustalenia typu argumentu Rozszerzanie klasy generycznej Wartownik typu generycznego Definiowanie metody statycznej w klasie generycznej Definiowanie interfejsu generycznego Rozszerzanie interfejsu generycznego Implementacja interfejsu generycznego Zaawansowane typy generyczne Używanie kolekcji generycznych Używanie iteratorów generycznych Łączenie iteratora i obiektu możliwego do iteracji Tworzenie klasy umożliwiającej iterację Używanie typów indeksu Używanie zapytania typu indeksu Jawne dostarczanie parametrów typu generycznego dla typów indeksu
Używanie zindeksowanego operatora dostępu Używanie typu indeksu dla klasy Collection Używanie mapowania typu Zmiana mapowanych nazw i typów Używanie parametru typu generycznego z typem mapowanym Zmiana modyfikowalności i opcjonalności właściwości Używanie wbudowanych typów mapowanych Łączenie transformacji w pojedyncze mapowanie Tworzenie typu z użyciem mapowania Używanie typów warunkowych Zagnieżdżanie typów warunkowych Używanie typu warunkowego w klasie generycznej Używanie typów warunkowych z uniami typów Używanie typów warunkowych podczas mapowania typów Identyfikowanie właściwości określonego typu Automatyczne ustalanie typów dodatkowych w warunkach Praca z JavaScriptem Dodawanie kodu TypeScriptu do przykładowego projektu Praca z JavaScriptem Dołączanie kodu JavaScriptu w trakcie kompilacji Sprawdzanie typu kodu JavaScriptu Opisywanie typów używanych w kodzie JavaScriptu Używanie komentarzy do opisywania typów Używanie plików deklaracji typu Opisywanie kodu JavaScriptu przygotowanego przez podmioty zewnętrzne Używanie plików deklaracji pochodzących z projektu Definitely Typed Używanie pakietów zawierających deklaracje typu Generowanie plików deklaracji Tworzenie aplikacji internetowych Tworzenie aplikacji internetowej TypeScriptu Przygotowanie zestawu narzędzi Dodawanie obsługi paczek Dodawanie programistycznego serwera WWW Tworzenie modelu danych Tworzenie źródła danych Generowanie treści HTML-a za pomocą API modelu DOM Dodawanie obsługi stylów Bootstrap CSS Używanie formatu JSX do tworzenia treści HTML-a Sposób działania JSX Konfigurowanie kompilatora TypeScriptu i procedury wczytującej pakiet webpack Tworzenie funkcji fabryki Używanie klasy JSX Importowanie funkcji fabryki w klasie JSX Dodawanie funkcjonalności do aplikacji Wyświetlanie filtrowanej listy produktów Wyświetlanie treści i obsługa uaktualnień Tworzenie aplikacji internetowej TypeScriptu - część II Dodawanie usługi sieciowej Wykorzystanie źródła danych w aplikacji Używanie dekoratorów Używanie metadanych dekoratora Dokończenie aplikacji Dodawanie klasy Header Dodawanie klasy obsługującej szczegóły zamówienia Dodawanie klasy obsługującej potwierdzenie zamówienia Zakończenie pracy nad aplikacją Wdrażanie aplikacji Dodawanie pakietu produkcyjnego serwera HTTP Tworzenie pliku dla trwałego magazynu danych Utworzenie serwera Używanie względnych adresów URL do obsługi żądań danych Kompilacja aplikacji Testowanie gotowej aplikacji Umieszczanie aplikacji w kontenerze Instalowanie Dockera Przygotowanie aplikacji Tworzenie kontenera Dockera Tworzenie aplikacji internetowej Angulara - część I Konfigurowanie usługi sieciowej Konfigurowanie pakietu Bootstrap CSS Uruchomienie przykładowej aplikacji Rola TypeScriptu w programowaniu z użyciem frameworka Angular Rola TypeScriptu w łańcuchu narzędzi Angulara Tworzenie modelu danych Tworzenie źródła danych Tworzenie implementacji klasy źródła danych Konfigurowanie źródła danych Wyświetlenie filtrowanej listy produktów Wyświetlanie przycisków kategorii Utworzenie nagłówka Połączenie komponentów produktu, kategorii i nagłówka Konfigurowanie aplikacji Tworzenie aplikacji internetowej Angulara - część II Dokończenie pracy nad funkcjonalnością aplikacji Dodawanie komponentu obsługującego podsumowanie zamówienia Tworzenie konfiguracji routingu Wdrażanie aplikacji Dodawanie pakietu produkcyjnego serwera HTTP Tworzenie pliku dla trwałego magazynu danych Tworzenie serwera Używanie względnych adresów URL do obsługi żądań danych Kompilowanie aplikacji Testowanie gotowej aplikacji Umieszczanie aplikacji w kontenerze Przygotowanie aplikacji Tworzenie kontenera Dockera Uruchamianie aplikacji Tworzenie aplikacji internetowej React - część I Konfigurowanie usługi sieciowej Instalowanie pakietu Bootstrap CSS Uruchamianie przykładowej aplikacji TypeScript i programowanie z użyciem frameworka React Definiowanie typów encji Wyświetlanie filtrowanej listy produktów Używanie zaczepów i komponentów funkcyjnych Wyświetlanie listy kategorii i nagłówka Przygotowanie i przetestowanie komponentów Tworzenie magazynu danych Tworzenie klasy żądania HTTP Łączenie komponentów z magazynem danych Tworzenie aplikacji internetowej React Konfigurowanie routingu URL Dokończenie pracy nad funkcjonalnością aplikacji Dodawanie komponentu obsługującego podsumowanie zamówienia Dodawanie komponentu potwierdzającego złożenie zamówienia Dokończenie konfiguracji routingu Wdrażanie aplikacji Dodawanie pakietu produkcyjnego serwera HTTP Tworzenie pliku dla trwałego magazynu danych Tworzenie serwera Używanie względnych adresów URL do obsługi żądań danych Kompilowanie aplikacji Testowanie gotowej aplikacji Umieszczanie aplikacji w kontenerze Przygotowanie aplikacji Tworzenie kontenera Dockera Uruchamianie aplikacji Tworzenie aplikacji internetowej Vue.js - część I Konfigurowanie usługi sieciowej Instalowanie pakietu Bootstrap CSS Uruchamianie przykładowej aplikacji TypeScript i programowanie w Vue.js Zestaw narzędzi TypeScriptu podczas programowania z użyciem frameworka Vue.js Tworzenie klas encji Wyświetlanie filtrowanej listy produktów Wyświetlanie listy kategorii i nagłówka Tworzenie i testowanie komponentów Tworzenie magazynu danych Łączenie komponentów z magazynem danych Dodawanie obsługi usługi sieciowej Tworzenie aplikacji internetowej Vue.js - część II Konfigurowanie routingu URL Dokończenie pracy nad funkcjonalnością aplikacji Dodawanie komponentu obsługującego podsumowanie zamówienia Dodawanie komponentu potwierdzającego złożenie zamówienia Dokończenie konfiguracji routingu Wdrażanie aplikacji Dodawanie pakietu produkcyjnego serwera HTTP Tworzenie pliku dla trwałego magazynu danych Tworzenie serwera Używanie względnych adresów URL do obsługi żądań danych Kompilowanie aplikacji Testowanie gotowej aplikacji Umieszczanie aplikacji w kontenerze Przygotowanie aplikacji Tworzenie kontenera Dockera
Sygnatura czytelni BWEAiI: XII N 164
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. 153055 (1 egz.)
Książka
W koszyku
W książce także ISBN oryginału.
1.Wprowadzenie do danologii na platformie AWS Zalety przetwarzania w chmurze Potoki i procesy w danologii Zalecane praktyki z obszaru MLOps Usługi SI Amazona i zautomatyzowane uczenie maszynowe w narzędziu Amazon SageMaker Pobieranie, eksploracja i przygotowywanie danych na platformie AWS Uczenie i dostrajanie modelu za pomocą narzędzia Amazon SageMaker Instalowanie modeli za pomocą usługi Amazon SageMaker i funkcji AWS Lambda Analizy i uczenie maszynowe dla strumieni danych na platformie AWS Infrastruktura platformy AWS i niestandardowy sprzęt Ograniczanie kosztów za pomocą tagów, budżetów i alertów 2.Zastosowania danologii Innowacje w każdej branży Spersonalizowane rekomendacje produktów Wykrywanie niestosownych materiałów wideo za pomocą usługi Amazon Rekognition Prognozowanie zapotrzebowania Identyfikowanie fałszywych kont za pomocą usługi Amazon Fraud Detector Używanie usługi Amazon Macie do wykrywania wycieków wrażliwych danych Urządzenia konwersacyjne i asystenci głosowi Analiza tekstu i NLP Wyszukiwanie kognitywne i rozumienie języka naturalnego Inteligentne centra obsługi klienta Przemysłowe usługi SI i konserwacja predykcyjna Automatyzacja domu za pomocą narzędzi AWS IoT i Amazon SageMaker Pobieranie informacji medycznych z dokumentów służby zdrowia Samooptymalizująca i inteligentna infrastruktura chmury Kognitywna i predyktywna analityka biznesowa Edukacja następnego pokolenia programistów SI i UM Zaprogramuj naturalny system operacyjny za pomocą przetwarzania kwantowego Wzrost wydajności i obniżenie kosztów 3.Zautomatyzowane uczenie maszynowe Zautomatyzowane uczenie maszynowe w usłudze SageMaker Autopilot Śledzenie wyników eksperymentów za pomocą usługi SageMaker Autopilot Uczenie i instalowanie klasyfikatora tekstu za pomocą usługi SageMaker Autopilot Zautomatyzowane uczenie maszynowe w usłudze Amazon Comprehend 4.Pobieranie danych do chmury Jeziora danych Kierowanie zapytań do jeziora danych w S3 za pomocą usługi Amazon Athena Ciągłe pobieranie nowych danych za pomocą narzędzia AWS Glue Crawler Stosowanie architektury Lake House za pomocą usługi Amazon Redshift Spectrum Wybór między narzędziami Amazon Athena a Amazon Redshift 5.Eksplorowanie zbioru danych Narzędzia do eksplorowania danych w AWS Wizualizowanie jeziora danych w środowisku SageMaker Studio Zapytania dotyczące hurtowni danych Tworzenie paneli kontrolnych za pomocą usługi Amazon CjuickSight Wykrywanie problemów z jakością danych za pomocą narzędzi Amazon SageMaker i Apache Spark Wykrywanie tendencyjności w zbiorze danych Wykrywanie zmian różnego rodzaju za pomocą usługi SageMaker Clarify Analizowanie danych za pomocą usługi AWS Glue DataBrew Zmniejszanie kosztów i zwiększanie wydajności 6.Przygotowywanie zbioru danych do uczenia modelu Wybieranie i inżynieria cech Skalowanie inżynierii cech za pomocą zadań SageMaker Processing Udostępnianie cech za pomocą repozytorium cech z platformy SageMaker Wczytywanie i przekształcanie danych w usłudze SageMaker Data Wrangler Śledzenie historii artefaktów i eksperymentów na platformie Amazon SageMaker Wczytywanie i przekształcanie danych za pomocą usługi AWS Glue DataBrew 7.Uczenie pierwszego modelu Infrastruktura platformy SageMaker Instalowanie wyuczonego modelu BERT za pomocą usługi SageMaker JumpStart Tworzenie modelu w platformie SageMaker Krótka historia przetwarzania języka naturalnego Architektura Transformer w algorytmie BERT Uczenie modelu BERT od podstaw Dostrajanie wstępnie wyuczonego modelu BERT Tworzenie skryptu uczenia Uruchamianie skryptu uczenia w usłudze SageMaker Notebook Ocena modeli Debugowanie i profilowanie procesu uczenia modelu w usłudze SageMaker Debugger Interpretowanie i wyjaśnianie predykcji modelu Wykrywanie tendencyjności modelu i wyjaśnianie predykcji Dodatkowe metody uczenia algorytmu BERT 8.Uczenie i optymalizowanie modeli na dużą skalę Automatyczne znajdowanie optymalnych hiperparametrów dla modelu Stosowanie ciepłego startu dla dodatkowych zadań dostrajania hiperparametrów na platformie SageMaker Skalowanie poziome uczenia rozproszonego na platformie SageMaker 9.Instalowanie modeli w środowisku produkcyjnym Predykcje w czasie rzeczywistym czy w trybie wsadowym? Generowanie predykcji w czasie rzeczywistym za pomocą punktów końcowych platformy SageMaker Automatyczne skalowanie punktów końcowych platformy SageMaker za pomocą usługi Amazon CloudWatch Strategie instalowania nowych i zaktualizowanych modeli Testowanie i porównywanie nowych modeli Monitorowanie pracy modelu i wykrywanie zmian Monitorowanie jakości danych w punktach końcowych platformy SageMaker Monitorowanie jakości modelu w zainstalowanych punktach końcowych platformy SageMaker Monitorowanie zmian tendencyjności w zainstalowanych punktach końcowych platformy SageMaker Monitorowanie zmian wkładu cech w zainstalowanych punktach końcowych platformy SageMaker Wsadowe generowanie predykcji za pomocą usługi przekształcania wsadowego na platformie SageMaker Funkcje AWS Lambda i usługa Amazon API Gateway Optymalizowanie modeli i zarządzanie nimi na obrzeżach sieci Instalowanie modelu opartego na platformie PyTorch za pomocą narzędzia TorchServe Generowanie predykcji przez algorytm BERT oparty na platformie TensorFlow na platformie AWS Deep Java Library 10.Potoki i MLOps MLOps Potoki programowe Potoki uczenia maszynowego Koordynowanie potoku za pomocą usługi SageMaker Pipelines Automatyzacja w usłudze SageMaker Pipelines Inne sposoby tworzenia potoków Procesy z udziałem człowieka 11.Analizy i uczenie maszynowe dla danych przesyłanych strumieniowo Uczenie w trybach online i offline Aplikacje strumieniowe Zapytania oparte na oknach dotyczące strumieniowanych danych Analiza i uczenie maszynowe na podstawie strumieni na platformie AWS Klasyfikowanie recenzji produktów w czasie rzeczywistym za pomocą narzędzi Amazon Kinesis, AWS Lambda i Amazon SageMaker Implementowanie pobierania strumieniowanych danych za pomocą usługi Kinesis Data Firehose Podsumowywanie recenzji produktów w czasie rzeczywistym na podstawie analizy strumienia Konfigurowanie usługi Amazon Kinesis Data Analytics Aplikacje w usłudze Kinesis Data Analytics Klasyfikowanie recenzji produktów za pomocą narzędzi Apache Kafka, AWS Lambda i Amazon SageMaker 12. Bezpieczna danologia na platformie AWS Model podziału odpowiedzialności między platformę AWS i klientów Korzystanie z usługi IAM na platformie AWS Izolacja środowisk obliczeniowych i sieciowych Zabezpieczanie dostępu do danych w S3 Szyfrowanie danych w spoczynku Szyfrowanie danych w tranzycie Zabezpieczanie instancji z notatnikami platformy SageMaker Zabezpieczanie środowiska SageMaker Studio Zabezpieczanie zadań i modeli platformy SageMaker Zabezpieczanie usługi AWS Lake Formation Zabezpieczanie danych uwierzytelniających do bazy za pomocą AWS Secrets Manager Nadzór Audytowalność
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 153017 N (1 egz.)
Książka
W koszyku
(Owoce Programowania)
Tytuł oryginału : Starting out with Visual C#.
Wydanie 4. odnosi się do oryginału.
Indeks.
Rozdział 1. Wstępne informacje na temat komputerów i programowania 21 o1.2. Sprzęt i oprogramowanie 22 o1.3. W jaki sposób komputer przechowuje dane 28 o1.4. W jaki sposób działa program 33 o1.5. Graficzny interfejs użytkownika 42 o1.6. Obiekty 45 o1.7. Proces tworzenia programu 48 o1.8. Rozpoczęcie pracy ze środowiskiem Visual Studio 53 §Przykład 1.1. Uruchomienie Visual Studio i konfiguracja środowiska 54 §Przykład 1.2. Tworzenie nowego projektu Visual C# 57 §Przykład 1.3. Zapisanie i zamknięcie projektu 59 §Przykład 1.4. Otwarcie istniejącego projektu 68 §Przykład 1.5. Poznanie środowiska Visual Studio 70 Rozdział 2. Wprowadzenie do Visual C# 81 o2.1. Rozpoczęcie pracy z formularzami i kontrolkami 81 o2.2. Utworzenie graficznego interfejsu użytkownika w pierwszej aplikacji Visual C# - Hello World 93 §Przykład 2.1. Utworzenie graficznego interfejsu użytkownika aplikacji typu Witaj, świecie! 93 o2.3. Wprowadzenie do kodu w języku C# 97 o2.4. Utworzenie kodu aplikacji Hello World 110 §Przykład 2.2. Utworzenie kodu aplikacji Hello World 110 o2.5. Kontrolka Label 113 §Przykład 2.3. Utworzenie aplikacji Language Translator 123 o2.6. Poznanie listy IntelliSense 126 o2.7. Kontrolka PictureBox 127 §Przykład 2.4. Utworzenie aplikacji Flags 132 §Przykład 2.5. Utworzenie aplikacji Card Flip 137 o2.8. Komentarze, puste linie i wcięcia 141 o2.9. Utworzenie kodu odpowiedzialnego za zamknięcie formularza aplikacji 144 o2.10. Usuwanie błędów składni 145 Rozdział 3. Przetwarzanie danych 157 o3.1. Odczyt danych wejściowych za pomocą kontrolek TextBox 157 o3.2. Pierwszy kontakt ze zmiennymi 160 §Przykład 3.1. Aplikacja Birth Date String 168 o3.3. Zmienne i liczbowe typy danych 174 o3.4. Przeprowadzanie obliczeń 180 o3.5. Wprowadzanie i generowanie danych liczbowych 186 §Przykład 3.2. Obliczenie zużycia paliwa 192 o3.6. Formatowanie liczb za pomocą metody ToString() 196 §Przykład 3.3. Utworzenie aplikacji Sale Price Calculator wykorzystującej formatowanie wartości walutowych 199 o3.7. Prosta obsługa wyjątków 204 §Przykład 3.4. Utworzenie aplikacji Test Average wraz z obsługą wyjątków 209 o3.8. Używanie stałych nazwanych 214 o3.9. Deklarowanie zmiennych jako pól 215 §Przykład 3.5. Utworzenie aplikacji Change Counter 220 o3.10. Używanie klasy Math 225 o3.11. Więcej informacji na temat graficznego interfejsu użytkownika 227 o3.12. Używanie debuggera do wyszukiwania błędów logicznych 238 §Przykład 3.6. Pojedyncze wykonywanie poleceń w kodzie aplikacji 239 Rozdział 4. Podejmowanie decyzji 255 o4.1. Konstrukcje warunkowe i polecenie if 255 §Przykład 4.1. Dokończenie aplikacji Test Average 261 o4.2. Konstrukcja if-else 266 §Przykład 4.2. Dokończenie aplikacji Payroll with Overtime 268 o4.3. Zagnieżdżone konstrukcje warunkowe 273 §Przykład 4.3. Dokończenie aplikacji Loan Qualifier 276 o4.4. Operatory logiczne 286 o4.5. Zmienne boolowskie i flagi 292 o4.6. Porównywanie ciągów tekstowych 293 o4.7. Używanie metod TryParse() do unikania wyjątków podczas konwersji danych 298 §Przykład 4.4. Obliczenie zużycia paliwa 303 o4.8. Weryfikacja danych wejściowych 307 o4.9. Przyciski opcji i pola wyboru 309 §Przykład 4.5. Utworzenie aplikacji Color Theme 315 o4.10. Konstrukcja switch 318 o4.11. Wprowadzenie do kontrolki ListBox 321 §Przykład 4.6. Utworzenie aplikacji Time Zone 324 Rozdział 5. Pętle, pliki i liczby losowe 339 o5.1. Więcej na temat kontrolki ListBox 339 o5.2. Pętla while 342 §Przykład 5.1. Użycie pętli do obliczenia wysokości salda 346 §Przykład 5.2. Usprawnienie aplikacji Ending Balance 350 o5.3. Operatory ++ i -- 354 o5.4. Pętla for 356 §Przykład 5.3. Użycie pętli for 362 o5.5. Pętla do-while 366 o5.6. Użycie plików do przechowywania danych 367 §Przykład 5.4. Zapis danych w pliku tekstowym 375 §Przykład 5.5. Dołączenie danych do pliku Friend.txt 381 §Przykład 5.6. Użycie pętli do odczytania całej zawartości pliku 390 §Przykład 5.7. Obliczenie sumy bieżącej 395 o5.7. Kontrolki OpenFileDialog i SaveFileDialog 399 o5.8. Liczby losowe 405 §Przykład 5.8. Symulacja rzutu monetą 407 o5.9. Zdarzenie Load 412 §Przykład 5.9. Utworzenie procedury obsługi zdarzeń Load 413 Rozdział 6. Modularyzacja kodu za pomocą metod 425 o6.1. Wprowadzenie do metod 425 o6.2. Metoda typu void 427 §Przykład 6.1. Tworzenie i wywoływanie metod 432 o6.3. Przekazywanie argumentów metodzie 437 §Przykład 6.2. Przekazanie argumentu metodzie 440 o6.4. Przekazywanie argumentów przez referencję 449 §Przykład 6.3. Użycie parametru danych wyjściowych 453 o6.5. Metody zwracające wartość 458 §Przykład 6.4. Utworzenie metody zwracającej wartość 463 §Przykład 6.5. Modularyzacja weryfikacji danych wejściowych za pomocą metody boolowskiej 468 o6.6. Debugowanie metod 473 §Przykład 6.6. Praca z poleceniem Step Into 474 §Przykład 6.7. Praca z poleceniem Step Over 475 §Przykład 6.8. Praca z poleceniem Step Out 477 Rozdział 7. Tablice i listy 487 o7.1. Typy przekazywane przez wartość i referencję 487 o7.2. Ogólne informacje o tablicy 491 §Przykład 7.1. Użycie tablicy do przechowywania liczb losowych 499 o7.3. Praca z plikami i tablicami 505 o7.4. Przekazywanie tablicy jako argumentu metody 509 o7.5. Wybrane użyteczne algorytmy tablic 516 §Przykład 7.2. Przetwarzanie tablicy 528 o7.6. Zaawansowane algorytmy sortowania i przeszukiwania tablic 534 o7.7. Tablica dwuwymiarowa 543 §Przykład 7.3. Dokończenie aplikacji Seating Chart 547 o7.8. Tablica tablic 553 o7.9. Kolekcja List 555 §Przykład 7.4. Dokończenie aplikacji Test Score List 562 Rozdział 8. Więcej informacji o przetwarzaniu danych 577 o8.1. Wprowadzenie 577 o8.2. Przetwarzanie znaków i ciągów tekstowych 577 §Przykład 8.1. Dokończenie aplikacji Password Validation 584 §Przykład 8.2. Dokończenie aplikacji Telephone Format 599 §Przykład 8.3. Dokończenie aplikacji Telephone Unformat 604 §Przykład 8.4. Dokończenie aplikacji CSV Reader 612 o8.3. Struktury 618 §Przykład 8.5. Dokończenie aplikacji Phonebook 629 o8.4. Typy wyliczeniowe 636 §Przykład 8.6. Dokończenie aplikacji Color Spectrum 639 o8.5. Kontrolka ImageList 645 §Przykład 8.7. Dokończenie aplikacji Random Card 647 Rozdział 9. Klasy i projekty złożone z wielu formularzy 659 o9.1. Wprowadzenie do klas 659 §Przykład 9.1. Utworzenie i użycie klasy Coin 667 o9.2. Właściwości 673 §Przykład 9.2. Utworzenie i użycie klasy CellPhone 677 o9.3. Parametryzowane konstruktory i przeciążanie 685 §Przykład 9.3. Utworzenie i użycie klasy BankAccount 685 o9.4. Przechowywanie w tablicy i w kontenerze List obiektu typu klasy 693 §Przykład 9.4. Dokończenie aplikacji Cell Phone Inventory 695 o9.5. Wyszukiwanie klas i ich zadania w problemie 699 o9.6. Tworzenie wielu formularzy w projekcie 709 §Przykład 9.5. Utworzenie aplikacji zawierającej dwa formularze 715 §Przykład 9.6. Uzyskanie dostępu do kontrolki w innym formularzu 721 Rozdział 10. Dziedziczenie i polimorfizm 735 o10.1. Dziedziczenie 735 §Przykład 10.1. Utworzenie i przetestowanie klas SavingsAccount i CDAccount 746 o10.2. Polimorfizm 755 §Przykład 10.2. Dokończenie aplikacji Polymorphism 761 o10.3. Klasa abstrakcyjna 767 §Przykład 10.3. Dokończenie aplikacji Computer Science Student 769 Rozdział 11. Bazy danych 781 o11.1. Wprowadzenie do systemu zarządzania bazą danych 781 o11.2. Tabele, rekordy i kolumny 783 o11.3. Utworzenie bazy danych w Visual Studio 787 §Przykład 11.1. Rozpoczęcie pracy nad aplikacją Phone Book i utworzenie bazy danych Phonelist.mdf 788 o11.4. Kontrolka DataGridView 798 §Przykład 11.2. Dokończenie aplikacji Phone Book 798 o11.5. Nawiązanie połączenia z istniejącą bazą danych i użycie kontrolek widoku szczegółowego 806 §Przykład 11.3. Utworzenie aplikacji Products wraz z widokiem szczegółowym 807 o11.6. Więcej informacji na temat kontrolek dołączania danych 816 §Przykład 11.4. Utworzenie aplikacji Product Lookup 820 §Przykład 11.5. Utworzenie aplikacji Multiform Products 824 o11.7. Pobieranie danych za pomocą polecenia SQL Select 830 §Przykład 11.6. Utworzenie aplikacji Product Queries 838 §Przykład 11.7. Dokończenie aplikacji Product Queries 848 §Przykład 11.8. Utworzenie aplikacji Product Search 852 Dodatek A. Podstawowe typy danych C# 867 Dodatek B. Dodatkowe kontrolki interfejsu użytkownika 869 Dodatek C. Tablica znaków ASCII 891 Dodatek D. Odpowiedzi do pytań z punktów kontrolnych 893
Sygnatura czytelni BWEAiI: XII Ł 133
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. 147426 N (1 egz.)
Książka
W koszyku
Dla doświadczonych programistów i robotyków oraz początkujących hobbystów.
Wprowadzenie do mikrokontrolerów i płytek z mikrokontrolerami Wprowadzenie do mikrokontrolerów Płytki z mikrokontrolerami Przegląd wykorzystywanych w książce analogowych i cyfrowych elementów elektronicznych Podstawowe elementy elektryczne Dioda Płytka prototypowa Opis płytek Blue Pill i Curiosity Nano Instalowanie IDE Twój pierwszy projekt — migająca dioda LED Uruchomienie kodu z migającą diodą na płytce Blue Pill Uruchomienie kodu z migającą diodą na płytce Curiosity Nano. Instalacja środowisk programistycznych oraz programowanie mikrokontrolerów w C Wprowadzenie do programowania w C Podstawowa struktura języka C Wstęp do programowania mikrokontrolera Curiosity Nano Wstęp do programowania mikrokontrolera Blue Pill Przykład — programowanie i wykorzystywanie wbudowanej w płytkę mikrokontrolera diody LED Programowanie diody na płytce Blue Pill Włączanie i wyłączanie diody przyciskiem Przyciski Szum elektryczny przycisków Debouncing sprzętowy Debouncing softwarowy Podłączenie diody do płytki mikrokontrolera z wykorzystaniem wbudowanego rezystora podciągającego Softwarowy debouncing przycisku podłączonego do Blue Pill Włączanie i wyłączanie diody przyciskiem podłączonym do płytki Curiosity Nano Testowanie przycisku Pomiar ilości światła za pomocą fotorezystora Czujniki Definicja czujnika Czym są moduły z czujnikami? Fotorezystor Podłączanie fotorezystora do portu płytki mikrokontrolera Podłączenie fotorezystora do płytki Blue Pill Podłączenie fotorezystora do płytki Curiosity Nano Podłączenie modułu z fotorezystorem do płytek z mikrokontrolerem Testowanie fotorezystora Pomiar temperatury i wilgotności Czujnik wilgotności i temperatury DHT11 Czym jest wilgotność względna? Piny DHT11 i ich opis Podłączenie modułu z czujnikiem DHT11 do płytki z mikrokontrolerem Podłączenie DHT11 do płytki Blue Pill Podłączenie wyświetlacza LCD do Blue Pill Podłączenie czujnika temperatury LM35 do płytki Curiosity Nano Programowanie odbierania danych z czujnika Programowanie współpracy czujnika DHT11 z Blue Pill Programowanie czujnika i wyświetlacza LCD Programowanie współpracy czujnika LM35 z Curiosity Nano Wyświetlanie danych o wilgotności i temperaturze w oknie monitora portu szeregowego Tworzenie wykresów Alarm świetlny SOS kodem Morse’a na jasnej diodzie LED Kod Morse’a i sygnał SOS Superjasne diody LED i obliczanie niezbędnego rezystora Podłączenie rezystora i superjasnej diody LED do Blue Pill Podłączenie superjasnej diody LED do Curiosity Nano Programowanie sygnału SOS Sygnał SOS na Curiosity Nano Testowanie alarmu świetlnego Przełącznik akustyczny Podłączenie mikrofonu do portu płytki z mikrokontrolerem Moduł z mikrofonem elektretowym Podłączenie elementów Programowanie przełącznika akustycznego Programowanie przełącznika na dwa klaśnięcia Programowanie przełącznika akustycznego z timerem między klaśnięciami Ulepszanie działania projektu. Czujnik gazów Czujnik gazów MQ-2 Podłączenie czujnika MQ-2 do płytki z mikrokontrolerem Podłączenie na potrzeby odczytu cyfrowego Podłączenie na potrzeby odczytu analogowego Kod odczytujący stężenie gazów z modułu czujnika Kod do odczytu cyfrowego Kod do odczytu analogowego IoT — system rejestrujący temperaturę Podłączenie czujnika temperatury do płytki Blue Pill Czujnik temperatury DS18B20 Podłączenie komponentów Programowanie odczytu temperatury Podłączenie modułu ESP8266 Moduł Wi-Fi ESP8266 Podłączenie modułu Wi-Fi ESP8266 Programowanie wysyłania odczytów temperatury do sieci Podłączenie płytki Blue Pill do sieci IoT — czujnik nawilżenia rośliny Podłączenie czujnika wilgotności gleby do płytki Blue Pill Czujnik wilgotności gleby Podłączenie elementów Odczyt danych z modułu czujnika wilgotności gleby Programowanie wysyłania odebranych danych do sieci Wyświetlanie danych z czujnika przez sieć Wi-Fi IoT — pomiar energii słonecznej (napięcia) Podłączenie ogniwa fotowoltaicznego do płytki Blue Pill Ogniwo fotowoltaiczne Czujnik napięcia B25 Podłączenie elementów Odczyt danych z czujnika napięcia Programowanie wysyłania zmierzonych danych do internetu Prezentowanie danych z czujnika w internecie Cyfrowy pomiar temperatury ciała Programowanie komunikacji I2C Protokół I2C Programowanie I2C Podłączenie czujnika na podczerwień do płytki z mikrokontrolerem Czujnik MLX90614 Moduł GY-906 Podłączenie czujnika do Arduino Uno Podłączenie Arduino Uno z Blue Pill Prezentacja temperatury na wyświetlaczu LCD Test termometru Alarm dystansu społecznego Programowanie brzęczyka piezoelektrycznego Podłączenie komponentów Podłączenie czujnika ultradźwiękowego do płytki z mikrokontrolerem Podłączenie komponentów Programowanie odbierania danych z czujnika ultradźwiękowego Test pomiaru odległości Timer dwudziestosekundowego mycia rąk Programowanie licznika czasu (timera) Prezentacja licznika na wyświetlaczu Podłączenie czujnika ultradźwiękowego do Blue Pill Co to jest czujnik ultradźwiękowy? Jak działa czujnik ultradźwiękowy? Składamy wszystko razem — pomyśl o obudowie ochronnej!
Sygnatura czytelni BWEAiI: XII Ł 225
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. 153033 (1 egz.)
Książka
W koszyku
Mikrofrontendy w akcji / Michael Geers ; [tłumaczenie: Karolina Stangel]. - Gliwice : Helion, copyright 2021. - 325, [3] strony : ilustracje, wykresy ; 24 cm.
Dla programistów aplikacji internetowych, architektów oprogramowania i inżynierów.
CZĘŚĆ I POCZĄTEK PRZYGODY Z MIKROFRONTENDAMI (21) 1. Czym jest mikrofrontend? (23) 1.1. Szerszy kontekst (24) 1.1.1. Systemy i zespoły (26) 1.1.2. Frontend (28) 1.1.3. Integracja frontendu (31) 1.1.4. Wspólne tematy (32) 1.2. Jakie problemy rozwiązuje architektura mikrofrontendowa? (34) 1.2.1. Optymalizacja rozwoju funkcjonalności (34) 1.2.2. Precz z frontendowym monolitem (34) 1.2.3. Gotowość na zmiany (36) 1.2.4. Korzyści z niezależności (38) 1.3. Wady architektury mikrofrontendowej (40) 1.3.1. Redundancja (40) 1.3.2. Spójność (41) 1.3.3. Różnorodność technologii (41) 1.3.4. Więcej kodu frontendowego (42) 1.4. Kiedy stosować model mikrofrontendowy? (42) 1.4.1. Dla średnich i dużych projektów (42) 1.4.2. Najlepiej działa w sieci (43) 1.4.3. Produktywność i koszty (44) 1.4.4. Kiedy unikać mikrofrontendów? (44) 1.4.5. Kto używa mikrofrontendów? (45) 2. Mój pierwszy projekt mikrofrontendowy (49) 2.1. Przedstawiamy TraktoryOnline (50) 2.1.2. Uruchamianie aplikacji (52) 2.2. Przejścia między stronami za pomocą łączy (54) 2.2.1. Własność danych (54) 2.2.2. Kontrakt między zespołami (55) 2.2.4. Zmiany adresów URL (59) 2.2.7. Kiedy stosować łącza? (60) 2.3. Kompozycja za pomocą ramek iframe (61) 2.3.4. Kiedy stosować ramki iframe? (64) CZĘŚĆ II ROUTING, KOMPOZYCJA I KOMUNIKACJA (67) 3. Kompozycja techniką AJAX i routing po stronie serwera (69) 3.1. Kompozycja techniką AJAX (70) 3.1.2. Przestrzenie nazw dla stylów i skryptów (73) 3.1.3. Deklaratywne ładowanie z biblioteką h-include (76) 3.1.6. Kiedy stosować technikę AJAX? (79) 3.2. Routing przez współdzielony serwer WWW (80) 3.2.2. Przestrzenie nazw dla zasobów (85) 3.2.3. Metody konfiguracji przekierowań (86) 3.2.4. Odpowiedzialność za infrastrukturę (87) 3.2.5. Kiedy stosować? (88) 4. Kompozycja po stronie serwera (91) 4.1. Kompozycja - Nginx i SSI (92) 4.1.2. Szybsze ładowanie (95) 4.2. Obsługa niepewnych fragmentów (97) 4.2.1. Zawodny fragment (97) 4.2.2. Integracja fragmentu "W okolicy" (98) 4.2.3. Limity czasu i treści zastępcze (99) 4.2.4. Treści zastępcze (101) 4.3. Analiza wydajności łączenia fragmentów (102) 4.3.1. Ładowanie równoległe (102) 4.3.2. Zagnieżdżone fragmenty (103) 4.3.3. Opóźnione ładowanie (103) 4.3.4. Czas do odebrania pierwszego bajta a streaming (104) 4.4. Szybki przegląd innych rozwiązań (106) 4.4.1. Edge-Side Includes (106) 4.4.2. Tailor firmy Zalando (107) 4.4.3. Podium (109) 4.4.4. Którego rozwiązania użyć? (115) 4.5. Zalety i wady kompozycji po stronie serwera (115) 4.5.3. Kiedy integracja po stronie serwera ma sens? (117) 5. Kompozycja po stronie klienta (119) 5.1. Mikrofrontend w komponencie webowym (120) 5.1.1. Jak to zrobić? (122) 5.1.2. Framework w komponencie webowym (126) 5.2. Izolacja stylów dzięki mechanizmowi Shadow DOM (128) 5.2.1. Tworzenie ukrytego elementu głównego (128) 5.2.2. Ograniczenie widoczności stylów (129) 5.2.3. Kiedy używać mechanizmu Shadow DOM? (131) 5.3. Zalety i wady komponentów webowych jako metody kompozycji (132) 5.3.3. Kiedy integracja po stronie klienta ma sens? (133) 6. Wzorce komunikacji (135) 6.1. Komunikacja interfejsów użytkownika (136) 6.1.1. Od komponentu nadrzędnego do podrzędnego (137) 6.1.2. Komunikacja od komponentu podrzędnego do nadrzędnego (140) 6.1.3. Komunikacja między fragmentami (144) 6.1.4. Mechanizm publikacji/subskrypcji interfejsu API Broadcast Channel (148) 6.1.5. Kiedy komunikacja między interfejsami użytkownika się sprawdza? (149) 6.2. Inne mechanizmy komunikacji (150) 6.2.1. Globalny kontekst i autentykacja (151) 6.2.2. Zarządzanie stanem (152) 6.2.3. Komunikacja między frontendem a backendem (153) 6.2.4. Replikacja danych (153) 7. Routing po stronie klienta i powłoka aplikacji (157) 7.1. Powłoka aplikacji z płaskim routingiem (160) 7.1.1. Czym jest powłoka aplikacji? (160) 7.1.2. Anatomia powłoki aplikacji (160) 7.1.3. Routing po stronie klienta (162) 7.1.4. Renderowanie stron (164) 7.1.5. Kontrakty między powłoką aplikacji a zespołami (167) 7.2. Powłoka aplikacji z dwupoziomowym routingiem (168) 7.2.1. Router pierwszego poziomu (169) 7.2.2. Routing na poziomie zespołu (170) 7.2.3. Co się dzieje przy zmianie adresu? (171) 7.2.4. Interfejsy API powłoki aplikacji (174) 7.3. Rzut oka na metaframework single-spa (175) 7.3.1. Jak działa single-spa? (176) 7.4. Wady połączonych aplikacji jednostronicowych (181) 7.4.1. Tematy do przemyślenia (181) 7.4.2. Kiedy stosować połączone aplikacje jednostronicowe? (184) 8. Kompozycja i uniwersalne renderowanie (187) 8.1. Połączenie dwóch kompozycji (188) 8.1.1. Mechanizm SSI i komponenty webowe (190) 8.1.2. Kontrakt między zespołami (194) 8.1.3. Inne rozwiązania (195) 8.2. Kiedy stosować uniwersalną kompozycję? (195) 8.2.1. Uniwersalne renderowanie z kompozycją wyłącznie po stronie serwera (196) 8.2.2. Większa złożoność (196) 8.2.3. Uniwersalnie renderowane połączone aplikacje jednostronicowe? (196) 9. Który rodzaj architektury pasuje do mojego projektu? (199) 9.1. Przypomnienie terminologii (200) 9.1.1. Routing i przejścia między stronami (201) 9.1.2. Metody kompozycji (201) 9.1.3. Wysokopoziomowe modele architektoniczne (203) 9.2. Porównanie złożoności (206) 9.2.1. Architektoniczna niejednorodność (207) 9.3. Witryna czy aplikacja? (207) 9.3.1. Kontinuum między dokumentem a aplikacją (208) 9.3.2. Serwer, klient czy uniwersalne renderowanie? (209) 9.4. Wybór odpowiedniej architektury i metody integracji (210) 9.4.1. Silna izolacja (przestarzały kod / kod strony trzeciej) (212) 9.4.2. Szybkie pierwsze załadowanie / stopniowe ulepszanie (212) 9.4.3. Błyskawiczna reakcja (213) 9.4.4. Miękka nawigacja (214) 9.4.5. Wiele mikrofrontendów na jednej stronie (214) CZĘŚĆ III SZYBKOŚĆ, SPÓJNOŚĆ I EFEKTYWNOŚĆ (217) 10. Ładowanie zasobów (219) 10.1. Strategie odnoszenia się do zasobów (220) 10.1.1. Odniesienia bezpośrednie (220) 10.1.2. Cache-busting a niezależne wdrożenia (221) 10.1.3. Odniesienie przez przekierowanie (klient) (222) 10.1.4. Odniesienia w dyrektywie include (225) 10.1.5. Synchronizacja wersji kodu i zasobów (227) 10.1.6. Zasoby we fragmencie (230) 10.1.7. Zintegrowane rozwiązania (Tailor, Podium itp.) (230) 10.1.8. Szybkie podsumowanie (232) 10.2. Podział na pakiety (233) 10.2.1. Protokół HTTP/2 (233) 10.2.2. Wszystko w jednym pakiecie (234) 10.2.3. Pakiet na zespół (235) 10.2.4. Pakiet dla każdej strony i fragmentu (235) 10.3. Ładowanie na żądanie (235) 10.3.1. Komponenty pośredniczące (236) 10.3.2. Opóźnione ładowanie stylów (237) 11. Wydajność to klucz (239) 11.1. Projektowanie z myślą o wydajności (240) 11.1.1. Różne zespoły, różne pomiary (240) 11.1.2. Międzyzespołowy budżet wydajności (242) 11.1.3. Odpowiedzialność za spowolnienia (243) 11.1.4. Korzyści w obszarze wydajności (244) 11.2. Biblioteki zewnętrzne (246) 11.2.1. Koszt autonomii (246) 11.2.2. Małe jest piękne (247) 11.2.3. Jedna globalna wersja (249) 11.2.4. Wersjonowane pakiety z bibliotekami zewnętrznymi (250) 11.2.5. Unikaj współdzielenia kodu biznesowego (262) 12. Interfejs użytkownika i system projektowania (265) 12.1. Po co nam system projektowania? (266) 12.1.1. Cel i rola (268) 12.1.2. Korzyści (268) 12.2. Centralny system projektowania a autonomia zespołów (269) 12.2.1. Czy potrzebuję własnego systemu projektowania? (269) 12.2.2. Proces, a nie projekt (270) 12.2.3. Stały budżet i odpowiedzialność (270) 12.2.4. Poparcie zespołów (271) 12.2.5. Proces rozwoju - centralny czy federacyjny? (273) 12.2.6. Etapy rozwoju (274) 12.3. Integracja w czasie wykonania czy wersjonowanie? (276) 12.3.1. Integracja w czasie wykonania (276) 12.3.2. Wersjonowany pakiet (278) 12.4. Artefakty generyczne i specyficzne (281) 12.4.1. Wybór formatu komponentów (281) 12.4.2. Nieuchronne zmiany (285) 12.5. Co powinno wchodzić w skład centralnej biblioteki wzorców? (286) 12.5.1. Koszt współdzielenia komponentów (286) 12.5.2. Centralny czy lokalny? (286) 12.5.3. Centralne i lokalne biblioteki wzorców (289) 13. Zespoły i granice (293) 13.1. Dopasowanie między systemami i zespołami (294) 13.1.1. Granice między zespołami (295) 13.1.2. Głębia integracji (297) 13.1.3. Zmiana kulturowa (300) 13.2. Dzielenie się wiedzą (301) 13.2.1. Wspólnota praktyków (302) 13.2.2. Nauka (303) 13.2.3. Zaprezentuj swoją pracę (303) 13.3. Globalne problemy (303) 13.3.1. Centralna infrastruktura (304) 13.3.2. Zespół ds. specjalistycznych komponentów (305) 13.3.3. Globalne uzgodnienia i konwencje (305) 13.4. Różnorodność technologiczna (306) 13.4.1. Zestawy narzędzi i opcje domyślne (306) 13.4.2. Szablon frontendowy (306) 13.4.3. Odrzuć strach przed kopiowaniem (308) 13.4.4. Wartość podobieństw (308) 14. Migracje, lokalne środowisko rozwojowe i testowanie (311) 14.1. Migracja (312) 14.1.1. Model koncepcyjny na przetarcie szlaku (312) 14.1.2. Strategia nr 1: kawałek po kawałku (314) 14.1.3. Strategia nr 2: najpierw frontend (315) 14.1.4. Strategia nr 3: od zera do wielkiego wybuchu (317) 14.2. Rozwój w środowisku lokalnym (318) 14.2.1. Bez kodu pozostałych zespołów (319) 14.2.2. Tworzenie atrap fragmentów (319) 14.2.3. Fragmenty w izolacji (321) 14.2.4. Pobieranie mikrofrontendów innych zespołów ze środowiska testowego lub produkcji (323) 14.3. Testowanie (323)
Sygnatura czytelni BWEAiI: XII N 158
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. 151378 N (1 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 151377 N (1 egz.)
Książka
W koszyku
Na stronie tytułowej i okładce nazwa wydawcy oryginału: O'Reilly.
Indeks.
Dojrzewająca branża O tym, jak przegadałem swoją drogę do świata designu UX to wciąż młoda dziedzina Nowy świat Nowa rola Nowy zespół Nowe wyzwania Dobry design to kwestia gustu, ale nie do końca Nie czas na krytykę sztuki Ego i intuicja Zwrot w stronę produktów Zmieniły się podejścia Zmieniła się sieć Zmienił się biznes Świat cyfrowy nie jest mniej prawdziwy Media społecznościowe zmieniły postrzeganie produktów cyfrowych Polityka zmieniła postrzeganie produktów cyfrowych Urządzenia mobilne zmieniły postrzeganie produktów cyfrowych Kultura start-upów zmieniła postrzeganie produktów cyfrowych Właśnie dlatego tylu ludzi ma swoje zdanie na temat twojej pracy Zdolny projektant umie rozmawiać Gdzie kucharek sześć Każdy jest projektantem! Interfejs to Twoje dzieło Praca zespołowa nie tak znowu dobra Przycisk dyrektorski Syndrom strony głównej Komunikacja jest ważna Słowa mają moc Dobra komunikacja zapewnia przewagę Elokwencja to sukces Najlepsze pomysły wygrywają (albo i niekoniecznie) Bądź sprawnym projektantem Skoncentruj się na produkcie, a nie na procesie Wielka trójca Rozwiązanie problemu Prostota obsługi Poparcie Doprowadź to do skutku Zrozumieć relacje Zrozum ich punkt widzenia Dostrzec w nich ludzi Stworzyć wspólne doświadczenia Typowy josh! Rozwinąć empatię Przywództwo i wizja Zadawaj rzeczowe pytania Nawiąż osobisty kontakt Otwórz się na innych Bądź profesjonalny Wskazywanie wpływowych jednostek Wpływowi współpracownicy Wpływowi przełożeni Wpływowi interesariusze z zewnątrz Wartości interesariuszy Historyjki interesariuszy Kierownicy i menedżerowie Programiści Właściciele produktu Menedżerowie projektów Marketingowcy i kreatywni Nawiązuj korzystne relacje Interesariusz to też człowiek Redukcja obciążenia poznawczego Pozbądź się zakłóceń Przewiduj reakcje Spisuj zastrzeżenia Stwórz alternatywne makiety Przygotuj dane Zbuduj sieć wsparcia Klakier Znajdź pomocników Ludzie czują, że to ma znaczenie Próba generalna Wysłuchać znaczy zrozumieć Czynności pasywne Pozwól im się wypowiedzieć Zzwracaj uwagę na to, czego się nie mówi Uprzejma Ula Zniechęcający Zbyszek Wskaż właściwy problem Przestawianie pól danych Powielanie danych Czynności aktywne Przeformułuj: to działa zamiast to mi się podoba Powtórz: chodzi ci o to, że Właściwy stan umysłu Pozbądź się złudzenia kontroli Okiełznaj swoje ego Bądź na tak Ćwiczenie odruchu afirmacyjnego Ujmuj swoim urokiem Zmień słownictwo Przejście Odpowiedź: strategia i taktyka Strategia udzielania odpowiedzi Odwołanie się do szlachetnych motywów Zwiększenie częstotliwości dodawania do koszyka Dodanie przycisku Prototypowanie Taktyka to działanie Porównanie projektów Pokaż wszystkie elementy Zaproponowanie alternatywy Danie wyboru Prośba o wypowiedź W krzyżowym ogniu Opóźnienie podjęcia decyzji Zebranie odroczone Odpowiedź: standardowe komunikaty Biznes Pomaga w osiągnięciu celu Wspomaga wykonanie głównego przypadku użycia Ugruntowuje markę Projekt Wykorzystuje standardowy wzorzec projektowy Przyciąga uwagę użytkownika Tworzy ścieżkę przejścia użytkownika Badania Potwierdzone danymi... Testy użyteczności ujawniły Inne badania wykazują... Hamburgerom dziękujemy Ograniczenia Brakuje zasobów Ograniczenia techniczne Spełnia standardy Odpowiedź: uzyskanie zgody Zdobycie poparcia Bądź bezpośredni Zwróć uwagę na korzyści lub konsekwencje Po zebraniu Spotkanie po zebraniu Popularność po zebraniu Przekaż sprawozdanie Odfiltruj ważne informacje Pomijaj innowacje Nigdy więcej o tym nie wspominaj Poszukaj sprzymierzeńców Zrób cokolwiek choćby nie to, co trzeba Jak przetrwać katastrofę Jak to się stało? Nie zaspokoiłeś konkretnej potrzeby Interesariusz chce mieć poczucie, że został wysłuchany Nastąpiło nieporozumienie Twój projekt nie jest najlepszym rozwiązaniem Interesariusz kompletnie zgłupiał Wprowadzanie zmian, których się nie popiera Subtelne zmiany Element opcjonalny Starannie rozważone położenie Ukryte menu Przygotuj miejsce Nie ma tego złego Odkrywanie innych problemów Bank Zaufania Kiedy się mylisz Przejdź nad tym do porządku dziennego Kozioł ofiarny Wyjdź przed szereg Kiedy się mylisz Malowanie kaczki Zarządzanie oczekiwaniami To już prawie koniec Jeśli nie jesteś projektantem Ślepiec i król Uświadom sobie, że wiemy, co robimy Daj nam możliwość zajęcia się swoją pracą Testy użyteczności i badania Upoważnij cały zespół do szybkiego działania Samodzielny zespół Dostrzeż to, że też jesteśmy ludźmi Używaj przyjaznego języka Dziesięć wskazówek współpracy z projektantami Przygotuj listę kontrolną projektu Miejsce przy stole konferencyjnym Projektować z wizją Zrozum, jakie masz możliwości Obraz jest urzeczywistnieniem fantazji Potrafimy tworzyć takie obrazy Rozwijanie kreatywności Snucie fantazji Trafić do ludzi Nie tylko piksele
Sygnatura czytelni BMW: VI Ę 323 (nowy)
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka Międzywydziałowa
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 144838 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