Górczyński Robert
Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(78)
Forma i typ
Książki
(76)
Publikacje fachowe
(40)
Publikacje dydaktyczne
(12)
Poradniki i przewodniki
(1)
Dostępność
tylko na miejscu
(64)
dostępne
(17)
wypożyczone
(2)
nieokreślona
(1)
Placówka
Wypożyczalnia
(18)
Biblioteka WB
(1)
Biblioteka WEAiI
(65)
Autor
Berłowski Paweł
(189)
Kotowski Włodzimierz
(179)
Praca zbiorowa
(157)
Skoczylas Zbigniew
(152)
Stiasny Grzegorz
(143)
Górczyński Robert
(78)
Sadlik Ryszard
(142)
Blum Maciej
(140)
Michalski Dariusz
(134)
Lewandowski Maciej
(131)
Majewski Jerzy S
(131)
Etzold Hans-Rüdiger
(120)
Leśniewski Mariusz
(116)
Gewert Marian
(108)
Maruchin Wojciech
(107)
Guryn Halina
(105)
Traczyk Wojciech
(101)
Chalastra Michał
(99)
Kardyś Marta
(97)
Marx Karl (1818-1883)
(94)
Nazwisko Imię
(94)
Berkieta Mateusz
(93)
Tomczak Małgorzata
(93)
Polkowski Sławomir
(92)
Engels Friedrich (1820-1895)
(91)
Jakubiec Izabela
(90)
Kotapski Roman
(90)
Rybicki Piotr
(90)
Krysicki Włodzimierz (1905-2001)
(88)
Teleguj Kazimierz
(88)
Kapołka Maciej
(86)
Mikołajewska Emilia
(84)
Zaborowska Joanna
(81)
Starosolski Włodzimierz (1933- )
(80)
Piątek Grzegorz
(79)
Rudnicki Bogdan
(79)
Meryk Radosław
(78)
Polit Ryszard
(77)
Mroczek Wojciech
(76)
Kulawik Marta
(74)
Mycielski Krzysztof
(74)
Myszkorowski Jakub
(73)
Konopka Eduard
(71)
Jabłoński Marek
(70)
Bielecki Jan (1942-2001)
(69)
Knosala Ryszard (1949- )
(68)
Rajca Piotr (1970- )
(68)
Rymarz Małgorzata
(68)
Walczak Krzysztof
(68)
Walkiewicz Łukasz
(68)
Wiecheć Marek
(68)
Jabłoński Adam
(67)
Laszczak Mirosław
(66)
Piwko Łukasz
(66)
Wodziczko Piotr
(65)
Dziedzic Zbigniew
(64)
Sidor-Rządkowska Małgorzata
(64)
Żakowski Wojciech (1929-1993)
(64)
Pasko Marian
(62)
Włodarski Lech (1916-1997)
(62)
Czakon Wojciech
(61)
Leyko Jerzy (1918-1995)
(61)
Jankowski Mariusz
(60)
Kostecka Alicja
(60)
Lenin Włodzimierz (1870-1924)
(60)
Paszkowska Małgorzata
(60)
Wróblewski Piotr
(60)
Karpińska Marta
(59)
Próchnicki Wojciech
(59)
Rogala Elżbieta
(59)
Bielecki Maciej
(57)
Jelonek Jakub
(57)
Malkowski Tomasz
(57)
Pilch Piotr
(57)
Rauziński Robert (1933- )
(57)
Gawrońska Joanna
(56)
Ajdukiewicz Andrzej (1939- )
(55)
Cieślak Piotr
(55)
Draniewicz Bartosz
(55)
Godek Piotr
(55)
Osiński Zbigniew (1926-2001)
(55)
Jasiński Filip
(54)
Kuliński Włodzisław
(54)
Suchodolski Bogdan (1903-1992)
(54)
Forowicz Krystyna
(53)
Klupiński Kamil
(53)
Szkutnik Leon Leszek
(52)
Zdanikowski Paweł
(52)
Wantuch-Matla Dorota
(51)
Barowicz Marek
(50)
Trammer Hubert
(50)
Walczak Tomasz
(50)
Watrak Andrzej
(50)
Zgółkowa Halina (1947- )
(50)
Barańska Katarzyna
(49)
Czajkowska-Matosiuk Katarzyna
(49)
Jurlewicz Teresa
(49)
Pikoń Andrzej
(49)
Szargut Jan (1923- )
(49)
Chojnacki Ireneusz
(48)
Rok wydania
2020 - 2024
(20)
2010 - 2019
(47)
2000 - 2009
(11)
Okres powstania dzieła
2001-
(36)
2001
(1)
Kraj wydania
Polska
(78)
Język
polski
(77)
angielski
(1)
Odbiorca
Programiści
(17)
Informatycy
(3)
Administratorzy systemów
(1)
Inżynierowie
(1)
Kierownicy projektów
(1)
Poziom zaawansowany
(1)
Poziom średniozaawansowany
(1)
Szkoły wyższe
(1)
Testerzy oprogramowania komputerowego
(1)
Temat
Programowanie (informatyka)
(9)
ASP.NET
(8)
Python (język programowania)
(6)
C++ (język programowania)
(5)
JavaScript (język programowania)
(5)
PHP (język programowania)
(5)
Aplikacje internetowe
(4)
MySQL (oprogramowanie)
(4)
Programy komputerowe
(4)
Swift (język programowania)
(4)
AngularJS (język programowania)
(3)
Baza danych
(3)
Kaskadowe arkusze stylów
(3)
Linux (system operacyjny)
(3)
MySQL (program komputerowy)
(3)
Programowanie obiektowe
(3)
Projektowanie stron WWW
(3)
Przetwarzanie w chmurze
(3)
SQL (język zapytań)
(3)
Strony WWW
(3)
Ajax (informatyka)
(2)
Bezpieczeństwo teleinformatyczne
(2)
C (język programowania)
(2)
C# (język programowania)
(2)
Excel
(2)
Kontener (struktura danych)
(2)
Objective-C (język programowania)
(2)
Sieć komputerowa
(2)
Systemy informatyczne
(2)
Testy penetracyjne (informatyka)
(2)
TypeScript (język programowania)
(2)
iOS (system operacyjny)
(2)
Administracja systemem
(1)
Algorytmy
(1)
Arkusz kalkulacyjny
(1)
Baza danych relacyjna
(1)
DevOps
(1)
Django (platforma informatyczna)
(1)
Docker (oprogramowanie)
(1)
Gry komputerowe
(1)
HTML (język znaczników)
(1)
Hakerstwo
(1)
Hakerzy
(1)
Infrastruktura informatyczna
(1)
Interfejsy programowe aplikacji
(1)
Java (język programowania)
(1)
Java Platform, Micro Edition (platforma)
(1)
Języki programowania
(1)
Komutacja pakietów
(1)
Kryptologia
(1)
Kubernetes (program komputerowy)
(1)
Microsoft Visual Basic for Applications (język programowania)
(1)
Microsoft Visual C# (język programowania)
(1)
Node.js (platforma informatyczna)
(1)
Odtwarzacze multimedialne przenośne
(1)
Oprogramowanie
(1)
Optymalizacja
(1)
Oracle (system informatyczny)
(1)
Programowanie współbieżne
(1)
Protokoły sieciowe
(1)
Przedsiębiorstwa
(1)
Przedsiębiorstwo produkcyjne
(1)
Przetwarzanie mobilne (informatyka)
(1)
Przetwarzanie równoległe
(1)
Samba (oprogramowanie)
(1)
Sieci komputerowe
(1)
Sieć komputerowa korporacyjna
(1)
Smartfony
(1)
Spring (informatyka)
(1)
Spring (środowisko programistyczne)
(1)
Systemy operacyjne
(1)
Szyfry
(1)
TDD (technika tworzenia oprogramowania)
(1)
Technologia informacyjna (IT)
(1)
Terraform (oprogramowanie)
(1)
Terraform (program komputerowy)
(1)
Twitter Bootstrap (platforma informatyczna)
(1)
TypeScript
(1)
Ubuntu Linux (system operacyjny)
(1)
Uczenie maszynowe
(1)
Unity (oprogramowanie)
(1)
Weryfikacja oprogramowania
(1)
WordPress
(1)
Zarządzanie projektami
(1)
iPhone
(1)
jQuery (platforma informatyczna)
(1)
Temat: czas
2001-
(9)
Gatunek
Podręcznik
(54)
Poradnik
(6)
Podręczniki
(5)
Poradniki
(2)
Ćwiczenia i zadania
(2)
Kompendia i repetytoria
(1)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(43)
Matematyka
(1)
Zarządzanie i marketing
(1)
78 wyników Filtruj
Książka
W koszyku
Tyt. oryg.: The iOS 5 developer's cookbook : core concepts and essential recipes for iOS programmers.
Na s. tyt. i okł.: Najlepsze przepisy dla każdego dewelopera!
U góry s. tyt. i okł. logo wydawcy oryg. Addison-Wesley.
Indeks.
Sygnatura czytelni BWEAiI: XII R 18
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. 136721 N (1 egz.)
Książka
W koszyku
Na s. tyt. i okł. logo wydawcy oryg. No Starch Press.
Indeks.
Dla administratorów sieci komputerowych.
Sygnatura czytelni BWEAiI: XII Ż 58
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. 136744 N (1 egz.)
Książka
W koszyku
(Autorytety Informatyki)
Tytuł oryginału : Adapting to Web Standards : CSS and Ajax for Big Sites.
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. 121306 N (1 egz.)
Książka
W koszyku
(O'Reilly)
Wydanie 2. odnosi się do oryginału.
U góry strony tytułowej : Poznaj zaawansowane techniki i nieznane możliwości MySQL!
U góry okładki: Opisuje wersję 5.1.
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. 124779 N (1 egz.)
Książka
W koszyku
U góry s. tyt., okł.: Twoja przepustka do świata Spring Framework!
Pliki z przykładami omawianymi w książce można znaleźć pod adresem internet. podanym na s. red.
Indeks.
Sygnatura czytelni BWEAiI: XII N 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. 141507 N (1 egz.)
Książka
W koszyku
U góry okł. logo wydawcy oryg.: Addison-Wesley.
Indeks.
Dla początkujących programistów.
Sygnatura czytelni BWEAiI: XII Ł 82
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. 143214 N (1 egz.)
Książka
W koszyku
Wydanie 2. odnosi się do oryginału. Na okładce także nazwa wydawcy oryginału: Packt.
Indeks.
Architekt rozwiązań w organizacji Reguły projeku architektury rozwiązań Migracja do chmury i projekt hybrydowej arcitektury chmury wzorce projektowe Kwestie dotyczące wydajności działania zapewnienia bezpieczeństwa niezawodności arcitektury sprawnego działania kosztów Framework DevOps i architektury rozwiazań Inżynieria danych Architektura uczenia maszynowego internetu rzeczy Obliczenia kwantowe Przeprojektowywanie starych systemów Dokumentowanie arcitektury rozwiązania
Sygnatura czytelni BWEAiI: XII J 126
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. 154688 N (1 egz.)
Książka
W koszyku
Na s. tyt., okł. logo wydawcy oryg.: O'Reilly Media.
Indeks.
Sygnatura czytelni BWEAiI: XII N 95
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. 143224 N (1 egz.)
Książka
W koszyku
PHP5 - wprowadzenie / David Sklar ; [tłumaczenie: Robert Górczyński]. - Gliwice : Wydawnictwo Helion, copyright 2006. - 344 strony : ilustracje ; 24 cm.
(O'Reilly)
U góry okładki: Obejmuje PHP4 i 5. Poznaj możliwości języka PHP5.
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. 114626 (1 egz.)
Książka
W koszyku
Wydanie 2. odnosi się do oryginału.
Tytuł oryginału: Effective Python : 90 specific ways to write better Python.
Rozdział 1. Programowanie zgodne z duchem Pythona 19 Sposób 1. Ustalenie używanej wersji Pythona 19 Sposób 2. Stosuj styl PEP 8 21 Sposób 3. Różnice między typami bytes i str 23 Sposób 4. Wybieraj interpolowane ciągi tekstowe f zamiast ciągów tekstowych formatowania w stylu C i funkcji str.format() 28 Sposób 5. Decyduj się na funkcje pomocnicze zamiast na skomplikowane wyrażenia 38 Sposób 6. Zamiast indeksowania wybieraj rozpakowanie wielu operacji przypisania 41 Sposób 7. Preferuj użycie funkcji enumerate() zamiast range() 44 Sposób 8. Używaj funkcji zip() do równoczesnego przetwarzania iteratorów 46 Sposób 9. Unikaj bloków else po pętlach for i while 48 Sposób 10. Unikaj powtórzeń w wyrażeniach przypisania 50 Rozdział 2. Lista i słownik 57 Sposób 11. Umiejętnie podziel sekwencje 57 Sposób 12. Unikaj użycia indeksów początek, koniec i wartości kroku w pojedynczej operacji podziału 60 Sposób 13. Wybieraj rozpakowanie typu catch-all zamiast tworzenia wycinków 62 Sposób 14. Używaj parametru key podczas sortowania według skomplikowanych kryteriów 66 Sposób 15. Zachowaj ostrożność, gdy polegasz na kolejności wstawiania elementów do obiektu typu dict 71 Sposób 16. Podczas obsługi brakujących kluczy słownika wybieraj funkcję get() zamiast operatora in i wyjątku KeyError 78 Sposób 17. Podczas obsługi brakujących elementów w wewnętrznym stanie wybieraj typ defaultdict zamiast metody setdefault() 82 Sposób 18. Wykorzystaj metodę __missing__() do tworzenia wartości domyślnych w zależności od klucza 84 Rozdział 3. Funkcje 89 Sposób 19. Gdy funkcja zwraca wiele wartości, nie rozpakowuj więcej niż trzech zmiennych 89 Sposób 20. Preferuj wyjątki zamiast zwrotu wartości None 92 Sposób 21. Zobacz, jak domknięcia współdziałają z zakresem zmiennej 95 Sposób 22. Zmniejszenie wizualnego zagmatwania za pomocą zmiennej liczby argumentów pozycyjnych 98 Sposób 23. Zdefiniowanie zachowania opcjonalnego za pomocą argumentów w postaci słów kluczowych 101 Sposób 24. Użycie None i docstring w celu dynamicznego określenia argumentów domyślnych 105 Sposób 25. Wymuszaj czytelność kodu, stosując jedynie argumenty w postaci słów kluczowych 108 Sposób 26. Dekoratory funkcji definiuj za pomocą functools.wraps 112 Rozdział 4. Konstrukcje składane i generatory 117 Sposób 27. Używaj list składanych zamiast funkcji map() i filter() 117 Sposób 28. Unikaj więcej niż dwóch wyrażeń na liście składanej 119 Sposób 29. Stosuj wyrażenia przypisania, aby unikać powielania zadań w konstrukcjach składanych 121 Sposób 30. Rozważ użycie generatorów, zamiast zwracać listy 124 Sposób 31. Podczas iteracji przez argumenty zachowuj postawę defensywną 126 Sposób 32. Rozważ użycie generatora wyrażeń dla dużych list składanych 131 Sposób 33. Twórz wiele generatorów za pomocą wyrażenia yield from 132 Sposób 34. Unikaj wstrzykiwania danych do generatorów za pomocą metody send() 135 Sposób 35. Unikaj w generatorach przejścia między stanami za pomocą metody throw() 140 Sposób 36. Rozważ stosowanie modułu itertools w pracy z iteratorami i generatorami 144 Rozdział 5. Klasy i interfejsy 151 Sposób 37. Twórz klasy, zamiast zagnieżdżać wiele poziomów typów wbudowanych 151 Sposób 38. Dla prostych interfejsów akceptuj funkcje zamiast klas 157 Sposób 39. Użycie polimorfizmu @classmethod w celu ogólnego tworzenia obiektów 160 Sposób 40. Inicjalizacja klasy nadrzędnej za pomocą wywołania super() 165 Sposób 41. Rozważ łączenie funkcjonalności za pomocą klas domieszek 169 Sposób 42. Preferuj atrybuty publiczne zamiast prywatnych 173 Sposób 43. Stosuj dziedziczenie po collections.abc w kontenerach typów niestandardowych 178 Rozdział 6. Metaklasy i atrybuty 183 Sposób 44. Używaj zwykłych atrybutów zamiast metod typu getter i setter 183 Sposób 45. Rozważ użycie @property zamiast refaktoryzacji atrybutów 187 Sposób 46. Stosuj deskryptory, aby wielokrotnie wykorzystywać metody udekorowane przez @property 191 Sposób 47. Używaj metod __getattr__(), __getattribute__() i __setattr__() dla opóźnionych atrybutów 196 Sposób 48. Sprawdzaj podklasy za pomocą __init_subclass__ 201 Sposób 49. Rejestruj istniejące klasy za pomocą __init_subclass__() 208 Sposób 50. Adnotacje atrybutów klas dodawaj za pomocą metody __set_name__() 212 Sposób 51. Dla złożonych rozszerzeń klas wybieraj dekoratory klas zamiast metaklas 216 Rozdział 7. Współbieżność i równoległość 223 Sposób 52. Używaj modułu subprocess do zarządzania procesami potomnymi 224 Sposób 53. Użycie wątków dla operacji blokujących wejście- yjście, unikanie równoległości 228 Sposób 54. Używaj klasy Lock, aby unikać stanu wyścigu w wątkach 232 Sposób 55. Używaj klasy Queue do koordynacji pracy między wątkami 236 Sposób 56. Naucz się rozpoznawać, kiedy współbieżność jest niezbędna 244 Sposób 57. Unikaj tworzenia nowych egzemplarzy Thread na żądanie fan-out 248 Sposób 58. Pamiętaj, że stosowanie Queue do obsługi współbieżności wymaga refaktoringu 252 Sposób 59. Rozważ użycie klasy ThreadPoolExecutor, gdy wątki są potrzebne do zapewnienia współbieżności 258 Sposób 60. Zapewnij wysoką współbieżność operacji wejścia-wyjścia dzięki użyciu współprogramów 260 Sposób 61. Naucz się przekazywać do asyncio wątkowane operacje wejścia-wyjścia 264 Sposób 62. Połączenie wątków i współprogramów w celu ułatwienia konwersji na wersję stosującą asyncio 274 Sposób 63. Maksymalizuj responsywność przez unikanie blokującej pętli zdarzeń asyncio 280 Sposób 64. Rozważ użycie concurrent.futures(), aby otrzymać prawdziwą równoległość 283 Rozdział 8. Niezawodność i wydajność 289 Sposób 65. Wykorzystanie zalet wszystkich bloków w konstrukcji try-except-else-finally 289 Sposób 66. Rozważ użycie poleceń contextlib i with w celu uzyskania wielokrotnego użycia konstrukcji try-finally 294 Sposób 67. Podczas obsługi czasu lokalnego używaj modułu datetime zamiast time 297 Sposób 68. Niezawodne użycie pickle wraz z copyreg 301 Sposób 69. Gdy ważna jest precyzja, używaj modułu decimal 307 Sposób 70. Przed optymalizacją przeprowadzaj profilowanie 310 Sposób 71. Wybieraj typ deque podczas tworzenia kolejek typu producent - konsument 314 Sposób 72. Podczas wyszukiwania danych w sortowanych sekwencjach stosuj moduł bisect 321 Sposób 73. W kolejkach priorytetowych używaj modułu heapq 323 Sposób 74. Podczas kopiowania zerowego obiektów typu bytes używaj egzemplarzy memoryview i bytearray 331 Rozdział 9. Testowanie i debugowanie 337 Sposób 75. Używaj ciągów tekstowych repr do debugowania danych wyjściowych 338 Sposób 76. W podklasach klasy TestCase sprawdzaj powiązane ze sobą zachowanie 341 Sposób 77. Izoluj testy od siebie za pomocą metod setUp(), tearDown(), setUpModule() i tearDownModule() 348 Sposób 78. Podczas testowania kodu zawierającego skomplikowane zależności korzystaj z imitacji 350 Sposób 79. Hermetyzuj zależności, aby ułatwić tworzenie imitacji i testowanie 357 Sposób 80. Rozważ interaktywne usuwanie błędów za pomocą pdb 361 Sposób 81. Stosuj moduł tracemalloc, aby poznać sposób użycia pamięci i wykryć jej wycieki 365 Rozdział 10. Współpraca 369 Sposób 82. Kiedy szukać modułów opracowanych przez społeczność? 369 Sposób 83. Używaj środowisk wirtualnych dla odizolowanych i powtarzalnych zależności 370 Sposób 84. Dla każdej funkcji, klasy i modułu utwórz docstring 375 Sposób 85. Używaj pakietów do organizacji modułów i dostarczania stabilnych API 380 Sposób 86. Rozważ użycie kodu o zasięgu modułu w celu konfiguracji środowiska wdrożenia 385 Sposób 87. Zdefiniuj główny wyjątek Exception w celu odizolowania komponentu wywołującego od API 387 Sposób 88. Zobacz, jak przerwać krąg zależności 391 Sposób 89. Rozważ użycie modułu warnings podczas refaktoryzacji i migracji kodu 395 Sposób 90. Rozważ stosowanie analizy statycznej za pomocą modułu typing w celu usuwania błędów 401
Sygnatura czytelni BWEAiI: XII Ł 167
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. 149556 N (1 egz.)
Książka
W koszyku
Tyt. oryg.: A practical guide to Linux commands, editors, and shell programming.
Na s. tyt., okł.: Wyd. 3 - odnosi się do wyd. oryg.
Na okł.: Twój przewodnik po systemie Linux!
Zawiera słowniczek z definicjami terminów związanych z użytkowaniem systemów Linux i OS X.
Indeks.
Dla użytkowników i pasjonatów systemu Linux.
Sygnatura czytelni BWEAiI: XII S 8
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. 136659 N (1 egz.)
Książka
W koszyku
(Biblia. Wiedza Obiecana.)
Tyt. oryg.: Networking Bible.
U góry s. tyt. i okł. nazwa wydawcy oryg.: Wiley.
Na okł.: Wszystko, co chcesz wiedzieć o sieciach komputerowych! Jak zaprojektować sieć komputerową? Jak zapewnić bezpieczeństwo sieci komputerowej? Jak zestawić bezpieczne połączenie VPN?
Indeks.
Dla administratorów sieci komputerowych oraz studentów informatyki.
Sygnatura czytelni BWEAiI: XII Ż 25
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 130146 N (1 egz.)
Książka
W koszyku
Tyt. oryg.: Programming in Python 3: a Complete Introduction to the Python Language.
Na s. tyt. i okł.: Wyd. 2 - wynika z dosłownego przekładu oryginału z zachowaniem szaty graficznej i jej oznaczeń.
U góry s. tyt., okł. i na grzb. nazwa wydaw. oryg.: Addison-Wesley.
U góry okł.: Poznaj wspaniałe możliwości języka Python 3 i twórz dowolne programy [...].
Indeks.
Sygnatura czytelni BWEAiI: XII Ł 17
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. 125753 N (1 egz.)
Książka
W koszyku
W książce także ISBN oryginału.
Część I. Wprowadzenie do Dockera i kontenerów Rozdział 1. Podstawy Dockera i kontenerów Wymagania techniczne Zrozumienie potrzeby stosowania kontenerów Poznajemy Dockera Instalacja Dockera Używanie Dockera w powłoce Rozdział 2. Praca z danymi Dockera Wymagania techniczne Dlaczego w ogóle potrzebujesz mechanizmu trwałego przechowywania danych? Woluminy Dockera Dołączane punkty montowania w Dockerze Tymczasowy system plików w Dockerze Rozdział 3. Sieć w Dockerze Wymagania techniczne Obsługa sieci w Dockerze Samodzielne tworzenie sieci typu most Część II. Tworzenie klastra programistycznego Kubernetes, poznawanie obiektów i udostępnianie usług Rozdział 4. Wdrażanie Kubernetes za pomocą KinD Wymagania techniczne Wprowadzenie do obiektów i komponentów Kubernetes Używanie klastrów programistycznych Instalacja KinD Tworzenie klastra KinD Analiza utworzonego klastra KinD Dodawanie niestandardowego mechanizmu równoważenia obciążenia dla kontrolera Ingress Rozdział 5. Krótkie wprowadzenie do Kubernetes Wymagania techniczne Ogólne omówienie komponentów Kubernetes Poznajemy warstwę sterowania Poznajemy sposób działania komponentów węzła roboczego Współpraca z serwerem API Poznajemy obiekty Kubernetes Rozdział 6. Usługi, mechanizm równoważenia obciążenia i zewnętrzny serwer DNS Wymagania techniczne Zapewnienie żądaniom dostępu do zadań Wprowadzenie do mechanizmu równoważenia obciążenia Mechanizmy równoważenia obciążenia działające na warstwie siódmej Mechanizmy równoważenia obciążenia działające na warstwie czwartej Udostępnianie nazw usług na zewnątrz Część III. Kubernetes w korporacjach Rozdział 7. Integracja z klastrem mechanizmu uwierzytelniania Wymagania techniczne Jak Kubernetes rozpoznaje użytkownika? Poznajemy protokół OpenID Connect Konfiguracja klastra KinD dla OpenID Connect Wprowadzenie do funkcjonalności "wcielania się w rolę" w celu integracji systemu uwierzytelniania z klastrami zarządzanymi w chmurze Konfiguracja klastra do użycia funkcjonalności wcielania się w rolę Konfiguracja funkcjonalności wcielania się w rolę bez użycia OpenUnison Rozdział 8. Polityki modelu RBAC i audyt Wymagania techniczne Wprowadzenie do modelu RBAC Czym jest rola? Mapowanie tożsamości użytkowników organizacji na polityki Kubernetes w celu autoryzacji dostępu do zasobów Implementacja wielodostępności za pomocą przestrzeni nazw Audyt w Kubernetes Używanie audit2rbac do debugowania polityk Rozdział 9. Wdrażanie bezpiecznego panelu Kubernetes Wymagania techniczne Jak panel rozpoznaje użytkownika? Niebezpieczeństwa związane z panelem Kubernetes Wdrożenie panelu z użyciem odwrotnego proxy Integracja panelu z OpenUnison Rozdział 10. Definiowanie polityki bezpieczeństwa poda Wymagania techniczne Czym jest PSP? Czy coś się zmienia? Włączenie PSP Alternatywy dla PSP Rozdział 11. Poprawianie bezpieczeństwa za pomocą Open Policy Agent Wymagania techniczne Wprowadzenie do dynamicznych kontrolerów sterowania dopuszczeniem Co to jest program typu OPA i na czym polega jego działanie? Używanie Rego do definiowania polityki Wymuszanie ograniczeń dotyczących pamięci Wymuszanie PSP za pomocą OPA Rozdział 12. Audyt za pomocą Falco i EFK Wymagania techniczne Poznajemy audyt Wprowadzenie do Falco Poznajemy pliki konfiguracyjne Falco Wdrożenie Falco Moduł jądra Falco Rozdział 13. Tworzenie kopii zapasowej Wymagania techniczne Kopie zapasowe w Kubernetes Tworzenie kopii zapasowej Etcd Poznajemy narzędzie Velero Heptio i jego konfigurację Używanie Velero do tworzenia kopii zapasowej Zarządzanie Velero za pomocą narzędzia działającego w powłoce Przywracanie z kopii zapasowej Rozdział 14. Przygotowywanie platformy Wymagania techniczne Opracowanie potoku Przygotowanie klastra Wdrażanie GitLab Wdrażanie Tekton Wdrażanie ArgoCD Automatyzacja tworzenia projektu z użyciem OpenUnison
Sygnatura czytelni BWEAiI: XII J 112
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. 151784 N (1 egz.)
Książka
W koszyku
(Technologia i Rozwiązania)
Tytuł oryginału: PHP Oracle Web Development: Data processing, Security, Caching, XML, Veb Services, and Ajax.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 123777 N (1 egz.)
Książka
W koszyku
Spring w akcji / Craig Walls ; przekład Robert Górczyński. - Gliwice : Helion, copyright 2020. - 520 stron : ilustracje ; 24 cm.
Tytuł oryginału: Spring in action.
Wydanie 5. odnosi się do oryginału.
Indeks.
CZĘŚĆ I. PODSTAWY SPRINGA 21 Rozdział 1. Rozpoczęcie pracy ze Springiem 23 1.1. Czym jest Spring? 24 1.2. Inicjalizacja aplikacji Springa 26 1.2.1. Inicjalizacja projektu Springa za pomocą Spring Tool Suite 27 1.2.2. Analiza struktury projektu Springa 30 1.3. Utworzenie aplikacji Springa 37 1.3.1. Obsługa żądań internetowych 37 1.3.2. Definiowanie widoku 39 1.3.3. Testowanie kontrolera 40 1.3.4. Kompilacja i uruchomienie aplikacji 41 1.3.5. Poznajemy Spring Boot DevTools 43 1.3.6. Przegląd 45 1.4. Możliwości Springa 46 1.4.1. Podstawowy framework Spring 47 1.4.2. Spring Boot 47 1.4.3. Spring Data 48 1.4.4. Spring Security 48 1.4.5. Spring Integration i Spring Batch 48 1.4.6. Spring Cloud 48 Rozdział 2. Tworzenie aplikacji internetowej 51 2.1. Wyświetlanie informacji 52 2.1.1. Zdefiniowanie domeny 52 2.1.2. Utworzenie klasy kontrolera 55 2.1.3. Przygotowanie widoku 58 2.2. Przetwarzanie wysłanego formularza 62 2.3. Weryfikacja danych wyjściowych formularza 68 2.3.1. Deklarowanie reguł weryfikacji danych 68 2.3.2. Przeprowadzanie weryfikacji danych podczas ich pobierania z formularza 70 2.3.3. Wyświetlanie błędów operacji sprawdzania poprawności danych 72 2.4. Praca z kontrolerem widoku 72 2.5. Wybór biblioteki szablonów widoku 75 2.5.1. Buforowanie szablonów 77 Rozdział 3. Praca z danymi 79 3.1. Odczyt i zapis danych za pomocą JDBC 79 3.1.1. Przygotowanie domeny do obsługi trwałego magazynu danych 82 3.1.2. Praca z klasą JdbcTemplate 83 3.1.3. Definiowanie schematu i wstępne przygotowanie danych 87 3.1.4. Wstawianie danych 89 3.2. Implementacja trwałego magazynu danych za pomocą Spring Data JPA 98 3.2.1. Dodawanie Spring Data JPA do projektu 99 3.2.2. Określenie domeny jako encji 99 3.2.3. Deklarowanie repozytoriów JPA 102 3.2.4. Dostosowanie do własnych potrzeb repozytoriów JPA 104 Rozdział 4. Spring Security 107 4.1. Włączenie obsługi Spring Security 108 4.2. Konfigurowanie Spring Security 110 4.2.1. Istniejący w pamięci magazyn danych użytkownika 111 4.2.2. Magazyn danych użytkownika oparty na JDBC 112 4.2.3. Magazyn danych użytkownika oparty na LDAP 115 4.2.4. Dostosowanie uwierzytelniania użytkownika do własnych potrzeb 118 4.3. Zabezpieczanie żądań internetowych 125 4.3.1. Zabezpieczanie żądań 126 4.3.2. Utworzenie własnej strony logowania 129 4.3.3. Wylogowanie 131 4.3.4. Ochrona przed atakami typu CSRF 131 4.4. Poznanie użytkownika 133 Rozdział 5. Praca z właściwościami konfiguracyjnymi 137 5.1. Dostosowanie konfiguracji automatycznej do własnych potrzeb 138 5.1.1. Poznajemy abstrakcję środowiska Springa 139 5.1.2. Konfigurowanie źródła danych 140 5.1.3. Konfigurowanie serwera osadzonego 142 5.1.4. Konfigurowanie rejestrowania danych 143 5.1.5. Używanie wartości właściwości specjalnych 144 5.2. Tworzenie własnych właściwości konfiguracyjnych 145 5.2.1. Definiowanie komponentów przechowujących właściwości konfiguracyjne 147 5.2.2. Deklarowanie metadanych właściwości konfiguracyjnej 149 5.3. Konfigurowanie za pomocą profili 152 5.3.1. Definiowanie właściwości dla konkretnego profilu 153 5.3.2. Aktywowanie profilu 154 5.3.3. Warunkowe tworzenie komponentu bean z profilami 155 CZĘŚĆ II. ZINTEGROWANY SPRING 157 Rozdział 6. Praca z właściwościami konfiguracyjnymi 159 6.1. Utworzenie kontrolerów RESTful 160 6.1.1. Pobieranie danych z serwera 162 6.1.2. Przekazywanie danych do serwera 167 6.1.3. Uaktualnienie danych w serwerze 168 6.1.4. Usuwanie danych z serwera 170 6.2. Włączenie obsługi hipermediów 171 6.2.1. Dodawanie hiperłączy 174 6.2.2. Utworzenie komponentu asemblera zasobu 176 6.2.3. Nazewnictwo osadzonych związków 180 6.3. Włączenie usług back-endu 181 6.3.1. Dostosowanie nazw ścieżek dostępu zasobów i relacji 184 6.3.2. Stronicowanie i sortowanie 186 6.3.3. Dodawanie własnych punktów końcowych 187 6.3.4. Dodawanie własnych hiperłączy do punktów końcowych Spring Data 189 Rozdział 7. Używanie usług REST 191 7.1. Używanie punktów końcowych REST za pomocą RestTemplate 192 7.1.1. Pobieranie zasobu 194 7.1.2. Przekazywanie do serwera zasobów za pomocą metody HTTP PUT 195 7.1.3. Usuwanie zasobu 196 7.1.4. Przekazywanie do serwera zasobów za pomocą metody HTTP POST 196 7.2. Poruszanie się po API REST za pomocą Traverson 197 Rozdział 8. Asynchroniczne wysyłanie komunikatów 201 8.1. Wysyłanie komunikatów za pomocą JMS 202 8.1.1. Konfigurowanie JMS 202 8.1.2. Wysyłanie komunikatów za pomocą JmsTemplate 204 8.1.3. Otrzymywanie komunikatów JMS 211 8.2. Praca z RabbitMQ i AMQP 215 8.2.1. Dodawanie obsługi brokera RabbitMQ do Springa 216 8.2.2. Wysyłanie komunikatów za pomocą RabbitTemplate 217 8.2.3. Pobieranie komunikatu z RabbitMQ 221 8.3. Obsługa komunikatów za pomocą Apache Kafki 225 8.3.1. Konfigurowanie Springa do obsługi komunikatów Kafki 226 8.3.2. Wysyłanie komunikatów za pomocą KafkaTemplate 227 8.3.3. Utworzenie komponentu nasłuchującego Kafki 229 Rozdział 9. Integracja Springa 233 9.1. Deklarowanie prostego przepływu integracji 234 9.1.1. Definiowanie przepływu integracji za pomocą XML-a 235 9.1.2. Konfigurowanie przepływu integracji za pomocą Javy 237 9.1.3. Konfigurowanie Spring Integration za pomocą języka specjalizowanego 239 9.2. Poznajemy Spring Integration 241 9.2.1. Kanał komunikatu 241 9.2.2. Filtr 243 9.2.3. Przekształcenie 244 9.2.4. Router 245 9.2.5. Spliter 247 9.2.6. Aktywator usługi 249 9.2.7. Brama 251 9.2.8. Adapter kanału 252 9.2.9. Moduł punktu końcowego 254 9.3. Utworzenie własnego przepływu integracji dotyczącego poczty elektronicznej 256 CZĘŚĆ III. REAKTYWNY SPRING 263 Rozdział 10. Wprowadzenie do projektu Reactor 265 10.1. Wprowadzenie do programowania reaktywnego 266 10.1.1. Definiowanie strumienia reaktywnego 267 10.2. Rozpoczęcie pracy z projektem Reactor 269 10.2.1. Wykres przepływu reaktywnego 270 10.2.2. Dodawanie zależności projektu Reactor 271 10.3. Najczęściej stosowane operacje reaktywne 272 10.3.1. Tworzenie typu reaktywnego 273 10.3.2. Łączenie typów reaktywnych 277 10.3.3. Przekształcanie i filtrowanie strumienia reaktywnego 281 10.3.4. Przeprowadzanie operacji logicznej na typie reaktywnym 290 Rozdział 11. Tworzenie reaktywnego API 293 11.1. Praca z frameworkiem WebFlux w Springu 293 11.1.1. Wprowadzenie do Spring WebFlux 295 11.1.2. Definiowanie kontrolera reaktywnego 296 11.2. Definiowanie funkcyjnych procedur obsługi żądania 300 11.3. Testowanie kontrolera reaktywnego 303 11.3.1. Testowanie żądań HTTP GET 303 11.3.2. Testowanie żądań POST 306 11.3.3. Testowanie działającego serwera 307 11.4. Reaktywne używanie API REST 308 11.4.1. Pobieranie zasobów 309 11.4.2. Przekazywanie zasobu 311 11.4.3. Usunięcie zasobu 312 11.4.4. Obsługa błędów 312 11.4.5. Wymiana żądań 314 11.5. Zabezpieczanie API reaktywnego 316 11.5.1. Konfigurowanie zabezpieczeń reaktywnej aplikacji internetowej 316 11.5.2. Konfigurowanie reaktywnej usługi szczegółów związanych z użytkownikiem 318 Rozdział 12. Reaktywny trwały magazyn danych 321 12.1. Reaktywność i Spring Data 322 12.1.1. Reaktywny Spring Data 323 12.1.2. Konwersja między typem reaktywnym a niereaktywnym 323 12.1.3. Opracowanie repozytorium reaktywnego 325 12.2. Praca z reaktywnymi repozytoriami bazy danych Cassandra 325 12.2.1. Włączenie obsługi Spring Data Cassandra 326 12.2.2. Modelowanie danych w bazie danych Cassandra 328 12.2.3. Mapowanie typów domeny pod kątem przechowywania informacji w bazie danych Cassandra 329 12.2.4. Tworzenie reaktywnego repozytorium bazy danych Cassandra 335 12.3. Tworzenie reaktywnych repozytoriów MongoDB 337 12.3.1. Dodawanie obsługi Spring Data MongoDB 338 12.3.2. Mapowanie typu domeny na dokument MongoDB 339 12.3.3. Tworzenie interfejsów repozytoriów reaktywnych MongoDB 343 CZĘŚĆ IV. NATYWNA CHMURA SPRINGA 347 Rozdział 13. Odkrywanie usług 349 13.1. Poznajemy mikrousługi 350 13.2. Konfiguracja rejestru usług 352 13.2.1. Konfigurowanie Eureki 356 13.2.2. Skalowanie serwera Eureka 359 13.3. Rejestrowanie i odkrywanie usług 361 13.3.1. Konfigurowanie właściwości klienta Eureki 362 13.3.2. Używanie usługi 363 Rozdział 14. Zarządzanie konfiguracją 371 14.1. Konfiguracja współdzielona 372 14.2. Uruchamianie serwera konfiguracji 373 14.2.1. Włączanie Config Server 374 14.2.2. Umieszczanie właściwości w repozytorium konfiguracyjnym 377 14.3. Używanie konfiguracji współdzielonej 380 14.4. Udostępnienie konfiguracji przeznaczonej dla konkretnej aplikacji i konkretnego profilu 382 14.4.1. Udostępnianie właściwości przeznaczonych dla konkretnej aplikacji 382 14.4.2. Udostępnianie właściwości z profili 383 14.5. Utajnienie właściwości konfiguracyjnych 385 14.5.1. Szyfrowanie właściwości w repozytorium Git 386 14.5.2. Przechowywanie danych wrażliwych w magazynie Vault 389 14.6. Odświeżanie właściwości konfiguracyjnych w locie 393 14.6.1. Ręczne odświeżanie właściwości konfiguracyjnych 394 14.6.2. Automatyczne odświeżanie właściwości konfiguracyjnych 396 Rozdział 15. Obsługa awarii i opóźnień 405 15.1. Wprowadzenie do wzorca bezpiecznika 405 15.2. Deklarowanie bezpiecznika 408 15.2.1. Łagodzenie opóźnienia 410 15.2.2. Zarządzanie wartością graniczną bezpiecznika 411 15.3. Monitorowanie awarii 412 15.3.1. Wprowadzenie do panelu kontrolnego biblioteki Hystrix 413 15.3.2. Pula wątków biblioteki Hystrix 416 15.4. Agregowanie wielu strumieni biblioteki Hystrix 418 CZĘŚĆ V. WDRAŻANIE APLIKACJI SPRINGA 421 Rozdział 16. Praca ze Spring Boot Actuator 423 16.1. Wprowadzenie do Actuatora 424 16.1.1. Konfigurowanie bazowej ścieżki dostępu Actuatora 425 16.1.2. Włączanie i wyłączanie punktów końcowych Actuatora 426 16.2. Używanie punktów końcowych Actuatora 427 16.2.1. Pobieranie podstawowych informacji o aplikacji 428 16.2.2. Wyświetlanie konfiguracji aplikacji 431 16.2.3. Wyświetlanie informacji o aktywności aplikacji 439 16.2.4. Dane statystyczne dotyczące środowiska uruchomieniowego 442 16.3. Dostosowanie Actuatora do własnych potrzeb 444 16.3.1. Dodawanie informacji dostarczanych później przez punkt końcowy /info 445 16.3.2. Definiowanie własnych wskaźników informacji o stanie aplikacji 449 16.3.3. Rejestrowanie niestandardowych danych statystycznych 450 16.3.4. Tworzenie własnego punktu końcowego 452 16.4. Zabezpieczanie Actuatora 455 Rozdział 17. Administrowanie Springiem 459 17.1. Używanie Spring Boot Admin 459 17.1.1. Tworzenie serwera administracyjnego 460 17.1.2. Rejestrowanie klientów serwera administracyjnego 462 17.2. Poznajemy serwer administracyjny 465 17.2.1. Wyświetlanie ogólnych informacji o stanie aplikacji 466 17.2.2. Obserwowanie kluczowych danych statystycznych 466 17.2.3. Analiza zmiennych środowiskowych 467 17.2.4. Wyświetlanie i zmiana poziomu rejestrowania danych 469 17.2.5. Monitorowanie wątków 469 17.2.6. Monitorowanie żądań HTTP 470 17.3. Zabezpieczanie serwera administracyjnego 471 17.3.1. Włączanie logowania w serwerze administracyjnym 472 17.3.2. Uwierzytelnianie z użyciem Actuatora 473 Rozdział 18. Monitorowanie Springa za pomocą JMX 475 18.1. Praca z Actuatorem i MBean 476 18.2. Tworzenie własnego komponentu MBean 478 18.3. Wysyłanie powiadomień 480 Rozdział 19. Wdrażanie aplikacji Springa 483 19.1. Opcje podczas wdrażania aplikacji 484 19.2. Kompilowanie i wdrażanie pliku WAR 485 19.3. Przekazanie pliku JAR do Cloud Foundry 487 19.4. Umieszczanie aplikacji Spring Boota w kontenerze Dockera 490 19.5. To nie koniec, ale dopiero początek 494 Dodatek A. Tworzenie aplikacji Springa 497 A.1. Inicjalizacja projektu za pomocą Spring Tool Suite 497 A.2. Tworzenie projektu za pomocą IntelliJ IDEA 500 A.3. Tworzenie projektu za pomocą NetBeans 503 A.4. Inicjalizacja projektu na stronie start.spring.io 506 A.5. Inicjalizacja projektu z poziomu powłoki 510 A.5.1. Polecenie curl i API Initializr 510 A.5.2. Interfejs powłoki dla Spring Boota 512 A.6. Tworzenie aplikacji Springa za pomocą metaframeworka 513 A.7. Kompilowanie i uruchamianie projektu 513
Sygnatura czytelni BWEAiI: XII N 143
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. 149865 N (1 egz.)
Brak okładki
Książka
CD
W koszyku
(Księga Eksperta)
Tytuł oryginału: ASP.NET 2.0 Unleashed.
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. 120863 N (1 egz.)
Książka
W koszyku
Na s. tyt., okł. oznaczono: wyd. 2 - dotyczy wyd. oryg.
Indeks.
Sygnatura czytelni BWEAiI: XII Ń 75
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. 138660 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
(Programmer to Programmer)
Indeks.
Dla profesjonalnych programistów sieciowych.
Sygnatura czytelni BWEAiI: XII E 57
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. 132974 N (1 egz.)
Pozycja została dodana do koszyka. Jeśli nie wiesz, do czego służy koszyk, kliknij tutaj, aby poznać szczegóły.
Nie pokazuj tego więcej

Deklaracja dostępności