Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(357)
IBUK Libra
(1)
Forma i typ
Książki
(357)
Publikacje fachowe
(86)
Publikacje dydaktyczne
(33)
Publikacje naukowe
(3)
E-booki
(1)
Poradniki i przewodniki
(1)
Dostępność
dostępne
(239)
tylko na miejscu
(148)
wypożyczone
(8)
nieokreślona
(2)
Placówka
Wypożyczalnia
(245)
Biblioteka WB
(19)
Biblioteka Międzywydziałowa
(3)
Biblioteka WEiZ
(1)
Magazyn
(3)
Biblioteka WEAiI
(126)
Autor
Grębosz Jerzy
(18)
Bielecki Jan (1942-2001)
(15)
Piwko Łukasz
(13)
Górczyński Robert
(12)
Szeremiota Przemysław
(12)
Stroustrup Bjarne (1950- )
(9)
Liberty Jesse
(8)
Meryk Radosław
(8)
Koncewicz-Krzemień Jowita
(7)
Moch Wojciech
(7)
Walczak Tomasz (tłumacz)
(7)
Żmijewski Tomasz
(7)
Kruszewska Danuta
(6)
Majczak Adam
(6)
Prata Stephen
(6)
Schildt Herbert
(6)
Hadała-Mikołajczuk Ewa
(5)
Kisilewicz Jerzy (1947- )
(5)
Lippman Stanley B
(5)
Lis Marcin
(5)
Rajca Piotr
(5)
Walczak Tomasz
(5)
Albahari Ben
(4)
Baron Bernard
(4)
Bąbol Krzysztof
(4)
Czaja Krzysztof
(4)
Drozdek Adam
(4)
Janusz Jacek
(4)
Jońca Rafał
(4)
Kolańska-Płuska Joanna
(4)
Kruszewski Marek
(4)
Kubiak Mirosław J
(4)
Mincer-Daszkiewicz Janina
(4)
Stasiewicz Andrzej
(4)
Suma Łukasz
(4)
Albahari Joseph
(3)
Banach Zbigniew
(3)
Chodkowska-Gyurics Agnieszka
(3)
Gaddis Tony
(3)
Gasiński Karol
(3)
Hubisz Jakub
(3)
Jakóbik Ireneusz
(3)
Josuttis Nicolai M
(3)
Kamiński Bogdan
(3)
Kardaś Mirosław
(3)
Kernighan Brian W
(3)
Kochan Stephen G. (1955- )
(3)
Kolczyński Piotr
(3)
Lippert Eric
(3)
Neibauer Alan R
(3)
Pancewicz Marcin
(3)
Savitch Walter
(3)
Skeet Jon
(3)
Sutter Herb
(3)
Szczepaniak Mikołaj
(3)
Szpoton Rafał
(3)
Szynalski Tomasz
(3)
Tyrowicz Bożena
(3)
Wróblewski Piotr (informatyka)
(3)
Alexandrescu Andrei
(2)
Barteczko Krzysztof
(2)
Bismor Dariusz (1970- )
(2)
Dadan Michał
(2)
Davis Stephen R. (1956- )
(2)
Deitel Paul J
(2)
Delannoy Claude
(2)
Dyl Paweł
(2)
Eckel Bruce (1957- )
(2)
Evjen Bill
(2)
Farbaniec Dawid
(2)
Gonera Paweł
(2)
Grażyński Andrzej
(2)
Greene Jennifer (1971- )
(2)
Griffiths Ian (1973- )
(2)
Hanselman Scott
(2)
Holzner Steven
(2)
Jamsa Kris
(2)
Jones Bradley
(2)
Joszcz Grzegorz
(2)
Kaczmarek Daniel
(2)
Kniat Jan
(2)
Korbaś Grzegorz Paweł
(2)
Lachowski Lech
(2)
Machowski Janusz
(2)
Majewski Jacek
(2)
Malinowski Adam
(2)
Matlak Michał
(2)
Matulewski Jacek (1972- )
(2)
Michaelis Mark
(2)
Orłowski Sławomir
(2)
Pałczyński Marek
(2)
Price Mark J
(2)
Rader Devin (1976- )
(2)
Rajca Piotr (1970- )
(2)
Rao Siddhartha
(2)
Ritchie Dennis M
(2)
Rusek Jan
(2)
Rykaczewski Roman
(2)
Schneier Bruce (1963- )
(2)
Sedgewick Robert (1946- )
(2)
Rok wydania
2020 - 2024
(33)
2010 - 2019
(96)
2000 - 2009
(124)
1990 - 1999
(85)
1980 - 1989
(20)
Okres powstania dzieła
2001-
(104)
1989-2000
(3)
Kraj wydania
Polska
(355)
Stany Zjednoczone
(2)
nieznany (us)
(1)
Język
polski
(354)
angielski
(4)
Odbiorca
Programiści
(31)
Szkoły wyższe
(7)
Elektronicy
(1)
Poziom niższy średniozaawansowany
(1)
Poziom podstawowy
(1)
Poziom zaawansowany
(1)
Poziom średniozaawansowany
(1)
Projektanci aplikacji multimedialnych, animacji i gier komputerowych
(1)
Temat
C++ (język programowania)
(173)
C (język programowania)
(105)
Języki programowania
(90)
C# (język programowania)
(73)
Informatyka
(57)
Programowanie obiektowe
(34)
Programowanie (informatyka)
(33)
Programy komputerowe
(25)
Mikrokontrolery
(13)
Algorytmy
(10)
.NET
(6)
Borland C++ (oprogramowanie)
(6)
ANSI C (język programowania)
(5)
Analiza numeryczna
(5)
Microsoft Visual C# (język programowania)
(5)
ASP.NET
(4)
Borland C++ Builder (oprogramowanie)
(4)
Grafika komputerowa
(4)
Microsoft Windows (system operacyjny)
(4)
Objective-C (język programowania)
(4)
Programowanie współbieżne
(4)
Visual Studio
(4)
Asemblery
(3)
Gry komputerowe
(3)
Microsoft .NET Framework (platforma)
(3)
Microsoft Active Server Pages (oprogramowanie)
(3)
Microsoft Visual C++ (oprogramowanie)
(3)
Programowanie strukturalne
(3)
Simulink (oprogramowanie)
(3)
Sterowanie
(3)
Struktury danych
(3)
Szyfry
(3)
Unity (informatyka)
(3)
Visual Basic
(3)
Bazy danych
(2)
Grafy
(2)
Interfejsy użytkowników (systemy informatyczne)
(2)
Java (język programowania)
(2)
Komputery
(2)
Matematyka
(2)
Microsoft Visual C# .NET (język programowania)
(2)
Optymalizacja
(2)
Pascal (język programowania)
(2)
Programowanie dla Internetu
(2)
Qt (oprogramowanie)
(2)
Quick C
(2)
Rozpoznawanie obrazów
(2)
Sieci neuronowe
(2)
Sieć komputerowa
(2)
Systemy informatyczne
(2)
Systemy operacyjne
(2)
TURBO C
(2)
Transmisja danych
(2)
Turbo C
(2)
Turbo C++ (oprogramowanie)
(2)
Wzorzec projektowy (informatyka)
(2)
XAML (język opisu interfejsu użytkownika)
(2)
iOS (system operacyjny)
(2)
ALGORYTM Dijkstry
(1)
ALGORYTMY KOMPUTEROWE
(1)
ANSI C++ (język programowania)
(1)
ARM (mikrokontroler)
(1)
Algorytmika
(1)
Algorytmy gafowe
(1)
Aplikacje internetowe
(1)
Architektura oprogramowania
(1)
Arkusz kalkulacyjny
(1)
Basic (język programowania)
(1)
Business Procesess Execusion Language
(1)
Commodore C-64
(1)
Elektronika
(1)
Elektrotechnika
(1)
F# (język programowania)
(1)
Forth (język programowania)
(1)
GRAFY ACYKLICZNE
(1)
GRAFY DWUDZIELNE
(1)
Grafika trójwymiarowa
(1)
Internet
(1)
KOMPILATORY OPTYMALIZACYJNE
(1)
Kombinatoryka
(1)
Kompilatory (programy komputerowe)
(1)
MATROIDY GRAFOWE
(1)
MATROIDY MACIERZOWE
(1)
MATROIDY TRANSWERSALNE
(1)
MDI [Multiple Document Interface] (aplikacje)
(1)
Microsoft DirectX (oprogramowanie)
(1)
Microsoft Visual Studio C# 2005 Express Edition (środowisko program.)
(1)
Mikrosterowniki
(1)
Minikomputery i mikrokomputery
(1)
Mnożniki Lagrange'a
(1)
Model-View-Controller (informatyka)
(1)
OpenGraphicsLibrary (oprogramowanie)
(1)
PAMIĘCI PODRĘCZNE
(1)
PIC [Programmable Interrupt Controller]
(1)
PL/M [Programming Language for Microcomputers] (język programowania)
(1)
PLATFORMA .NET
(1)
PROGRAMOWANIE PROCEDURALNE
(1)
PROGRAMOWANIE SEKWENCYJNE
(1)
PROGRAMOWANIE UOGÓLNIONE
(1)
PROGRAMOWANIE ZDARZENIOWE
(1)
Temat: czas
2001-
(19)
Gatunek
Podręcznik
(166)
Ćwiczenia i zadania
(21)
Podręczniki
(13)
Podręczniki akademickie
(12)
Poradnik
(7)
Opracowanie
(4)
Ćwiczenia i zadania dla szkół wyższych
(3)
Poradniki
(2)
Monografia
(1)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(104)
Matematyka
(4)
Inżynieria i technika
(3)
358 wyników Filtruj
Książka
W koszyku
Tytuł oryginału: Functional programming in C++ : how to improve your C++ programs using functional techniques.
Na okładce logo wydawnictwa oryginału Manning Publications Co.
Indeks.
Rozdział 1. Wprowadzenie do programowania funkcyjnego 17 1.1. Co to jest programowanie funkcyjne? 18 1.1.1. Związek z programowaniem obiektowym 19 1.1.2. Praktyczny przykład porównania programowania imperatywnego i deklaratywnego 20 1.2. Funkcje czyste 24 1.2.1. Unikanie stanu mutowalnego 27 1.3. Myślenie w sposób funkcjonalny 29 1.4. Korzyści wynikające z programowania funkcyjnego 31 1.4.1. Zwięzłość i czytelność kodu 32 1.4.2. Współbieżność i synchronizacja 33 1.4.3. Ciągła optymalizacja 33 1.5. Przekształcanie C++ w funkcyjny język programowania 34 1.6. Czego nauczysz się w trakcie czytania tej książki? 36 Rozdział 2. Pierwsze kroki z programowaniem funkcyjnym 39 2.1. Funkcje używające innych funkcji? 40 2.2. Przykłady z biblioteki STL 42 2.2.1. Obliczanie średnich 42 2.2.2. Zwijanie 45 2.2.3. Przycinanie łańcucha 48 2.2.4. Partycjonowanie kolekcji na podstawie predykatu 50 2.2.5. Filtrowanie i transformacja 52 2.3. Problemy ze składaniem algorytmów STL 53 2.4. Tworzenie własnych funkcji wyższego rzędu 55 2.4.1. Otrzymywanie funkcji w postaci argumentów 55 2.4.2. Implementacja z pętlami 56 2.4.3. Rekurencja oraz optymalizacja przez rekurencję ogonową 57 2.4.4. Implementacja przy użyciu zwijania 61 Rozdział 3. Obiekty funkcyjne 63 3.1. Funkcje i obiekty funkcyjne 64 3.1.1. Automatyczna dedukcja typu zwracanego 64 3.1.2. Wskaźniki do funkcji 67 3.1.3. Przeciążanie operatora wywołania 68 3.1.4. Tworzenie generycznych obiektów funkcyjnych 70 3.2. Wyrażenia lambda i domknięcia 73 3.2.1. Składnia wyrażenia lambda 74 3.2.2. Co się kryje wewnątrz wyrażenia lambda? 75 3.2.3. Tworzenie dowolnych zmiennych składowych w wyrażeniach lambda 77 3.2.4. Uogólnione wyrażenia lambda 79 3.3. Tworzenie obiektów funkcyjnych, które są jeszcze bardziej zwięzłe niż wyrażenia lambda 80 3.3.1. Obiekty funkcyjne operatorów w bibliotece STL 83 3.3.2. Obiekty funkcyjne operatorów w innych bibliotekach 84 3.4. Opakowywanie obiektów funkcyjnych przy użyciu std::function 86 Rozdział 4. Tworzenie nowych funkcji na podstawie istniejących 89 4.1. Częściowe stosowanie funkcji 90 4.1.1. Ogólny sposób zamiany funkcji dwuargumentowych na jednoargumentowe 92 4.1.2. Użycie std::bind do wiązania wartości z określonymi argumentami funkcji 95 4.1.3. Zamienianie ze sobą argumentów funkcji dwuargumentowej 97 4.1.4. Użycie std::bind z funkcjami mającymi więcej argumentów 98 4.1.5. Użycie wyrażeń lambda jako alternatywy dla std::bind 101 4.2. Rozwijanie: inny sposób podejścia do funkcji 103 4.2.1. Rozwijanie funkcji w prostszy sposób 104 4.2.2. Użycie rozwijania podczas dostępu do bazy danych 106 4.2.3. Rozwijanie a częściowe stosowanie funkcji 109 4.3. Złożenie funkcji 110 4.4. Podnoszenie funkcji - kolejne podejście 113 4.4.1. Odwracanie elementów par w kolekcji 116 Rozdział 5. Czystość: unikanie stanu mutowalnego 119 5.1. Problemy ze stanem mutowalnym 120 5.2. Funkcje czyste i przejrzystość referencyjna 122 5.3. Programowanie bez efektów ubocznych 125 5.4. Stan mutowalny i niemutowalny w środowisku współbieżnym 129 5.5. Duże znaczenie kwalifikatora const 132 5.5.1. Logiczna i wewnętrzna zgodność z deklaracją const 134 5.5.2. Optymalizacja funkcji składowych dla zmiennych tymczasowych 136 5.5.3. Pułapki związane z użyciem słowa kluczowego const 138 Rozdział 6. Wartościowanie leniwe 141 6.1. Wartościowanie leniwe w C++ 142 6.2. Wartościowanie leniwe jako technika optymalizacyjna 145 6.2.1. Sortowanie kolekcji przy wykorzystaniu wartościowania leniwego 145 6.2.2. Wyświetlanie elementów w interfejsach użytkownika 147 6.2.3. Przycinanie drzew rekurencyjnych przez buforowanie wyników funkcji 148 6.2.4. Programowanie dynamiczne jako forma wartościowania leniwego 150 6.3. Uogólnione zapamiętywanie 152 6.4. Szablony wyrażeń i leniwe łączenie łańcuchów 155 6.4.1. Czystość i szablony wyrażeń 159 Rozdział 7. Zakresy 163 7.1. Wprowadzenie do zakresów 165 7.2. Tworzenie widoków danych tylko do odczytu 166 7.2.1. Użycie funkcji filter z zakresami 166 7.2.2. Użycie funkcji transform z zakresami 167 7.2.3. Wartościowanie leniwe wartości zakresów 168 7.3. Mutowalność zmiennych w zakresach 170 7.4. Używanie zakresów ograniczonych i nieskończonych 172 7.4.1. Użycie zakresów ograniczonych do optymalizacji obsługi zakresów wejściowych 172 7.4.2. Tworzenie zakresów nieskończonych przy użyciu wartowników 173 7.5. Używanie zakresów do obliczania częstości pojawiania się słów 175 Rozdział 8. Funkcyjne struktury danych 179 8.1. Niemutowalne listy łączone 180 8.1.1. Dodawanie i usuwanie elementów z początku listy 180 8.1.2. Dodawanie i usuwanie elementów z końca listy 181 8.1.3. Dodawanie i usuwanie elementów z wnętrza listy 182 8.1.4. Zarządzanie pamięcią 183 8.2. Niemutowalne struktury danych podobne do wektorów 185 8.2.1. Wyszukiwanie elementu w drzewie trie 187 8.2.2. Dołączanie elementów w drzewie trie 189 8.2.3. Aktualizacja elementów w drzewie trie 191 8.2.4. Usuwanie elementów z końca drzewa trie 192 8.2.5. Inne operacje i całkowita wydajność drzewa trie 192 Rozdział 9. Algebraiczne typy danych i dopasowywanie do wzorców 195 9.1. Algebraiczne typy danych 196 9.1.1. Typy sumy uzyskiwane poprzez dziedziczenie 197 9.1.2. Typy sumy uzyskiwane dzięki uniom i typowi std::variant 200 9.1.3. Implementacja określonych stanów 204 9.1.4. Szczególny typ sumy: wartości opcjonalne 205 9.1.5. Użycie typów sumy w celu obsługi błędów 207 9.2. Modelowanie dziedziny za pomocą algebraicznych typów danych 212 9.2.1. Rozwiązanie najprostsze, które czasami jest niewystarczające 213 9.2.2. Rozwiązanie bardziej zaawansowane: podejście zstępujące 214 9.3. Lepsza obsługa algebraicznych typów danych za pomocą dopasowywania do wzorców 215 9.4. Zaawansowane dopasowywanie do wzorców za pomocą biblioteki Mach7 218 Rozdział 10. Monady 221 10.1. Funktory pochodzące od nie Twojego rodzica 222 10.1.1. Obsługa wartości opcjonalnych 223 10.2. Monady: więcej możliwości dla funktorów 226 10.3. Proste przykłady 229 10.4. Składane zakresy i monady 231 10.5. Obsługa błędów 234 10.5.1. Typ std::optionaljako monada 234 10.5.2. Typ expectedjako monada 236 10.5.3. Monada Try 237 10.6. Obsługa stanu przy użyciu monad 238 10.7. Monada współbieżnościowa i kontynuacyjna 240 10.7.1. Typ future jako monada 242 10.7.2. Implementacja wartości przyszłych 244 10.8. Składanie monad 245 Rozdział 11. Metaprogramowanie szablonów 249 11.1. Zarządzanie typami w czasie kompilacji 250 11.1.1. Debugowanie typów dedukowanych 252 11.1.2. Dopasowywanie do wzorców podczas kompilacji 254 11.1.3. Udostępnianie metainformacji o typach 257 11.2. Sprawdzanie właściwości typu w czasie kompilacji 258 11.3. Tworzenie funkcji rozwiniętych 261 11.3.1. Wywoływanie wszystkich obiektów wywoływalnych 263 11.4. Tworzenie języka dziedzinowego 265 Rozdział 12. Projektowanie funkcyjne systemów współbieżnych 273 12.1. Model aktora: myślenie komponentowe 274 12.2. Tworzenie prostego źródła wiadomości 278 12.3. Modelowanie strumieni reaktywnych w postaci monad 281 12.3.1. Tworzenie ujścia w celu odbierania wiadomości 283 12.3.2. Transformowanie strumieni reaktywnych 286 12.3.3. Tworzenie strumienia z określonymi wartościami 288 12.3.4. Łączenie strumienia strumieni 289 12.4. Filtrowanie strumieni reaktywnych 290 12.5. Obsługa błędów w strumieniach reaktywnych 291 12.6. Odpowiadanie klientowi 293 12.7. Tworzenie aktorów ze stanem mutowalnym 297 12.8. Tworzenie systemów rozproszonych z użyciem aktorów 298 Rozdział 13. Testowanie i debugowanie 301 13.1. Czy program, który się kompiluje, jest poprawny? 302 13.2. Testy jednostkowe i funkcje czyste 304 13.3. Testy generowane automatycznie 305 13.3.1. Generowanie przypadków testowych 306 13.3.2. Testowanie oparte na właściwościach 307 13.3.3. Testy porównawcze 309 13.4. Testowanie systemów współbieżnych opartych na monadach 311
Sygnatura czytelni BWEAiI: XII Ł 161
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. 148509 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.)
Brak okładki
Książka
W koszyku
U dołu okł. : Projektowanie algorytmów, abstrakcyjne typy danych, proste struktury danych, analiza algorytmów, sortowanie, słowniki.
Bibliogr. s. 203.
Dla studentów kierunków informatycznych, także technicznych oraz osób zajmujących się programowaniem.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 120438 (1 egz.)
Książka
W koszyku
Programowanie wieloplatformowe z C++ i wxWidgets 3 / Bartosz W. Warzocha. - Wydanie I. - Warszawa : Wydawnictwo Naukowe PWN, 2018. - XXXV, [1], 1112 strony : ilustracje ; 25 cm.
Indeks.
Poznajemy wxWidgets 3 Biblioteka Przygotowanie projektu Pierwsze okno Obsługa zdarzeń Zanim przejdziemy dalej Część II Zdobywamy obszar klienta Wisielec, czyli podstawowe kontrolki i techniki wxWidgets Własny edytor C++, czyli bardziej zaawansowane kontrolki i techniki wxWidgets Level completed, czyli co jeszcze w trawie piszczy? Część III Potęga dialogu Standardowe okna i funkcje dialogowe oraz inne techniki interakcji z użytkownikiem Walidacja danych wejściowych Aplikacja Bibliotekarz i realizacja własnych okien dialogowych Część IV Zaawansowane programowanie wxWidgets Tajemnice pracy z ciągami znaków w wxWidgets, czyli klasa wxString i nie tylko Data i czas w wxWidgets Krótka opowieść o przydatnych szablonach i pseudoszablonach wxWidgets Praca z plikami i systemem plików w wxWidgets Krótki przegląd niektórych zaawansowanych kontrolek GUI Tworzenie własnych generycznych kontrolek GUI Techniki i modele realizacji GUI aplikacji Drukowanie w wxWidgets od kuchni Krótki rozdział o technikach przechowywania konfiguracji programu wxWidgets i programowanie współbieżne wxWidgets i konsola Co jest grane? O logach w wxWidgets Nie tylko po polsku, czyli internacjonalizacja aplikacji Programowanie sieciowe z wxWidgets wxWidgets i nowoczesny OpenGL Zagadnienia programowania bazodanowego z wxWidgets 3+ Bonus na koniec, czyli jak wykonać ekran startowy Dodatek A Krótki leksykon standardowych elementów GUI wxWidgets Dodatek B Niektóre ważniejsze rozszerzenia wxWidgets Dodatek C Licencje
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 146298 N (1 egz.)
Książka
W koszyku
Na okładce i grzbiecie także nazwa wydawcy oryginału: No Starch Press.
Dlaczego wybrałem język C? Słowo kluczowe static Pliki nagłówkowe Zwalnianie pamięci Witryny oceniające Anatomia opisu problemu Problem: Kolejki po jedzenie Problem 1. Płatki śniegu Rozwiązywanie podstawowego problemu Rozwiązanie 1. Porównywanie parami Rozwiązanie 2. Zmniejszenie liczby wykonywanych operacji Projekt tablicy mieszającej Dlaczego warto używać tablic mieszających? Problem 2. Słowa złożone Wskazywanie słów złożonych Problem 3. Sprawdzanie pisowni - usuwanie litery Rozważania o zastosowaniu tablic mieszających 2. Drzewa i rekurencja Problem 1. Halloweenowy łup Drzewa binarne Rozwiązywanie problemu dla przykładowego drzewa Reprezentacja drzew binarnych Zbieranie wszystkich cukierków Zupełnie inne rozwiązanie Przechodzenie minimalnej liczby ulic Odczyt danych wejściowych Dlaczego korzystać z rekurencji? Problem 2. Odległość pomiędzy potomkami Odczyt danych wejściowych Liczba potomków w odległości d od wierzchołka Liczba potomków dla wszystkich wierzchołków Sortowanie wierzchołków Funkcja main 3. Memoizacja i programowanie dynamiczne Problem 1. Burgerowa gorączka Określenie planu rozwiązania problemu Określanie optymalnego rozwiązania Rozwiązanie 1. Zastosowanie rekurencji Rozwiązanie 2. Memoizacja Rozwiązanie 3. Programowanie dynamiczne Memoizacja i programowanie dynamiczne Krok 1. Struktura optymalnego rozwiązania Krok 2. Rozwiązanie rekurencyjne Krok 3. Memoizacja Krok 4. Programowanie dynamiczne Problem 2. Skąpcy Określanie optymalnego rozwiązania Rozwiązanie 1. Rekurencja Funkcja main Problem 3. Rywalizacja hokejowa Rozważania dotyczące rywalizacji Określenie optymalnego rozwiązania Optymalizacja zużycia pamięci Problem 4. Sposoby zaliczenia 4. Grafy i przeszukiwanie wszerz Problem 1. Pogoń skoczka Optymalne ruchy skoczka Najlepszy wynik skoczka Przesunięcie i powrót skoczka Optymalizacja czasu działania Grafy i przeszukiwanie wszerz Czym są grafy? Grafy a drzewa Algorytm BFS na grafach Problem 2. Wspinaczka po linie Rozwiązanie 1. Poszukiwanie ruchów Rozwiązanie 2. Nowy model Problem 3. Tłumaczenie książek Budowanie grafu Implementacja algorytmu BFS Koszt całkowity 5. Najkrótsze ścieżki na grafach ważonych Problem 1. Myszy w labiryncie Zostawiamy algorytm BFS Najkrótsze ścieżki na grafach ważonych Tworzenie grafu Implementacja algorytmu Dijkstry Dwie optymalizacje Algorytm Dijkstry Efektywność działania algorytmu Dijkstry Krawędzie o wagach ujemnych Problem 2. Planowanie odwiedzin u babci Macierz sąsiedztwa Konstruowanie grafu Dziwaczne ścieżki Zadanie 1. Najkrótsze ścieżki Zadanie 2. Liczba najkrótszych ścieżek 6. Wyszukiwanie binarne Problem 1. Karmienie mrówek Nowy rodzaj problemów z drzewami Wczytywanie danych wejściowych Sprawdzanie wykonalności Wydajność działania algorytmu wyszukiwania binarnego Określanie wykonalności Przeszukiwanie tablicy posortowanej Problem 2. Skok przez rzekę Koncepcja zachłanności Testowanie wykonalności Wczytywanie danych wejściowych Problem 3. Jakość życia Sortowanie wszystkich prostokątów Wyszukiwanie binarne Szybsze sprawdzanie wykonalności Problem 4. Drzwi w jaskini Rozwiązywanie podzadań Zastosowanie wyszukiwania liniowego Stosowanie wyszukiwania binarnego 7. Kopce i drzewa segmentów Promocja w supermarkecie Wartość maksymalna i minimalna w tablicy Kopce maksymalne Kopce minimalne Rozwiązanie 2. Kopce Kopce Wybór struktury danych Problem 2. Budowanie drzewców Rekurencyjne wyświetlanie drzewców Sortowanie na podstawie etykiet Rozwiązanie 1. Rekurencja Pytania o sumę zakresu Drzewa segmentów Rozwiązanie 2. Drzewa segmentów Drzewa segmentów Problem 3. Suma dwóch Wypełnianie drzewa segmentów Znajdowanie odpowiedzi z użyciem drzewa segmentów Aktualizacja drzewa segmentów Funkcja main 8. Struktura zbiorów rozłącznych Problem 1. Sieć społecznościowa Modelowanie danych w formie grafu Rozwiązanie 1. BFS Struktura zbiorów rozłącznych Rozwiązanie 2. Struktura zbiorów rozłącznych Optymalizacja 1. Łączenie na podstawie wielkości Optymalizacja 2. Skracanie ścieżek Struktura zbiorów rozłącznych Relacje: Trzy wymagania Wybieranie struktury zbiorów rozłącznych Optymalizacje Problem 2. Przyjaciele i wrogowie Rozszerzenie: wrogowie Funkcja main Operacje find i union Operacje UstawJakoPrzyjaciół i UstawJakoWrogów Operacje CzySąPrzyjaciółmi i CzySąWrogami Równoważne szuflady Funkcja main Implementacja operacji find i union A. Efektywność algorytmów Kwestia czasu. i nie tylko Notacja dużego O Czas liniowy Czas stały Czas kwadratowy Notacja dużego O w tej książce B. Ponieważ nie mogłem się powstrzymać Płatki śniegu: niejawne listy połączone Burgerowa gorączka: rekonstrukcja rozwiązania Pogoń skoczka: kodowanie ruchów Algorytm Dijkstry: stosowanie kopca Myszy w labiryncie: śledzenie z użyciem kopców Myszy w labiryncie: implementacja z użyciem kopca Skracanie skracania ścieżek Krok 1. Żadnych więcej operatorów trójargumentowych Krok 2. Bardziej czytelne operatory przypisania Krok 3. Wyjaśnienie rekurencji
Sygnatura czytelni BWEAiI: XII N 163
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. 153035 (1 egz.)
Książka
W koszyku
Bibliografia, netografia na stronach [203]-204. Indeks.
Przed przystąpieniem do zadań (13) Instalacja środowiska i uruchomienie aplikacji WPF (13) Wymagany zakres znajomości języka C# (15) Podstawy WPF (21) Podstawy XAML (22) Sterowanie rozmiarem i pozycją elementów (29) Pierwsza aplikacja - Przywitanie (33) Warstwa prezentacji, czyli jak ma wyglądać (33) Code-behind, czyli jak ma działać (37) Podstawowe kontrolki (45) Kontrolki Label, TextBox, Button - aplikacja Kwadrat (45) Kontrolki ComboBox i CheckBox - aplikacja Rysowanie kwadratu (48) Panele (53) Canvas (53) StackPanel (54) WrapPanel (56) DockPanel (56) Grid (57) Wiązanie danych - aplikacja Produkt (61) Testowanie wiązania danych (61) Kod XAML (63) Definicja klasy Produkt i code-behind (65) Wiązanie kolekcji danych - aplikacja Lista produktów (71) Kod XAML (71) Definicja klasy Produkt i code-behind (72) Sortowanie wykazu (73) Formatowanie danych w wykazie (74) Wyrównanie tekstu w kolumnie (75) Filtrowanie danych (76) Edycja danych w nowym oknie (78) Kontrolka DataGrid - aplikacja Edycja produktów (85) Kontrolka DataGrid z autogenerowaniem kolumn (85) Definiowanie kolumn dla DataGrid (88) Kolumna DataGridComboBoxColumn (89) Wiązanie kontrolki DataGrid z dokumentem XML (90) Menu - aplikacja Przeglądarka www (101) Kod XAML (101) Code-behind (104) Zakładki (TabControl) - aplikacja Odtwarzacz audio (111) Kod XAML (111) Code-behind (113) Zasoby, style i wyzwalacze (119) Zasoby binarne (119) Zasoby logiczne (120) Style (126) Wyzwalacze (131) Wyzwalacze właściwości (132) Wyzwalacze danych (132) Warunki logiczne w wyzwalaczach (135) Szablony danych, konwertery i szablony kontrolek (137) Drzewo logiczne i drzewo prezentacji (137) Szablony danych - aplikacja Lista zadań (141) Konwertery wartości (145) Szablony kontrolek (147) Walidacja danych (153) Wbudowane mechanizmy walidacji (153) Definiowanie własnych reguł walidacji (158) Wyrażenia regularne (160) Wprowadzenie do wzorca projektowego MVVM (175) Model-View-ViewModel (176) Budujemy widok dla przykładowej aplikacji (177) Implementacja modelu (178) Implementacja modelu widoku (181) Przed dalszą nauką MVVM (183) Trochę teorii na temat WPF (187) Hierarchia klas WPF (187) Kontrolki (189) Kontrolki z zawartością wpisywaną do właściwości Content (190) Kontrolki z zawartością Items (194) Kontrolki tekstowe (197) Kontrolki zakresu (198) Pozostałe kontrolki (199) Kierunki dalszej nauki WPF (200)
Sygnatura czytelni BWEAiI: XII P 5
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. 144848 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Introduction to game design, prototyping, and development : from concept to playable game with Unity and C#.
Na stronie tytułowej i okładce: "Od pomysłu do gotowej gry".
Wydanie 10. odnosi się do oryginału.
Indeks.
CZĘŚĆ I. PROJEKTOWANIE GIER I PROTOTYPOWANIE NA PAPIERZE Rozdział 1. Myśląc jak projektant 37 Jesteś projektantem gier 38 Ćwiczenie z grą: Bartok 38 Definicja gry 44 Rozdział 2. Struktury analityczne gier 53 Najbardziej znane struktury ludologiczne 54 MDA: mechanika, dynamika i estetyka 54 Elementy formalne, dramatyczne i dynamiczne 58 Tetrada podstawowa 61 Rozdział 3. Tetrada warstwowa 65 Warstwa wbudowana 66 Warstwa dynamiczna 67 Warstwa kulturowa 68 Odpowiedzialność projektanta 70 Rozdział 4. Warstwa wbudowana 73 Mechanika wbudowana 74 Estetyka wbudowana 81 Narracja wbudowana 83 Technologia wbudowana 93 Rozdział 5. Warstwa dynamiczna 95 Rola gracza 96 Emergencja 97 Mechanika dynamiczna 98 Estetyka dynamiczna 104 Narracja dynamiczna 109 Technologia dynamiczna 111 Rozdział 6. Warstwa kulturowa 113 Poza rozgrywką 114 Mechanika kulturowa 115 Estetyka kulturowa 116 Narracja kulturowa 117 Technologia kulturowa 118 Autoryzowane materiały transmedialne nie są częścią warstwy kulturowej 119 Kulturowy wpływ gry 120 Rozdział 7. Działając jak projektant 125 Projektowanie iteracyjne 126 Innowacyjność 132 Burza mózgów i powstawanie pomysłów 133 Zmiana decyzji 136 Scoping 139 Rozdział 8. Cele projektu 141 Cele projektu: lista niekompletna 142 Cele zorientowane na projektanta 142 Cele zorientowane na gracza 145 Rozdział 9. Prototypowanie na papierze 161 Korzyści z papierowych prototypów 162 Narzędzia do prototypowania na papierze 163 Prototypowanie interfejsów na papierze 165 Przykładowy prototyp papierowy 166 Zalety stosowania prototypowania na papierze 170 Niewskazane zastosowania prototypowania na papierze 171 Rozdział 10. Testowanie gier 173 Dlaczego należy testować gry? 174 Sam bądź wspaniałym testerem 174 Kręgi testerów 175 Metody testowania gier 178 Inne ważne rodzaje testów 185 Rozdział 11. Matematyka i równoważenie gry 187 Co to jest równoważenie gry? 188 Znaczenie arkuszy kalkulacyjnych 188 Użycie Arkuszy Google w tej książce 189 Badanie prawdopodobieństwa rzutów kostkami przy użyciu Arkuszy Google 190 Matematyka prawdopodobieństwa 201 Technologie losowania w grach papierowych 206 Rozkłady ważone 209 Permutacje 212 Użycie arkuszy kalkulacyjnych w celu równoważenia broni 213 Dodatnie i ujemne sprzężenie zwrotne 221 Rozdział 12. Prowadzenie gracza 223 Prowadzenie bezpośrednie 224 Cztery metody prowadzenia bezpośredniego 225 Prowadzenie pośrednie 226 Siedem metod prowadzenia pośredniego 226 Nauka nowych umiejętności i pomysłów 234 Rozdział 13. Projektowanie łamigłówek 237 Scott Kim o projektowaniu łamigłówek 238 Przykłady użycia łamigłówek w grach akcji 246 Rozdział 14. Zwinny umysł 249 Manifest zwinnego wytwarzania oprogramowania 250 Metodologia Scrum 251 Przykład wykresu spalania 254 Tworzenie własnego wykresu spalania 263 Rozdział 15. Przemysł gier cyfrowych 265 Branża gier 266 Edukacja związana z projektowaniem gier 269 Wejście do branży 272 Nie czekaj, aby rozpocząć tworzenie gier! 276 CZĘŚĆ II. PROTOTYPOWANIE CYFROWE Rozdział 16. Myśląc jak systemy komputerowe 283 Myślenie systemowe w grach planszowych 284 Przykład prostych instrukcji 285 Analiza gry Zbieracz jabłek 287 Rozdział 17. Wprowadzenie do środowiska projektowego Unity 293 Pobieranie Unity 294 Wprowadzenie do środowiska projektowego 297 Uruchamianie Unity po raz pierwszy 302 Przykładowy projekt 302 Konfigurowanie układu okien Unity 303 Obsługa środowiska Unity 307 Rozdział 18. Prezentacja naszego języka: C# 309 Cechy języka C# 310 Czytanie i rozumienie składni języka C# 316 Rozdział 19. Witaj, świecie - Twój pierwszy program 319 Tworzenie nowego projektu 320 Tworzenie nowego skryptu C# 322 Robi się coraz bardziej interesująco 327 Rozdział 20. Zmienne i komponenty 337 Wprowadzenie do zmiennych 338 Zmienne o silnej kontroli typów w języku C# 338 Ważne typy zmiennych języka C# 339 Zasięg zmiennych 343 Konwencje nazewnicze 343 Ważne typy zmiennych Unity 344 Obiekty GameObject i komponenty w Unity 351 Rozdział 21. Operatory logiczne i instrukcje warunkowe 355 Wartości logiczne (boolowskie) 356 Operatory porównania 360 Instrukcje warunkowe 363 Rozdział 22. Pętle 371 Rodzaje pętli 372 Definiowanie projektu 372 Pętle while 372 Pętle do...while 376 Pętle for 376 Pętle foreach 378 Instrukcje skoku wewnątrz pętli 379 Rozdział 23. Kolekcje w C# 383 Kolekcje języka C# 384 Użycie kolekcji ogólnych 386 Lista 387 Słownik 391 Tablica 394 Tablice wielowymiarowe 398 Tablice nieregularne 401 Kiedy należy używać tablic lub list 405 Rozdział 24. Funkcje i parametry 409 Definiowanie projektu związanego z przykładami użycia funkcji 410 Definicja funkcji 410 Parametry i argumenty funkcji 413 Wartości zwrotne 415 Poprawne nazwy funkcji 416 Dlaczego powinno się używać funkcji? 417 Przeciążanie funkcji 418 Parametry opcjonalne 419 Słowo kluczowe params 420 Funkcje rekurencyjne 422 Rozdział 25. Debugowanie 425 Pierwsze kroki z debugowaniem 426 Uruchamianie kodu krok po kroku za pomocą debugera 432 Rozdział 26. Klasy 441 Co to są klasy? 442 Dziedziczenie klas 449 Rozdział 27. Myślenie zorientowane obiektowo 453 Przykład zorientowany obiektowo 454 Implementacja algorytmu boidów za pomocą programowania obiektowego 456 CZĘŚĆ III. PRZYKŁADY PROTOTYPÓW GIER ORAZ MATERIAŁY SZKOLENIOWE Rozdział 28. Prototyp 1: Zbieracz jabłek 479 Cel istnienia prototypu cyfrowego 480 Przygotowanie 480 Kodowanie prototypu Zbieracza jabłek 490 Graficzny interfejs użytkownika i zarządzanie grą 504 Rozdział 29. Prototyp 2: Misja Demolka 517 Prototyp 2 - pierwsze kroki 518 Pomysł na prototyp gry 518 Zasoby grafiki 519 Programowanie prototypu 524 Rozdział 30. Prototyp 3: Kosmiczna strzelanka 565 Prototyp 3 - pierwsze kroki 566 Definiowanie sceny 568 Tworzenie statku gracza 569 Dodawanie wrogów 577 Losowe generowanie wrogów 587 Definiowanie znaczników, warstw i fizyki 589 Zniszczenie statku gracza przez wrogów 592 Ponowne rozpoczęcie gry 595 Strzelanie (wreszcie!) 597 Rozdział 31. Prototyp 3 (ulepszony): Kosmiczna strzelanka ekstra 603 Prototyp 3 (ulepszony) - pierwsze kroki 604 Programowanie innych rodzajów wrogów 604 Nowe spojrzenie na proces strzelania 613 Wyświetlanie poziomu uszkodzeń 629 Dodawanie obiektów wzmacniających oraz ulepszanie broni 632 Sprawienie, że statki wroga będą upuszczać obiekty wzmacniające 642 Enemy_4 - bardziej skomplikowany wróg 645 Dodanie przewijanego tła z gwiazdami 654 Rozdział 32. Prototyp 4: Poszukiwacz 659 Prototyp 4 - pierwsze kroki 660 Ustawienia kompilacji 660 Importowanie obrazów w postaci sprajtów 662 Tworzenie kart ze sprajtów 664 Gra Poszukiwacz 681 Implementacja gry Poszukiwacz za pomocą kodu 684 Implementacja logiki gry 696 Dodawanie punktacji do gry Poszukiwacz 704 Uzupełnienie gry o grafikę 718 Rozdział 33. Prototyp 5: Bartok 727 Prototyp 5 - pierwsze kroki 728 Ustawienia kompilacji 730 Programowanie gry Bartok 731 Kompilowanie gry dla WebGL 769 Rozdział 34. Prototyp 6: Gra w słowa 773 Prototyp 6 - pierwsze kroki 774 O grze w słowa 774 Przetwarzanie listy słów 776 Konfigurowanie gry 783 Projektowanie ekranu gry 789 Dodanie interaktywności 798 Dodanie punktacji 801 Dodanie animacji do liter 804 Dodanie kolorów 807 Rozdział 35. Prototyp 7: Penetrator lochów 811 Penetrator lochów - omówienie gry 812 Prototyp 7 - pierwsze kroki 814 Konfigurowanie kamer 814 Zarządzanie danymi dotyczącymi lochów 816 Dodawanie bohatera 827 Uzupełnienie postaci Draya o animację ataku 836 Miecz Draya 839 Wróg: Skeletos 841 Skrypt InRoom 844 Zderzenia dla poszczególnych kafli 846 Dopasowywanie do siatki 850 Interfejs IFacingMover 851 Przemieszczanie się między pomieszczeniami 856 Podążanie kamerą za Drayem 860 Otwieranie drzwi 861 Dodanie elementów GUI w celu wyświetlenia liczby kluczy oraz poziomu zdrowia 866 Umożliwienie wrogom zadawania obrażeń Drayowi 870 Sprawienie, by Dray mógł zadawać obrażenia wrogom 874 Zbieranie przedmiotów 877 Pozostawianie przedmiotów przez zniszczonych wrogów 878 Implementacja Grapplera 881 Implementacja nowego lochu 890 Edytor poziomów dla gry Penetrator lochów 895
Sygnatura czytelni BWEAiI: XII A 86
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. 147030 N (1 egz.)
Książka
W koszyku
Tytuł oryginału : Gray Hat C#: creating and automating security tools.
Indeks.
Książka jest przeznaczona dla specjalistów do spraw bezpieczeństwa, którzy chcą korzystać z języka C# w takich zadaniach jak fuzzowanie, skanowanie w poszukiwaniu luk zabezpieczeń i analiza złośliwego oprogramowania.
Dlaczego należy ufać Mono? BŁYSKAWICZNY KURS JĘZYKA C# Wybór środowiska IDE Prosty przykład Wprowadzenie do klas i interfejsów Tworzenie klasy Tworzenie interfejsu Tworzenie podklas klasy abstrakcyjnej i implementacja interfejsu Powiązanie wszystkiego z metodą Main() Uruchamianie metody Main() Metody anonimowe Przypisywanie delegata do metody Aktualizacja klasy Firefighter Tworzenie argumentów opcjonalnych Aktualizacja metody Main() Uruchomienie zaktualizowanej metody Main() Integracja z bibliotekami natywnymi FUZZING. WYKORZYSTANIE XSS ORAZ INIEKCJI SQL Konfigurowanie maszyny wirtualnej Dodawanie sieci wirtualnej „tylko do hosta" Tworzenie maszyny wirtualnej Uruchamianie maszyny wirtualnej z obrazu ISO z systemem BadStore Iniekcje SQL Skrypty krzyżowe Fuzzing żądań GET z wykorzystaniem fuzzera mutacyjnego Preparowanie parametrów i testowanie luk Budowanie żądań HTTP Testowanie fuzzowanego kodu Fuzzowanie żądań POST Pisanie fuzzera żądania POST Rozpoczyna się fuzzing Fuzzowanie parametrów Fuzzowanie danych w formacie JSON Konfigurowanie wrażliwego urządzenia Przechwytywanie wrażliwych żądań JSON Tworzenie fuzzera JSON Testowanie fuzzera JSON Wykorzystywanie iniekcji SQL Wykorzystywanie eksploita bazującego na instrukcji UNION ręcznie Wykorzystywanie eksploita bazującego na instrukcji UNION programowo Wykorzystywanie luk SQL typu Boolean-blind FUZZOWANIE PUNKTÓW KOŃCOWYCH SOAP Konfiguracja wrażliwych punktów końcowych Parsowanie pliku WSDL Tworzenie klasy dla dokumentu WSDL Podstawowe metody parsowania Klasy dla typu SOAP i parametrów Tworzenie klasy SoapMessage definiującej przesyłane dane Implementacja klasy reprezentującej części komunikatu Definiowanie operacji portu za pomocą klasy SoapPortType Implementacja klasy zawierającej operacje na porcie Definiowanie protokołów używanych w powiązaniach SOAP Kompilacja listy operacji węzłów potomnych Znajdowanie usług SOAP w portach Automatyczne fuzzowanie punktów końcowych SOAP pod kątem wrażliwości na iniekcje SQL Fuzzowanie pojedynczych usług SOAP Fuzzowanie portów SOAP HTTP POST Fuzzowanie portu XML usługi SOAP Uruchomienie fuzzera PISANIE ŁADUNKÓW TYPU CONNECT-BACK, BIND I METASPLOIT Tworzenie ładunku Connect-Back Strumień sieci Uruchomienie polecenia Uruchomienie ładunku Wiązanie ładunku Odbieranie danych, uruchamianie poleceń i zwracanie wyników Uruchamianie poleceń ze strumienia Wykorzystanie protokołu UDP do ataku na sieć Kod dla komputera docelowego Kod napastnika Uruchamianie ładunków typu Metasploit x86 i x86-64 za pomocą języka C# Konfigurowanie frameworka Metasploit Generowanie ładunków Wykonywanie natywnych ładunków systemu Windows jako kodu niezarządzanego Uruchamianie natywnych ładunków w systemie Linux AUTOMATYZACJA SKANERA NESSUS REST i API systemu Nessus Klasa NessusSession Wykonywanie żądań HTTP Wylogowanie i sprzątanie Testowanie klasy NessusSession Klasa NessusManager Wykonywanie skanowania Nessus AUTOMATYZACJA N EXPOSE Instalacja Nexpose Aktywacja i testowanie Żargon Nexpose Klasa NexposeSession Metoda ExecuteCommand() Wylogowanie i zniszczenie sesji Znajdowanie wersji interfejsu API Korzystanie z Nexpose API Klasa NexposeManager Automatyzacja skanowania słabych punktów Tworzenie lokalizacji z aktywami Rozpoczynanie skanowania Tworzenie raportu na temat lokalizacji w formacie PDF i usuwanie lokalizacji Kompletowanie rozwiązania Rozpoczęcie skanowania Generowanie raportu i usuwanie lokalizacji Uruchamianie automatyzacji AUTOMATYZACJA OPENVAS Instalacja systemu OpenVAS Budowanie klas Klasa OpenVaSSession Uwierzytelnianie na serwerze OpenVAS Tworzenie metody do uruchamiania poleceń OpenVAS Odczytywanie komunikatu z serwera Konfiguracja strumienia TCP do wysyłania i odbierania poleceń Walidacja certyfikatów i odśmiecanie Odczytywanie wersji OpenVAS Klasa OpenVASManager Pobieranie konfiguracji skanowania i tworzenie celów Opakowanie automatyzacji Uruchamianie automatyzacji AUTOMATYZOWANIE PROGRAMU CUCKOO SANDBOX Konfigurowanie Cuckoo Sandbox Ręczne uruchamianie API systemu Cuckoo Sandbox Uruchamianie API Sprawdzanie stanu środowiska Cuckoo Tworzenie klasy CuckooSession Metody ExecuteCommand() do obsługi żądań http Tworzenie wieloczęściowych danych H TTP za pomocą metody GetMultipartFormData() Przetwarzanie danych z pliku za pomocą klasy FileParameter Testowanie klasy CuckooSession i klas pomocniczych Klasa CuckooManager Metoda CreateTask() Szczegóły zadania i metody tworzenia raportów Tworzenie abstrakcyjnej klasy Task Sortowanie i tworzenie różnych typów klas Połączenie elementów ze sobą Testowanie aplikacji AUTOMATYZACJA SQLMAP Uruchamianie sqlmap Interfejs API REST programu sqlmap Testowanie API programu sqlmap za pomocą curl Tworzenie sesji dla programu sqlmap Tworzenie metody do wykonywania żądań GET Wykonywanie żądania POST Testowanie klasy obsługi sesji Klasa SqlmapManager Lista opcji sqlmap Tworzenie metod realizujących skanowanie Nowa metoda Main() Raport ze skanowania Automatyzowanie pełnego skanu sqlmap Integracja sqlmap z fuzzerem SOAP Dodanie obsługi żądań GET do fuzzera SOAP Dodanie obsługi żądań POST do programu sqlmap Wywoływanie nowych metod AUTOMATYZACJA CLAMAV Instalacja programu ClamAV Natywna biblioteka ClamaAV kontra demon sieciowy clamd Automatyzacja z wykorzystaniem natywnych bibliotek ClamAV Pomocnicze enumeracje i klasy Dostęp do funkcji natywnej biblioteki ClamAV Kompilacja silnika programu ClamAV Skanowanie plików Sprzątanie Testowanie programu przez skanowanie pliku EICAR Automatyzacja z wykorzystaniem demona clamd Instalacja demona clamd Uruchamianie demona clamd Tworzenie klasy obsługi sesji dla demona clamd Tworzenie klasy menedżera demona clamd Testowanie z wykorzystaniem demona clamd AUTOMATYZACJA METASPLOIT Uruchamianie serwera RPC instalacja Metasploitable Pobranie biblioteki MSGPACK instalowanie menedżera pakietów NuGet w środowisku MonoDevelop Instalacja biblioteki MSGPACK Dodanie referencji do biblioteki MSGPACK Klasa MetasploitSession Tworzenie metody Execute() dla żądań HTTP i interakcje z biblioteką MSGPACK Przekształcanie danych odpowiedzi z formatu MSGPACK Testowanie klasy sesji Klasa MetasploitManager Scalamy komponenty w całość Uruchamianie eksploita Interakcje z powłoką Pobieranie powłok AUTOMATYZACJA ARACHNI Instalacja Arachni Interfejs API REST systemu Arachni Tworzenie klasy Arachni HTTPSession Tworzenie klasy ArachniHTTPManager Połączenie klas sesji i menedżera RPC systemu Arachni Ręczne uruchamianie mechanizmu RPC Klasa ArachniRPCSession Metody pomocnicze operacji ExecuteCommand() Metoda ExecuteCommand() Klasa ArachniRPCManager Scalamy komponenty w całość DEKOMPILACJA I INŻYNIERIA WSTECZNA ZARZĄDZANYCH ZESTAWÓW Dekompilacja zestawów zarządzanych Testowanie dekompilatora Wykorzystanie narzędzia monodis do analizowania zestawu CZYTANIE GAŁĘZI REJESTRU W TRYBIE OFFLINE Struktura gałęzi rejestru Pobieranie gałęzi rejestru Czytanie gałęzi rejestru Klasa do parsowania pliku gałęzi rejestru Tworzenie klasy reprezentującej klucze węzłów Implementacja klasy do przechowywania kluczy wartości Testowanie biblioteki Zrzucanie klucza Boot Metoda GetBootKey() Metoda GetValueKey() Metoda GetNodeKey() Metoda StringToByteArray() Uzyskanie klucza rozruchowego Weryfikacja klucza rozruchowego
Sygnatura czytelni BWEAiI: XII E 94
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. 145855 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: C# 7.1 and .NET Core 2.0 - modern cross-platform development .
Indeks.
Rozdział 1. Cześć, C#! Witaj, .NET Core 27 Konfigurowanie środowiska programistycznego 28 Używanie innych IDE dla języka C# 29 Instalowanie na wielu platformach 30 Instalowanie Microsoft Visual Studio 2017 30 Instalowanie Microsoft Visual Studio Code 33 Instalowanie Visual Studio for Mac 37 Poznawanie .NET 38 Poznawanie .NET Framework 39 Poznawanie projektów Mono i Xamarin 39 Poznawanie .NET Core 40 Poznawanie .NET Standard 42 Poznawanie .NET Native 43 Porównanie technologii .NET 43 Pisanie i kompilowanie kodu przy użyciu narzędzi wiersza poleceń z .NET Core 44 Pisanie kodu za pomocą prostego edytora tekstu 44 Tworzenie i kompilowanie aplikacji za pomocą narzędzi wiersza poleceń .NET Core 46 Naprawianie błędów kompilacji 48 Poznawanie języka pośredniego 49 Pisanie i kompilowanie kodu za pomocą Visual Studio 2017 49 Pisanie kodu w Visual Studio 2017 50 Kompilowanie kodu za pomocą Visual Studio 2017 53 Poprawianie pomyłek z listy błędów 54 Dodawanie istniejących projektów do Visual Studio 2017 55 Automatyczne formatowanie kodu 56 Eksperymentowanie z interaktywnym C# 57 Inne przydatne okna 59 Pisanie i kompilowanie kodu w Visual Studio Code 60 Pisanie kodu w Visual Studio Code 60 Kompilowanie kodu w Visual Studio Code 61 Automatyczne formatowanie kodu 62 Pisanie i kompilowanie kodu za pomocą Visual Studio for Mac 62 Następne kroki 65 Zarządzanie kodem źródłowym przy użyciu platformy GitHub 65 Używanie systemu Git w Visual Studio 2017 66 Używanie systemu Git w Visual Studio Code 68 Praktyka i ćwiczenia 69 Ćwiczenie 1.1 - sprawdź swoją wiedzę 69 Ćwiczenie 1.2 - ćwicz C# gdzie się da 70 Ćwiczenie 1.3 - dalsza lektura 70 CZĘŚĆ I. C# 7.1 71 Rozdział 2. Mówimy w C# 73 Poznawanie podstaw języka C# 73 Używanie Visual Studio 2017 74 Używanie Visual Studio Code w systemach macOS, Linux i Windows 76 Gramatyka języka C# 78 Słownictwo języka C# 79 Pomoc przy pisaniu kodu 81 Czasowniki jako metody 82 Rzeczowniki to typy, pola i zmienne 83 Ujawnienie wielkości słownika języka C# 84 Deklarowanie zmiennych 86 Nazywanie zmiennych 87 Literały 87 Przechowywanie tekstu 88 Przechowywanie liczb 88 Przechowywanie wartości logicznych 93 Typ object 93 Typ dynamic 94 Zmienne lokalne 94 Zapisywanie wartości null w typach wartości 96 Poznawanie typów referencyjnych z wartością null 96 Zapisywanie wielu wartości w tablicy 98 Dokładniejsze poznawanie aplikacji konsoli 99 Wyświetlanie informacji dla użytkownika 99 Pobieranie danych od użytkownika 100 Importowanie przestrzeni nazw 100 Uproszczone korzystanie z konsoli 101 Odczytywanie parametrów i praca z tablicami 102 Działania na zmiennych 106 Eksperymenty z operatorami jednoargumentowymi 107 Eksperymentowanie z operatorami arytmetycznymi 108 Porównania i operatory logiczne 109 Praktyka i ćwiczenia 109 Ćwiczenie 2.1 - sprawdź swoją wiedzę 109 Ćwiczenie 2.2 - poznaj wielkości i zakresy liczb 109 Ćwiczenie 2.3 - dalsza lektura 110 Rozdział 3. Sterowanie przepływem i konwertowanie typów 113 Instrukcje wyboru 113 Visual Studio 2017 113 Visual Studio Code w systemach macOS, Linux i Windows 114 Instrukcja if 114 Instrukcja switch 115 Instrukcje iteracji 118 Instrukcja while 118 Instrukcja do 119 Instrukcja for 119 Instrukcja foreach 120 Rzutowanie i konwertowanie między typami 121 Rzutowanie z liczby na liczbę 121 Używanie typu Convert 123 Zaokrąglanie liczb 123 Konwersja z dowolnego typu na ciąg znaków 124 Konwertowanie obiektu binarnego na ciąg znaków 124 Parsowanie ciągów znaków z liczbami, datami i czasem 126 Obsługa wyjątków podczas konwertowania typów 127 Instrukcja try 127 Przechwytywanie wszystkich wyjątków 128 Przechwytywanie wybranych wyjątków 129 Wykrywanie przepełnień 130 Instrukcja checked 130 Instrukcja unchecked 131 Gdzie znaleźć pomoc 132 Microsoft Docs i MSDN 133 Przejdź do definicji 133 Stack Overflow 134 Google 134 Subskrybowanie blogów 136 Wzorce projektowe 136 Praktyka i ćwiczenia 138 Ćwiczenie 3.1 - sprawdź swoją wiedzę 138 Ćwiczenie 3.2 - pętle i przepełnienia 138 Ćwiczenie 3.3 - pętle i operatory 139 Ćwiczenie 3.4 - obsługa wyjątków 139 Ćwiczenie 3.5 - dalsza lektura 140 Rozdział 4. Pisanie, debugowanie i testowanie funkcji 141 Tworzenie funkcji 141 Tworzenie funkcji wypisującej sekwencję mnożenia 142 Pisanie funkcji zwracającej wartość 144 Pisanie funkcji matematycznych 146 Debugowanie tworzonego programu 149 Tworzenie aplikacji z celowym błędem 149 Tworzenie punktu przerwania 150 Pasek narzędzi debugowania 151 Okna debugowania 152 Krokowe wykonywanie kodu 154 Dostosowywanie punktów przerwania 155 Protokołowanie błędów 156 Używanie typów Debug i Trace 157 Przełączanie poziomów śledzenia 160 Testy jednostkowe 162 Tworzenie biblioteki klas wymagającej testowania w Visual Studio 2017 162 Tworzenie projektu testów jednostkowych w Visual Studio 2017 163 Tworzenie biblioteki klas wymagającej testowania w Visual Studio Code 164 Tworzenie testów jednostkowych 166 Uruchamianie testów jednostkowych w Visual Studio 2017 167 Uruchamianie testów jednostkowych w Visual Studio Code 168 Praktyka i ćwiczenia 170 Ćwiczenie 4.1 - sprawdź swoją wiedzę 170 Ćwiczenie 4.2 - tworzenie funkcji z wykorzystaniem debugowania i testów jednostkowych 170 Ćwiczenie 4.3 - dalsza lektura 171 Rozdział 5. Tworzenie własnych typów w programowaniu obiektowym 173 Rozmowy o programowaniu obiektowym 174 Tworzenie bibliotek klas 174 Tworzenie biblioteki klas w Visual Studio 2017 175 Tworzenie biblioteki klas w Visual Studio Code 175 Definiowanie klasy 176 Tworzenie obiektów 177 Zarządzanie wieloma projektami w Visual Studio Code 180 Dziedziczenie po System.Object 181 Przechowywanie danych w polach 182 Definiowanie pól 182 Zapisywanie wartości za pomocą słowa kluczowego enum 184 Zapisywanie wielu wartości za pomocą kolekcji 187 Tworzenie pól statycznych 188 Tworzenie stałych pól 189 Tworzenie pól tylko do odczytu 190 Inicjowanie pól w konstruktorach 190 Nadawanie polom domyślnego literału 191 Tworzenie i wywoływanie metod 193 Łączenie wielu wartości za pomocą krotki 194 Sterowanie przekazywaniem parametrów 197 Przeciążanie metod 198 Parametry opcjonalne i nazywane 198 Sposoby przekazywania parametrów 200 Dzielenie klas na części 202 Kontrola dostępu za pomocą właściwości i indekserów 203 Definiowanie właściwości tylko do odczytu 203 Definiowanie właściwości z możliwością przypisania 204 Definiowanie indekserów 205 Praktyka i ćwiczenia 206 Ćwiczenie 5.1 - sprawdź swoją wiedzę 206 Ćwiczenie 5.2 - dalsza lektura 207 Rozdział 6. Implementowanie interfejsów i dziedziczenie klas 209 Konfigurowanie biblioteki klas i aplikacji konsoli 210 Visual Studio 2017 210 Visual Studio Code 210 Definiowanie klas 212 Upraszczanie metod za pomocą operatorów 213 Implementowanie działań w metodzie 213 Implementowanie działań za pomocą operatora 214 Definiowanie funkcji lokalnych 216 Wywoływanie i obsługa zdarzeń 217 Wywoływanie metod za pomocą delegatów 217 Definiowanie zdarzeń 218 Implementowanie interfejsów 220 Typowe interfejsy 220 Porównywanie obiektów podczas sortowania 221 Wykorzystywanie typów generycznych 225 Tworzenie typu generycznego 225 Tworzenie generycznej metody 227 Zarządzanie pamięcią za pomocą typów referencyjnych i typów wartości 228 Definiowanie typu kategorii struct 229 Zwalnianie niezarządzanych zasobów 230 Wymuszanie wywołania metody Dispose 232 Dziedziczenie klas 233 Rozbudowywanie klasy 233 Ukrywanie elementów 234 Pokrywanie elementów klasy 235 Blokowanie dziedziczenia i pokrywania 236 Polimorfizm 237 Rzutowanie w ramach hierarchii dziedziczenia 238 Rzutowanie niejawne 238 Rzutowanie jawne 238 Obsługa wyjątków rzutowania 239 Dziedziczenie i rozbudowywanie typów .NET 240 Dziedziczenie po wyjątku 240 Rozszerzanie typów, po których nie można dziedziczyć 241 Praktyka i ćwiczenia 244 Ćwiczenie 6.1 - sprawdź swoją wiedzę 244 Ćwiczenie 6.2 - tworzenie hierarchii dziedziczenia 244
CZĘŚĆ II. .NET CORE 2.0 I .NET STANDARD 2.0 247 Rozdział 7. Poznawanie typów .NET Standard 249 Zestawy i przestrzenie nazw 249 Bazowe biblioteki klas i CoreFX 250 Poznawanie zależnych zestawów 251 Związki między zestawami i przestrzeniami nazw 252 Związki słów kluczowych języka C# z typami .NET 257 Wieloplatformowe współdzielenie kodu z bibliotekami klas .NET Standard 258 Tworzenie biblioteki klas .NET Standard 2.0 259 Pakiety NuGet 260 Metapakiety 261 Czym są frameworki? 263 Stabilizowanie zależności 263 Publikowanie własnych aplikacji 265 Tworzenie aplikacji konsoli do publikacji 265 Publikowanie za pomocą Visual Studio 2017 w systemie Windows 266 Publikowanie za pomocą Visual Studio Code w macOS 269 Przygotowywanie własnych pakietów NuGet 270 Poznawanie poleceń narzędzia dotnet 270 Dodawanie odwołania do pakietu 271 Tworzenie pakietu dla NuGet 273 Testowanie pakietu 277 Przenoszenie kodu z .NET Framework do .NET Core 278 Co można przenieść? 279 Co należy przenieść? 279 Różnice między .NET Framework i .NET Core 280 Korzystanie z programu .NET Portability Analyzer 280 Używanie bibliotek spoza .NET 280 Praktyka i ćwiczenia 282 Ćwiczenie 7.1 - sprawdź swoją wiedzę 282 Ćwiczenie 7.2 - dalsza lektura 282 Rozdział 8. Używanie typów biblioteki .NET Standard 285 Praca z liczbami 285 Praca z wielkimi liczbami całkowitymi 286 Praca z liczbami zespolonymi 286 Praca z tekstem 287 Odczytywanie długości ciągu znaków 287 Odczytywanie znaków z ciągu 288 Dzielenie ciągu znaków 288 Pobieranie części ciągu znaków 288 Poszukiwanie tekstu w ciągu 289 Inne elementy klasy string 289 Wydajne tworzenie ciągów znaków 290 Dopasowywanie wzorców za pomocą wyrażeń regularnych 291 Praca z kolekcjami 293 Wspólne funkcje wszystkich kolekcji 294 Poznawanie kolekcji 295 Praca z listami 297 Praca ze słownikami 298 Sortowanie kolekcji 299 Używanie specjalizowanych kolekcji 300 Używanie kolekcji niezmiennych 300 Praca z zasobami sieciowymi 301 Praca z adresami URI, serwerami DNS i adresami IP 301 Pingowanie serwera 302 Praca z typami i atrybutami 303 Numery wersji zestawów 304 Odczytywanie metadanych zestawu 304 Tworzenie własnych atrybutów 306 Inne możliwości refleksji 308 Internacjonalizacja kodu 308 Globalizacja aplikacji 308 Praktyka i ćwiczenia 310 Ćwiczenie 8.1 - sprawdź swoją wiedzę 310 Ćwiczenie 8.2 - wyrażenia regularne 311 Ćwiczenie 8.3 - metody rozszerzające 311 Ćwiczenie 8.4 - dalsza lektura 311 Rozdział 9. Praca z plikami, strumieniami i serializacją 313 Praca z systemem plików 313 Obsługa środowisk i systemów plików na wielu platformach 314 Obsługa napędów 316 Praca z katalogami 318 Praca z plikami 320 Praca ze ścieżkami 321 Odczytywanie informacji o pliku 322 Zarządzanie plikami 323 Odczytywanie i zapisywanie w strumieniach 324 Zapisywanie do strumieni tekstowych i XML 327 Zwalnianie zasobów plików 329 Kompresowanie strumieni 331 Kodowanie tekstu 333 Kodowanie ciągu znaków jako tablicy bajtów 333 Kodowanie i dekodowanie tekstu w plikach 336 Serializacja obiektów 337 Serializacja do formatu XML 337 Deserializacja danych z formatu XML 340 Dostosowywanie formatu XML 340 Serializowanie do formatu JSON 341 Serializowanie w innych formatach 342 Praktyka i ćwiczenia 342 Ćwiczenie 9.1 - sprawdź swoją wiedzę 342 Ćwiczenie 9.2 - serializowanie do formatu XML 343 Ćwiczenie 9.3 - dalsza lektura 344 Rozdział 10. Ochrona danych i aplikacji 345 Poznawanie słownictwa związanego z ochroną 345 Klucze i wielkości kluczy 346 Wektor inicjujący i wielkość bloku 347 Sól 347 Generowanie kluczy i wektorów inicjujących 348 Szyfrowanie i rozszyfrowywanie danych 349 Szyfrowanie symetryczne algorytmem AES 350 Funkcje skrótu 354 Obliczanie skrótu za pomocą algorytmu SHA256 356 Podpisywanie danych 358 Podpisywanie za pomocą SHA256 i RSA 359 Testowanie i kontrolowanie podpisów 360 Generowanie liczb losowych 361 Generowanie liczb losowych na potrzeby gier 362 Generowanie liczb losowych dla kryptografii 363 Testowanie generatora losowego klucza lub wektora inicjującego 363 Uwierzytelnianie i autoryzacja użytkowników 364 Implementowanie uwierzytelniania i autoryzacji 366 Testowanie autoryzacji i uwierzytelniania 367 Ochrona funkcji aplikacji 369 Praktyka i ćwiczenia 370 Ćwiczenie 10.1 - sprawdź swoją wiedzę 370 Ćwiczenie 10.2 - ochrona danych za pomocą szyfrowania i funkcji skrótu 370 Ćwiczenie 10.3 - ochrona danych przez rozszyfrowywanie 371 Ćwiczenie 10.4 - dalsza lektura 371 Rozdział 11. Praca z bazami danych przy użyciu Entity Framework Core 373 Nowoczesne bazy danych 373 Używanie przykładowej relacyjnej bazy danych 374 Microsoft SQL Server 375 SQLite 379 Konfigurowanie EF Core 383 Wybieranie dostawcy danych EF Core 383 Łączenie z bazą danych 384 Definiowanie modeli EF Core 387 Konwencje w EF Core 387 Atrybuty EF Core 387 Płynne API EF Core 388 Tworzenie modelu w EF Core 388 Zapytania do modelu EF Core 393 Protokołowanie w EF Core 395 Dopasowywanie wzorców za pomocą instrukcji Like 399 Definiowanie globalnych filtrów 400 Wzorce ładowania w EF Core 401 Manipulowanie danymi w EF Core 404 Wstawianie encji 404 Aktualizowanie encji 405 Usuwanie encji 406 Grupowanie kontekstów baz danych 407 Transakcje 407 Jawne definiowanie transakcji 408 Praktyka i ćwiczenia 409 Ćwiczenie 11.1 - sprawdź swoją wiedzę 409 Ćwiczenie 11.2 - eksportowanie danych z wykorzystaniem różnych formatów serializacji 410 Ćwiczenie 11.3 - przeglądanie dokumentacji EF Core 410 Rozdział 12. Odczytywanie danych i manipulowanie nimi za pomocą LINQ 411 Tworzenie zapytań LINQ 411 Rozbudowa sekwencji za pomocą klas wyliczeniowych 412 Filtrowanie encji za pomocą metody Where 412 Sortowanie encji 417 Filtrowanie według typu 418 Praca ze zbiorami 420 Używanie LINQ z EF Core 421 Projekcje encji w metodzie Select 422 Tworzenie modelu danych EF Core 422 Łączenie i grupowanie 425 Agregowanie sekwencji 428 Upiększanie składni 429 Używanie wielu wątków w równoległych zapytaniach LINQ 430 Tworzenie własnych metod rozszerzających dla LINQ 433 Praca z LINQ to XML 436 Generowanie danych XML za pomocą LINQ to XML 437 Odczytywanie danych XML za pomocą LINQ to XML 437 Praktyka i ćwiczenia 438 Ćwiczenie 12.1 - sprawdź swoją wiedzę 438 Ćwiczenie 12.2 - zapytania LINQ 439 Ćwiczenie 12.3 - dalsza lektura 439 Rozdział 13. Poprawianie wydajności i skalowalności za pomocą wielozadaniowości 441 Monitorowanie wydajności i wykorzystania zasobów 442 Ocena wydajności typów 442 Monitorowanie wydajności i zużycia pamięci 443 Procesy, wątki i zadania 448 Asynchroniczne uruchamianie zadań 449 Synchroniczne uruchamianie wielu operacji 450 Asynchroniczne uruchamianie wielu operacji z wykorzystaniem zadań 451 Oczekiwanie na zadania 453 Kontynuowanie pracy w innym zadaniu 454 Zadania zagnieżdżone i potomne 455 Synchronizowanie dostępu do wspólnych zasobów 456 Używanie wspólnego zasobu w wielu wątkach 457 Nakładanie na zasoby wzajemnie wykluczającej blokady 459 Jak działa instrukcja lock 459 Tworzenie operacji atomowych 461 Stosowanie innych rodzajów synchronizacji 462 Słowa kluczowe async i await 462 Poprawianie reakcji aplikacji konsoli 463 Poprawianie reakcji aplikacji z interfejsem graficznym 464 Poprawianie skalowalności aplikacji i serwisów WWW 465 Często używane typy pozwalające na pracę wielowątkową 465 Instrukcja await w bloku catch 465 Praktyka i ćwiczenia 466 Ćwiczenie 13.1 - sprawdź swoją wiedzę 466 Ćwiczenie 13.2 - dalsza lektura 466 CZĘŚĆ III. MODELE APLIKACJI 469 Rozdział 14. Tworzenie witryn WWW przy użyciu ASP.NET Core Razor Pages 473 Tworzenie w sieci WWW 473 Protokół HTTP 473 Tworzenie oprogramowania dla sieci WWW po stronie klienta 477 ASP.NET Core 478 Klasyczna ASP.NET kontra ASP.NET Core 479 Tworzenie projektu ASP.NET Core w Visual Studio 2017 480 Tworzenie projektu ASP.NET Core w Visual Studio Code 480 Przeglądanie pustego szablonu projektu ASP.NET Core 480 Testowanie pustej witryny 483 Włączanie plików statycznych 484 Włączanie plików domyślnych 487 Technologia Razor Pages 487 Włączanie technologii Razor Pages 487 Definiowanie strony Razor 488 Używanie wspólnego układu w wielu stronach Razor 489 Używanie plików code-behind w stronach Razor 492 Używanie Entity Framework Core z ASP.NET Core 494 Tworzenie modelu encji dla firmy Northwind 494 Tworzenie bazy danych Northwind dla witryny 502 Konfigurowanie Entity Framework Core jako serwisu 502 Manipulowanie danymi 504 Ćwiczenie 14.1 - tworzenie witryny obsługującej dane 507 Ćwiczenie 14.2 - dalsza lektura 507 Rozdział 15. Tworzenie aplikacji WWW przy użyciu ASP.NET Core MVC 509 Konfigurowanie witryny ASP.NET Core MVC 509 Tworzenie witryny ASP.NET Core MVC 510 Przegląd szablonu projektu ASP.NET Core MVC 513 Migrowanie bazy danych 515 Testowanie witryny ASP.NET Core MVC 517 Mechanizm uwierzytelniania systemu ASP.NET Identity 519 Poznawanie mechanizmów ASP.NET Core MVC 520 Rozruch ASP.NET Core 520 Czym jest domyślna ścieżka 522 Kontrolery ASP.NET Core MVC 522 Modele ASP.NET Core MVC 523 Widoki ASP.NET Core MVC 525 Przekazywanie parametrów przy użyciu wartości ścieżki 532 Przekazywanie parametrów za pomocą ciągu znaków zapytania 534 Ćwiczenie 15.1 - poprawianie skalowalności przez poznawanie i implementowanie asynchronicznych metod akcji 536 Ćwiczenie 15.2 - dalsza lektura 537 Rozdział 16. Tworzenie usług i aplikacji WWW przy użyciu ASP.NET Core 539 Tworzenie serwisów w technologii ASP.NET Core Web API 539 Kontrolery ASP.NET Core 540 Tworzenie projektu ASP.NET Core Web API 540 Tworzenie serwisu internetowego dla bazy danych Northwind 544 Tworzenie repozytorium danych dla encji 545 Dokumentowanie i testowanie serwisów przy użyciu narzędzia Swagger 551 Testowanie żądań GET za pomocą przeglądarki 551 Testowanie żądań POST, PUT i DELETE w narzędziu Swagger 553 Instalowanie pakietu Swagger 553 Testowanie żądań GET w narzędziu Swagger 554 Testowanie żądań POST za pomocą narzędzia Swagger 557 Tworzenie aplikacji SPA przy użyciu biblioteki Angular 561 Szablon projektu Angular 561 Wywoływanie serwisu Northwind 565 Testowanie wywołań serwisu z komponentu Angular 568 Używanie innych szablonów projektów 569 Instalowanie dodatkowych pakietów z szablonami 570 Praktyka i ćwiczenia 570 Ćwiczenie 16.1 - aplikacje React i Redux 571 Ćwiczenie 16.2 - dalsza lektura 572 Rozdział 17. Tworzenie aplikacji dla Windowsa przy użyciu XAML i Fluent Design 575 Poznawanie nowoczesnej platformy Windows 576 Universal Windows Platform 576 System Fluent Design 577 XAML Standard 1.0 578 Tworzenie nowoczesnej aplikacji dla Windowsa 579 Włączanie trybu dewelopera 580 Tworzenie projektu UWP 580 Przeglądanie typowych kontrolek i akrylowych pędzli 584 Oświetlenie ujawniające 586 Instalowanie dodatkowych kontrolek 589 Używanie zasobów i szablonów 590 Współdzielenie zasobów 591 Zmiana szablonu kontrolki 592 Wiązanie danych 594 Wiązanie do elementów 594 Wiązanie do źródła danych 595 Tworzenie aplikacji przy użyciu Windows Template Studio 606 Instalowanie Windows Template Studio 606 Wybieranie typu projektu, frameworka, stron i funkcji 607 Poprawianie ustawień projektu 610 Poprawianie wybranych widoków 610 Testowanie działania aplikacji 612 Praktyka i ćwiczenia 613 Ćwiczenie 17.1 - dalsza lektura 613 Rozdział 18. Tworzenie aplikacji mobilnych przy użyciu XAML i Xamarin.Forms 615 Xamarin i Xamarin.Forms 615 W jaki sposób Xamarin.Forms rozbudowuje platformę Xamarin 616 Najpierw mobilne, najpierw chmura 616 Tworzenie aplikacji mobilnej za pomocą Xamarin.Forms 617 Dodawanie SDK systemu Android 617 Tworzenie rozwiązania Xamarin.Forms 618 Tworzenie modelu 620 Tworzenie interfejsu do wybierania numerów telefonów 624 Tworzenie widoków listy klientów i szczegółowych danych klienta 627 Testowanie aplikacji mobilnej w systemie iOS 632 Dodawanie pakietów NuGet w celu wywołania serwisu REST 637 Pobieranie listy klientów z serwisu 638 Ćwiczenie 18.1 - dalsza lektura 640 Rozdział 1. Cześć, C#! Witaj, .NET Core! 643 Rozdział 2. Mówimy w C# 644 Rozdział 3. Sterowanie przepływem i konwertowanie typów 645 Rozdział 4. Pisanie, debugowanie i testowanie funkcji 647 Rozdział 5. Tworzenie własnych typów w programowaniu obiektowym 648 Rozdział 6. Implementowanie interfejsów i dziedziczenie klas 650 Rozdział 7. Poznawanie typów .NET Standard 651 Rozdział 8. Używanie typów biblioteki .NET Standard 652 Rozdział 9. Praca z plikami, strumieniami i serializacją 654 Rozdział 10. Ochrona danych i aplikacji 655 Rozdział 11. Praca z bazami danych przy użyciu Entity Framework Core 656 Rozdział 12. Odczytywanie danych i manipulowanie nimi za pomocą LINQ 658 Rozdział 13. Poprawianie wydajności i skalowalności za pomocą wielozadaniowości 659
Sygnatura czytelni BWEAiI: XII Ł 120
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. 146930 N (1 egz.)
Książka
W koszyku
(Skrypt / Politechnika Opolska, ISSN 1427-9932 ; nr 259)
Sygnatura czytelni BWB: Sk 259
Sygnatura czytelni BMW: Sk-259
Ta pozycja znajduje się w zbiorach 3 placówek. Rozwiń listę, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. S 70937, S 70939, S 70936, MS 975, S 70938, S 70940 (6 egz.)
Biblioteka WB
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. BS 634 (1 egz.)
Biblioteka Międzywydziałowa
Wszystkie egzemplarze są obecnie wypożyczone: sygn. S 70935 N (1 egz.)
Książka
W koszyku
Na stronie tytułowej i okładce: Poznaj nowoczesne metody tworzenia gier komputerowych. Wykorzystaj najefektywniesze techniki oferowane przez C++. Popraw czytelność kodu i wydajność programów. Zastosuj wzorce projektowe.
Na stronie tytułowej: Wydanie 2 - dotyczy oryginału.
Bibliografia przy rozdziale. Indeks.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 118223 N (1 egz.)
Książka
W koszyku
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 109380, 109379 L (2 egz.)
Brak okładki
Książka
DVD
W koszyku
Mikrokontrolery AVR - język C : podstawy programowania / Mirosław Kardaś. - [Wydanie 2 poprawione]. - Szczecin : Wydawnictwo Atnel, 2011. - 462 stron : ilustracje ; 24 cm + dysk optyczny (DVD).
Na książce: Wydanie 1 - informacja o wydaniu ze strony internetowej wydawnictwa: http://sklep.atnel.pl/pl/c/Wydawnictwo/1.
Dołączona do książki płyta DVD zawiera m.in. kody źródłowe programów omawianych na łamach książki, a także lekcje video odnośnie stawiania pierwszych kroków i posługiwania się środowiskiem programistycznym ECLIPSE i AVR Studio. Wszystkie kody źródłowe znajdują się na płycie DVD w folderze: \ECLIPSE\workspace.
Dla elektroników i hobbystów, którzy chcą szybko, w oparciu o interesujące przykłady, poznać język C przeznaczony dla mikrokontrolerów AVR i nauczyć się pisać dla nich programy.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 132498, 134631, 134632, 134633, 130921, 130920 (6 egz.)
Książka
W koszyku
(O'Reilly)
Na okł.: Użyteczne techniki - od sortowania do szyfrowania.
Indeks.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 106870 N (1 egz.)
Książka
W koszyku
Tyt. oryg.: Practical Neural Neywork Recipes in C++.
Bibliogr. s. 440-451. Indeks.
Motywacja Nowe życie starych metod Perceptrony i separowalność liniowa Właściwości sieci neuronowej Podstawowa struktura sieci neuronowej Uczenie Weryfikacja Metoda odłóż-k-próbek Klasyfikacja Decyzje dwuwartościowe Podejmowanie decyzji Klasyfikacja wielokrotna Odrzucanie kategorii Podejmowanie decyzji Inne schematy kodowania Uczenie z nadzorem i bez nadzoru Autoasocjacja Filtrowanie autoasocjacyjne Kod filtrowania autoasocjayjnego Redukcja szumu Uczenie prototypów na przykładach Prezentacja osobliwych przypadków Uzupełnianie wzorców Korekcja błędów Kodowanie słów Kompresja danych Prognoza szeregów czasowych Model podstawowy Dane wejściowe Eliminacja trendu Kod eliminowania i uwzględniania trendu Zmienność sezonowa Różnicowanie Skalowanie Prognoza wielokrotna Predyktory wielokrotne Miary błędu prognozy Aproksymacja funkcji Aproksymacja funkcji jednej zmiennej Modelowanie odwrotne Regresja wielokrotna Sieci wielowarstwowe Jednokierunkowe Architektura podstawowa Funkcja aktywacji Przykład sieci Liniowe neurony wyjściowe Dyskusja teoretyczna Literatura na temat teorii sieci jednokierunkowych Algorytmy realizacji sieci Uczenie sieci Uczenie metodą propagacji wstecznej błędu Uczenie metodą gradientów sprzężonych Minimalizacja kierunkowa Wybór kierunku minimalizacji Unikanie minimów lokalnych przy| uczeniu Minima lokale łatwo się pojawiają Minima błędne Inne środki ucieczki Kiedy stosować sieć wielowarstwową jednokierunkową Unikanie minimów lokalnych: I. Symulowane wyżarzanie Informacje ogólne Wybór parametrów wyżarzania Wariant uczenia sieci Jednokierunkowych Przykład programu Przykład funkcji Generowanie liczb losowych Drogi rozwoju Unikanie minimów lokalnych: II. Optymalizacja genetyczna Informacje ogólne Projektowanie struktury genetycznej Ocena Selekcja rodziców Reprodukcja Mutacja Procedura minimalizacji genetycznej Optymalizacja genetyczna wybranych funkcji Zaawansowane problemy optymalizacji genetycznej Kody Graya Nadinicjalizacja Krzyżowanie dwupunktowe Regresja i sieci neuronowe Rozkład na wartości szczególne (SVD) Regresja w sieciach neuronowych Projektowanie architektury sieci jednokierunkowych Ile warstw ukrytych? Ile neuronów ukrytych? Jak długo uczyć sieć? Interpretacja wag: Jak to działa? Cechy ogólne wykorzystywane przez sieci Cechy wykorzystywane przez określoną sieć Badanie wektorów wag Diagramy Hintona Grupowanie Analiza wrażliwości Wejścia typowe Probabilistyczne sieci neuronowe Aspekty obliczeniowe Optymalizacja sigmy Modele pokrewne Przegląd programu Optymalizacja sigmy Inne kryteria optymalizacji Miary ufności Bayesa Wersje autoasocjacyjne Kiedy stosować probabilistyczne sieci neuronowe? Sieci połączeń funkcjonalnych Zastosowanie do aproksymacji nieliniowej Matematyka sieci połączeń funkcjonalnych Kiedy stosować sieci połączeń funkcjonalnych?? Sieci hybrydowe Sieć połączeń funkcjonalnych jako warstwa ukryta Szybkie miary ufności Bayesa Uczenie sieci Przetwarzanie i skupianie uwagi Zadania podzielne Uczenie sieci redukujący dane Dzielenie zadań nie zawsze jest skuteczne Projektowanie zbioru uczącego Liczba próbek Pospolite błędy przypadkowe Nadmierne dopasowanie Rozmiar sieci wpływu na rozmiar zbioru uczącego Rozwarstwienie zbioru uczącego Przypadki graniczne Ukryte błędy systematyczne Równoważenie klas Bezsensowne przypadki Przygotowanie danych wejściowych Typy pomiarów Zmienne nominalne Zmienne porządkowe Zmienne interwałowe Zmienne stosunkowe Czy skalowanie jest zawsze konieczne? Przekształcenia Nieciągłość kołowa Kąty widzenia Odcienie barw Dane odstające Odrzucanie danych Brakujące dane Przetwarzanie danych rozmytych Traktowanie wartości rozmytych jako nominalnych i porządkowych Zalety przetwarzania rozmytego Interfejs sieci neuronowe-zbiory rozmyte Funkcje przynależności Zmienne ciągłe Dziedziny wielu zmiennych Zmienne dyskretne Bariery Negacje, koniunkcje i alternatywa Modus ponens Łączenie operacji Defuzyfikacja Metoda maksymalnej wysokości Metoda centroidy Kody operacji na zbiorach rozmytych Konstruktory Negacja i skalowanie Koniunkcja i alternatywa Centroida Przekłady przetwarzania rozmytego przed użyciem sieci neuronowej Upraszczanie interakcji Kodowanie rozmytego jeden-z-n Przykład rozmytego przetwarzania końcowego po użyciu sieci neuronowej Prosta przynależność wyjścia Przetwarzanie końcowe z defuzyfikacją Uczenie bez nadzoru Normalizacja sygnałów wejściowych Normalizacja osi Z Uczenie sieci Kohonena Aktualizacja wag Współczynnik uczenia Pomiar błędu siec Określenie zbieżności Neurony, które nie chcą się uczyć Samoorganizacja Ocena jakości sieci neuronowych Błąd średniokwadratowy Problemy z błędem średniokwadratowym Miary pokrewne błędu średniokwadratowego Funkcje kosztu Macierz pomyłek Krzywe charakterystyki roboczej odbiorcy (CRO) Obliczenia całki krzywej CRO Funkcje kosztu i krzywe CRO Stosunek sygnału do szumu Miary ufności Testowanie indywidualnych hipotez Obliczanie poziomu ufności Poziom ufności hipotezy zerowej Klasy wielokrotne Zaufanie do ufności Przykłady programów Sortowanie Oszacowanie rozkładu Oszacowanie poziomu ufności Metody Bayesa Przykłady programu Klasy wielokrotne Testowanie hipotez a metoda Bayesa Optymalizacja progu decyzyjnego Stosowanie programu NEURAL Modele wyjściowe Model CLASSIFY Model AUTO Model GENERAL Tworzenie zbioru uczącego Model sieci warstwowej LAYER Inicjalizacja wag metodą symulowanego wyżarzania Inicjalizacja wag metoda optymalizacji genetycznej Algorytm uczenia Model sieci KOHONEN Inicjalizacja i uczenie sieci Macierze pomyłek Zapisywanie wag i wyników obliczeń
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 92407, 92405, 92406, 92404 (4 egz.)
Brak okładki
Książka
W koszyku
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 77421, 77419, 77418, 77423, 77422, 77417, 77420 (7 egz.)
Książka
W koszyku
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. 154680 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: C++ concurrency in action, 2nd edition, 2019.
Wydanie 2. odnosi się do oryginału.
Na okładce: Odkryj wszystkie tajemnice wielowątkowych aplikacji!
Indeks.
Rozdział 1. Witaj, świecie współbieżności w C++! (21) 1.1. Czym jest współbieżność? (22) 1.1.1. Współbieżność w systemach komputerowych (22) 1.1.2. Modele współbieżności (25) 1.1.3. Współbieżność kontra równoległość (27) 1.2. Dlaczego warto stosować współbieżność? (27) 1.2.1. Stosowanie współbieżności do podziału zagadnień (27) 1.2.2. Stosowanie współbieżności do podniesienia wydajności - równoległość zadań i danych (28) 1.2.3. Kiedy nie należy stosować współbieżności (30) 1.3. Współbieżność i wielowątkowość w języku C++ (31) 1.3.1. Historia przetwarzania wielowątkowego w języku C++ (31) 1.3.2. Obsługa współbieżności w nowym standardzie (32) 1.3.3. Większa obsługa współbieżności i równoległości w standardach C++14 i C++17 (33) 1.3.4. Efektywność biblioteki wątków języka C++ (33) 1.3.5. Mechanizmy związane z poszczególnymi platformami (34) 1.4. Do dzieła (35) 1.4.1. Witaj, świecie współbieżności! (35) Rozdział 2. Zarządzanie wątkami (39) 2.1. Podstawowe zarządzanie wątkami (40) 2.1.1 Uruchamianie wątku (40) 2.1.2. Oczekiwanie na zakończenie wątku (43) 2.1.3. Oczekiwanie w razie wystąpienia wyjątku (44) 2.1.4. Uruchamianie wątków w tle (46) 2.2. Przekazywanie argumentów do funkcji wątku (47) 2.3. Przenoszenie własności wątku (50) 2.4. Wybór liczby wątków w czasie wykonywania (55) 2.5. Identyfikowanie wątków (57) Rozdział 3. Współdzielenie danych przez wątki (61) 3.1. Problemy związane ze współdzieleniem danych przez wątki (62) 3.1.1. Sytuacja wyścigu (64) 3.1.2. Unikanie problematycznych sytuacji wyścigu (65) 3.2. Ochrona współdzielonych danych za pomocą muteksów (66) 3.2.1. Stosowanie muteksów w języku C++ (66) 3.2.2. Projektowanie struktury kodu z myślą o ochronie współdzielonych danych (68) 3.2.3. Wykrywanie sytuacji wyścigu związanych z interfejsami (70) 3.2.4. Zakleszczenie: problem i rozwiązanie (77) 3.2.5. Dodatkowe wskazówki dotyczące unikania zakleszczeń (80) 3.2.6. Elastyczne blokowanie muteksów za pomocą szablonu std::unique_lock (87) 3.2.7. Przenoszenie własności muteksu pomiędzy zasięgami (89) 3.2.8. Dobór właściwej szczegółowości blokad (90) 3.3. Alternatywne mechanizmy ochrony współdzielonych danych (93) 3.3.1. Ochrona współdzielonych danych podczas inicjalizacji (93) 3.3.2. Ochrona rzadko aktualizowanych struktur danych (97) 3.3.3. Blokowanie rekurencyjne (99) Rozdział 4. Synchronizacja współbieżnych operacji (101) 4.1. Oczekiwanie na zdarzenie lub inny warunek (102) 4.1.1. Oczekiwanie na spełnienie warunku za pomocą zmiennych warunkowych (103) 4.1.2. Budowa kolejki gwarantującej bezpieczne przetwarzanie wielowątkowe przy użyciu zmiennych warunkowych (106) 4.2. Oczekiwanie na jednorazowe zdarzenia za pomocą przyszłości (111) 4.2.1. Zwracanie wartości przez zadania wykonywane w tle (112) 4.2.2. Wiązanie zadania z przyszłością (114) 4.2.3. Obietnice (szablon std::promise) (117) 4.2.4. Zapisywanie wyjątku na potrzeby przyszłości (119) 4.2.5. Oczekiwanie na wiele wątków (121) 4.3. Oczekiwanie z limitem czasowym (124) 4.3.1. Zegary (124) 4.3.2. Okresy (125) 4.3.3. Punkty w czasie (127) 4.3.4. Funkcje otrzymujące limity czasowe (129) 4.4. Upraszczanie kodu za pomocą technik synchronizowania operacji (131) 4.4.1. Programowanie funkcyjne przy użyciu przyszłości (131) 4.4.2. Synchronizacja operacji za pomocą przesyłania komunikatów (136) 4.4.3. Współbieżność w stylu kontynuacji dzięki użyciu Concurrency TS (141) 4.4.4. Łączenie kontynuacji ze sobą (143) 4.4.5. Oczekiwanie na więcej niż tylko jedną przyszłość (146) 4.4.6. Oczekiwanie za pomocą when_any na pierwszą przyszłość w zbiorze (148) 4.4.7. Zasuwy i bariery w Concurrency TS (151) 4.4.8. Zasuwa typu podstawowego - std::experimental::latch (151) 4.4.9. Podstawowa bariera - std::experimental::barrier (153) 4.4.10. std::experimental::flex_barrier, czyli elastyczniejszy przyjaciel std::experimental:barrier (155) Rozdział 5. Model pamięci języka C++ i operacje na typach atomowych (157) 5.1. Podstawowe elementy modelu pamięci (158) 5.1.1. Obiekty i miejsca w pamięci (158) 5.1.2. Obiekty, miejsca w pamięci i przetwarzanie współbieżne (159) 5.1.3. Kolejność modyfikacji (161) 5.2. Operacje i typy atomowe języka C++ (161) 5.2.1. Standardowe typy atomowe (162) 5.2.2. Operacje na typie std::atomic_flag (165) 5.2.3. Operacje na typie std::atomic (167) 5.2.4. Operacje na typie std::atomic - arytmetyka wskaźników (170) 5.2.5. Operacje na standardowych atomowych typach całkowitoliczbowych (172) 5.2.6. Główny szablon klasy std::atomic<> (172) 5.2.7. Wolne funkcje dla operacji atomowych (174) 5.3. Synchronizacja operacji i wymuszanie ich porządku (176) 5.3.1. Relacja synchronizacji (178) 5.3.2. Relacja poprzedzania (179) 5.3.3. Porządkowanie pamięci na potrzeby operacji atomowych (181) 5.3.4. Sekwencje zwalniania i relacja synchronizacji (201) 5.3.5. Ogrodzenia (204) 5.3.6. Porządkowanie operacji nieatomowych za pomocą operacji atomowych (206) 5.3.7. Porządkowanie operacji nieatomowych (207) Rozdział 6. Projektowanie współbieżnych struktur danych przy użyciu blokad (211) 6.1. Co oznacza projektowanie struktur danych pod kątem współbieżności? (212) 6.1.1. Wskazówki dotyczące projektowania współbieżnych struktur danych (213) 6.2. Projektowanie współbieżnych struktur danych przy użyciu blokad (214) 6.2.1. Stos gwarantujący bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad (215) 6.2.2. Kolejka gwarantująca bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad i zmiennych warunkowych (218) 6.2.3. Kolejka gwarantująca bezpieczeństwo przetwarzania wielowątkowego przy użyciu szczegółowych blokad i zmiennych warunkowych (222) 6.3. Projektowanie złożonych struktur danych przy użyciu blokad (235) 6.3.1. Implementacja tablicy wyszukiwania gwarantującej bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad (235) 6.3.2. Implementacja listy gwarantującej bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad (241) Rozdział 7. Projektowanie współbieżnych struktur danych bez blokad (247) 7.1. Definicje i ich praktyczne znaczenie (248) 7.1.1. Rodzaje nieblokujących struktur danych (248) 7.1.2. Struktury danych bez blokad (249) 7.1.3. Struktury danych bez oczekiwania (250) 7.1.4. Zalety i wady struktur danych bez blokad (250) 7.2. Przykłady struktur danych bez blokad (252) 7.2.1. Implementacja stosu gwarantującego bezpieczeństwo przetwarzania wielowątkowego bez blokad (253) 7.2.2. Eliminowanie niebezpiecznych wycieków - zarządzanie pamięcią w strukturach danych bez blokad (257) 7.2.3. Wykrywanie węzłów, których nie można odzyskać, za pomocą wskaźników ryzyka (262) 7.2.4. Wykrywanie używanych węzłów metodą zliczania referencji (271) 7.2.5. Zmiana modelu pamięci używanego przez operacje na stosie bez blokad (277) 7.2.6. Implementacja kolejki gwarantującej bezpieczeństwo przetwarzania wielowątkowego bez blokad (282) 7.3. Wskazówki dotyczące pisania struktur danych bez blokad (295) 7.3.1. Wskazówka: na etapie tworzenia prototypu należy stosować tryb std::memory_order_seq_cst (295) 7.3.2. Wskazówka: należy używać schematu odzyskiwania pamięci bez blokad (296) 7.3.3 Wskazówka: należy unikać problemu ABA (296) 7.3.4. Wskazówka: należy identyfikować pętle aktywnego oczekiwania i wykorzystywać czas bezczynności na wspieranie innego wątku (297) Rozdział 8. Projektowanie współbieżnego kodu (299) 8.1. Techniki dzielenia pracy pomiędzy wątki (300) 8.1.1. Dzielenie danych pomiędzy wątki przed rozpoczęciem przetwarzania (301) 8.1.2. Rekurencyjne dzielenie danych (302) 8.1.3. Dzielenie pracy według typu zadania (307) 8.2. Czynniki wpływające na wydajność współbieżnego kodu (310) 8.2.1. Liczba procesorów (310) 8.2.2. Współzawodnictwo o dane i ping-pong bufora (311) 8.2.3. Fałszywe współdzielenie (314) 8.2.4. Jak blisko należy rozmieścić dane? (315) 8.2.5. Nadsubskrypcja i zbyt intensywne przełączanie zadań (316) 8.3. Projektowanie struktur danych pod kątem wydajności przetwarzania wielowątkowego (317) 8.3.1. Podział elementów tablicy na potrzeby złożonych operacji (317) 8.3.2. Wzorce dostępu do danych w pozostałych strukturach (319) 8.4. Dodatkowe aspekty projektowania współbieżnych struktur danych (321) 8.4.1. Bezpieczeństwo wyjątków w algorytmach równoległych (321) 8.4.2. Skalowalność i prawo Amdahla (329) 8.4.3. Ukrywanie opóźnień za pomocą wielu wątków (330) 8.4.4. Skracanie czasu reakcji za pomocą technik przetwarzania równoległego (332) 8.5. Projektowanie współbieżnego kodu w praktyce (334) 8.5.1. Równoległa implementacja funkcji std::for_each (334) 8.5.2. Równoległa implementacja funkcji std::find (337) 8.5.3. Równoległa implementacja funkcji std::partial_sum (343) Rozdział 9. Zaawansowane zarządzanie wątkami (355) 9.1. Pule wątków (356) 9.1.1. Najprostsza możliwa pula wątków (356) 9.1.2. Oczekiwanie na zadania wysyłane do puli wątków (359) 9.1.3. Zadania oczekujące na inne zadania (363) 9.1.4. Unikanie współzawodnictwa w dostępie do kolejki zadań (366) 9.1.5. Wykradanie zadań (368) 9.2. Przerywanie wykonywania wątków (372) 9.2.1. Uruchamianie i przerywanie innego wątku (373) 9.2.2. Wykrywanie przerwania wątku (375) 9.2.3. Przerywanie oczekiwania na zmienną warunkową (375) 9.2.4. Przerywanie oczekiwania na zmienną typu std::condition_variable_any (379) 9.2.5. Przerywanie pozostałych wywołań blokujących (381) 9.2.6. Obsługa przerwań (382) 9.2.7. Przerywanie zadań wykonywanych w tle podczas zamykania aplikacji (383) Rozdział 10. Algorytmy równoległości (385) 10.1. Algorytmy równoległe w bibliotece standardowej (385) 10.2. Polityki wykonywania (386) 10.2.1. Ogólny efekt wyboru polityki wykonywania (386) 10.2.2. std::execution::sequenced_policy (388) 10.2.3. std::execution::parallel_policy (388) 10.2.4. std::execution::parallel_unsequenced_policy (389) 10.3. Algorytmy równoległości w bibliotece standardowej C++ (390) 10.3.1. Przykłady używania algorytmów równoległych (392) 10.3.2. Licznik odwiedzin (394) Rozdział 11. Testowanie i debugowanie aplikacji wielowątkowych (397) 11.1. Rodzaje błędów związanych z przetwarzaniem współbieżnym (398) 11.1.1. Niechciane blokowanie (398) 11.1.2. Sytuacje wyścigu (399) 11.2. Techniki lokalizacji błędów związanych z przetwarzaniem współbieżnym (400) 11.2.1. Przeglądanie kodu w celu znalezienia ewentualnych błędów (401) 11.2.2. Znajdowanie błędów związanych z przetwarzaniem współbieżnym poprzez testowanie kodu (403) 11.2.3. Projektowanie kodu pod kątem łatwości testowania (405) 11.2.4. Techniki testowania wielowątkowego kodu (407) 11.2.5. Projektowanie struktury wielowątkowego kodu testowego (410) 11.2.6. Testowanie wydajności wielowątkowego kodu (413) Dodatek A. Krótki przegląd wybranych elementów języka C++11 (415) A.1. Referencje do r-wartości (415) A.2. Usunięte funkcje (420) A.3. Funkcje domyślne (421) A.4. Funkcje constexpr (425) A.5. Funkcje lambda (430) A.6. Szablony zmiennoargumentowe (436) A.7. Automatyczne określanie typu zmiennej (440) A.8. Zmienne lokalne wątków (441) A.9. Ustalanie argumentu szablonu klasy (442) Dodatek B. Krótkie zestawienie bibliotek przetwarzania współbieżnego (445) Dodatek C. Framework przekazywania komunikatów i kompletny przykład implementacji systemu bankomatu (447) Dodatek D. Biblioteka wątków języka C++ (465)
Sygnatura czytelni BWEAiI: XII Ł 179
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. 149892 N (1 egz.)
Książka
W koszyku
Na okładce i na stronie tytułowej : Wydanie VI dotyczy oryginału.
Na okładce także nazwa wydawcy oryginału: Packt.
Sterowanie przepływem i konwertowanie typów Pisanie, debugowanie i testowanie funkcji Tworzenie własnych typów w programowaniu obiektowym Implementowanie interfejsów i dziedziczenie klas Poznawanie używanie typow .NET Praca z plikami, strumieniami i serializacją Praca z bazami danych przy użyciu Enfinity Framework Core Odczytywanie danych i manipulowanie nimi za pomocą LINQ Poprawianie wydajności i skalowalności za pomocą wielozadaniowości Praktyczne aplikacje w jezyku C# i w .NET Tworzenie witryn www przy użyciu ASP.NET Core Razor Pages Tworzenie aplikacji www przy użyciu ASP.NET Core MVC Tworzenie i używanie serwisów sieciowych Tworzenie interfejsów użytkownika w technologii Blazor
Sygnatura czytelni BWEAiI: XII Ł 205
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. 153000 (1 egz.)
Książka
W koszyku
(Studia i Monografie / Politechnika Opolska, ISSN 1429-6063 ; z. 512)
Netografia, bibliografia na stronie 147.
1.1.Sformułowanie zagadnień optymalizacyjnych 1.2.Właściwości zadań programowania nieliniowego 1.3.Iteracyjne rozwiązywanie zadań optymalizacji 2.Zastosowanie programowania obiektowego w zadaniach programowania nieliniowego 2.1.Klasy bazowe dla metod bezgradientowych 2.2.Klasy bazowe dla metod gradientowych 2.3.Klasy bazowe dla metod Newtonowskich 3.Poszukiwanie minimum funkcji bez ograniczeń 3.1.Metody bezgradientowe 3.2.Metoda Hoke'a-Jeevesa 3.3.Poszukiwanie minimum w kierunku metody złotego podziału Odcinka 3.4.Metoda minimalizacji kierunkowej Bermana 3.5.Metoda Powella 4.Metody gradientowe 4.1.Minimalizacja kierunkowa metodą ekspansji i kontrakcji Geometrycznej 4.2.Minimalizacja kierunkowa metodą aproksymacji parabolicznej z jednym testem badania współczynnika kroku 4.3.Metoda największego spadku 4.4.Metoda gradientu sprzężonego 5.Metody Newtonowskie 5.1.Zmodyfikowana metoda Newtona 5.2.Metody pseudonewtonowskie 6.Przykłady testujące algorytmy minimalizacji bez ograniczeń 6.1.Test algorytmów bezgradientowych 6.2.Test algorytmów gradientowych 7.Przykłady projektów 7.1.Estymacja parametrów funkcji nieliniowej 7.2.Estymacja parametrów charakterystyki magnesowania Klasy wektorów i macierzy Klasa VectorReal Klasa MatrixReal
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 148829, 148831, 148830, 148832 (4 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